Commit 8feca395f8b277e79bdd04514b47148b5e2001d3
1 parent
fa67fb2b
OA 120221 签到积分和服务器时间不一致导致签到失败
Showing
1 changed file
with
423 additions
and
397 deletions
packageA/pages/checkin/checkin.js
@@ -2,405 +2,431 @@ | @@ -2,405 +2,431 @@ | ||
2 | var md5 = require("../../../utils/md5.js"); | 2 | var md5 = require("../../../utils/md5.js"); |
3 | var ut = require("../../../utils/util.js"); | 3 | var ut = require("../../../utils/util.js"); |
4 | const app = getApp(); | 4 | const app = getApp(); |
5 | -const os=app.globalData.setting; | 5 | +const os = app.globalData.setting; |
6 | let self; | 6 | let self; |
7 | Page({ | 7 | Page({ |
8 | 8 | ||
9 | - /** | ||
10 | - * 页面的初始数据 | ||
11 | - */ | ||
12 | - data: { | ||
13 | - year: '', | ||
14 | - month: '', | ||
15 | - day: '', | ||
16 | - weekArr: ['日', '一', '二', '三', '四', '五', '六'], | ||
17 | - dateArr: [], | ||
18 | - n_dateArr:[], //本月的日期 | ||
19 | - s_dateArr:[], //上月的日期 | ||
20 | - | ||
21 | - firstDay: '', | ||
22 | - lastDay: '', | ||
23 | - param: null, | ||
24 | - clockNum: 3, | ||
25 | - | ||
26 | - res: null, | ||
27 | - isShowRules: false, | ||
28 | - isCheckIn: false, | ||
29 | - checkInDays: 0, //连续签到天数 | ||
30 | - integral: 0, //积分 | ||
31 | - checkInNums: 0, //补签次数 | ||
32 | - isCheckInDay: '', | ||
33 | - | ||
34 | - flag: true, | ||
35 | - isLogin: false, | ||
36 | - imgUrl: app.globalData.setting.imghost, | ||
37 | - show_no_integral:false | ||
38 | - | ||
39 | - }, | ||
40 | - | ||
41 | - loadQd(callback) { | ||
42 | - app.request.get('/api/weshop/qdrecord/getUser/'+ app.globalData.setting.stoid + '/' + app.globalData.user_id, { | ||
43 | - success: function (res) { | ||
44 | - if(res.data.code==0){ | ||
45 | - if(callback) callback(); | ||
46 | - self.setData({ | ||
47 | - res: res.data.data | ||
48 | - }); | ||
49 | - self.loadCheckedRecord(); | ||
50 | - }else{ | ||
51 | - if(res.data.msg.indexOf('未开启签到')!=-1){ | ||
52 | - self.setData({ show_no_integral: true }); | ||
53 | - }else{ | ||
54 | - wx.showToast({ | ||
55 | - title: res.data.msg, | ||
56 | - icon: 'none', | ||
57 | - duration: 2000 | ||
58 | - }) | ||
59 | - } | ||
60 | - | ||
61 | - } | ||
62 | - }, | ||
63 | - }); | ||
64 | - }, | ||
65 | - | ||
66 | - /** | ||
67 | - * 生命周期函数--监听页面加载 | ||
68 | - */ | ||
69 | - onLoad: function(options) { | ||
70 | - console.log('执行onload'); | ||
71 | - self = this; | ||
72 | - this.getDate(); | ||
73 | - this.setDate(); | ||
74 | - var res = wx.getSystemInfoSync(); | ||
75 | - this.setData({ | ||
76 | - param: res.windowHeight / 12, | ||
77 | - }) | ||
78 | - | ||
79 | - // 判断会员是否授权登录, | ||
80 | - // 没有登录则跳转到登录页, | ||
81 | - // 已登录则设置已登录状态,请求加载签到数据 | ||
82 | - this.isLogin().then(function() { | ||
83 | - self.setData({ | ||
84 | - isLogin: true | ||
85 | - }); | ||
86 | - self.loadQd(); | ||
87 | - }); | ||
88 | - | ||
89 | - // 广告 | ||
90 | - getApp().request.promiseGet("/api/weshop/ad/page?pid=1205&store_id=" + os.stoid, { | ||
91 | - data: { | ||
92 | - enabled: 1 | ||
93 | - } | ||
94 | - }).then(res => { | ||
95 | - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
96 | - var a = res.data.data.pageData; | ||
97 | - var narr=[]; | ||
98 | - for(var i in a){ | ||
99 | - var tt = { | ||
100 | - 'ad_code': os.imghost + a[i].ad_code, | ||
101 | - 'media_link': '', | ||
102 | - 'ad_weapplink':a[i].ad_weapplink | ||
103 | - }; | ||
104 | - narr.push(tt); | ||
105 | - } | ||
106 | - self.setData({ad_data:narr}); | ||
107 | - } | ||
108 | - }); | ||
109 | - | ||
110 | - | ||
111 | - }, | ||
112 | - | ||
113 | - onShow() { | ||
114 | - if(app.globalData.userInfo instanceof Object) { | ||
115 | - if(this.data.isLogin) { | ||
116 | - return; | ||
117 | - } else { | ||
118 | - this.setData({ | ||
119 | - isLogin: true | ||
120 | - }); | ||
121 | - this.loadQd(); | ||
122 | - }; | ||
123 | - } | ||
124 | - }, | ||
125 | - | ||
126 | - onHide() { | ||
127 | - console.log('执行onHide'); | ||
128 | - }, | ||
129 | - | ||
130 | - // 是否登录 | ||
131 | - isLogin() { | ||
132 | - return new Promise(function(resolve, reject) { | ||
133 | - let user_info = getApp().globalData.userInfo; | ||
134 | - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
135 | - wx.navigateTo({ | ||
136 | - url: '/packageE/pages/togoin/togoin', | ||
137 | - }) | ||
138 | - return false; | ||
139 | - } else { | ||
140 | - resolve(); | ||
141 | - }; | ||
142 | - }); | ||
143 | - }, | ||
144 | - | ||
145 | - // 点击"我的积分"和"去购物"进行跳转 | ||
146 | - goto(e) { | ||
147 | - let url = e.target.dataset.url; | ||
148 | - app.goto(url); | ||
149 | - }, | ||
150 | - | ||
151 | - // 点击显示签到规则 | ||
152 | - showRules() { | ||
153 | - if(this.data.isShowRules) { | ||
154 | - this.setData({ | ||
155 | - isShowRules: false | ||
156 | - }); | ||
157 | - } else { | ||
158 | - this.setData({ | ||
159 | - isShowRules: true | ||
160 | - }); | ||
161 | - } | ||
162 | - }, | ||
163 | - | ||
164 | - | ||
165 | - // 加载签到记录 | ||
166 | - loadCheckedRecord() { | ||
167 | - let newDateArr=[]; | ||
168 | - let list; | ||
169 | - let bqlist; | ||
170 | - //--判断什么日子是签到的,上个月的-- | ||
171 | - if(this.data.res && this.data.res.qdsdaylist) { | ||
172 | - list = this.data.res.qdsdaylist.split(','); | ||
173 | - for(var i in this.data.s_dateArr){ | ||
174 | - var item=this.data.s_dateArr[i]; | ||
175 | - if(this.check_is_qd(item,list)){ | ||
176 | - item.isCheckIn = true; | ||
177 | - }else{ | ||
178 | - item.isCheckIn = false; | ||
179 | - } | ||
180 | - } | ||
181 | - } | ||
182 | - newDateArr=newDateArr.concat(this.data.s_dateArr); | ||
183 | - //--判断什么日子是签到的,这个月的-- | ||
184 | - if(this.data.res && this.data.res.qddaylist) { | ||
185 | - list = this.data.res.qddaylist.split(','); | ||
186 | - for(var i in this.data.n_dateArr){ | ||
187 | - var item=this.data.n_dateArr[i]; | ||
188 | - if(this.check_is_qd(item,list)){ | ||
189 | - item.isCheckIn = true; | ||
190 | - }else{ | ||
191 | - item.isCheckIn = false; | ||
192 | - } | ||
193 | - } | ||
194 | - } | ||
195 | - newDateArr=newDateArr.concat(this.data.n_dateArr); | ||
196 | - | ||
197 | - //--判断什么日子是要补签的-- | ||
198 | - if(this.data.res && this.data.res.curbqdaynum) { | ||
199 | - bqlist = this.data.res.curbqdaynum.split(','); | ||
200 | - for(var i in newDateArr){ | ||
201 | - var item=newDateArr[i]; | ||
202 | - if(this.check_is_bq(item,bqlist)){ | ||
203 | - item.isBq = true; | ||
204 | - }else{ | ||
205 | - item.isBq = false; | ||
206 | - } | ||
207 | - } | ||
208 | - } | ||
209 | - this.setData({ | ||
210 | - dateArr: newDateArr | ||
211 | - }); | ||
212 | - }, | ||
213 | - | ||
214 | - | ||
215 | - //判断是不是同一个日期,签到的 | ||
216 | - check_is_qd(item,bqlist){ | ||
217 | - for(var i in bqlist){ | ||
218 | - var c_item=JSON.parse(JSON.stringify(item)); | ||
219 | - if(c_item.num<10) c_item.num="0"+c_item.num; | ||
220 | - if(c_item.num==bqlist[i]){ | ||
221 | - return true; | ||
222 | - } | ||
223 | - } | ||
224 | - return false; | ||
225 | - }, | ||
226 | - | ||
227 | - //判断是不是同一个日期,补签到的 | ||
228 | - check_is_bq(item,bqlist){ | ||
229 | - for(var i in bqlist){ | ||
230 | - if(item.date==bqlist[i]){ | ||
231 | - return true; | ||
232 | - } | ||
233 | - } | ||
234 | - return false; | ||
235 | - }, | ||
236 | - | ||
237 | - // 点击签到 | ||
238 | - checkInToday() { | ||
239 | - const self = this; | ||
240 | - // 获取今天的签到状态 | ||
241 | - //let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn; | ||
242 | - var ck=this.data.day; | ||
243 | - if(parseInt(ck)<10) ck="0"+ck; | ||
244 | - var isCheckInToday=this.data.res.qddaylist.indexOf(ck); | ||
245 | - | ||
246 | - // 如果还没签到, 可以点击签到 | ||
247 | - if(isCheckInToday==-1) { | ||
248 | - | ||
249 | - var timeid=ut.gettimestamp(); | ||
250 | - var key = "rgqsqLYhw67sgaIQBF6dw9JK7CDKSS"; | ||
251 | - var str= app.globalData.setting.stoid+":"+app.globalData.user_id+":"+timeid+":"+key | ||
252 | - var sign=md5(str); | ||
253 | - | ||
254 | - app.request.promisePost('/api/weshop/qdrecord/saveQd', { | ||
255 | - data: { | ||
256 | - store_id: app.globalData.setting.stoid, | ||
257 | - user_id: app.globalData.user_id, | ||
258 | - timeid:timeid, | ||
259 | - sign:sign | ||
260 | - } | ||
261 | - }).then(res => { | ||
262 | - // 改变签到状态,由false置为true | ||
263 | - // let newDateArr = self.data.dateArr; | ||
264 | - // newDateArr[self.data.day-1].isCheckIn = true; | ||
265 | - | ||
266 | - for(var i in self.data.dateArr) { | ||
267 | - self.data.dateArr[i].isCheckIn=false; | ||
268 | - self.data.dateArr[i].isBq=false; | ||
269 | - } | ||
270 | - self.setData({ | ||
271 | - dateArr: self.data.dateArr | ||
272 | - }); | ||
273 | - | ||
274 | - self.loadQd(function() { | ||
275 | - wx.showToast({ | ||
276 | - title: self.data.res.qdintro, | ||
277 | - icon: 'none', | ||
278 | - duration: 1500, | ||
279 | - success: function() { | ||
280 | - | ||
281 | - } | ||
282 | - }); | ||
283 | - }); | ||
284 | - | ||
285 | - }) | ||
286 | - } | ||
287 | - }, | ||
288 | - | ||
289 | - | ||
290 | - // 补签 | ||
291 | - reCheckIn() { | ||
292 | - var self = this; | ||
293 | - // var i = 0; | ||
294 | - console.log('补签~'); | ||
295 | - if(this.data.flag) { | ||
296 | - this.data.flag = false; | ||
297 | - app.request.promisePost('/api/weshop/qdrecord/saveBQd', { | ||
298 | - data: { | ||
299 | - store_id: app.globalData.setting.stoid, | ||
300 | - user_id: app.globalData.user_id, | ||
301 | - daynum: self.data.res.getBQIntegral1, | ||
302 | - bqnum: self.data.res.getbqnum2, | ||
303 | - bqintegral: self.data.res.getBQIntegral, | ||
304 | - } | ||
305 | - }).then(res => { | ||
306 | - // 改变签到状态,由false置为true | ||
307 | - // let newDateArr = self.data.dateArr; | ||
308 | - // newDateArr[self.data.day-1].isCheckIn = true; | ||
309 | - //var bqlist = self.data.res.curbqdaynum.split(',').sort(); | ||
310 | - //var list = []; | ||
311 | - /*-- | ||
312 | - for(let item of bqlist) { | ||
313 | - var date = new Date(item); | ||
314 | - list.push(date.getDate()); | ||
315 | - }--*/ | ||
316 | - | ||
317 | - for(var i in self.data.dateArr) { | ||
318 | - self.data.dateArr[i].isCheckIn=false; | ||
319 | - self.data.dateArr[i].isBq=false; | ||
320 | - } | ||
321 | - self.setData({ | ||
322 | - dateArr: self.data.dateArr | ||
323 | - }); | ||
324 | - self.loadQd(function() { | ||
325 | - self.data.flag = true; | ||
326 | - wx.showToast({ | ||
327 | - title: '补签成功', | ||
328 | - icon: 'success', | ||
329 | - duration: 1500, | ||
330 | - success: function() { | ||
331 | - | ||
332 | - } | ||
333 | - }); | ||
334 | - }); | ||
335 | - }) | ||
336 | - } | ||
337 | - }, | ||
338 | - | ||
339 | - getDate: function() { //获取当月日期 | ||
340 | - var mydate = new Date(); | ||
341 | - var year = mydate.getFullYear(); | ||
342 | - var month = mydate.getMonth(); //0~11: 一月至十二月 | ||
343 | - var months = month + 1; //1~12:一月至十二月 | ||
344 | - this.data.year = year; | ||
345 | - this.data.month = months; | ||
346 | - this.data.day = mydate.getDate(); //获取当月日期: 1~31 | ||
347 | - var fist = new Date(year, month, 1); | ||
348 | - this.data.firstDay = fist.getDay(); //获取当月第一天 | ||
349 | - var last = new Date(year, months, 0); //0表示当月最后一天 | ||
350 | - this.data.lastDay = last.getDate(); //获取当月最后一天 | ||
351 | - | ||
352 | - this.setData({ | ||
353 | - year: this.data.year, | ||
354 | - month: this.data.month, | ||
355 | - day: this.data.day, | ||
356 | - firstDay: this.data.firstDay, | ||
357 | - lastDay: this.data.lastDay, | ||
358 | - fist:fist | ||
359 | - }) | ||
360 | - console.log("今天:" + this.data.day); | ||
361 | - }, | ||
362 | - | ||
363 | - setDate: function() { | ||
364 | - var day; | ||
365 | - for(var i=0;i<this.data.firstDay;i++){ | ||
366 | - //获取前几天的时间数组 | ||
367 | - var arr_d=this.getNextDate(this.data.fist,i-this.data.firstDay) | ||
368 | - day = {num: arr_d[1],date:arr_d[0]}; | ||
369 | - this.data.s_dateArr.push(day); | ||
370 | - } | ||
371 | - | ||
372 | - for (var i = 1; i < this.data.lastDay + 1; i++) { | ||
373 | - var date=this.data.month+""; | ||
374 | - if(this.data.month<10) date="0"+date; | ||
375 | - if(i<10) { | ||
376 | - date=date+"-0"+i; | ||
377 | - }else{ | ||
378 | - date=date+"-"+i; | ||
379 | - } | ||
380 | - day = {num: i,date:date}; | ||
381 | - this.data.n_dateArr.push(day); | ||
382 | - } | ||
383 | - }, | ||
384 | - | ||
385 | - //获取相隔是多少天的日期 | ||
386 | - getNextDate(date,day) { | ||
387 | - var dd = date; | ||
388 | - dd.setDate(dd.getDate() + day); | ||
389 | - //var y = dd.getFullYear(); | ||
390 | - var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1; | ||
391 | - var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); | ||
392 | - //return y + "-" + m + "-" + d; | ||
393 | - return [m + "-" + d,dd.getDate()]; | ||
394 | - }, | ||
395 | - go_url(e){ | ||
396 | - let url=e.currentTarget.dataset.url; | ||
397 | - if(url){ | ||
398 | - getApp().goto(url); | ||
399 | - } | ||
400 | - }, | ||
401 | - | ||
402 | - back_to(){ | ||
403 | - wx.navigateBack(); | ||
404 | - } | 9 | + /** |
10 | + * 页面的初始数据 | ||
11 | + */ | ||
12 | + data: { | ||
13 | + year: '', | ||
14 | + month: '', | ||
15 | + day: '', | ||
16 | + weekArr: ['日', '一', '二', '三', '四', '五', '六'], | ||
17 | + dateArr: [], | ||
18 | + n_dateArr: [], //本月的日期 | ||
19 | + s_dateArr: [], //上月的日期 | ||
20 | + | ||
21 | + firstDay: '', | ||
22 | + lastDay: '', | ||
23 | + param: null, | ||
24 | + clockNum: 3, | ||
25 | + | ||
26 | + res: null, | ||
27 | + isShowRules: false, | ||
28 | + isCheckIn: false, | ||
29 | + checkInDays: 0, //连续签到天数 | ||
30 | + integral: 0, //积分 | ||
31 | + checkInNums: 0, //补签次数 | ||
32 | + isCheckInDay: '', | ||
33 | + | ||
34 | + flag: true, | ||
35 | + isLogin: false, | ||
36 | + imgUrl: app.globalData.setting.imghost, | ||
37 | + show_no_integral: false | ||
38 | + | ||
39 | + }, | ||
40 | + | ||
41 | + loadQd(callback) { | ||
42 | + app.request.get('/api/weshop/qdrecord/getUser/' + app.globalData.setting.stoid + '/' + app.globalData.user_id, { | ||
43 | + success: function (res) { | ||
44 | + if (res.data.code == 0) { | ||
45 | + if (callback) callback(); | ||
46 | + self.setData({ | ||
47 | + res: res.data.data | ||
48 | + }); | ||
49 | + self.loadCheckedRecord(); | ||
50 | + } else { | ||
51 | + if (res.data.msg.indexOf('未开启签到') != -1) { | ||
52 | + self.setData({ show_no_integral: true }); | ||
53 | + } else { | ||
54 | + wx.showToast({ | ||
55 | + title: res.data.msg, | ||
56 | + icon: 'none', | ||
57 | + duration: 2000 | ||
58 | + }) | ||
59 | + } | ||
60 | + | ||
61 | + } | ||
62 | + }, | ||
63 | + }); | ||
64 | + }, | ||
65 | + | ||
66 | + /** | ||
67 | + * 生命周期函数--监听页面加载 | ||
68 | + */ | ||
69 | + onLoad: function (options) { | ||
70 | + console.log('执行onload'); | ||
71 | + self = this; | ||
72 | + this.getDate(); | ||
73 | + this.setDate(); | ||
74 | + var res = wx.getSystemInfoSync(); | ||
75 | + this.setData({ | ||
76 | + param: res.windowHeight / 12, | ||
77 | + }) | ||
78 | + | ||
79 | + // 判断会员是否授权登录, | ||
80 | + // 没有登录则跳转到登录页, | ||
81 | + // 已登录则设置已登录状态,请求加载签到数据 | ||
82 | + this.isLogin().then(function () { | ||
83 | + self.setData({ | ||
84 | + isLogin: true | ||
85 | + }); | ||
86 | + self.loadQd(); | ||
87 | + }); | ||
88 | + | ||
89 | + // 广告 | ||
90 | + getApp().request.promiseGet("/api/weshop/ad/page?pid=1205&store_id=" + os.stoid, { | ||
91 | + data: { | ||
92 | + enabled: 1 | ||
93 | + } | ||
94 | + }).then(res => { | ||
95 | + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { | ||
96 | + var a = res.data.data.pageData; | ||
97 | + var narr = []; | ||
98 | + for (var i in a) { | ||
99 | + var tt = { | ||
100 | + 'ad_code': os.imghost + a[i].ad_code, | ||
101 | + 'media_link': '', | ||
102 | + 'ad_weapplink': a[i].ad_weapplink | ||
103 | + }; | ||
104 | + narr.push(tt); | ||
105 | + } | ||
106 | + self.setData({ ad_data: narr }); | ||
107 | + } | ||
108 | + }); | ||
109 | + | ||
110 | + | ||
111 | + }, | ||
112 | + | ||
113 | + onShow() { | ||
114 | + if (app.globalData.userInfo instanceof Object) { | ||
115 | + if (this.data.isLogin) { | ||
116 | + return; | ||
117 | + } else { | ||
118 | + this.setData({ | ||
119 | + isLogin: true | ||
120 | + }); | ||
121 | + this.loadQd(); | ||
122 | + }; | ||
123 | + } | ||
124 | + }, | ||
125 | + | ||
126 | + onHide() { | ||
127 | + console.log('执行onHide'); | ||
128 | + }, | ||
129 | + | ||
130 | + // 是否登录 | ||
131 | + isLogin() { | ||
132 | + return new Promise(function (resolve, reject) { | ||
133 | + let user_info = getApp().globalData.userInfo; | ||
134 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
135 | + wx.navigateTo({ | ||
136 | + url: '/packageE/pages/togoin/togoin', | ||
137 | + }) | ||
138 | + return false; | ||
139 | + } else { | ||
140 | + resolve(); | ||
141 | + }; | ||
142 | + }); | ||
143 | + }, | ||
144 | + | ||
145 | + // 点击"我的积分"和"去购物"进行跳转 | ||
146 | + goto(e) { | ||
147 | + let url = e.target.dataset.url; | ||
148 | + app.goto(url); | ||
149 | + }, | ||
150 | + | ||
151 | + // 点击显示签到规则 | ||
152 | + showRules() { | ||
153 | + if (this.data.isShowRules) { | ||
154 | + this.setData({ | ||
155 | + isShowRules: false | ||
156 | + }); | ||
157 | + } else { | ||
158 | + this.setData({ | ||
159 | + isShowRules: true | ||
160 | + }); | ||
161 | + } | ||
162 | + }, | ||
163 | + | ||
164 | + | ||
165 | + // 加载签到记录 | ||
166 | + loadCheckedRecord() { | ||
167 | + let newDateArr = []; | ||
168 | + let list; | ||
169 | + let bqlist; | ||
170 | + //--判断什么日子是签到的,上个月的-- | ||
171 | + if (this.data.res && this.data.res.qdsdaylist) { | ||
172 | + list = this.data.res.qdsdaylist.split(','); | ||
173 | + for (var i in this.data.s_dateArr) { | ||
174 | + var item = this.data.s_dateArr[i]; | ||
175 | + if (this.check_is_qd(item, list)) { | ||
176 | + item.isCheckIn = true; | ||
177 | + } else { | ||
178 | + item.isCheckIn = false; | ||
179 | + } | ||
180 | + } | ||
181 | + } | ||
182 | + newDateArr = newDateArr.concat(this.data.s_dateArr); | ||
183 | + //--判断什么日子是签到的,这个月的-- | ||
184 | + if (this.data.res && this.data.res.qddaylist) { | ||
185 | + list = this.data.res.qddaylist.split(','); | ||
186 | + for (var i in this.data.n_dateArr) { | ||
187 | + var item = this.data.n_dateArr[i]; | ||
188 | + if (this.check_is_qd(item, list)) { | ||
189 | + item.isCheckIn = true; | ||
190 | + } else { | ||
191 | + item.isCheckIn = false; | ||
192 | + } | ||
193 | + } | ||
194 | + } | ||
195 | + newDateArr = newDateArr.concat(this.data.n_dateArr); | ||
196 | + | ||
197 | + //--判断什么日子是要补签的-- | ||
198 | + if (this.data.res && this.data.res.curbqdaynum) { | ||
199 | + bqlist = this.data.res.curbqdaynum.split(','); | ||
200 | + for (var i in newDateArr) { | ||
201 | + var item = newDateArr[i]; | ||
202 | + if (this.check_is_bq(item, bqlist)) { | ||
203 | + item.isBq = true; | ||
204 | + } else { | ||
205 | + item.isBq = false; | ||
206 | + } | ||
207 | + } | ||
208 | + } | ||
209 | + this.setData({ | ||
210 | + dateArr: newDateArr | ||
211 | + }); | ||
212 | + }, | ||
213 | + | ||
214 | + | ||
215 | + //判断是不是同一个日期,签到的 | ||
216 | + check_is_qd(item, bqlist) { | ||
217 | + for (var i in bqlist) { | ||
218 | + var c_item = JSON.parse(JSON.stringify(item)); | ||
219 | + if (c_item.num < 10) c_item.num = "0" + c_item.num; | ||
220 | + if (c_item.num == bqlist[i]) { | ||
221 | + return true; | ||
222 | + } | ||
223 | + } | ||
224 | + return false; | ||
225 | + }, | ||
226 | + | ||
227 | + //判断是不是同一个日期,补签到的 | ||
228 | + check_is_bq(item, bqlist) { | ||
229 | + for (var i in bqlist) { | ||
230 | + if (item.date == bqlist[i]) { | ||
231 | + return true; | ||
232 | + } | ||
233 | + } | ||
234 | + return false; | ||
235 | + }, | ||
236 | + | ||
237 | + // 点击签到 | ||
238 | + checkInToday() { | ||
239 | + const self = this; | ||
240 | + | ||
241 | + getApp().request.get("/api/weshop/users/getServerTime", { | ||
242 | + success: function (res) { | ||
243 | + if (res.data.code == 0) { | ||
244 | + var getnowtime = res.data.data; | ||
245 | + if (!getnowtime) { | ||
246 | + getApp().showWarning("获取服务时间失败"); | ||
247 | + return; | ||
248 | + } else { | ||
249 | + // 获取今天的签到状态 | ||
250 | + //let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn; | ||
251 | + var ck = self.data.day; | ||
252 | + if (parseInt(ck) < 10) ck = "0" + ck; | ||
253 | + var isCheckInToday = self.data.res.qddaylist.indexOf(ck); | ||
254 | + | ||
255 | + // 如果还没签到, 可以点击签到 | ||
256 | + if (isCheckInToday == -1) { | ||
257 | + | ||
258 | + var timeid = Date.parse(getnowtime)/1000; | ||
259 | + var key = "rgqsqLYhw67sgaIQBF6dw9JK7CDKSS"; | ||
260 | + var str = app.globalData.setting.stoid + ":" + app.globalData.user_id + ":" + timeid + ":" + key | ||
261 | + var sign = md5(str); | ||
262 | + | ||
263 | + app.request.promisePost('/api/weshop/qdrecord/saveQd', { | ||
264 | + data: { | ||
265 | + store_id: app.globalData.setting.stoid, | ||
266 | + user_id: app.globalData.user_id, | ||
267 | + timeid: timeid, | ||
268 | + sign: sign | ||
269 | + } | ||
270 | + }).then(res2 => { | ||
271 | + // 改变签到状态,由false置为true | ||
272 | + // let newDateArr = self.data.dateArr; | ||
273 | + // newDateArr[self.data.day-1].isCheckIn = true; | ||
274 | + if (res2.data.code == 0) { | ||
275 | + for (var i in self.data.dateArr) { | ||
276 | + self.data.dateArr[i].isCheckIn = false; | ||
277 | + self.data.dateArr[i].isBq = false; | ||
278 | + } | ||
279 | + self.setData({ | ||
280 | + dateArr: self.data.dateArr | ||
281 | + }); | ||
282 | + | ||
283 | + self.loadQd(function () { | ||
284 | + wx.showToast({ | ||
285 | + title: self.data.res.qdintro, | ||
286 | + icon: 'none', | ||
287 | + duration: 1500, | ||
288 | + success: function () { | ||
289 | + | ||
290 | + } | ||
291 | + }); | ||
292 | + }); | ||
293 | + } else { | ||
294 | + getApp().showWarning(res2.data.msg); | ||
295 | + } | ||
296 | + | ||
297 | + | ||
298 | + | ||
299 | + }) | ||
300 | + } | ||
301 | + } | ||
302 | + | ||
303 | + } else { | ||
304 | + getApp().showWarning(res.data.msg); | ||
305 | + } | ||
306 | + } | ||
307 | + }) | ||
308 | + | ||
309 | + }, | ||
310 | + | ||
311 | + | ||
312 | + // 补签 | ||
313 | + reCheckIn() { | ||
314 | + var self = this; | ||
315 | + // var i = 0; | ||
316 | + console.log('补签~'); | ||
317 | + if (this.data.flag) { | ||
318 | + this.data.flag = false; | ||
319 | + app.request.promisePost('/api/weshop/qdrecord/saveBQd', { | ||
320 | + data: { | ||
321 | + store_id: app.globalData.setting.stoid, | ||
322 | + user_id: app.globalData.user_id, | ||
323 | + daynum: self.data.res.getBQIntegral1, | ||
324 | + bqnum: self.data.res.getbqnum2, | ||
325 | + bqintegral: self.data.res.getBQIntegral, | ||
326 | + } | ||
327 | + }).then(res => { | ||
328 | + // 改变签到状态,由false置为true | ||
329 | + // let newDateArr = self.data.dateArr; | ||
330 | + // newDateArr[self.data.day-1].isCheckIn = true; | ||
331 | + //var bqlist = self.data.res.curbqdaynum.split(',').sort(); | ||
332 | + //var list = []; | ||
333 | + /*-- | ||
334 | + for(let item of bqlist) { | ||
335 | + var date = new Date(item); | ||
336 | + list.push(date.getDate()); | ||
337 | + }--*/ | ||
338 | + if (res.data.code == 0) { | ||
339 | + for (var i in self.data.dateArr) { | ||
340 | + self.data.dateArr[i].isCheckIn = false; | ||
341 | + self.data.dateArr[i].isBq = false; | ||
342 | + } | ||
343 | + self.setData({ | ||
344 | + dateArr: self.data.dateArr | ||
345 | + }); | ||
346 | + self.loadQd(function () { | ||
347 | + self.data.flag = true; | ||
348 | + wx.showToast({ | ||
349 | + title: '补签成功', | ||
350 | + icon: 'success', | ||
351 | + duration: 1500, | ||
352 | + success: function () { | ||
353 | + | ||
354 | + } | ||
355 | + }); | ||
356 | + }); | ||
357 | + } else { | ||
358 | + getApp().showWarning(res.data.msg); | ||
359 | + } | ||
360 | + | ||
361 | + }) | ||
362 | + } | ||
363 | + }, | ||
364 | + | ||
365 | + getDate: function () { //获取当月日期 | ||
366 | + var mydate = new Date(); | ||
367 | + var year = mydate.getFullYear(); | ||
368 | + var month = mydate.getMonth(); //0~11: 一月至十二月 | ||
369 | + var months = month + 1; //1~12:一月至十二月 | ||
370 | + this.data.year = year; | ||
371 | + this.data.month = months; | ||
372 | + this.data.day = mydate.getDate(); //获取当月日期: 1~31 | ||
373 | + var fist = new Date(year, month, 1); | ||
374 | + this.data.firstDay = fist.getDay(); //获取当月第一天 | ||
375 | + var last = new Date(year, months, 0); //0表示当月最后一天 | ||
376 | + this.data.lastDay = last.getDate(); //获取当月最后一天 | ||
377 | + | ||
378 | + this.setData({ | ||
379 | + year: this.data.year, | ||
380 | + month: this.data.month, | ||
381 | + day: this.data.day, | ||
382 | + firstDay: this.data.firstDay, | ||
383 | + lastDay: this.data.lastDay, | ||
384 | + fist: fist | ||
385 | + }) | ||
386 | + console.log("今天:" + this.data.day); | ||
387 | + }, | ||
388 | + | ||
389 | + setDate: function () { | ||
390 | + var day; | ||
391 | + for (var i = 0; i < this.data.firstDay; i++) { | ||
392 | + //获取前几天的时间数组 | ||
393 | + var arr_d = this.getNextDate(this.data.fist, i - this.data.firstDay) | ||
394 | + day = { num: arr_d[1], date: arr_d[0] }; | ||
395 | + this.data.s_dateArr.push(day); | ||
396 | + } | ||
397 | + | ||
398 | + for (var i = 1; i < this.data.lastDay + 1; i++) { | ||
399 | + var date = this.data.month + ""; | ||
400 | + if (this.data.month < 10) date = "0" + date; | ||
401 | + if (i < 10) { | ||
402 | + date = date + "-0" + i; | ||
403 | + } else { | ||
404 | + date = date + "-" + i; | ||
405 | + } | ||
406 | + day = { num: i, date: date }; | ||
407 | + this.data.n_dateArr.push(day); | ||
408 | + } | ||
409 | + }, | ||
410 | + | ||
411 | + //获取相隔是多少天的日期 | ||
412 | + getNextDate(date, day) { | ||
413 | + var dd = date; | ||
414 | + dd.setDate(dd.getDate() + day); | ||
415 | + //var y = dd.getFullYear(); | ||
416 | + var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1; | ||
417 | + var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); | ||
418 | + //return y + "-" + m + "-" + d; | ||
419 | + return [m + "-" + d, dd.getDate()]; | ||
420 | + }, | ||
421 | + go_url(e) { | ||
422 | + let url = e.currentTarget.dataset.url; | ||
423 | + if (url) { | ||
424 | + getApp().goto(url); | ||
425 | + } | ||
426 | + }, | ||
427 | + | ||
428 | + back_to() { | ||
429 | + wx.navigateBack(); | ||
430 | + } | ||
405 | 431 | ||
406 | }) | 432 | }) |