const height = wx.getSystemInfoSync().windowHeight var util = require('../../utils/util.js'); var status = require('../../utils/index.js'); var a = require("../../utils/public"); var countDownInit = require("../../utils/countDown"); var wcache = require('../../utils/wcache.js'); var app = getApp(); var timerOut = ''; var globalData = getApp().globalData const key = globalData.key var SYSTEMINFO = globalData.systeminfo Page({ mixins: [countDownInit.default, require('../../mixin/globalMixin.js'), require('../../mixin/compoentCartMixin.js')], data: { isIPhoneX: globalData.isIPhoneX, isfixed: !1, statusBarHeight: app.globalData.statusBarHeight + 44 + 'px', searchBarHeight: app.globalData.statusBarHeight + 'px', rushboxHeight: app.globalData.statusBarHeight + 200 + 'px', needAuth: false, stopClick: false, community: {}, rushList: [], commingList: [], countDownMap: [], actEndMap: [], skuList: [], pageNum: 1, notice_list: [], slider_list: [], shop_info: {}, showEmpty: false, indexBottomImage: '', classification: { tabs: [], activeIndex: -1 }, commingClassification: { tabs: [], activeIndex: -1 }, common_header_backgroundimage: "", isShowCommingClassification: true, isShowClassification: true, showChangeCommunity: false, isTipShow: false, isShowGuide: false, isShowMenu: false, index_lead_image: '', theme: 0, cartNum: 0, navigat: [], navigatSwiper: {page: 1, current:0, totnav: 0}, tabIdx: 0, scrollDirect: "", isSticky: false, showCommingEmpty: false, stopNotify: true, reduction: {}, is_share_html: true, commingNum: 0, couponRefresh: false, index_change_cate_btn: 0, newComerRefresh: false, showCouponModal: false, copy_text_arr: [], showCopyText: false, totalAlertMoney: 0, groupInfo: { group_name: '社区', owner_name: '团长' }, needPosition: true, typeTopicList: [], pinList: {}, cube: [], secRushList: [], secKillGoodsIndex: 1, isblack: 0, imageSize: { imageWidth: "100%", imageHeight: 600 }, fmShow: true, presale_index_info: '', isDiy: 0, diyManyGoodsList: [] }, isFirst: 0, $data: { statusBarHeight: app.globalData.statusBarHeight + 44, top: 0, stickyFlag: false, scrollTop: 0, overPageNum: 1, loadOver: false, hasOverGoods: false, countDownMap: {}, actEndMap: {}, timer: {}, scrollHeight: 1300, stickyTop: 0, hasCommingGoods: true }, tpage: 1, hasRefeshin: false, postion: {}, options: '', focusFlag: false, /** * 监控滚动事件 */ onPageScroll: function (t) { if (!this.$data.isLoadData) { if (t.scrollTop < this.$data.scrollHeight) { if (t.scrollTop > this.$data.scrollTop) { "down" !== this.data.scrollDirect && this.setData({ scrollDirect: "down" }) } else { "up" != this.data.scrollDirect && this.setData({ scrollDirect: "up" }) } } else { "down" !== this.data.scrollDirect && this.setData({ scrollDirect: "down" }) } if (t.scrollTop > this.$data.stickyTop) { this.data.isSticky || (this.setData({ isSticky: true }), this.$data.stickyFlag = true) } else { t.scrollTop < this.$data.stickyBackTop && this.data.isSticky && (this.setData({ isSticky: false }), this.$data.stickyFlag = false) } this.$data.scrollTop = t.scrollTop } }, onLoad: function(options) { app.setShareConfig(); wx.hideTabBar(); var that = this; var token = wx.getStorageSync('token'); status.setNavBgColor(); status.setGroupInfo().then((groupInfo) => { that.setData({ groupInfo }) }); console.log('step1'); let community = wx.getStorageSync('community'); let community_id = community.communityId || ''; let isparse_formdata = wx.getStorageSync('isparse_formdata') || 0; if (isparse_formdata != 1) { // this.get_index_info(); if (options && Object.keys(options).length != 0) { console.log('step2'); var scene = decodeURIComponent(options.scene); if (scene != 'undefined') { var opt_arr = scene.split("_"); options.community_id = opt_arr[0]; wcache.put('share_id', opt_arr[1]); } that.options = options; if (options.share_id != 'undefined' && options.share_id > 0) wcache.put('share_id', options.share_id); if (options.community_id != 'undefined' && options.community_id > 0) { console.log('step3'); util.getCommunityById(options.community_id).then((res)=>{ if (res.code == 0) { console.log('step4'); var shareCommunity = res.data; console.log('分享community_id', options.community_id); console.log('历史community_id', community_id); let sdata = {}; if (res.open_danhead_model == 1) { console.log('开启单社区', res.default_head_info); sdata.community = res.default_head_info; sdata.open_danhead_model = res.open_danhead_model; token && that.addhistory(res.default_head_info.communityId || ''); wx.setStorageSync('community', res.default_head_info); } else if (shareCommunity){ if (options.community_id != community_id) { if (community_id) { sdata.showChangeCommunity = true; sdata.changeCommunity = shareCommunity; sdata.community = community; } else { sdata.community = shareCommunity; sdata.shareCommunity = shareCommunity; wcache.put('community', shareCommunity); } } else { sdata.community = community; } } sdata.hidetip = false; sdata.token = token; sdata.showEmpty = false; sdata.needPosition = false; that.setData(sdata, ()=>{ that.loadPage(); }); } else { console.log('step5'); that.loadPage(); that.setData({ hidetip: false, token: token, showEmpty: false, needPosition: false }) } token && that.addhistory(); }) } else { util.getCommunityById(options.community_id).then((res) => { if (res.code == 0) { if (res.open_danhead_model == 1) { console.log('开启单社区step6'); that.setData({ community: res.default_head_info, open_danhead_model: res.open_danhead_model }) token && that.addhistory(res.default_head_info.communityId || ''); wx.setStorageSync('community', res.default_head_info); } console.log('step6'); that.loadPage(); } }).catch(() => { that.loadPage(); }) } } else { util.getCommunityById(options.community_id).then((res) => { if (res.code == 0) { if (res.open_danhead_model == 1) { console.log('开启单社区step7'); that.setData({ community: res.default_head_info, open_danhead_model: res.open_danhead_model }) token && that.addhistory(res.default_head_info.communityId || ''); wx.setStorageSync('community', res.default_head_info); } that.loadPage(); } }).catch(()=>{ that.loadPage(); }) console.log('step7'); that.setData({ hidetip: false, token: token, showEmpty: false, community }) } } }, addhistory: function (id=0) { console.log('step13'); let community_id = 0; if (id==0) { var community = wx.getStorageSync('community'); community_id = community.communityId; } else { community_id = id; } console.log('history community_id=' + community_id); var token = wx.getStorageSync('token'); let that = this; community_id !==void 0 && app.util.request({ 'url': 'entry/wxapp/index', 'data': { controller: 'index.addhistory_community', community_id: community_id, 'token': token }, dataType: 'json', success: function(res) { if(id!=0) that.getHistoryCommunity(), console.log('addhistory+id', id); } }) }, loadPage: function() { wx.showLoading(); console.log('step8'); let that = this; that.get_index_info(); if(this.data.isDiy==0) { that.get_type_topic(); that.getNavigat(); that.getPinList(); } else { this.getDiyInfo(); } that.getCoupon(); status.loadStatus().then(function() { let appLoadStatus = app.globalData.appLoadStatus; console.log('appLoadStatus',appLoadStatus) if (appLoadStatus == 0) { // wx.hideLoading(); setTimeout(function(){ wx.hideLoading(); },1000); that.setData({ needAuth: true, couponRefresh: false }); that.data.isDiy==0&&that.load_goods_data(); } else if (appLoadStatus == 2) { console.log('step9'); that.getHistoryCommunity(); } else { console.log('step12'); let community = wx.getStorageSync('community'); community || (community=app.globalData.community); if (!community){ util.getCommunityInfo().then((res) => { that.setData({ community: that.fliterCommunity(res) }) }) } else { that.setData({ community: that.fliterCommunity(community) }) } console.log('step18'); that.data.isDiy==0&&that.load_goods_data(); } }); }, // 不显示社区省份 fliterCommunity: function (community){ let resArr = community && community.fullAddress && community.fullAddress.split('省'); if (resArr) { return Object.assign({}, community, { address: resArr[1] || resArr[0] }); } else { return community; } }, onReady: function (res) { this.videoContext = wx.createVideoContext('myVideo'); }, onShow: function() { // 页面显示 let that = this; console.log('isblack', app.globalData.isblack) this.setData({ stopNotify: false, tabbarRefresh: true, isblack: app.globalData.isblack || 0 }) util.check_login_new().then((res) => { if(res) { that.setData({ needAuth: false }) } else { this.setData({ needAuth: true, couponRefresh: false }); return; } }) app.globalData.timer.start(); var token = wx.getStorageSync('token'); token&&(0, status.cartNum)('', true).then((res)=>{ res.code == 0 && that.setData({ cartNum: res.data }) }); if (app.globalData.changedCommunity) { console.log('change') app.globalData.goodsListCarCount = []; let community = app.globalData.community; this.setData({ community: that.fliterCommunity(community), newComerRefresh: false }); this.getCommunityPos(community.communityId); this.hasRefeshin = false; this.setData({ newComerRefresh: true, rushList: [], pageNum: 1, classificationId: null, "classification.activeIndex": -1 }, () => { this.setData({ "classification.activeIndex": 0 }) }) this.$data = { ...this.$data, ...{ overPageNum: 1, loadOver: false, hasOverGoods: false, countDownMap: {}, actEndMap: {}, timer: {}, stickyFlag: false, hasCommingGoods: true } } app.globalData.changedCommunity = false, this.get_index_info(), this.addhistory(); this.load_goods_data(), this.get_type_topic(),this.getPinList(); } else { console.log('nochange') if (that.isFirst>=1){ this.setData({ loadOver: true }) this.changeRushListNum(); } } if (that.isFirst==0) { this.setData({ couponRefresh: true }); } else { this.getCoupon(); let cid = app.globalData.indexCateId || ''; cid && this.goIndexType(cid); app.globalData.indexCateId = ''; } that.isFirst++; }, /** * 动态变化列表购物车数量 */ changeRushListNum: function(){ let that = this; let goodsListCarCount = app.globalData.goodsListCarCount; let rushList = this.data.rushList; let changeCarCount = false; this.setData({ changeCarCount }) if (goodsListCarCount.length > 0 && rushList.length > 0) { goodsListCarCount.forEach(function (item) { let k = that.arrayHasElement(rushList, item.actId); if (k[0] != -1 && rushList[k[0]][k[1]].skuList.length === 0) { let newNum = item.num * 1; rushList[k[0]][k[1]].car_count = newNum >= 0 ? newNum : 0; changeCarCount = true; } }) // goodsListCarCount.forEach(function (item) { // let k = rushList.findIndex((n) => n.actId == item.actId); // if (k != -1 && rushList[k].skuList.length === 0) { // let newNum = item.num * 1; // rushList[k].car_count = newNum >= 0 ? newNum : 0; // changeCarCount = true; // } // }) this.setData({ rushList, changeCarCount }) } }, arrayHasElement: function(array, element) { let el=array; for(let number in el){ if (el[number].length > 0) { for (var index in el[number]) { if (el[number][index].actId == element) { return [number, index] } } } } return [-1, -1]; }, changeNotListCartNum: function (t) { let that = this; let e = t.detail; (0, status.cartNum)(that.setData({ cartNum: e })); this.changeRushListNum(); }, onHide: function() { this.setData({ stopNotify: true, tabbarRefresh: false, changeCarCount: false }) console.log('详情页', this.data.stopNotify) app.globalData.timer.stop(); console.log('onHide') }, /** * 授权成功回调 */ authSuccess: function() { console.log('authSuccess'); let that = this; this.tpage = 1; this.hasRefeshin = false; this.setData({ rushList: [], pageNum: 1, needAuth: false, newComerRefresh: false, couponRefresh: true, isblack: app.globalData.isblack || 0, diyLoaded: false }) this.$data = { ...this.$data, ...{ overPageNum: 1, loadOver: false, hasOverGoods: false, countDownMap: {}, actEndMap: {}, timer: {}, hasCommingGoods: true } } status.getInNum().then((isCan) => { if (isCan) { that.setData({ isTipShow: true }) timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 7000); } }) this.loadPage(); this.data.isTipShow && (timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 7000)); }, authModal: function (e = {}) { let needAuth = (e && e.detail) || this.data.needAuth; if (this.data.needAuth || e.detail) { this.setData({ showAuthModal: !this.data.showAuthModal, needAuth }); return false; } return true; }, //获取历史社区 getHistoryCommunity: function () { let that = this; var token = wx.getStorageSync('token'); app.util.request({ 'url': 'entry/wxapp/index', 'data': { controller: 'index.load_history_community', token: token }, dataType: 'json', success: function (res) { console.log('step14'); if (res.data.code == 0) { console.log('getHistoryCommunity'); let history_communities = res.data.list; let isNotHistory = false; if (Object.keys(history_communities).length == 0 || history_communities.communityId == 0) isNotHistory = true; let resArr = history_communities && history_communities.fullAddress && history_communities.fullAddress.split('省'); history_communities = Object.assign({}, history_communities, { address: resArr[1] }) that.setData({ community: history_communities }) wcache.put('community', history_communities); app.globalData.community = history_communities; if (token && !isNotHistory) { let lastCommunity = wx.getStorageSync('lastCommunity'); let lastCommunityId = lastCommunity.communityId || ''; if (lastCommunityId != '' && lastCommunityId != history_communities.communityId) { that.setData({ showChangeCommunity: true, changeCommunity: lastCommunity }, ()=> { wx.removeStorageSync('lastCommunity'); }) } } that.setData({ community: app.globalData.community }) that.load_goods_data(); } else { let options = that.options; if (options !== void 0 && options.community_id) { console.log('新人加入分享进来的社区id:', that.options); that.addhistory(options.community_id); } else if (res.data.code == 1) { console.log('获取历史社区'); wx.redirectTo({ url: "/eaterplanet_ecommerce/pages/position/community" }) } else { that.setData({ needAuth: true }) } } } }) }, getScrollHeight: function () { wx.createSelectorQuery().select('.rush-list-box').boundingClientRect((rect) => { rect && rect.height && (this.$data.scrollHeight = rect.height || 1300); console.log(this.$data.scrollHeight) }).exec() }, /** * 引导页切换 */ handleProxy: function(){ clearTimeout(timerOut); this.setData({ isTipShow: false, isShowGuide: true }) wcache.put('inNum', 4); }, handleHideProxy: function(){ this.setData({ isTipShow: false, isShowGuide: false }) }, /** * 获取首页信息 */ get_index_info: function() { let that = this; let community = wx.getStorageSync('community'); let communityId = community && community.communityId || ''; let token = wx.getStorageSync('token'); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'index.index_info', communityId, token }, dataType: 'json', success: function(res) { let rdata = res.data; let groupInfo = that.data.groupInfo; if (rdata.code == 0) { if (!res.data.is_community && communityId && !that.data.needAuth) { let changeCommunity = that.data.changeCommunity || {}; let changeCommunityId = changeCommunity.communityId || ''; if (changeCommunityId) { wcache.put('community', changeCommunity); that.addhistory(changeCommunity.community_id); that.setData({ community: changeCommunity, showChangeCommunity: false }) that.loadPage(); } else { wx.showModal({ title: '提示', content: `该${groupInfo.group_name}不在,请重新选择${groupInfo.group_name}`, showCancel: false, confirmColor: '#4facfe', success(res) { if (res.confirm) { wx.redirectTo({ url: '/eaterplanet_ecommerce/pages/position/community', }) } } }) } } let notice_list = rdata.notice_list; let slider_list = rdata.slider_list; let index_lead_image = rdata.index_lead_image; if(index_lead_image){ status.getInNum().then((isCan)=>{ if (isCan) { that.setData({ isTipShow: true },()=>{ timerOut = setTimeout(() => { that.setData({ isTipShow: false }) }, 9000); }) } }) } else { that.setData({ isTipShow: false }) } let common_header_backgroundimage = rdata.common_header_backgroundimage; app.globalData.common_header_backgroundimage = common_header_backgroundimage; let order_notify_switch = rdata.order_notify_switch; let index_list_top_image_on = rdata.index_list_top_image_on; let index_change_cate_btn = rdata.index_change_cate_btn || 0; let default_img = '../../images/rush-title.png'; // if (index_list_top_image_on == 1) default_img=''; let index_list_top_image = rdata.index_list_top_image ? rdata.index_list_top_image : default_img; let shop_info = { shoname: rdata.shoname, shop_index_share_image: rdata.shop_index_share_image, index_list_top_image: index_list_top_image, title: rdata.title, common_header_backgroundimage, order_notify_switch, index_top_img_bg_open: rdata.index_top_img_bg_open || 0, index_top_font_color: rdata.index_top_font_color || '#fff', index_communityinfo_showtype: rdata.index_communityinfo_showtype || 0, index_list_top_image_on } app.globalData.placeholdeImg = rdata.index_loading_image || ''; let placeholdeImg = rdata.index_loading_image || ''; wcache.put('shopname', rdata.shoname); wx.setNavigationBarTitle({ title: rdata.shoname }); let category_list = rdata.category_list || []; let index_type_first_name = rdata.index_type_first_name || '全部'; if (category_list.length > 0) { category_list.unshift({ name: index_type_first_name, id: 0 }) that.setData({ isShowClassification: true, "classification.tabs": category_list }) } else { that.setData({ isShowClassification: false }) } let theme = rdata.theme || 0; let rushEndTime = rdata.rushtime*1000 || 0; let isShowShareBtn = rdata.index_share_switch || 0; let isShowListCount = rdata.is_show_list_count || 0; let isShowListTimer = rdata.is_show_list_timer || 0; let isShowContactBtn = rdata.index_service_switch || 0; let index_switch_search = rdata.index_switch_search || 0; let ishow_index_gotop = rdata.ishow_index_gotop || 0; if (rdata.is_comunity_rest == 1 && !that.data.needAuth) { wx.showModal({ title: '温馨提示', content: `${groupInfo.owner_name}休息中,欢迎下次光临!`, showCancel: false, confirmColor: '#4facfe', confirmText: '好的', success(res) { } }) } that.postion = rdata.postion; //秒杀 let { scekill_time_arr, seckill_bg_color, seckill_is_open, seckill_is_show_index, hide_community_change_word,index_qgtab_counttime, hide_index_type } = rdata; let myDate = new Date(); let curHour = myDate.getHours(); // 当前时间 console.log('当前时间:', curHour); let curSeckillIdx = 0; //当前时间索引 let scekillTimeArr = []; //显示的时间段 if (scekill_time_arr.length > 3) { let timeLen = scekill_time_arr.length; curSeckillIdx = scekill_time_arr.findIndex(item => { return item >= curHour; }); console.log('当前时间索引:', curSeckillIdx) //取三个时间段 if (curSeckillIdx === -1) { //没有进行或者未开始 取最后三个 scekillTimeArr = scekill_time_arr.slice(-3); } else if (curSeckillIdx === 0) { //全部未开始 取最前三个 scekillTimeArr = scekill_time_arr.slice(0, 3); } else if ((curSeckillIdx + 1) == timeLen) { //剩最后一个 取最后三个 scekillTimeArr = scekill_time_arr.slice(-3); } else { scekillTimeArr = scekill_time_arr.slice(curSeckillIdx - 1, curSeckillIdx + 2); } } else { scekillTimeArr = scekill_time_arr; } //判断各个时段状态 let scekillTimeList = []; let secKillActiveIdx = 0; if(scekillTimeArr.length){ scekillTimeArr.forEach((item, idx) => { let secObj = {}; //state: 0已开抢 1疯抢中 2即将开抢 if (item == curHour) { secObj.state = 1; secObj.desc = '疯抢中'; secKillActiveIdx = idx; } else if (item < curHour) { secObj.state = 0; secObj.desc = '已开抢'; } else { secObj.state = 2; secObj.desc = '即将开抢'; } secObj.timeStr = (item < 10 ? '0' + item : item) + ':00'; secObj.timeArr = [item < 10 ? '0' + item : item, '00']; secObj.seckillTime = item; scekillTimeList.push(secObj); }) //获取当前秒杀商品 that.getSecKillGoods(scekillTimeArr[secKillActiveIdx]); } let index_video_arr = rdata.index_video_arr; // 预售信息 let presale_index_info = rdata.presale_index_info || ''; if(presale_index_info&&presale_index_info.goods_list) { let goods_list = presale_index_info.goods_list; let nowtime = Date.parse(new Date())/1000; goods_list.forEach((item, idx)=>{ let { presale_ding_money, actPrice, presale_deduction_money, presale_type, presale_ding_time_start_int, presale_ding_time_end_int } = item; if(presale_type==0) { presale_deduction_money = presale_deduction_money>0?presale_deduction_money:presale_ding_money; let goodsPrice = (actPrice[0]+'.'+actPrice[1])*1; presale_index_info.goods_list[idx].weikuan = (goodsPrice - presale_deduction_money*1).toFixed(2); presale_ding_money = presale_ding_money.toFixed(2); presale_index_info.goods_list[idx].dingArr = (presale_ding_money+'').split('.'); presale_index_info.goods_list[idx].presale_deduction_money = presale_deduction_money; } let saleStatus = 1; //客付定金 0未开始 2已结束 if(nowtimepresale_ding_time_end_int) { saleStatus = 2; } presale_index_info.goods_list[idx].saleStatus = saleStatus; }) } let isDiy = rdata.open_diy_index_page || 0; wx.setStorageSync('is_diy', isDiy); (isDiy==1)&&that.getDiyInfo(); // 礼品卡 let virtualcard_info = rdata.virtualcard_info || ''; if(virtualcard_info&&virtualcard_info.goods_list) { var timestamp = Date.parse(new Date())/1000; let newList = []; if(Object.keys(virtualcard_info.goods_list).length) { virtualcard_info.goods_list.forEach(item=>{ (item.end_time { this.loadPage(); this.addhistory(); }) }, /** * 关闭切换社区 */ closeChangeCommunity: function(){ this.setData({ showChangeCommunity: false }) }, /** * 获取商品列表 */ load_goods_data: function() { var token = wx.getStorageSync('token'); var that = this; var cur_community = wx.getStorageSync('community'); var gid = that.data.classificationId; this.$data.isLoadData = true; console.log('load_goods_begin '); if (!that.hasRefeshin && !that.$data.loadOver) { console.log('load_goods_in '); this.hasRefeshin = true; that.setData({ loadMore: true }); app.util.request({ 'url': 'entry/wxapp/index', 'data': { controller: 'index.load_gps_goodslist', token: token, pageNum: that.data.pageNum, head_id: cur_community.communityId, gid, per_page: 12 }, dataType: 'json', success: function(res) { if (that.data.pageNum == 1) { that.setData({ cate_info: res.data.cate_info || {} }) } if (res.data.code == 0) { let rushList = []; if (res.data.is_show_list_timer==1) { rushList = that.transTime(res.data.list); for (let s in that.$data.countDownMap) that.initCountDown(that.$data.countDownMap[s]); } else { rushList = that.data.rushList; rushList[that.data.pageNum-1] = res.data.list; } let rdata = res.data; let { full_money, full_reducemoney, is_open_fullreduction, is_open_vipcard_buy, is_vip_card_member, is_member_level_buy } = rdata; let reduction = { full_money, full_reducemoney, is_open_fullreduction } // 是否可以会员折扣购买 let canLevelBuy = false; if (is_open_vipcard_buy == 1) { if (is_vip_card_member != 1 && is_member_level_buy == 1) canLevelBuy = true; } else { (is_member_level_buy == 1) && (canLevelBuy = true); } if (that.data.pageNum==1) that.setData({ copy_text_arr: rdata.copy_text_arr || [] }) that.hasRefeshin = false; that.setData({ rushList: rushList, pageNum: that.data.pageNum + 1, loadMore: false, reduction, tip: '', is_open_vipcard_buy: is_open_vipcard_buy || 0, is_vip_card_member, is_member_level_buy, canLevelBuy }, ()=>{ if (that.isFirst == 1) { that.isFirst++; } if (rushList.length && !that.$data.stickyTop) { wx.createSelectorQuery().select(".tab-nav-query").boundingClientRect(function (t) { if (t && t.top){ wcache.put('tabPos', t); that.$data.stickyTop = t.top + t.height, that.$data.stickyBackTop = t.top; } else { let tabpos = wcache.get('tabPos', false); if (tabpos) that.$data.stickyTop = tabpos.top + tabpos.height, that.$data.stickyBackTop = tabpos.top; } }).exec(); that.$data.scrollTop > that.$data.stickyTop && wx.pageScrollTo({ duration: 0, scrollTop: that.$data.stickyTop + 4 }); } that.getScrollHeight(); if (that.data.pageNum == 2 && res.data.list.length < 10) { console.log('load_over_goods_list_begin') that.$data.loadOver = true; that.hasRefeshin = true; that.setData({ loadMore: true }, () => { that.load_over_gps_goodslist(); }); } }); } else if (res.data.code == 1) { that.$data.loadOver = true; that.load_over_gps_goodslist(); } else if (res.data.code == 2) { //no login that.setData({ needAuth: true, couponRefresh: false }) } }, complete: function() { that.$data.isLoadData = false; // wx.hideLoading(); setTimeout(function(){ wx.hideLoading(); },1000); } }) } else { that.load_over_gps_goodslist(); } }, /** * 组合倒计时时间 */ transTime: function(list) { let that = this; let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; e === 0 && list.map(function(t) { t.end_time *= 1000; that.$data.countDownMap[t.end_time] = t.end_time, that.$data.actEndMap[t.end_time] = t.end_time <= new Date().getTime() || t.spuCanBuyNum == 0; }) let rushList = that.data.rushList; let idx = that.data.pageNum+that.$data.overPageNum-2; rushList[idx] = list; return rushList; // return that.data.rushList.concat(list); }, /** * 获取售罄商品 */ load_over_gps_goodslist: function() { var token = wx.getStorageSync('token'); var that = this; var cur_community = wx.getStorageSync('community'); var gid = that.data.classificationId; if (!that.$data.hasOverGoods && that.$data.loadOver) { that.$data.hasOverGoods = true; that.setData({ loadMore: true }); app.util.request({ 'url': 'entry/wxapp/index', 'data': { controller: 'index.load_over_gps_goodslist', token: token, pageNum: that.$data.overPageNum, head_id: cur_community.communityId, gid, is_index_show: 1 }, dataType: 'json', success: function(res) { if (res.data.code == 0) { let rushList = that.transTime(res.data.list); for (let s in that.$data.countDownMap) that.initCountDown(that.$data.countDownMap[s]); that.$data.hasOverGoods = false; that.$data.overPageNum += 1; that.setData({ rushList: rushList, loadMore: false, tip: '' }, ()=>{ if (that.isFirst == 1) { that.isFirst++; if (rushList.length && !that.$data.stickyTop) { wx.createSelectorQuery().select(".tab-nav-query").boundingClientRect(function (t) { if (t && t.top) { wcache.put('tabPos', t); that.$data.stickyTop = t.top + t.height, that.$data.stickyBackTop = t.top; } else { let tabpos = wcache.get('tabPos', false); if (tabpos) that.$data.stickyTop = tabpos.top + tabpos.height, that.$data.stickyBackTop = tabpos.top; } }).exec(); that.$data.scrollTop > that.$data.stickyTop && wx.pageScrollTo({ duration: 0, scrollTop: that.$data.stickyTop + 4 }); } that.getScrollHeight(); } }); } else if (res.data.code == 1) { if (that.$data.overPageNum == 1 && that.data.rushList.length == 0) that.setData({ showEmpty: true }) that.setData({ loadMore: false, tip: '^_^已经到底了' }) } else if (res.data.code == 2) { that.setData({ needAuth: true, couponRefresh: false }) } that.$data.isLoadData = false; } }) } else { that.$data.isLoadData = false; } }, /** * 监控分类导航 */ classificationChange: function(t, autoScroll=0) { console.log(t.detail.e) wx.showLoading(); var that = this; this.$data = {...this.$data, ...{ overPageNum: 1, loadOver: false, hasOverGoods: false, countDownMap: {}, actEndMap: {}, timer: {} } }, this.hasRefeshin = false, this.setData({ rushList: [], showEmpty: false, pageNum: 1, "classification.activeIndex": t.detail.e, classificationId: t.detail.a }, function() { if ((this.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop+5)) || autoScroll){ console.log('滚动了') let windowWidth = app.globalData.systemInfo && app.globalData.systemInfo.windowWidth || 375; let taBH = windowWidth/750*72; wx.pageScrollTo({ scrollTop: that.$data.stickyTop - taBH, duration: 0 }) } that.load_goods_data(); }); }, /** * 监控即将抢购分类导航 */ commingClassificationChange: function (t) { wx.showLoading(); var that = this; that.tpage = 1; this.$data = {...this.$data, ...{hasCommingGoods: true} }, this.setData({ showCommingEmpty: false, commingList: [], "commingClassification.activeIndex": t.detail.e, commingClassificationId: t.detail.a }, function () { if (this.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop + 5)) { wx.pageScrollTo({ scrollTop: that.$data.stickyTop + 5, duration: 0 }) } that.getCommingList(); }); }, // 抢购切换 tabSwitch: function (t) { var that = this; var tabIdx = 1 * t.currentTarget.dataset.idx; this.setData({ tabIdx: tabIdx }, ()=>{ if (tabIdx == 1) { if (that.$data.stickyFlag && (that.$data.scrollTop != that.$data.stickyTop + 5)) { wx.pageScrollTo({ scrollTop: that.$data.stickyTop + 5, duration: 0 }) } if (that.tpage == 1) { that.getCommingList(); } } }) }, /** * 即将开抢列表 */ getCommingList: function(){ this.data.commigLoadMore && wx.showLoading(); var token = wx.getStorageSync('token'); var that = this; var cur_community = wx.getStorageSync('community'); var gid = this.data.commingClassificationId || 0; that.$data.isLoadData = true; if (that.$data.hasCommingGoods) { that.$data.hasCommingGoods = false; that.setData({ commigLoadMore: true }); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'index.load_comming_goodslist', token: token, pageNum: that.tpage, head_id: cur_community.communityId, gid }, dataType: 'json', success: function (res) { wx.hideLoading(); if (res.data.code == 0) { let commingList = res.data.list; commingList = that.data.commingList.concat(commingList); that.$data.hasCommingGoods = true; that.tpage += 1; that.setData({ commingList: commingList, commigLoadMore: false, commigTip: '' },()=>{ that.getScrollHeight(); }); } else if (res.data.code == 1) { if (that.tpage == 1 && that.data.commingList.length == 0) that.setData({ showCommingEmpty: true }) that.setData({ commigLoadMore: false, commigTip: '^_^已经到底了' }) } else if (res.data.code == 2) { that.setData({ needAuth: true, couponRefresh: false }) } that.$data.isLoadData = false; } }) } else{ that.$data.isLoadData = false; !that.data.commigLoadMore && wx.hideLoading(); } }, /** * 返回顶部 */ backTop: function() { this.stickyFlag = false, wx.pageScrollTo({ scrollTop: 0, duration: 500 }); }, goLink: function(event) { let url = event.currentTarget.dataset.link; let needauth = event.currentTarget.dataset.needauth || ''; console.log(needauth) if(needauth){ if (!this.authModal()) return; } url && wx.navigateTo({ url }) }, /** * 导航小图标 */ getNavigat: function(){ let that = this; app.util.request({ 'url': 'entry/wxapp/index', 'data': { controller: 'index.get_navigat' }, dataType: 'json', success: function (res) { if (res.data.code == 0) { let navigat = res.data.data || []; let navigatEmpty = []; let navigatSwiper = {page: 1, current:0, totnav: 0}; let chunks = []; if (navigat.length>0) { let len = (5-navigat.length%5) || 0; if(len<5&&len>0) navigatEmpty = new Array(len); for(let i=0;i 0) { let url = navigat[idx].link; let type = navigat[idx].type; if(util.checkRedirectTo(url, needAuth)){ this.authModal(); return; } if (type== 0){ // 跳转webview wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/web-view?url=' + encodeURIComponent(url), }) } else if (type==1) { if (url.indexOf('eaterplanet_ecommerce/pages/index/index') != -1 || url.indexOf('eaterplanet_ecommerce/pages/order/shopCart') != -1 || url.indexOf('eaterplanet_ecommerce/pages/user/me') != -1 || url.indexOf('eaterplanet_ecommerce/pages/type/index') != -1) { wx.switchTab({ url: url }) } else { wx.navigateTo({ url: url }) } } else if (type==2){ // 跳转小程序 let appid = navigat[idx].appid; appid && wx.navigateToMiniProgram({ appId: navigat[idx].appid, path: url, extraData: {}, envVersion: 'release', success(res) { // 打开成功 }, fail(error) { console.log(error) } }) } else if (type == 3){ //首页分类 // t.detail.e 选中索引 // t.detail.a 选中id let classification = this.data.classification; let tabs = classification && classification.tabs; let cid = url; let activeIdx = tabs.findIndex((p) => { return p.id == cid }); if (activeIdx!=-1) { let cateInfo = { detail: { e: activeIdx, a: cid } }; this.classificationChange(cateInfo, 1); } else { wx.showToast({ title: '分类不存在或已关闭', icon: 'none' }) } } else if (type == 4) { //独立分类 app.globalData.typeCateId = url; wx.switchTab({ url: '/eaterplanet_ecommerce/pages/type/index' }) } else if (type == 6) { //领券 let url = navigat[idx].link; wx.navigateTo({ url: '/eaterplanet_ecommerce/moduleA/coupon/getCoupon?id='+url }) } } }, /** * 幻灯片跳转 */ goBannerUrl: function (t) { let idx = t.currentTarget.dataset.idx; let { slider_list, needAuth } = this.data; if (slider_list.length > 0) { let url = slider_list[idx].link; let type = slider_list[idx].linktype; if (util.checkRedirectTo(url, needAuth)) { this.authModal(); return; } if (type == 0) { // 跳转webview url && wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/web-view?url=' + encodeURIComponent(url) }) } else if (type == 1) { if (url.indexOf('eaterplanet_ecommerce/pages/index/index') != -1 || url.indexOf('eaterplanet_ecommerce/pages/order/shopCart') != -1 || url.indexOf('eaterplanet_ecommerce/pages/user/me') != -1 || url.indexOf('eaterplanet_ecommerce/pages/type/index') != -1) { url && wx.switchTab({ url: url }) } else { url && wx.navigateTo({ url: url }) } } else if (type == 2) { // 跳转小程序 let appid = slider_list[idx].appid; appid && wx.navigateToMiniProgram({ appId: slider_list[idx].appid, path: url, extraData: {}, envVersion: 'release', success(res) { // 打开成功 }, fail(error) { console.log(error) } }) } else if (type == 6) { //领券 wx.navigateTo({ url: '/eaterplanet_ecommerce/moduleA/coupon/getCoupon?id='+url }) } } }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { this.setData({ couponRefresh: false, newComerRefresh: false, stopNotify: true }); this.tpage = 1; this.$data = { ...this.$data, ...{ overPageNum: 1, loadOver: false, hasOverGoods: false, countDownMap: {}, actEndMap: {}, timer: {}, stickyFlag: false, hasCommingGoods: true } } this.hasRefeshin = false; this.setData({ rushList: [], commingList: [], tabIdx: 0, pageNum: 1, couponRefresh: true, newComerRefresh: true, stopNotify: false, rushEndTime: 0, diyLoaded: false }, ()=>{ this.loadPage(); }) wx.stopPullDownRefresh(); }, onReachBottom: function(e) { if(this.data.ishide_index_goodslist==1||this.data.isDiy==1) return; if (this.data.tabIdx==0){ this.load_goods_data(); } else { this.getCommingList(); } }, /** * 获取团长位置 */ getCommunityPos: function (community_id){ let that = this; app.util.request({ 'url': 'entry/wxapp/user', 'data': { controller: 'index.get_community_position', communityId: community_id }, dataType: 'json', method: 'POST', success: function (res) { if (res.data.code == 0) { that.postion = res.data.postion; } } }) }, /** * 查看地图 */ gotoMap: function () { let community = this.data.community; let postion = this.postion || {lat: 0, lon: 0}; let longitude = parseFloat(postion.lon), latitude = parseFloat(postion.lat), name = community.disUserName, address = `${community.fullAddress}(${community.communityName})`; wx.openLocation({ latitude: latitude, longitude: longitude, name: name, address: address, scale: 28 }) }, share_handler: function () { this.setData({ is_share_html: false }) }, hide_share_handler: function () { this.setData({ is_share_html: true }) }, // 搜索 goResult: function (e) { let value = e.detail.value.keyword ? e.detail.value.keyword : e.detail.value; let keyword = value.replace(/\s+/g, ''); if (!keyword) { wx.showToast({ title: '请输入关键词', icon: 'none' }) return; } wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/type/result?keyword=' + keyword, }) }, /** * 新人优惠券显示开关 */ toggleCoupon: function(e){ let auth = e.currentTarget.dataset.auth || ''; let needAuth = this.data.needAuth || ''; if(needAuth && auth) { this.setData({ showAuthModal: true, showCouponModal: false }) } else { this.setData({ showCouponModal: !this.data.showCouponModal, hasAlertCoupon: false }) } }, changeCartNum: function(t) { let that = this; let e = t.detail; (0, status.cartNum)(that.setData({ cartNum: e })); }, /** * 一键复制文本 */ copyText: function (e) { let copy_text_arr = this.data.copy_text_arr; let community = this.data.community; let communityName = community.communityName; let disUserName = community.disUserName; let communityAddress = community.address || community.communityAddress || community.fullAddress; let data = '-团长信息-\r\n小区:' + communityName + '\r\n团长:' + disUserName + '\r\n自提点:' + communityAddress + '\r\n\r\n今日推荐\r\n'; if (copy_text_arr.length) { copy_text_arr.forEach(function(item, index){ data += (index + 1) + '.【' + item.goods_name + '】 团购价' + item.price + '\r\n'; data += '~~~~~~~~~~~~~~~~~~~~\r\n'; }) } let that = this; wx.setClipboardData({ data: data, success: function (res) { wx.getClipboardData({ success: function (res) { that.setData({ showCopyText: false }) wx.showToast({ title: '复制成功' }) } }) } }) }, /** * 显示关闭复制文本 */ showCopyTextHandle: function(e){ if (!this.authModal()) return; let showCopyText = e.currentTarget.dataset.status; this.setData({ showCopyText }) }, /** * 优惠券获取 */ getCoupon: function () { let that = this; let token = wx.getStorageSync('token'); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'goods.get_seller_quan', token }, dataType: 'json', success: function (res) { let list = res.data.quan_list; let hasCoupon = false; let hasAlertCoupon = false; if (Object.prototype.toString.call(list) == '[object Object]' && Object.keys(list).length > 0) hasCoupon = true; if (Object.prototype.toString.call(list) == '[object Array]' && list.length > 0) hasCoupon = true; let alert_quan_list = res.data.alert_quan_list || []; if (Object.prototype.toString.call(alert_quan_list) == '[object Object]' && Object.keys(alert_quan_list).length > 0) hasAlertCoupon = true; if (Object.prototype.toString.call(alert_quan_list) == '[object Array]' && alert_quan_list.length > 0) hasAlertCoupon = true; let totalAlertMoney = 0; if (Object.prototype.toString.call(alert_quan_list) == '[object Object]' && Object.keys(alert_quan_list).length > 0) { Object.keys(alert_quan_list).forEach(function(item){ totalAlertMoney += alert_quan_list[item].credit*1; }) } else if (Object.prototype.toString.call(alert_quan_list) == '[object Array]' && alert_quan_list.length > 0) { alert_quan_list.forEach(function (item) { totalAlertMoney += item.credit * 1; }) } that.setData({ quan: res.data.quan_list || [], alert_quan_list, hasCoupon, hasAlertCoupon, showCouponModal: hasAlertCoupon, totalAlertMoney: totalAlertMoney.toFixed(2) }) } }); }, receiveCoupon: function (event) { if (!this.authModal()) return; let quan_id = event.currentTarget.dataset.quan_id; let type = event.currentTarget.dataset.type || 0; var token = wx.getStorageSync('token'); var quan_list = []; if(type==1) { quan_list = this.data.alert_quan_list; } else { quan_list = this.data.quan; } var that = this; app.util.request({ url: 'entry/wxapp/index', data: { controller: 'goods.getQuan', token, quan_id }, dataType: 'json', success: function (msg) { //1 被抢光了 2 已领过 3 领取成功 if (msg.data.code == 0) { wx.showToast({ title: msg.data.msg || '被抢光了', icon: 'none' }) } else if (msg.data.code == 1) { wx.showToast({ title: '被抢光了', icon: 'none' }) } else if (msg.data.code == 2) { wx.showToast({ title: '已领取', icon: 'none' }) var new_quan = []; for (var i in quan_list) { if (quan_list[i].id == quan_id) quan_list[i].is_get = 1; new_quan.push(quan_list[i]); } that.setData({ quan: new_quan }) } else if (msg.data.code == 4) { wx.showToast({ title: '新人专享', icon: 'none' }) } else if (msg.data.code == 3) { var new_quan = []; for (var i in quan_list) { if (quan_list[i].id == quan_id){ quan_list[i].is_get = 1; quan_list[i].is_hide = msg.data.is_hide; } new_quan.push(quan_list[i]); } if(type==1) { that.setData({ alert_quan_list: new_quan }) } else { that.setData({ quan: new_quan }) } wx.showToast({ title: '领取成功', }) } else if (msg.data.code == 4) { // 未登录 } } }) }, goUse: function (e) { this.setData({ showCouponModal: false, hasAlertCoupon: false }) let idx = e.currentTarget.dataset.idx; let quan = this.data.alert_quan_list || []; console.log(Object.keys(quan).length) if (Object.keys(quan).length >= idx) { if (quan[idx].is_limit_goods_buy == 0) { wx.switchTab({ url: '/eaterplanet_ecommerce/pages/index/index', }) } else if (quan[idx].is_limit_goods_buy == 1) { let id = quan[idx].limit_goods_list; let ids = id.split(','); let url = ''; if (ids.length > 1) { url = '/eaterplanet_ecommerce/pages/type/result?type=2&good_ids=' + id; } else { url = '/eaterplanet_ecommerce/pages/goods/goodsDetail?id=' + id; } wx.navigateTo({ url: url }) } else if (quan[idx].is_limit_goods_buy == 2) { let gid = quan[idx].goodscates || 0; wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/type/result?type=1&gid=' + gid, }) } } }, /** * 分类专题 */ get_type_topic: function () { let that = this; var cur_community = wx.getStorageSync('community'); var token = wx.getStorageSync('token'); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'goods.get_category_col_list', head_id: cur_community.communityId, token }, dataType: 'json', success: function (res) { if(res.data.code == 0) { let typeTopicList = res.data.data || []; that.setData({ typeTopicList }) } } }) }, /** * 拼团列表 */ getPinList: function () { let that = this; var community = wx.getStorageSync('community'); let head_id = community.communityId || ''; var token = wx.getStorageSync('token'); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'group.get_pintuan_list', is_index: 1, head_id, token }, dataType: 'json', success: function (res) { if (res.data.code == 0) { let pinList = {}; let { list, pintuan_index_coming_img, pintuan_index_show } = res.data; pinList.list = list || []; pinList.img = pintuan_index_coming_img || ''; pinList.show = pintuan_index_show || 0; that.setData({ pinList }) } } }) }, /** * 魔方图标跳转 */ goCube: function (t) { let idx = t.currentTarget.dataset.idx; // 当前链接索引 let index = t.currentTarget.dataset.index; // 当前魔方索引 let { cube, needAuth } = this.data; console.log(cube) if (cube.length > 0) { let url = cube[index].thumb.link[idx]; let url2 = cube[index].thumb.outlink[idx]; let type = (cube[index].thumb.linktype && cube[index].thumb.linktype[idx]); (type === (void 0)) && (type = 1); if (util.checkRedirectTo(url, needAuth)) { this.authModal(); return; } if (type == 0) { // 跳转webview url = cube[index].thumb.webview[idx]; wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/web-view?url=' + encodeURIComponent(url) }) } else if (type == 1) { if (url.indexOf('eaterplanet_ecommerce/pages/index/index') != -1 || url.indexOf('eaterplanet_ecommerce/pages/order/shopCart') != -1 || url.indexOf('eaterplanet_ecommerce/pages/user/me') != -1 || url.indexOf('eaterplanet_ecommerce/pages/type/index') != -1) { url && wx.switchTab({ url, fail: (err)=>{ wx.showToast({ title: err.errMsg, icon: 'none' }) } }) } else { url && wx.navigateTo({ url, fail: (err)=>{ wx.showToast({ title: err.errMsg, icon: 'none' }) } }) } } else if (type == 2) { // 跳转小程序 let appid = navigat[idx].appid; appid && wx.navigateToMiniProgram({ appId: navigat[idx].appid, path: url, extraData: {}, envVersion: 'release', success(res) { // 打开成功 }, fail(error) { console.log(error) } }) } else if (type == 3) { let cid = cube[index].thumb.cateid[idx]; this.goIndexType(cid); } else if (type == 4) { //独立分类 let url = cube[index].thumb.cateid[idx]; app.globalData.typeCateId = url; wx.switchTab({ url: '/eaterplanet_ecommerce/pages/type/index' }) }else if (type==5){ // 跳转小程序 let appid = cube[index].thumb.appid[idx]; appid && wx.navigateToMiniProgram({ appId: appid, path: url2, extraData: {}, envVersion: 'release', success(res) { // 打开成功 }, fail(error) { console.log(error) } }) } else if (type == 6) { //领券 wx.navigateTo({ url: '/eaterplanet_ecommerce/moduleA/coupon/getCoupon?id='+url }) } } }, goIndexType: function(cid){ if(cid.detail) { cid = cid.detail; } let classification = this.data.classification; let tabs = classification && classification.tabs; let activeIdx = tabs.findIndex((p) => { return p.id == cid }); if (activeIdx != -1) { let cateInfo = { detail: { e: activeIdx, a: cid } }; this.classificationChange(cateInfo, 1); } }, getSecKillGoods: function (seckill_time){ var that = this; var cur_community = wx.getStorageSync('community'); var token = wx.getStorageSync('token'); app.util.request({ url: 'entry/wxapp/index', data: { controller: 'index.load_gps_goodslist', token: token, pageNum: 1, head_id: cur_community.communityId, seckill_time, is_seckill: 1, per_page: 10000 }, dataType: 'json', success: function (res) { if(res.data.code==0) { let secRushList = res.data.list || []; that.setData({ secRushList }) } } }) }, scrollSecKillGoodsChange: function (t) { this.setData({ secKillGoodsIndex: t.detail.current + 1 }); }, /** * 显示秒杀时间切换 */ changeSecKillTime(t){ let that = this; let seckill_time = t.currentTarget.dataset.time; let secKillActiveIdx = t.currentTarget.dataset.idx; this.setData({ secRushList: [], secKillActiveIdx }, ()=>{ that.getSecKillGoods(seckill_time); }) }, /** * 图片信息 */ imageLoad: function (e) { var imageSize = util.imageUtil(e) this.setData({ imageSize }) }, /** * 播放视频隐藏封面图 */ btnPlay: function () { this.setData({ fmShow: false }) this.videoContext.play(); }, videEnd: function () { this.setData({ fmShow: true }) }, bindload: function(t){ console.log(t.detail) }, binderror: function(t){ this.setData({ hideMpAccount: true }) console.log(t.detail) }, closeMpaccount: function(){ this.setData({ show_index_wechat_oa: 0 }) }, showNoticeTextHandle: function(e){ if(this.data.can_index_notice_alert==1) { let showNoticeText = e.currentTarget.dataset.status; let noticeIdx = e.currentTarget.dataset.idx; this.setData({ showNoticeText, noticeIdx }) } }, /** * DIY公用链接跳转 */ goDiysliderUrl: function(t) { let link = t.currentTarget.dataset.link; let needAuth = this.data.needAuth; if (Object.keys(link).length > 0) { let type = link.parents; if (util.checkRedirectTo(link.wap_url, needAuth)) { this.authModal(); return; } switch(type) { case "WEBVIEW": let url = link.wap_url; url && wx.navigateTo({ url: '/eaterplanet_ecommerce/pages/web-view?url=' + encodeURIComponent(url) }); break; case "MALL_LINK": url = link.wap_url; if (url.indexOf('eaterplanet_ecommerce/pages/index/index') != -1 || url.indexOf('eaterplanet_ecommerce/pages/order/shopCart') != -1 || url.indexOf('eaterplanet_ecommerce/pages/user/me') != -1 || url.indexOf('eaterplanet_ecommerce/pages/type/index') != -1) { url && wx.switchTab({ url }) } else { url && wx.navigateTo({ url }) } break; case "OTHER_APPLET": // 跳转小程序 let appId = link.appid; let path = link.wap_url; appId && wx.navigateToMiniProgram({ appId, path, extraData: {}, envVersion: 'release', success(res) {}, fail(error) { wx.showModal({ title: "提示", content: error.errMsg, showCancel: false }) } }) break; case "CUSTOM_LINK": url = link.wap_url; if (url.indexOf('eaterplanet_ecommerce/pages/index/index') != -1 || url.indexOf('eaterplanet_ecommerce/pages/order/shopCart') != -1 || url.indexOf('eaterplanet_ecommerce/pages/user/me') != -1 || url.indexOf('eaterplanet_ecommerce/pages/type/index') != -1) { url && wx.switchTab({ url }) } else { url && wx.navigateTo({ url }) } break; case "GOODS_CATEGORY": //独立分类 let cateId = link.id; app.globalData.typeCateId = cateId; wx.switchTab({ url: '/eaterplanet_ecommerce/pages/type/index' }) break; default: url = link.wap_url; url && wx.navigateTo({ url }) break; } } }, /** * DIY商品列表组获取 */ getDiyGoodsList(res) { console.log('getDiyGoodsList', res) let data = res.detail.data; let idx = res.detail.id; let diyGoodsList = []; let is_open_vipcard_buy = 0; if(data.code==0) { let resGoodsList = data.list; if (data.is_show_list_timer==1&&resGoodsList.length>0) { diyGoodsList = this.transTime(resGoodsList); for (let s in this.$data.countDownMap) this.initCountDown(this.$data.countDownMap[s]); } else { diyGoodsList[0] = resGoodsList; } is_open_vipcard_buy = data.is_open_vipcard_buy; } let list = this.data.diyGoodsList; list[idx] = diyGoodsList; this.setData({ diyGoodsList: list, is_open_vipcard_buy }) }, getDiyManyGoodsList(res) { let data = res.detail.data; let list = []; if(data.code==0) { let resGoodsList = data.list; if (data.is_show_list_timer==1&&resGoodsList.length>0) { list = this.transTime(resGoodsList); for (let s in this.$data.countDownMap) this.initCountDown(this.$data.countDownMap[s]); } else { list[0] = resGoodsList; } } this.setData({ diyManyGoodsList: list }) }, /** * DIY数据 */ getDiyInfo: function() { app.util.ProReq('index.get_diy_info').then(res => { console.log(res.global) let { diyJson, global } = res; global.title && wx.setNavigationBarTitle({ title: global.title }); wx.setNavigationBarColor({ backgroundColor: global.topNavColor, frontColor: global.textNavColor, }) let diyGoodsList = Array.from(Array(diyJson.length), () => ''); this.setData({ diyJson, globalDiyData: global, diyGoodsList, diyLoaded: true }) }) }, onShareAppMessage: function(res) { this.setData({ is_share_html: true }); var community = wx.getStorageSync('community'); var community_id = community.communityId; var member_id = wx.getStorageSync('member_id'); console.log('首页分享地址:'); console.log(community_id, member_id); return { title: this.data.shop_info.title, path: "eaterplanet_ecommerce/pages/index/index?community_id=" + community_id + '&share_id=' + member_id, imageUrl: this.data.shop_info.shop_index_share_image, success: function() {}, fail: function() {} }; }, onShareTimeline: function(res) { var community = wx.getStorageSync('community'); var community_id = community.communityId; var share_id = wx.getStorageSync('member_id'); var query= `share_id=${share_id}&community_id=${community_id}`; return { title: this.data.shop_info.title, query, imageUrl: this.data.shop_info.shop_index_share_image, success: function() {}, fail: function() {} }; } })