2182 lines
68 KiB
JavaScript
2182 lines
68 KiB
JavaScript
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(nowtime<presale_ding_time_start_int) {
|
||
saleStatus = 0;
|
||
} else if(nowtime>presale_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<timestamp)&&(item.actEnd = 1);
|
||
newList.push(item);
|
||
})
|
||
}
|
||
virtualcard_info.goods_list = newList;
|
||
}
|
||
|
||
that.setData({
|
||
notice_list,
|
||
slider_list,
|
||
index_lead_image,
|
||
theme,
|
||
indexBottomImage: rdata.index_bottom_image || '',
|
||
shop_info: shop_info,
|
||
loadOver: true,
|
||
rushEndTime,
|
||
commingNum: rdata.comming_goods_total,
|
||
isShowShareBtn,
|
||
isShowListCount,
|
||
isShowListTimer,
|
||
is_comunity_rest: rdata.is_comunity_rest,
|
||
index_change_cate_btn,
|
||
isShowContactBtn,
|
||
index_switch_search,
|
||
is_show_new_buy: rdata.is_show_new_buy || 0,
|
||
qgtab: res.data.qgtab || {},
|
||
notice_setting: rdata.notice_setting || {},
|
||
index_hide_headdetail_address: rdata.index_hide_headdetail_address || 0,
|
||
is_show_spike_buy: rdata.is_show_spike_buy || 0,
|
||
hide_community_change_btn: rdata.hide_community_change_btn || 0,
|
||
hide_top_community: rdata.hide_top_community || 0,
|
||
index_qgtab_text: rdata.index_qgtab_text,
|
||
ishow_index_copy_text: rdata.ishow_index_copy_text || 0,
|
||
newComerRefresh: true,
|
||
cube: rdata.cube,
|
||
placeholdeImg,
|
||
seckill_bg_color,
|
||
seckill_is_open,
|
||
seckill_is_show_index,
|
||
scekillTimeList,
|
||
secKillActiveIdx,
|
||
hide_community_change_word,
|
||
ishow_index_gotop,
|
||
ishow_index_pickup_time: rdata.ishow_index_pickup_time || 0,
|
||
index_video_arr,
|
||
index_qgtab_counttime,
|
||
hide_index_type,
|
||
show_index_wechat_oa: rdata.show_index_wechat_oa,
|
||
ishide_index_goodslist: rdata.ishide_index_goodslist,
|
||
can_index_notice_alert: rdata.can_index_notice_alert,
|
||
presale_index_info,
|
||
isDiy,
|
||
virtualcard_info
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 确认切换社区
|
||
*/
|
||
confrimChangeCommunity: function() {
|
||
let community = this.data.changeCommunity;
|
||
app.globalData.community = community;
|
||
wcache.put('community', community);
|
||
this.$data = {
|
||
...this.$data, ...{
|
||
overPageNum: 1,
|
||
loadOver: false,
|
||
hasOverGoods: false,
|
||
countDownMap: {},
|
||
actEndMap: {},
|
||
timer: {},
|
||
stickyFlag: false
|
||
}
|
||
}
|
||
this.hasRefeshin = false;
|
||
this.setData({
|
||
showChangeCommunity: false,
|
||
community: community,
|
||
rushList: [],
|
||
pageNum: 1
|
||
}, () => {
|
||
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<navigat.length;i=i+10){
|
||
chunks.push(navigat.slice(i,i+10));
|
||
}
|
||
navigatSwiper.page = chunks.length;
|
||
navigatSwiper.totnav = navigat.length;
|
||
}
|
||
that.setData({ navigat: chunks, navigatEmpty, navigatSwiper })
|
||
}
|
||
}
|
||
})
|
||
},
|
||
|
||
navigatSwiperChange: function(t) {
|
||
this.setData({
|
||
"navigatSwiper.current": t.detail.current
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 导航图标跳转
|
||
*/
|
||
goNavUrl: function(t) {
|
||
let idx = t.currentTarget.dataset.idx;
|
||
console.log(idx)
|
||
let { navigat, needAuth, navigatSwiper } = this.data;
|
||
let sidx = navigatSwiper.current;
|
||
navigat = navigat[sidx];
|
||
if (navigat.length > 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() {}
|
||
};
|
||
}
|
||
})
|