<script>
	import {
		request
	} from "@/utils/network/request.js";
	import {
		etcQYAction,
		queryKey,
		getGlobalParam,
		wechatAppID,
		wechatSecret,
		getOpenidApi
	} from "@/utils/network/api.js";
	import {
		msg
	} from "./utils/utils";
	import {
		getItem,
		setItem
	} from "./utils/storage";
	import {
		stringToJson
	} from "@/utils/network/encryption";
	import {
		getCodeName
	} from "@/datas/queryKey.js";
	// import { log } from "console";
	export default {
		// data(){
		//  return{
		//   isEnableSetGray:true,
		//  }
		// },
		onLaunch: function(option) {
			var that = this;
			uni.getSystemInfo({
				success: (res) => {
					console.log("sadsd", res)
					if (res.uniPlatform === 'mp-weixin') {
						console.log('当前为微信小程序', res, 1111);
						setItem("loginSource", "69af303ba2eb4608a099163f0d2a5dbd");
						setItem("environment", "WX")
					} else if (res.uniPlatform === 'mp-alipay') {
						console.log('当前为支付宝小程序');
						setItem("loginSource", "601052a249c04155831710b577cb796d");
						setItem("environment", "ZFB")
					}
					that.globalParam();
				}
			});

			//获取微信小程序openid
			// #ifdef MP-WEIXIN
			uni.login({
				provider: "weixin",
				success: function(e) {
					// auth.code2Session
					console.log("ee", e);
					that.getOpenid(e.code);
					// uni.request({
					// 	url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`,
					// 	success: (res) => {
					// 		// state.openid = res.data.openid;
					// 		setItem("QYorder", res.data);
					// 		console.log("获取微信小程序openid", res);
					// 	},
					// 	fail: (err) => {
					// 		uni.showToast({
					// 			title: "网络异常，请重试！" + err.errcode,
					// 			icon: "error",
					// 			duration: 500,
					// 		});
					// 		return;
					// 	},
					// });
				},
			});

			// #endif
			uni.setStorageSync("extraData", option.referrerInfo.extraData);
			// #ifdef MP-WEIXIN
			//获取小程序更新机制兼容
			if (uni.canIUse("getUpdateManager")) {
				// pdateManager，用于管理小程序更新。
				const updateManager = uni.getUpdateManager();
				updateManager.onCheckForUpdate(function(res) {
					// 请求完新版本信息的回调
					if (res.hasUpdate) {
						updateManager.onUpdateReady(function() {
							uni.showModal({
								title: "更新提示",
								content: "新版本已经准备好，是否重启应用？",
								success: function(res) {
									if (res.confirm) {
										// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
										updateManager.applyUpdate();
									}
								},
							});
						});
						updateManager.onUpdateFailed(function() {
							// 新的版本下载失败
							uni.showModal({
								title: "已经有新版本了哟~",
								content: "新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~",
								showCancel: false,
								confirmText: "我知道了",
							});
						});
					}
				});
			} else {
				// 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
				uni.showModal({
					title: "提示",
					content: "当前微信版本过低，无法更好体验程序，请升级到最新微信版本后重试。",
					showCancel: false,
					confirmText: "我知道了",
				});
			}
			// #endif

		},
		onShow: function(option) {
			console.log(option);
			console.log("进入主视图");
			if (option && option.scene === 1038) {
				// 场景值1038：从被打开的小程序返回
				const {
					appId,
					extraData
				} = option.referrerInfo;
				if (appId == "wxbcad394b3d99dac9") {
					console.log(getItem("QYorder"));
					const orders = getItem("QYorder");
					// appId为wxbcad394b3d99dac9：从车主小程序跳转回来
					// TODO
					// 客户端小程序不确定授权结果，需要发起‘查询车牌服务开通信息’确认授权结果

					var data = {
						orderId: orders.orderId,
						subOpenId: orders.openid,
					};
					const options = {
						type: 2,
						data: data,
						method: "POST",
						showLoading: true,
					};
					request(etcQYAction, options).then((res) => {
						console.log(res);

						msg("授权成功");
						//如果我当前路由是签约页面才能跳转
						let routes = getCurrentPages();
						let curRoute = routes[routes.length - 1].route;
						console.log(curRoute);
						if (curRoute === "orders/sign-up") {
							uni.navigateTo({
								url: `/subpackage/orders/product-detail?orderId=${orders.orderId}&&clientFee=${getItem("clientFee")}&&id=${getItem("productId")}`,
							});
						}
						if (curRoute === "pages/app/sign") {
							//扫描签约成功
							uni.switchTab({
								url: "/pages/index/index",
							});
						}
					});
					return;
				}
			}
			console.log(option);
		},
		onLoad: function(option) {

		},
		onHide: function() {
			console.log("App Hide");
		},
		methods: {
			globalParam() {
				const options = {
					type: 2,
					data: {
						"loginSource": getItem("loginSource")
					},
					method: "POST",
					showLoading: true,
				};

				request(getGlobalParam, options).then((res) => {
					const result = stringToJson(res.bizContent);
					setItem('globalParam', result.data)
					console.log("配置", result);
				});
				// #ifdef MP-WEIXIN
				// #endif
			},


			getGlobalParam() {
				const data = getItem('globalParam')
				console.log("全局配置数据1111", getCodeName('IS_ENABLE', data.setGray))
				// 申办时是否允许修改OCR识别出来的车辆信息数据
				if (getCodeName('IS_ENABLE', data.setGray) == '启用') {
					this.isEnableSetGray = true;
				} else {
					this.isEnableSetGray = true;
				}
			},
			getOpenid(code) {
				const options = {
					type: 2,
					data: {
						"jsCode": code
					},
					method: "POST",
					showLoading: true,
				};
				// #ifdef MP-WEIXIN
				request(getOpenidApi, options).then((res) => {
					const result = stringToJson(res.bizContent);
					console.log("获取微信小程序openid", result);
					const openidData = stringToJson(result.data);
					setItem("QYorder", openidData);
				});
				// #endif
			},

		}
	};
</script>

<style lang="scss">
	/*每个页面公共css */
	@import "./static/css/common.scss";

	// @import './uni_modules/vk-uview-ui/index.scss';
	page {
		font-family: "Microsoft Yahei";
		// filter: grayscale(1)
	}
</style>