From 661b75fc64029c8fb5011abede41b11e3400f192 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Mon, 11 Oct 2021 18:18:10 +0800 Subject: [PATCH] 预售自定义模板 --- components/diy_pregoods/diy_pregoods.js | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- components/diy_pregoods/diy_pregoods.wxml | 52 ++++++++++++++++++++-------------------------------- components/diy_pregoods/diy_pregoods.wxss | 10 ++++------ pages/index/index/index.json | 3 ++- pages/index/index/index.wxml | 14 +++++++++----- pages/template/index.json | 3 ++- pages/template/index.wxml | 8 ++++++++ 7 files changed, 147 insertions(+), 58 deletions(-) diff --git a/components/diy_pregoods/diy_pregoods.js b/components/diy_pregoods/diy_pregoods.js index a1abf01..3d2e424 100644 --- a/components/diy_pregoods/diy_pregoods.js +++ b/components/diy_pregoods/diy_pregoods.js @@ -18,9 +18,18 @@ Component({ ready: function() { var g_id = this.data.object.data; + this.data.g_id=g_id; this.init(g_id); }, - + + pageLifetimes: { + //游客登录后,只要更新卡的情况 + show: function () { + //--初始化卡类-- + this.init(this.data.g_id); + }, + }, + methods: { // 这里是一个自定义方法 init: function(g_id) { @@ -32,17 +41,32 @@ Component({ goodsidlist+=val.goodsid+","; }) goodsidlist=ut.sub_last(goodsidlist); + + var user_id=getApp().globalData.user_id; + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1}; + if(user_id){ + pre_data.user_id=user_id; + } + //--调用接口,读取秒杀-- - app.request.promiseGet("/api/weshop/marketing/marketingPresellList/page?store_id=" - +os.stoid+"&goodsidlist="+goodsidlist, { - data:{is_end:0,timetype:1,isuse:1} + app.request.promiseGet("/api/weshop/marketing/marketingPresellList/page?goodsidlist="+goodsidlist, { + data:pre_data }).then(res => { - //如果数组为空的时候 - var goodslist=res.data.data; - //就算是添加的活动已经过期,就要用最新的进行中活动 - if(goodslist && goodslist.length>0) { - th.set_goods_list(g_id,goodslist); - } + + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) { + //如果数组为空的时候 + var goodslist = res.data.data.pageData; + //就算是添加的活动已经过期,就要用最新的进行中活动 + if (goodslist && goodslist.length > 0) { + th.set_goods_list(g_id, goodslist); + } + + th.data.timer = setInterval(function () { + th.countDown2(th); + }, 1000); + } + + }); }else{ th.no_gid_set(); @@ -51,12 +75,21 @@ Component({ //当是默认的情况 no_gid_set(){ - getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", - {isShowLoading:1,data:{store_id:os.stoid,is_end:0,timetype:1,page:1,pageSize:9,isuse:1}} + var th=this; + var user_id=getApp().globalData.user_id; + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1,page:1,pageSize:9}; + if(user_id){ + pre_data.user_id=user_id; + } + getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page",{data:pre_data} ).then(res=>{ if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) { var goodsidlist=res.data.data.pageData; this.set_goods_list(null,goodsidlist); + + th.data.timer = setInterval(function () { + th.countDown2(th); + }, 1000); } }); }, @@ -100,8 +133,64 @@ Component({ wx.navigateTo({ url:"/packageC/pages/presell/list/list" }); - } + }, + + //----秒杀倒计时函数----- + countDown2: function (ob) { + if (ob == undefined) return false; + var ee = ob; + // 获取当前时间,同时得到活动结束时间数组 + var newTime = ut.gettimestamp(); + this.setData({ newTime: newTime }); + + var List = ee.data.goods_array; + if (List.length == 0) return false; + for (var j = 0; j < List.length; j++) { + // 对结束时间进行处理渲染到页面 + var endTimeList = List[j]; + for (var i = 0; i < endTimeList.length; i++) { + var o = endTimeList[i]; + var endTime = o.end_time; + if (newTime < o.start_time) endTime = o.start_time; + 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) + } + } else { + //活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + } + var txt = "goods_array[" + j + "][" + i + "].djs"; + ee.setData({ + [txt]: obj + }); + } + } + }, + //---小于10的格式化函数---- + timeFormat: function (param) { + return param < 10 ? '0' + param : param; + }, + }, + + }) \ No newline at end of file diff --git a/components/diy_pregoods/diy_pregoods.wxml b/components/diy_pregoods/diy_pregoods.wxml index cf4790b..8dfdd9d 100644 --- a/components/diy_pregoods/diy_pregoods.wxml +++ b/components/diy_pregoods/diy_pregoods.wxml @@ -3,7 +3,7 @@ - 秒杀 + 预售 @@ -12,58 +12,51 @@ - + - - - 即将开始 - - - 活动已结束 - + 火热进行 - + 已抢光 - - - + - - - {{aitem.djs.day}}天 - {{aitem.djs.hou}}时 - {{aitem.djs.min}}分 - {{aitem.djs.sec}}秒 + + + {{aitem.djs.day}}天 + {{aitem.djs.hou}}时 + {{aitem.djs.min}}分 + {{aitem.djs.sec}}秒 + + - - {{aitem.title}} - ¥{{aitem.price}} + {{aitem.act_name}} + ¥{{aitem.presell_price}} ¥{{aitem.market_price}} @@ -85,7 +78,7 @@ - {{aitem.title}} + {{aitem.act_name}} {{aitem.djs.day}}{{aitem.djs.hou}} : @@ -94,28 +87,23 @@ - ¥{{aitem.price}} + ¥{{aitem.presell_price}} ¥{{aitem.market_price}} - - - 正在预热 - - - + 已结束 - + 我要抢 - + 已抢光 diff --git a/components/diy_pregoods/diy_pregoods.wxss b/components/diy_pregoods/diy_pregoods.wxss index f364ac3..11e5447 100644 --- a/components/diy_pregoods/diy_pregoods.wxss +++ b/components/diy_pregoods/diy_pregoods.wxss @@ -68,7 +68,6 @@ swiper { width: 210rpx; height: 100%; position: relative; - top: -74rpx; left: 0rpx; } @@ -81,9 +80,9 @@ swiper { padding: 4rpx 10rpx; border-radius: 10rpx; z-index: 999; - position: relative; - top: -6rpx; - width: 210rpx; + position: absolute; + top: 0rpx; + width: 130rpx; color: #fff; text-align: center; } @@ -95,7 +94,7 @@ swiper { .sp .sp_top .s_foot_kill { font-size: 20rpx; position: relative; - top: -90rpx; + bottom: 0rpx; width: 210rpx; height: 38rpx; line-height: 38rpx; @@ -280,7 +279,6 @@ swiper { } .rob{ display: flex; - justify-content: flex-end; font-size: 30rpx; } .money{ diff --git a/pages/index/index/index.json b/pages/index/index/index.json index c72cf2b..0f62f01 100644 --- a/pages/index/index/index.json +++ b/pages/index/index/index.json @@ -18,7 +18,8 @@ "mvideo": "/components/diy_video/diy_video", "service": "/components/diy_service/diy_service", "scan": "/components/diy_scan/diy_scan", - "store_select": "/components/diy_store_select/diy_store_select" + "store_select": "/components/diy_store_select/diy_store_select", + "presell": "/components/diy_pregoods/diy_pregoods" }, "enablePullDownRefresh": false } \ No newline at end of file diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 9829cec..894c653 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -435,10 +435,16 @@ - + - + + + + + + + @@ -461,9 +467,7 @@ - - - + diff --git a/pages/template/index.json b/pages/template/index.json index 418f686..c8f5ff7 100644 --- a/pages/template/index.json +++ b/pages/template/index.json @@ -19,7 +19,8 @@ "picMax": "/components/diy_picMax/diy_picMax", "mvideo": "/components/diy_video/diy_video", "service": "/components/diy_service/diy_service", - "scan": "/components/diy_scan/diy_scan" + "scan": "/components/diy_scan/diy_scan", + "presell": "/components/diy_pregoods/diy_pregoods" }, "enablePullDownRefresh": false } \ No newline at end of file diff --git a/pages/template/index.wxml b/pages/template/index.wxml index 452f71f..82f373f 100644 --- a/pages/template/index.wxml +++ b/pages/template/index.wxml @@ -61,6 +61,14 @@ + + + + + + + + -- libgit2 0.21.4