<script>
	let platform = ""
	export default {
		data() {
			return {}
		},
		onLaunch: function() {
			let that = this
			// 返回的是apk包信息
			// #ifdef APP-PLUS
			uni.getSystemInfo({
				success(e) {
					platform = e.platform
					that.$store.commit('changePhoneInfo', {
						platform: e.platform
					})
					console.log("getSystemInfo", e.platform)
				}
			})
			if (platform === 'ios') { // ios首次安装没有网络
				uni.onNetworkStatusChange(function(res) {
					if (res.isConnected == true) {
						that.handleCityList()
						that.handleCooperationUrl()
						uni.reLaunch({
							url: '/pageTwo/login/login'
						})
						console.log("有网络连接", res.isConnected)
					}
				});
			}
			that.checkForUpdates()
			// #endif
			//  #ifdef  MP-WEIXIN
			// 版本更新
			that.handleCityList()
			that.handleCooperationUrl()
			that.updataWeiXin()
			// #endif
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
			// #ifdef APP-PLUS
			uni.offNetworkStatusChange(function(res) {
				console.log("取消网络监听")
			})
			// #endif
		},
		methods: {
			// 版本信息监测
			checkForUpdates() {
				let that = this
				plus.runtime.getProperty(plus.runtime.appid, function(info) {
					uni.setStorageSync('VERSION', info.version)
					that.$store.commit('changePhoneInfo', {
						info: info
					})
					console.log("当前应用版本号", info)
					that.handleCityList()
					that.handleCooperationUrl()
					that.handleoginversion(info)
				})
			},
			// 版本信息
			handleoginversion(info) {
				let that = this
				that.$model.getloginversion({}).then(res => {
					console.log("是否登录及版本号", res)
					that.handleCancelUpdate(res.code)

					// #ifdef APP-PLUS||APP
					let currentVersion = info.version;
					let latestVersion = res.data.version
					that.$store.commit('changePhoneInfo', {
						versionUrl: res.data
					})
					// 比对版本号
					let version = that.$tools.compareVersions(currentVersion, latestVersion)
					if (version == -1) { // 0版本号相通，1，：第一个版本号大于第二个版本号，-1：第一个版本号小于第二个版本号
						uni.showModal({
							title: '发现新版本',
							content: '检查到新版本' + res.data.version + '，是否更新？',
							success: (modalRes) => {
								if (modalRes.confirm) { //确定更新
									if (platform === 'android') { //安卓更新
										uni.setStorageSync('VERSION', res.data.version)
										uni.navigateTo({
											url: "/pageTwo/my/about"
										})
									} else { //ios跳转
										plus.runtime.launchApplication({
											action: `itms-apps://itunes.apple.com/cn/app/id6654906497?mt=8`
										})
									}
								} else {
									that.$tools.msg("稍后可在'关于我们'内更新程序！")
								}
							}
						});
					}
					// #endif
				})
			},
			// 取消更新
			handleCancelUpdate(code) {
				let that = this
				if (code == 0) {
					uni.reLaunch({
						url: "/pages/home/home?type=1"
					})
				} else {
					setTimeout(() => {
						uni.reLaunch({
							url: '/pageTwo/login/login'
						})
					}, 500);
				}
			},
			// 地区
			handleCityList() {
				let that = this
				that.$model.getGradeList({}).then((res) => {
					// console.log("|全部地区", res.data)
					if (res.code != 0) return
					that.$store.commit('changeCityList', res.data.area_list)
					that.$store.commit('changeGradeList', res.data.grade_list)
					that.$store.commit('changeIdentityList', res.data.identity_list)
				})
			},
			// 合作服务
			handleCooperationUrl() {
				let that = this
				that.$model.getCooperationUrl({}).then((res) => {
					// console.log("合作服务", res.data)
					if (res.code != 0) return
					this.$store.commit("changeCooperationUrl", res.data);
				})
			},
			//  微信小程序更新
			updataWeiXin() {
				let that = this
				const updateManager = uni.getUpdateManager()
				// 请求完新版本信息的回调
				updateManager.onCheckForUpdate(function(res) {
					// console.log("是否有新版本", 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: '请退出并移除小程序，重新打开...',
					})
				})
			}
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	/* #ifndef APP-NVUE */
	@import "/uni.scss";
	@import "/scss/common.scss";
	@import "/scss/iconfont.css";
	@import "/scss/iconfont-weapp-icon.css";

	/* #endif*/
</style>