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 | }) |