var e = getApp(), i = e.request, a = e.globalData.setting, os = a, ut = require("../../../utils/util.js"); var regeneratorRuntime = require('../../../utils/runtime.js'); Page({ data: { url: a.imghost, killtime: null, currentPage: 1, goodlist: [], type: 1, timer: null, ismore: 1, isshow: 0, iurl: os.imghost, ad_data: null, max_sw_height: 200, is_retail_price:0, isget:0, msgStatus:false }, //------初始化加载---------- onLoad: function (t) { //群id if(t && t.groupchat_id){ getApp().globalData.groupchat_id=t.groupchat_id } wx.setNavigationBarTitle({ title: "天天拼单", }) var first_leader = t.first_leader; var th = this; getApp().getConfig(); var th=this; getApp().getConfig2(function (e) { var swithc_list = e.switch_list; var sw_arr = JSON.parse(swithc_list); if(sw_arr.is_retail_price){ th.setData({is_retail_price:1}); } },1); if (first_leader) { getApp().globalData.first_leader = first_leader; //调用接口判断是不是会员 getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { if (res.data.code == 0) { getApp().globalData.guide_id = res.data.data.id; getApp().globalData.guide_pick_id= res.data.data.pickup_id } }) } getApp().request.promiseGet("/api/weshop/ad/page?pid=801&store_id=" + os.stoid, { data: { enabled: 1 } }).then(res => { if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { var a = res.data.data.pageData; var narr = []; for (var i in a) { var tt = { 'ad_code': os.imghost + a[i].ad_code, 'media_link': '', 'ad_weapplink': a[i].ad_weapplink }; narr.push(tt); } th.setData({ ad_data: narr }); } }) this.requestSalelist(); }, onShow: function (t) { getApp().check_can_share(); this.data.is_timer = 1; //this.data.currentPage = 1; //this.data.ismore = 1; var th = this; //设置全局定时器 th.data.timer = setInterval(function () { if(th.data.is_get) th.countDown(); }, 1000); }, onHide: function () { //--清理定时器-- clearInterval(this.data.timer); this.setData({ isshow: 0 }); }, //---小于10的格式化函数---- timeFormat(param) { return param < 10 ? '0' + param : param; }, //----倒计时函数----- countDown() { if (!this.data.goodlist) return false; if (!this.data.is_timer) return false; var th = this; // 获取当前时间,同时得到活动结束时间数组 var newTime = ut.gettimestamp(); var endTimeList = this.data.goodlist; // 对结束时间进行处理渲染到页面 for (var i = 0; i < endTimeList.length;i++){ // 创建查询对象 let query = wx.createSelectorQuery(); // 获取目标元素,并获取目标元素的信息 query.select("#kill-item"+i).boundingClientRect(); // 获取视口,并获取视口信息 query.selectViewport().boundingClientRect(); //-- 执行查询,元素要在显示中的才显示定时器 -- query.exec(([target, view]) => { if (!th.data.is_timer) return; if (!target) return; if (!target.id) return; let idx= target.id.replace('kill-item',''); var o = endTimeList[idx]; var endTime = o.end_time; if(th.data.type==0) endTime = o.start_time; // 条件1:当目标顶部距离视口顶部距离小于视口的高度时 // 条件2:当目标底部距离视口顶部距离大于0时 // 当以上两个条件同时成立时,目标元素在视口中 if (target.top < view.height && target.bottom > 0) { let obj = null; // 如果活动未结束,对时间进行处理 if (endTime - newTime > 0) { let time = (endTime - newTime); // 获取天、时、分、秒 let day = parseInt(time / (60 * 60 * 24)); let hou = parseInt(time % (60 * 60 * 24) / 3600); let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); obj = { day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec), hide: 1 } } else { //活动已结束,全部设置为'00' obj = {day: '00', hou: '00', min: '00', sec: '00'} } var txt = "goodlist[" + idx + "].djs"; th.setData({[txt]: obj}); } }); } }, //读取数据 async requestSalelist() { if (!this.data.ismore) return false; var e = this,th = e; var i = "/api/weshop/teamlist/pageteam/" + th.data.type + "?page=" + e.data.currentPage; var plist = [],alllist = th.data.goodlist; if (!alllist) alllist = []; wx.showLoading(); await getApp().request.promiseGet(i, { isShowLoading: 0, data: { store_id: os.stoid, is_end: 0, is_show: 1, user_id:getApp().globalData.user_id, } }).then(res => { plist = res.data.data.pageData; }); if (plist.length <= 0) { th.data.ismore = 0; //没有数据切换 if (e.data.currentPage == 1 && this.data.type == 1) { e.data.currentPage=1; i = "/api/weshop/teamlist/pageteam/0?page=" + e.data.currentPage; await getApp().request.promiseGet(i, { isShowLoading: 0, data: { store_id: os.stoid, is_end: 0, is_show: 1, user_id:getApp().globalData.user_id, } }).then(res => { if(ut.ajax_ok(res)){ th.data.b_plist = res.data.data.pageData; } }); wx.hideLoading(); if(th.data.b_plist){ //让秒杀跳转后能下拉加载 th.data.ismore = 1; //组件的id var auto_go = th.selectComponent("#auto_go"); auto_go.show(); }else{ getApp().showWarning("没有更多数据"); } // if(plist){ // setTimeout(function () { // th.data.ismore = 1; // th.setData({ // type: 0 // }); // th.requestSalelist(); // }, 1000); // } } else{ wx.hideLoading(); getApp().showWarning("没有更多数据"); } return false; } if(plist) { //--循环读取接口--- for (var i = 0; i < plist.length; i++) { var prom_id = plist[i].id; await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + prom_id, {}).then(res => { if (res.data.code == 0) { plist[i].status = 1; if (res.data.data <= 0) plist[i].status = 3; } }); alllist.push(plist[i]); } e.data.currentPage++; } th.setData({ goodlist: alllist, isshow: 1, is_get:1, }); setTimeout(()=>{ wx.hideLoading(); },500) }, onPullDownRefresh: function () { this.reloadGoodList(); }, reloadGoodList: function () { this.data.goodlist = [], this.data.currentPage = 1, this.requestSalelist(); }, onReachBottom: function () { this.requestSalelist(); }, //点击tab事件 tip: function (e) { var a = e.currentTarget.dataset.ty, th = this; th.data.ismore = 1; th.data.currentPage = 1; this.setData({ type: a, goodlist: [] }); if(a==0){ var auto_go = th.selectComponent("#auto_go"); auto_go.stop(); } this.reloadGoodList(); }, //---------分享配置-------- onShareAppMessage: function (e) { getApp().globalData.no_clear=1; var curPage = this; var pagePath = curPage.route; //当前页面url if (pagePath.indexOf('/') != 0) { pagePath = '/' + pagePath; } if (getApp().globalData.user_id) { if (pagePath.indexOf("?") > 0) { pagePath += "&first_leader=" + getApp().globalData.user_id; } else { pagePath += "?first_leader=" + getApp().globalData.user_id; } //群id分享 if (getApp().globalData.groupchat_id) { pagePath+="&groupchat_id="+getApp().globalData.groupchat_id } }else{ if(pagePath.indexOf("?")>0){ pagePath+="&groupchat_id="+getApp().globalData.groupchat_id }else{ pagePath+="?groupchat_id="+getApp().globalData.groupchat_id } } console.log("11" + pagePath); return { title: "限时团购", path: pagePath, } }, //图片失败,默认图片 bind_bnerr2: function (e) { var _errImg = e.target.dataset.errorimg; var val = e.target.dataset.val; if (val != "/public/images/default_goods_image_240.gif") { var _errObj = {}; _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; } }, imageLoad: function (e) { var imgwidth = e.detail.width; var imgheight = e.detail.height; //宽高比 var ratio = imgwidth / imgheight; //计算的高度值 var viewHeight = 750 / ratio; var hei = this.data.max_sw_height; if (hei < viewHeight) { this.setData({ max_sw_height: viewHeight }); } }, onShareTimeline() { getApp().globalData.no_clear=1; var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; if (!store_name) store_name = getApp().globalData.setting.appName; var user_id=getApp().globalData.user_id; if(!user_id) user_id=0; var url='' //群id分享 if (getApp().globalData.groupchat_id) { url+="&groupchat_id="+getApp().globalData.groupchat_id } return { title: '拼团活动-' + store_name, query: 'first_leader='+user_id+url } }, go_url(e){ let url=e.currentTarget.dataset.url; if(url){ getApp().goto(url); } }, //-- 自动数数,要进行跳转 --- async auto_back(){ var e=this,th=this; th.setData({ type: 0 }); wx.showLoading(); var plist=this.data.b_plist; var alllist = th.data.goodlist; if (!alllist) alllist = []; if(plist) { //--循环读取接口--- for (var i = 0; i < plist.length; i++) { var prom_id = plist[i].id; await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + prom_id, {}).then(res => { if (res.data.code == 0) { plist[i].status = 1; if (res.data.data <= 0) plist[i].status = 3; } }); alllist.push(plist[i]); } e.data.currentPage++; } th.setData({ goodlist: alllist, isshow: 1, is_get:1, }); setTimeout(()=>{ wx.hideLoading(); },400) } });