const app = getApp()
Page({
	data: {
		allData: null,
		errorMsg: null,
		voucherNo: '',
		qrcodeNo: null,
		pageInfo: true
	},
	doActivityTime: 0, // 记录抽奖的次数,防止无故重复调用抽奖接口
	qrCode: null,
	qrUri: null,
	onLoad(options) {
		this.child = this.selectComponent('#sliderVerify')
		// 进入页面时候触发的函数
		wx.showLoading({
			title: '请稍后',
			mask: true
		})
		console.log(options, '---options')
		if (options && options.q) {
			// 微信扫码进来
			var url = decodeURIComponent(options.q)
			//  二维码串码
			let _qrcode = ''
			if (url.length > 50) {
				// 处理崂山啤酒工厂把明码打印上去
				_qrcode = app.utils.GetUrlPara(url, 'r').replace(/[\n\r]/g, '').split('').splice(0, 17).join('').replace(/\+/g, '').trim()
			} else {
				let {code,uri} = app.utils.getCodeAndUri(url)
				_qrcode = code
				wx.setStorageSync('qrUri', uri)
				// _qrcode = app.utils.GetUrlPara(url, 'r')
				// 均瑶二维码处理----
				// if(_qrcode.includes(',')){
				// 	let jyQrCode = _qrcode.slice(0, _qrcode.indexOf(','))
				// 	console.log(jyQrCode,"----->>>>");
				// 	_qrcode = jyQrCode
				// }
				
				// if(url.includes(',')){
				// 	const parts = url.split(','); // 以 ',' 为分隔符拆分字符串
				// 	const jyQrCode = parts[parts.length - 1]; // 取最后一部分
				// 	console.log(jyQrCode,"----->>>>");
				// 	_qrcode = jyQrCode
				// }
				console.log(_qrcode,"_qrcode",uri,"uri");
			}
			wx.setStorageSync('qrCode', _qrcode)
			// this.qrCode = app.utils.GetUrlPara(url, 'r')
			// this.qrCode = wx.getStorageSync('qrCode')
		}
		if (options && options.qr) {
			// 小程序扫码进来
			if(options.qr.includes(',')){
				let jyQrCode = options.qr.slice(0, options.qr.indexOf(','))
				console.log(jyQrCode,"-----<<<<");
				options.qr = jyQrCode
			}
			wx.setStorageSync('qrCode', options.qr)
			// this.qrCode = options.qr
		}
		this.qrCode = wx.getStorageSync('qrCode')
		this.qrUri = wx.getStorageSync('qrUri')
	},
	onShow() {
		wx.hideLoading()
		if (this.qrCode) {
			this.init()
		} else {
			wx.showModal({
				title: '提示',
				content: '请扫描有效的二维码',
				success(res) {
					// wx.reLaunch({
					// 	url: '/pages/index/index'
					// })
					wx.reLaunch({
						url: '/custom-pages/custom-index/index'
					})
				}
			})
		}
	},
	onShareAppMessage() {
		if (this.data.allData.pageUrl === 'yangyuan') {
			const unionId = wx.getStorageSync('nick').unionId
			const userId = wx.getStorageSync('nick').userId

			return {
				imageUrl: 'https://hbrand.oss-cn-hangzhou.aliyuncs.com/BUSINESS/CPP/yangyuan/share-card.png',
				title: '好友送你一个【6.6元待解锁红包】,快点击领取吧!',
				path: `/scanGroup/yangyuan/store/store?qr=${this.qrCode}&groupId=${this.data.allData.groupId}&unionId=${unionId}&userId=${userId}&share=1`,
				success: res => {
					console.log('分享成功')
				},
				complete: res => {
					console.log('分享成功complete')
				}
			}
		}
	},
	// 滑动验证
	verify(e) {
		// console.log(e);
		app.utils.doPost({
			url: '/sliderCaptcha/isVerify.json',
			params: e.detail
		}).then(res => { })
	},
	// 滑块验证成功操作
	successVerify() {
		// console.log("恭喜验证成功!!");
		this.init()
	},
	// 滑块验证失败操作
	failVerify() {
		console.log('验证失败了!!!')
	},
	async init() {
		this.nickInfo = wx.getStorageSync('nick')
		// await this.getLocation()
		console.log(this.nickInfo,"nickInfo");
		// const data = await app.utils.doPost({
		// 	url: '/system/queryPageUrl.json',
		// 	params: this.qrCode
		// })
		const data = {data:{pageUrl:"dram_junyao_24"}}
		const userId = this.nickInfo?.userId
		// console.log(data,"data");
		this.pageUrldata = Object.assign({ qrCode: this.qrCode,id:userId,qrUri: this.qrUri }, data.data)
		console.log('-----------', this.pageUrldata)
		this.setData({
			pageInfo: data.data
		})
		const nick = wx.getStorageSync('nick')
		this.checkActivity(data.data?.pageUrl)
		// if(data.data?.pageUrl ==='qqgz' && (!nick || !nick.phone)) {
		// 	app.utils.authPhone()
		// } else {
		// 	this.checkActivity(data.data?.pageUrl)
		// }
	},
	async checkActivity(pageUrl) {
		console.log(pageUrl,"pageUrl");
		switch (pageUrl) {
			case 'qqgz':
				// this.activityApi('/activity/qiaQiaActivity.json');
				this.setData({
					allData: this.pageUrldata
				})
				break
			case 'qqfs':
				this.setData({
					allData: this.pageUrldata
				})
				break
			case 'scanCode':
				this.activityApi('/activity/doActivity.json', 'scanCode')
				break
			case 'xbggk':
				this.setData({
					allData: this.pageUrldata
				})
				break
			case 'wanglaoji':
				this.setData({
					allData: this.pageUrldata,
					qrcodeNo: this.qrCode
				})
				break
			case 'inwestcard':
				this.setData({
					allData: this.pageUrldata,
					qrcodeNo: this.qrCode
				})
				break

			case 'laoshan':
				await this.setLocation()
				this.setData({
					allData: this.pageUrldata
				})
				break
			case 'jishiding':
				// this.setData({
				// 	allData: this.pageUrldata,
				// 	qrcodeNo: this.qrCode
				// })
				wx.reLaunch({
					url: '/scanGroup/jishiding/index/index?pageData=' + encodeURIComponent(JSON.stringify(this.pageUrldata))
				})
				break
			case 'DHD':
				wx.reLaunch({
					url: '/scanGroup/dahaoda/index/index?pageData=' + encodeURIComponent(JSON.stringify(this.pageUrldata))
				})
				break
			case 'dram_junyao_24':
				wx.reLaunch({
					url: '/scanGroup/jyScan/index/index?pageData=' + encodeURIComponent(JSON.stringify(this.pageUrldata))
				})
				break
			case 'yangyuan':
				console.log(this.doActivityTime)
				if (this.doActivityTime === 0) {
					await this.setLocation()
					await this.activityApi('/activity/doActivity.json', 'scanCode')
					this.setData({
						// allData: this.pageUrldata,
						qrcodeNo: this.qrCode
					})
				}
				break
			case 'laoshanActivity':
				await this.setLocation()
				wx.reLaunch({
					url: `/scanGroup/laoshanActivity/index/index?qrCodeNo=${this.qrCode}&allData=${encodeURIComponent(JSON.stringify(this.pageUrldata))}`
				})
				break
			case 'kebike':
				await this.setLocation()
				this.setData({
					allData: this.pageUrldata
				})
				break
			default:
				this.setData({
					allData: this.pageUrldata
				})
				break
		}
	},
	// 活动详情
	activityApi(theUrl, pageUrl) {
		app.utils
			.doPost({
				url: theUrl,
				params: this.qrCode,
				needErrorLog: true
			})
			.then(res => {
				this.doActivityTime = 1
				if (pageUrl == 'scanCode') {
					this.setData({
						errorMsg: res.data.errorMsg,
						allData: res.data
					})
					return
				}
				this.setData({
					errorMsg: res.data.errorMsg,
					allData: res.data,
					voucherNo: res.errorCode === '1' ? res.errorMsg : ''
				})
			}, err => {
				if (err.errorCode === 'SLIDE_VERIFY_RISK') {
					// console.log(err);
					this.child.visidlisd()
				} else if (err.errorCode === 'SCAN_FREEZE_RISK') {
					wx.showModal({
						title: '提示',
						content: err.errorMsg,
						showCancel: false,
						success (res) {
							if (res.confirm) {
								// console.log('用户点击确定')
								wx.navigateBack()
							}
						}
					})
				}
			})
	},
	/**
	 * 获取定位
	 */
	async getLocation() {
		return new Promise((resolve, reject) => {
			wx.getFuzzyLocation({
				type: 'gcj02',
				success: function (res) {
					resolve(res)
				},
				fail: function (res) {
					wx.navigateTo({
						url: '/pages/defaultError/defaultError?errorId=0&errorMsg=授权失败|我们需要您的位置信息来判断您能否参与活动, 请允许授权'
					})
					reject(res)
				}
			})
		})
	},
	scan() {
		wx.scanCode({
			success: res => {
				const url = res.result
				if (url.includes('weixin.qq.com') || !url.includes('hzhuihe.cn')) {
					wx.showModal({
						title: '提示',
						content: '请扫描正确的二维码',
						showCancel: false,
						confirmText: '好的'
					})
					return
				}
				console.log(url)

				const type = app.utils.GetUrlPath(url)
				switch (type) {
					case 'x':
						let _qrcode = ''
						if (url.length > 50) {
							// 处理崂山啤酒工厂把明码打印上去
							_qrcode = app.utils.GetUrlPara(url, 'r').split('').splice(0, 17).join('').trim()
						} else {
							_qrcode = app.utils.GetUrlPara(url, 'r').replace(/[\n\r]/g, '')
						}
						wx.redirectTo({
							url: `/scanGroup/index/index?qr=${_qrcode}`
						})
						break
					case 'yy':
						const code = app.utils.GetUrlPara(url, 'code').replace(/[\n\r]/g, '')
						const groupId = app.utils.GetUrlPara(url, 'group_id').replace(/[\n\r]/g, '')
						wx.redirectTo({
							url: `/pages/signEnter/index/index?code=${code}&group_id=${groupId}`
						})
						break
					default:
						wx.showToast({
							icon: 'none',
							title: '无法找到页面资源'
						})
						break
				}
			},
			fail: err => {},
			complete: () => {}
		})
	},
	// 活动详情
	async setLocation() {
		const { latitude, longitude } = await this.getLocation()
		const _location = `${latitude},${longitude}`
		await app.utils
			.doPost({
				url: '/setUserLocate.json',
				params: _location
			})
			.then(res => {
				console.log('🍌_location= ', _location)
			})
	},

	handleBack (e) {
		if (e.detail.delta === 1) {
			// wx.reLaunch({
			// 	url: '/pages/index/index'
			// })
			wx.reLaunch({
				url: '/custom-pages/custom-index/index'
			})
		}
	}
})