黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

微信小程序商城开发之动态API实现商品的详情页的代码(上)

来源:黔优媒体网   时间:2024-09-19

本篇文章给大家带来的内容是关于微信小程序商城开发之动态API实现商品的详情页的代码(上) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。


1、实现商品详情页面布局(这篇实现3个模块,头部商品图片轮播、商品价格和商品描述、商品详情展示)
2、根据用户点击不同的商品请求api动态加载数据

根据商品ID获取商品详情API数据模型

访问:https://100boot.cn/ 选择微商城案例,如下图所示:


下方还有详细的数据模型可以查看哦!

home.js 增加跳转商品详情事件

上一篇还记得我们做了商品点击查看详情的事件采集吗?那么再加上跳转商品详情页功能,如下图所示:


detail.wxml
 swiper indicator-dots= {{indicatorDots}} autoplay= {{autoplay}} interval= {{interval}} duration= {{duration}} 
 block wx:for= {{goods.imgUrls}} 
 swiper-item 
 image src= {{item}} src= {{item}} bindtap= previewImage mode= widthFix /image 
 /swiper-item 
 /block /swiper !--商品价格和商品描述-- view view >detail.wxss
page { 
 display: flex; 
 flex-direction: column; 
 height: 100%;
/* 直接设置swiper属性 */
swiper { 
 /* height: 500rpx; */
 height: 750rpx;
swiper-item image { 
 width: 100%; 
 height: 100%;
/**商品价格**/
.product-price-wrap{ 
 display: flex; 
 justify-content:space-between;/**两边对齐**/
 flex-direction: row; 
 flex-wrap: wrap; 
 margin:5px 5px; /* border:1rpx solid red; */
.product-price-wrap .product-price-new{ 
 color: red; 
 font-size: 40rpx; 
 margin: 10rpx;
.product-price-wrap .product-price-old{ 
 color: #888; 
 text-decoration: line-through; 
 padding-left: 5px; 
 font-size: 12px; 
 line-height:30px; 
 font-weight:300;
.product-name-wrap{ 
 margin: 0px 10px; 
 font-size: 14px; 
 color: #404040;
.details{ 
 padding: 0 5px 0 5px; 
.detail { 
 display: flex; 
 flex-direction: column; 
 margin-top: 15rpx; 
 margin-bottom: 0rpx;
.detail .title { 
 font-size: 40rpx; 
 margin: 10rpx; 
 color: black; 
 text-align: justify; 
 height: 100rpx;
.detail .price { 
 color: red; 
 font-size: 40rpx; 
 margin: 10rpx;
.line_flag { 
 width: 80rpx; 
 height: 1rpx; 
 display: inline-block; 
 margin: 20rpx auto; 
 background-color: gainsboro; 
 text-align: center;
.line { 
 width: 100%; 
 height: 2rpx; 
 display: inline-block; 
 margin: 20rpx 0rpx; 
 background-color: gainsboro; 
 text-align: center;
.detail-nav { 
 display: flex; 
 flex-direction: row; 
 align-items: center; 
 float: left; 
 background-color: #fff; 
 position: fixed; 
 bottom: 0; 
 right: 0; 
 z-index: 1; 
 width: 100%; 
 height: 100rpx;
.button-green { 
 background-color: #4caf50; /* Green */
.button-red { 
 background-color: #f44336; /* 红色 */
.button-addCar { 
 background-color: #f44336; /* 红色 */
 width: 100%;
.image_detail { 
 width: 100%; /* height: 750rpx; */
.detail-nav image { 
 width: 70rpx; 
 height: 50rpx; 
 margin: 20rpx 40rpx;
.line_nav { 
 width: 5rpx; 
 height: 100%; 
 background-color: gainsboro;
/* 占位 */
.temp { 
 height: 100rpx;
}
detail.js
const ajax = require( #39;../../utils/ajax.js #39;);
const utils = require( #39;../../utils/util.js #39;);
var imgUrls = []; var detailImg = [];
var goodsId = null;
var goods = null;
Page({ /**
 * 页面的初始数据
 data: { 
 isLike: true, 
 showDialog: false, 
 goods:null, 
 indicatorDots: true, //是否显示面板指示点
 autoplay: true, //是否自动切换
 interval: 3000, //自动切换时间间隔,3s
 duration: 1000, // 滑动动画时长1s
 }, //预览图片
 previewImage: function (e) { 
 var current = e.target.dataset.src;
 wx.previewImage({ 
 current: current, // 当前显示图片的http链接 
 urls: this.data.imgUrls // 需要预览的图片http链接列表 
 * 生命周期函数--监听页面加载
 onLoad: function (options) { 
 var that = this;
 goodsId = options.goodsId; 
 console.log( #39;goodsId: #39; + goodsId); //加载商品详情
 that.goodsInfoShow();
goodsInfoShow: function (success) { 
 var that = this;
 ajax.request({ 
 method: #39;GET #39;, 
 url: #39;goods/getGoodsInfo?key= #39; + utils.key+ #39; goodsId= #39; + goodsId, 
 success: data = { 
 var goodsItem = data.result; 
 for (var i = 0; i goodsItem.shopGoodsImageList.length; i++) { 
 imgUrls[i] = goodsItem.shopGoodsImageList[i].imgUrl; 
 var details = goodsItem.details.split( 
 for (var j = 0; j details.length; j++) { 
 detailImg[j] = details[j];
 goods = { 
 imgUrls: imgUrls, 
 title: goodsItem.name, 
 price: goodsItem.price, 
 privilegePrice: goodsItem.privilegePrice, 
 detailImg: detailImg, 
 imgUrl: goodsItem.imgUrl, 
 buyRate: goodsItem.buyRate, 
 goodsId: goodsId, 
 count:1, 
 totalMoney: goodsItem.price,
 that.setData({ 
 goods : goods
 console.log(goods.title)
})

相关推荐:

微信小程序商城开发之https框架的搭建以及顶部和底部导航的实现

微信小程序商城开发之商城首页福利场不限下拉刷新动态API数据的代码实现

以上就是微信小程序商城开发之动态API实现商品的详情页的代码(上)的详细内容,更多请关注php中文网其它相关文章!

微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:微信小程序商城开发之动态API实现商品的详情页的代码(上);欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!