From 4f22036cc83fa378c3d6c8a57a2b6c0f5e7c6c14 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Thu, 18 Nov 2021 17:51:32 +0800 Subject: [PATCH] 商品搜索和商品列表 --- pages/goods/goodsInfo/goodsInfo.js | 9 +++++++-- pages/goods/goodsList/goodsList.js | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ pages/goods/goodsList/goodsList.wxml | 2 +- pages/goods/search/search.js | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------- pages/goods/search/search.wxml | 2 +- 5 files changed, 198 insertions(+), 35 deletions(-) diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index cf0be3c..79994b5 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -798,9 +798,14 @@ Page({ }); } - //-- 把商品的赋值 -- + //-- 把商品的赋值,同时给活动赋值 -- ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); - if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2) + if(t.data.data.prom_type && t.data.data.prom_id){ + ee.data.prom_type=t.data.data.prom_type; + ee.data.prom_id=t.data.data.prom_id; + } + + if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2) ee.check_is_youhui(ee.data.gid); t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); diff --git a/pages/goods/goodsList/goodsList.js b/pages/goods/goodsList/goodsList.js index bbc3986..e08bef1 100644 --- a/pages/goods/goodsList/goodsList.js +++ b/pages/goods/goodsList/goodsList.js @@ -42,7 +42,9 @@ Page({ } var th=this; - a.init(this, "", "requestData"); + + //a.init(this, "", "requestData"); + var url = this.data.baseUrl; this.data.is_new=t.is_new; this.data.is_hot=t.is_hot; @@ -171,10 +173,12 @@ Page({ } this.resetData(), this.requestGoodsList(url); }, - requestGoodsList: function(t) { - var e = this; + requestGoodsList:function(t) { + if(this.data.loading) return false; + this.data.loading=1; + var e = this,th=e; this.data.requestUrl = t; - + //不是商品分组的,不是默认排序的 if(t.indexOf("group_id")==-1 || e.data.tabname!="sort" ){ t += "&orderField=" + e.data.tabname; @@ -182,14 +186,94 @@ Page({ } t +="&page=" + e.data.currentPage; - a.request(t, - function(t) { - e.setData({is_go:1}); - e.data.currentPage++, null == e.data.allData && (e.data.allData = Object.assign({}, t.data.result)), - wx.stopPullDownRefresh(); - }, - null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid} - ); + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid}}).then(async res=>{ + th.data.loading=0; + e.setData({is_go:1}); + if(ut.ajax_ok(res)){ + e.data.currentPage++; + if(!e.data.requestData) e.data.requestData=[]; + for(let i in res.data.data.pageData){ + let item=res.data.data.pageData[i]; + item.original_img = th.data.url + item.original_img; + + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1 + }; + //获取商品的实际活动 + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.length==1){ + item.prom_type=res.data.data[0].prom_type; + item.prom_id=res.data.data[0].act_id; + } + }) + + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购 + var prom_id=item.prom_id; + var now=ut.gettimestamp(); + var url = ""; + switch (prom_type){ + case 1: + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id; + break; + case 2: + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id + break; + case 4: + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id; + break; + case 6: + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id; + break; + case 8: + var presell_id = prom_id; + var url1 = "/api/weshop/marketing/marketingPresellList/list"; + var rd= { + store_id: oo.stoid, + presell_id: presell_id, + goods_id: val.goods_id + } + //------获取预售从表---------- + await getApp().request.promiseGet(url1, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + item.prom_price = arr.luck_goods_price; + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0); + } + }) + break; + default: + break + } + if(url!=null && url!=''){ + await getApp().request.promiseGet(url, {}).then(res => { + var prom =null; + if(res && res.data) prom=res.data.data; + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time {{item.goods_name}} - + diff --git a/pages/goods/search/search.js b/pages/goods/search/search.js index ed397a4..00d5f6f 100644 --- a/pages/goods/search/search.js +++ b/pages/goods/search/search.js @@ -31,7 +31,6 @@ Page({ onLoad: function(t) { this.data.rq_data=t; - //接受有没有导购的参数 var first_leader=t.first_leader; if(first_leader){ @@ -95,7 +94,7 @@ Page({ }) - e.init(this, "", "requestData"); + //e.init(this, "", "requestData"); var url = this.data.baseUrl; //扫一扫过来,显示搜索的内容 @@ -112,9 +111,8 @@ Page({ if (url != this.data.baseUrl) return this.requestSearch(url); this.openSearchModal(); - - // 获取历史搜索记录 - this.getHistorySearch(); + // 获取历史搜索记录 + this.getHistorySearch(); }, changeTab: function(t) { var ord = t.currentTarget.dataset.href; @@ -134,24 +132,100 @@ Page({ //-----------真的调用地址进行搜索------------ requestSearch: function(t) { - var a = this; - + if(this.data.loading) return false; + this.data.loading=1; + var e = this,th=e; if(getApp().globalData.userInfo){ t += "&user_id=" + getApp().globalData.userInfo.user_id; } + this.data.requestUrl = t; + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid,orderField: e.data.tabname, orderType: e.data.adname, page: e.data.currentPage}}).then(async res=>{ + th.data.loading=0; + if(ut.ajax_ok(res)){ + if(!e.data.requestData) e.data.requestData=[]; + for(let i in res.data.data.pageData){ + let item=res.data.data.pageData[i]; + item.original_img = th.data.url + item.original_img; + + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1 + }; + //获取商品的实际活动 + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.length==1){ + item.prom_type=res.data.data[0].prom_type; + item.prom_id=res.data.data[0].act_id; + } + }) + + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购 + var prom_id=item.prom_id; + var now=ut.gettimestamp(); + var url = ""; + switch (prom_type){ + case 1: + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id; + break; + case 2: + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id + break; + case 4: + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id; + break; + case 6: + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id; + break; + case 8: + var presell_id = prom_id; + var url1 = "/api/weshop/marketing/marketingPresellList/list"; + var rd= { + store_id: oo.stoid, + presell_id: presell_id, + goods_id: val.goods_id + } + //------获取预售从表---------- + await getApp().request.promiseGet(url1, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + item.prom_price = arr.luck_goods_price; + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0); + } + }) + break; + default: + break + } + if(url!=null && url!=''){ + await getApp().request.promiseGet(url, {}).then(res => { + var prom =null; + if(res && res.data) prom=res.data.data; + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time {{item.goods_name}} - + {{item.prom_integral}}积分 -- libgit2 0.21.4