201 lines
4.4 KiB
JavaScript
201 lines
4.4 KiB
JavaScript
// packageF/wxFriendExtend/workWxFriendExtend/workWxFriendExtend.js
|
|
var app = getApp();
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
currentTime: new Date().getTime(),
|
|
timeData: "",
|
|
rewardFlag: false,
|
|
details: null,
|
|
activity_id: 0,
|
|
progressRules: [],
|
|
ruleLadder: [],
|
|
stepReward: {},
|
|
basic_info: {}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
let basic_info = wx.getStorageSync("yz_basic_info");
|
|
this.setData({
|
|
basic_info
|
|
});
|
|
if (options.id) {
|
|
this.setData({
|
|
activity_id: options.id
|
|
});
|
|
}
|
|
if (options.scene) {
|
|
let scene = decodeURIComponent(options.scene);
|
|
var info_arr = [];
|
|
info_arr = scene.split("&");
|
|
for (let i = 0; i < info_arr.length; i++) {
|
|
let chil_arr = [];
|
|
chil_arr = info_arr[i].split("=");
|
|
if (chil_arr[0] == "id") {
|
|
this.setData({
|
|
activity_id: chil_arr[1]
|
|
});
|
|
}
|
|
if (chil_arr[0] == "mid") {
|
|
app._setMid(chil_arr[1]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (options.mid) {
|
|
app._setMid(options.mid);
|
|
}
|
|
this._getData();
|
|
},
|
|
|
|
setStepReward(evt) {
|
|
let item = evt.currentTarget.dataset.item;
|
|
this.setData({
|
|
stepReward: item,
|
|
rewardFlag: true
|
|
});
|
|
},
|
|
setRewardFlag() {
|
|
this.setData({
|
|
rewardFlag: !this.data.rewardFlag
|
|
});
|
|
},
|
|
|
|
_getData() {
|
|
let urlStr = app.getNetAddresss("plugin.customer-increase.frontend.activity.activityDetail");
|
|
app._postNetWork({
|
|
url: urlStr,
|
|
data: {
|
|
id: this.data.activity_id
|
|
},
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result != 1) return app.tips(res.msg);
|
|
this.setData({
|
|
details: res.data
|
|
});
|
|
this.setProgressData(res.data.step_rule);
|
|
},
|
|
});
|
|
},
|
|
|
|
// 活动进度
|
|
setProgressData(rules) {
|
|
let activity = this.data.details;
|
|
let isFinished = rules.some(item => activity.invite_count < item.step_people);
|
|
let ruleLadder = JSON.parse(JSON.stringify(rules));
|
|
|
|
ruleLadder.unshift({
|
|
step_level: 0,
|
|
step_people: isFinished?ruleLadder[0].step_people:0
|
|
});
|
|
this.setData({
|
|
ruleLadder: ruleLadder
|
|
});
|
|
|
|
let ruleList = JSON.parse(JSON.stringify(rules));
|
|
let addRule = {
|
|
positionLeft: "0%",
|
|
step_people: isFinished?activity.invite_count:0,
|
|
step_level: 0
|
|
};
|
|
ruleList.unshift(addRule);
|
|
|
|
if (ruleList.length >= 3) {
|
|
// 后台设置超过三个进度阶梯
|
|
if (activity.step == ruleList.length - 1) {
|
|
ruleList = ruleList.slice(-3);
|
|
} else if (activity.step == 0) {
|
|
ruleList = ruleList.slice(0, 3);
|
|
} else {
|
|
if (ruleList.length - activity.step >= 3) {
|
|
ruleList = ruleList.slice(activity.step, 3 + activity.step);
|
|
} else if (ruleList.length - activity.step <= 2) {
|
|
let diff = 3 - (ruleList.length - activity.step);
|
|
ruleList = ruleList.slice(activity.step - diff, activity.step - diff + 3);
|
|
}
|
|
}
|
|
}
|
|
|
|
this.setData({
|
|
progressRules: ruleList
|
|
});
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
// 计时器
|
|
onChangeTime(e) {
|
|
this.setData({
|
|
timeData: e.detail,
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
gotoReward() {
|
|
wx.navigateTo({
|
|
url: '/packageF/wxFriendExtend/friendRewardRecord/friendRewardRecord',
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
if (!this.data.details) return {};
|
|
let json = {
|
|
title: this.data.details.share_title ? this.data.details.share_title : this.data.details.name,
|
|
path: "/packageF/wxFriendExtend/workWxFriendExtend/workWxFriendExtend?id=" + this.data.details.id
|
|
};
|
|
if (this.data.details.share_logo_url) {
|
|
json.imageUrl = this.data.details.share_logo_url;
|
|
}
|
|
return json;
|
|
}
|
|
}); |