// pages/info/roadInfo/index.js let device = wx.getSystemInfoSync(); const ratio = device.windowWidth / 750; import commonApi from "../../../utils/https/common" let app = getApp() Page({ /** * 页面的初始数据 */ data: { fixed:false, type:1, top:0, isLike:0, commentTotal:0, comment:[], info:null, skuFlag:null, producNum:1, skuIndex:0 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let rect = wx.getMenuButtonBoundingClientRect(); let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight; console.log(height) this.setData({ top:height, id:options.id }) commonApi._post("product/get_product_detail",{ id:options.id }).then(res=>{ res.data.display_tags = (res.data.display_tags?res.data.display_tags.split(","):[]).splice(0,2) this.setData({ info:res.data }) }) if(wx.getStorageSync("jstrip_token")){ commonApi.user_post("product/is_product_collection",{ product_id:options.id }).then(res=>{ this.setData({ isLike:res.data }) }) } // 获取评价列表 commonApi._post("product/product_comment_list",{ product_id:options.id }).then(res=>{ res.data.list.map(item=>{ item.rate = Number(item.rate) }) this.setData({ comment:res.data.list, commentTotal:res.data.total }) }) }, like:function(){ let id = this.data.id,isLike = this.data.isLike; commonApi.user_post("product/"+(isLike==1?"product_cancel_collection":"product_collection"),{ product_id:id }).then(res=>{ if(res.code==1){ this.setData({ isLike:isLike==1?0:1 }) } }) }, changeMenu:function(e){ let index = e.currentTarget.dataset.index,that = this; const query=wx.createSelectorQuery(); //创建节点查询器 query.select("#box"+index).boundingClientRect() //选择toViewid获取位置信息 query.selectViewport().scrollOffset() //获取页面查询位置的 query.exec(function(res) { let scrollTop = res[0].top + res[1].scrollTop - 110 * ratio - that.data.top; wx.pageScrollTo({ scrollTop: scrollTop + 4, duration: 0 }) that.setData({ type:index }) }) }, onPageScroll:function(e){ let that = this,height = this.data.top; let topHeight = height; wx.createSelectorQuery().select('#menus').boundingClientRect(function(rect){ console.log(rect.top,topHeight) if(rect.top<=topHeight){ // 此时应该把menus固定在顶部 that.setData({ fixed:true }) } else{ that.setData({ fixed:false }) } // 滚动时判断滚动到哪个部分了 const query=wx.createSelectorQuery(); //创建节点查询器 query.select("#box1").boundingClientRect() //选择toViewid获取位置信息 query.select("#box2").boundingClientRect() //选择toViewid获取位置信息 query.select("#box3").boundingClientRect() //选择toViewid获取位置信息 let minHeight = that.data.fixed?(110 * ratio + height): topHeight; query.exec(function(res) { if(res[2].top{ if(res.code==1){ wx.showToast({ title: '加入购物车成功', icon:"success" }); this.setData({ skuFlag:null }) } }) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })