<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
			//  #ifndef APP-PLUS
			that.handleCityList()
			that.handleCooperationUrl()
			// #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
					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)
										let showLoading = plus.nativeUI.showWaiting('正在下载')
										const dtask = uni.downloadFile({
											url: res.data.url,
											success: (downloadRes) => {
												if (downloadRes.statusCode === 200) {
													plus.nativeUI.closeWaiting()

														.runtime.install(downloadRes
															.tempFilePath, {
																force: true
															},
															function() {
																plus.runtime.restart();
																console.log(
																	'install success...'
																);
															},
															function(e) {
																console.error(
																	'install fail...');
															});
												}
											},
											fail: () => {
												uni.showToast({
													title: '更新失败',
													icon: 'none'
												});
											}
										});
										dtask.onProgressUpdate((res) => {
											showLoading.setTitle(" 正在下载" + res.progress +
												"% ");
											console.log('下载进度' + res.progress + '%');
										});
									} 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);
				})
			},
		}
	}
</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>