checkin.js 5.62 KB
// packageA//pages/checkin/checkin.js
const app = getApp();
let self;
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		year: '',
		month: '',
		day: '',
		weekArr: ['日', '一', '二', '三', '四', '五', '六'],
		dateArr: [],
		firstDay: '',
		lastDay: '',
		param: null,
		clockNum: 3,
		
		res: null,
		isShowRules: false,
		isCheckIn: false,
		checkInDays: 0,			//连续签到天数
		integral: 0,				//积分
		checkInNums: 0,		  //补签次数
		isCheckInDay: '',
		
		flag: true,
		isLogin: false,
		
	},
	
	loadQd(callback) {
		app.request.get('/api/weshop/qdrecord/getUser/'+ app.globalData.setting.stoid + '/' + app.globalData.user_id, {
		  success: function (res) {
				if(callback) callback();
				self.setData({
					res: res.data.data
				});
				self.loadCheckedRecord();
		  },
		});
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function(options) {
		console.log('执行onload');
		self = this;
		this.getDate();
		this.setDate();
		var res = wx.getSystemInfoSync();
		this.setData({
			param: res.windowHeight / 12,
			
		})

		
		// 判断会员是否授权登录,
		// 没有登录则跳转到登录页,
		// 已登录则设置已登录状态,请求加载签到数据
		this.isLogin().then(function() {
			console.log('loginnnn',app.globalData.userInfo);
			self.setData({
				isLogin: true
			});
			self.loadQd();
		});
		
		
	},
	
	onShow() {
		if(app.globalData.userInfo instanceof Object) {
			if(this.data.isLogin) {
				return;
			} else {
				this.setData({
					isLogin: true
				});
				this.loadQd();
			};
		}
	},
	
	onHide() {
		console.log('执行onHide');
	},
	
	// 是否登录
	isLogin() {
		return new Promise(function(resolve, reject) {
			let user_info = getApp().globalData.userInfo;
			if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
				wx.navigateTo({
					url: '/pages/togoin/togoin',
				})
				return false;
			} else {
				resolve();
			};
		});
	},


	// 点击"我的积分"和"去购物"进行跳转
	goto(e) {
		let url = e.target.dataset.url;
		app.goto(url);
	},
	
	
	// 点击显示签到规则
	showRules() {
		if(this.data.isShowRules) {
			this.setData({
				isShowRules: false
			});
		} else {
			this.setData({
				isShowRules: true
			});
		}
	},
	
	
	// 加载签到记录
	loadCheckedRecord() {
		let newDateArr = this.data.dateArr;
		let list;
		let bqlist;
		if(this.data.res.qddaylist) {
			list = this.data.res.qddaylist.split(',');
			for(let item of list) {
				newDateArr[item-1].isCheckIn = true;
			};
		}
		if(this.data.res.curbqdaynum) {
			bqlist = this.data.res.curbqdaynum.split(',');
			for(let item of bqlist) {
				var date = new Date(item);
				newDateArr[date.getDate()-1].isBq = true;
			}
		}
		this.setData({
			dateArr: newDateArr
		});
	},
	
	// 点击签到
	checkInToday() {
		const self = this;
		// 获取今天的签到状态
		let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn;
		// 如果还没签到, 可以点击签到
		if(!isCheckInToday) {
			app.request.promisePost('/api/weshop/qdrecord/saveQd', {
				data: {
					store_id: app.globalData.setting.stoid,
					user_id: app.globalData.user_id,
				}
			}).then(res => {
				// 改变签到状态,由false置为true
				// let newDateArr = self.data.dateArr;
				// newDateArr[self.data.day-1].isCheckIn = true;
				
				self.loadQd(function() {
					wx.showToast({
					  title: self.data.res.qdintro,
					  icon: 'none',
					  duration: 1500,
						success: function() {
	
						}
					});
				});
					
			})
		}
	},
	

	// 补签
	reCheckIn() {
		var self = this;
		// var i = 0;
		console.log('补签~');
		if(this.data.flag) {
			this.data.flag = false;
			app.request.promisePost('/api/weshop/qdrecord/saveBQd', {
				data: {
					store_id: app.globalData.setting.stoid,
					user_id: app.globalData.user_id,
					daynum: self.data.res.getBQIntegral1,
					bqnum: self.data.res.getbqnum2,
					bqintegral: self.data.res.getBQIntegral,
				}
			}).then(res => {
				// 改变签到状态,由false置为true
			// 	let newDateArr = self.data.dateArr;
			// 	newDateArr[self.data.day-1].isCheckIn = true;
					var bqlist = self.data.res.curbqdaynum.split(',').sort();
					var list = [];
					for(let item of bqlist) {
						var date = new Date(item);
						list.push(date.getDate());
					}
					
					self.data.dateArr[list[0]-1].isBq = false;
					self.setData({
						dateArr: self.data.dateArr
					});
					
					self.loadQd(function() {
						self.data.flag = true;
							wx.showToast({
								title: '补签成功',
								icon: 'success',
								duration: 1500,
								success: function() {
									
								}
							});
					});
			})
		}
	},
	
	
	


	getDate: function() { //获取当月日期
		var mydate = new Date();
		var year = mydate.getFullYear();
		var month = mydate.getMonth();  			//0~11: 一月至十二月
		var months = month + 1;         			//1~12:一月至十二月
		this.data.year = year;
		this.data.month = months;
		this.data.day = mydate.getDate(); 		//获取当月日期: 1~31
		var fist = new Date(year, month, 1);
		this.data.firstDay = fist.getDay();		//获取当月第一天
		var last = new Date(year, months, 0); //0表示当月最后一天
		this.data.lastDay = last.getDate();   //获取当月最后一天

		this.setData({
			year: this.data.year,
			month: this.data.month,
			day: this.data.day,
			firstDay: this.data.firstDay,
			lastDay: this.data.lastDay
		})
		console.log("今天:" + this.data.day);
	},
	
	setDate: function() {
		var day;
		for (var i = 1; i < this.data.lastDay + 1; i++) {
			day = {
				num: i,
			};
			this.data.dateArr.push(day);
		}
		this.setData({
			dateArr: this.data.dateArr,
		});
	},
	
})