// pages/mountingsDetail/mountingsDetail.js const app = getApp(); let _surplusTime = 0;//剩余时间 let _countTime = null;//定时器 let md5 = require('../../utils/md5.js'); Page({ /** * 页面的初始数据 */ data: { imgUrl: app.globalData.urlStatic,//图片路径 activityRule:false,//是否显示活动规则 surplusTime:['','',''],//剩余时间 bargainType:1,//1:喊朋友帮忙砍价,2:帮TA砍一刀 userInfoData:false,//是否已获取用户头像昵称 helpDickerShow:false,//是否显示帮助朋友砍价成功的弹窗 friendBargain:[],//好友助力列表 goodsMsg:{}, goodsDetail:{},//商品详情 activityJoinDetail:{},//活动进度详情 friendHelpMoney:0,//朋友帮忙砍的价格 page:1, count:10, ismore:true,//是否还有更多数据 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if(options.bargainType){ this.setData({ bargainType:2 }) } if(options.datas){ this.data.goodsMsg = JSON.parse(options.datas); } app.globalData.nowPage = 3; if (app.globalData.openid) { this.loadFun(); } else { app.globalData.openidSuccessFuc = this.loadFun; } }, loadFun: function () { // let countNum = 60*60*24; // let hours = new Date().getHours(); // let minutes = new Date().getMinutes(); // let seconds = new Date().getSeconds(); // _surplusTime = countNum-(60*60*hours+60*minutes+seconds); this.detectionUserMsg(); this.getGoodsDetail(); this.getActivityJoinDetail(); this.getFriendBargainList(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { clearInterval(_countTime); }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { if(this.data.ismore){ this.data.page++; this.getFriendBargainList(); } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { let goodsMsg = { sku_id:this.data.goodsMsg.sku_id, activity_token:this.data.goodsMsg.activity_token, sku_name:this.data.goodsMsg.activity_token } return { title: "我正在以超低价购买"+this.data.goodsMsg.sku_name+"!有你帮忙还能更便宜!快来帮我!", imageUrl: this.data.imgUrl+'/newImages9/13.png', path: "/pages/mountingsDetail/mountingsDetail?bargainType=2&datas="+JSON.stringify(goodsMsg) } }, ruleShowControl(){//控制活动规则的显示与隐藏 this.setData({ activityRule:!this.data.activityRule }) }, countDown(){//倒计时 _countTime = setInterval(() => { if(_surplusTime){ _surplusTime--; this.timeDispose(); }else{ clearInterval(_countTime); // _surplusTime = 60*60*24; } }, 1000); }, timeDispose(){//时间处理 let hours = Math.floor(_surplusTime/3600); let minutes = Math.floor(_surplusTime%3600/60); let seconds = Math.floor(_surplusTime%3600%60); this.data.surplusTime[0] = hours>=10?hours:'0'+hours this.data.surplusTime[1] = minutes>=10?minutes:'0'+minutes this.data.surplusTime[2] = seconds>=10?seconds:'0'+seconds this.setData({ surplusTime:this.data.surplusTime }) }, enterListPage(){//进入列表页 if(this.data.bargainType==1){ wx.navigateBack({ delta:1 }) }else{ wx.redirectTo({ url: '/pages/mountings/mountings' }) } }, detectionUserMsg(){//检测是否已获取用户头像昵称 if(app.globalData.userInfoData && app.globalData.userInfoData.avatarUrl){ this.setData({ userInfoData:true }) }else{ app.globalData.userInfoSuccessFuc = this.detectionUserMsg; } }, getUserWxMsg:function(e){//通过微信获取用户信息 if (e.detail.errMsg == "getUserInfo:ok") { app.globalData.userInfoData = {}; app.globalData.userInfoData.avatarUrl = e.detail.userInfo.avatarUrl; app.globalData.userInfoData.nickName = e.detail.userInfo.nickName; this.setData({ userInfoData: true }) app.submitUserMsg(e.detail.userInfo.avatarUrl, e.detail.userInfo.nickName); this.bargainByFriend(); } }, helpFriend(){//帮朋友砍一刀 this.setData({ helpDickerShow:!this.data.helpDickerShow }) }, getFriendBargainList(){//获取好友助力列表 app.wxRequest(app.globalData.urlRoot + "bargain/getFriendBargainList", {activity_token:this.data.goodsMsg.activity_token,page:this.data.page,count:this.data.count}, res => { if (res.code == 200) { for(let i=0;i=res.data.total){ this.data.ismore = false; } } }, this); }, bargainByFriend(){//好友发起助力 let openid = app.globalData.openid;//openid let activity_token = this.data.goodsMsg.activity_token;//activity_token let timestamp = Date.parse(new Date())/1000;//当前时间戳(秒) let fixedString = "bargain_dongfeng";//固定字符串 let signStr = openid+activity_token+timestamp+fixedString let sign = md5.hexMD5(signStr) app.wxRequest(app.globalData.urlRoot + "bargain/bargainByFriend", {activity_token:activity_token,timestamp:timestamp,sign:sign}, res => { console.log(res); if (res.code == 200) { this.setData({ friendHelpMoney:res.data.bargainMoney/100 }) this.helpFriend(); }else{ wx.showToast({ title:res.msg, icon:"none" }) } }, this,"POST"); }, getGoodsDetail(){//获取商品详情 app.wxRequest(app.globalData.urlRoot + "bargain/getGoodsDetail", {sku_id:this.data.goodsMsg.sku_id}, res => { if (res.code == 200) { this.setData({ goodsDetail:res.data }) }else{ wx.showToast({ title:res.msg, icon:"none" }) } }, this); }, getActivityJoinDetail(){//获取砍价活动进度详情 app.wxRequest(app.globalData.urlRoot + "bargain/getActivityJoinDetail", {activity_token:this.data.goodsMsg.activity_token}, res => { if (res.code == 200) { res.data.surplus = (res.data.gap_money-res.data.success_money)/100; res.data.gap_money = res.data.gap_money/100; res.data.success_money = res.data.success_money/100; res.data.percent = Math.ceil((1-res.data.surplus/res.data.gap_money)*100); this.setData({ activityJoinDetail:res.data }) _surplusTime = res.data.lastTime; this.timeDispose(); this.countDown(); }else{ wx.showToast({ title:res.msg, icon:"none" }) } }, this); } })