<template>
	<view class="container">
		<view class="cu-list menu text-left solid-top indexlow">
			<view class='cu-item' style='margin-bottom:10px;' @click="switchPicture">
				<view>
					<text>头像</text>
				</view>
				<view style='align-items: center;' class="flex">
					<view class="pictures">
						<image :src="headUrl" class="picture"></image>
					</view>
					<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
				</view>
			</view>
			<view class='cu-item' style='margin-bottom:10px;' @click="nickname(username)">
				<view>
					<text>昵称</text>
				</view>
				<view style='align-items: center;' class="flex">
					<view class="username">
						{{username}}
					</view>
					<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
				</view>
			</view>
			<view class='cu-item' style='margin-bottom:10px;' @click='fankui'>
				<view>
					<text>意见反馈</text>
				</view>
				<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
			</view>
			<view class='cu-item' style='margin-bottom:10px;' @click='clearStorage'>
				<view>
					<text>清除缓存</text>
				</view>
				<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
			</view>
			<view class='cu-item' style='margin-bottom:10px;' @click='UpdataPassword'>
				<view>
					<text>修改密码</text>
				</view>
				<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
			</view>
			<!-- <view class='cu-item' style='margin-bottom:10px;' @click='updataEdition'>
				<view>
					<text>检查新版本</text>
				</view>
				<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
			</view> -->
			<view class='cu-item' style='margin-bottom:10px;' @click='unsubscribe'>
				<view>
					<text>注销账户</text>
				</view>
				<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
			</view>
			<view class='cu-item' style='margin-bottom:10px;'>
				<view>
					<text>检查更新</text>
				</view>
				<view class="version_css" @click="onAPPUpdate">
					{{version}}
					<image src="../../static/img/myimg/gengduo1@3x.png" class="arrow"></image>
				</view>
			</view>
		</view>
		<view class='exitloginwrap'>
			<button @click='logout()' class='exitlogin'>退出登录</button>
		</view>
		<u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='温馨提示'
			showCancelButton='false' :content="content" @confirm="goOpenService" @cancel="cancelClick"></u-modal>
	</view>
</template>

<script>
	import appUpdate from 'common/appUpdate.js'
	import {
		mapState
	} from 'vuex';
	// #ifdef APP-PLUS
	import APPUpdate, {
		getCurrentNo
	} from '@/uni_modules/zhouWei-APPUpdate/js_sdk/appUpdate';
	import * as config from '@/config/index.js'
	// #endif
	export default {
		data() {
			return {
				isShowAlert: false,
				content: '您确定要退出吗?',
				headUrl: "../../static/img/myimg/YongHu@3x.png",
				username: "",
				gridList: [{
					num: 0,
					name: '退出登录',
					// icon:'cuIcon-exit',
					src: '../../static/img/sign/return@3x.png',
					tips: 0,
					url: '',
					show: true
				}, ],
				version:"1.1.0"
			}
		},
		computed: {
			// ...mapState(['hasLogin', 'userInfo'])
		},
		onShow() {
			this.getList()
			// #ifdef APP-PLUS
			this.version = plus.runtime.version
			console.log("当前版本为：",plus.runtime.version)
			this.checkVersion()
			// #endif
		},
		onLoad() {},
		methods: {
			// 检查APP是否有新版本
			onAPPUpdate() {
				// true 没有新版本的时候有提示，默认：false
				if (this.version == "发现新版本，立即更新") {
					// #ifdef APP-PLUS
					APPUpdate(true);
					// #endif
				}
			},
			checkVersion() {
				const baseUrlNew = config.def().baseUrlNew
				uni.request({
					url: baseUrlNew + '/appVersion/selectInfo',
					data: {
						appid: plus.runtime.appid,
						version: plus.runtime.version,
						imei: "1",
					},
					method: 'GET',
					success: (res) => {
						var versionNo = plus.runtime.version
						if (versionNo == res.data.data.version) {
							this.version = "当前为最新版" + res.data.data.version
						} else {
							this.version = "发现新版本，立即更新"
						}
					}
				})
			},
			updataEdition() {
				// #ifdef APP-PLUS
				let type = uni.getSystemInfoSync().platform
				if (type == "android") {
					uni.request({
						url: 'http://api1.eliangeyun.com/appVersion/selectInfo',
						data: {
							appid: plus.runtime.appid,
							version: plus.runtime.version,
							imei: "1"
						},
						method: 'GET',
						success: (res) => {
							if (res.statusCode === 200) {
								console.log("uni.request update success", res)
								plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
									let client_version = wgtinfo.version
									var flag_update = client_version.split(".").splice(0, 2).join(
										".") != res.data.data.version.split(".").splice(0, 2)
										.join(".")
									var flag_hot = (Number(client_version.split(".")[2]) < Number(res
										.data.data.version.split(".")[2])) & !flag_update
									console.log("client_version", client_version)
									console.log("flag_update", flag_update)
									console.log("flag_hot", flag_hot)

									if (flag_update) {
										console.log("更新弹窗")
										// 提醒用户更新
										uni.showModal({
											title: '更新提示',
											content: res.data.data.note,
											success: (showResult) => {
												if (showResult.confirm) {
													plus.nativeUI.toast("正在准备环境，请稍后!");
													console.log(res.data.data.url, )
													var dtask = plus.downloader
														.createDownload(res.data.data
														.url, {
															method: 'GET',
															filename: '_doc/update/'
														}, function(d, status) {
															if (status == 200) {
																var path = d
																.filename; //下载apk
																plus.runtime.install(
																	path); // 自动安装apk文件
															} else {
																plus.nativeUI.alert(
																	'版本更新失败:' +
																	status);
															}
														});
													dtask.start();
												}
											}
										})
									} else if (flag_hot) {
										console.log("热更新")
										uni.showLoading({
											title:'正在热更新'
										})
										uni.downloadFile({
											url: res.data.data.wgtUrl,
											success: (downloadResult) => {
												console.log(downloadResult.tempFilePath)
												if (downloadResult.statusCode === 200) {
													plus.nativeUI.toast(
														`正在热更新!${res.data.data.versionCode}`
														);
													plus.runtime.install(downloadResult
														.tempFilePath, {
															force: false
														},
														function() {
															uni.hideLoading()
															plus.nativeUI.toast(
																"热更新成功");
															uni.clearStorageSync();
															plus.nativeUI.toast(
																"缓存清除成功");
															that.$api.doRequest('post',
																	'/auth/api/logout')
																.then(res => {
																	if (res.data
																		.data) {
																		that.$store
																			.commit(
																				'logout'
																				)
																		that.$api
																			.logout()
																		plus.nativeUI
																			.toast(
																				"登出成功"
																				);
																		plus.runtime
																			.restart();
																		plus.nativeUI
																			.toast(
																				"重启成功"
																				);
																	}
																})
															plus.runtime.restart();
														},
														function(e) {
															uni.hideLoading()
															console.log(e)
															plus.nativeUI.toast(
																`热更新失败:${e.message}`
																);
														});
												}
											}
										});
									} else {
										this.content = '您当前版本为最新版本'
										this.isShowAlert = true
									}

								});
							}
						}
					})
				}

				// #endif
			},
			UpdataPassword() {
				uni.navigateTo({
					url: `/pages/public/reset?phone=${this.userInfo.phone}`
				})
			},
			clearStorage() {
				let that = this
				uni.clearStorage({
					success: function(res) {
						console.log('success');
						that.goOpenService()
					}
				})
			},
			cancelClick() {
				this.isShowAlert = false
			},
			goOpenService() {
				if (this.content == '您当前版本为最新版本') {
					this.isShowAlert = false
					return
				}
				uni.hideTabBarRedDot({
					index: 3
				})
				// uni.clearStorageSync();
				var that = this
				this.$api.doRequest('post', '/auth/api/logout').then(res => {
					if (res.data.data) {

					}
				})
				this.$store.commit('logout')
				this.$api.logout()
				uni.navigateTo({
					url: `/pages/public/login`
				})
			},
			getList() {
				this.userInfo = uni.getStorageSync('userInfo')
				this.headUrl = this.userInfo.avatarUrl
				if (this.headUrl == null || this.headUrl == "") {
					this.headUrl = "../../static/img/myimg/YongHu@3x.png"
				}
				this.username = this.userInfo.userName
			},
			switchPicture() {
				uni.navigateTo({
					url: `/pages/user/set_picture`
				})
			},
			nickname(username) {
				uni.navigateTo({
					url: `/pages/user/set_nickname?nickname=${username}`
				})
			},
			exitlogin() {

			},
			fankui() {
				uni.navigateTo({
					url: `/pages/user/fankui`
				})
			},
			unsubscribe(){
				var that=this
				uni.clearStorage({
					success: function(res) {
						console.log('success');
						uni.hideTabBarRedDot({
							index: 3
						})
						that.$api.doRequest('post', '/auth/api/logout').then(res => {
							if (res.data.data) {
						
							}
						})
						that.$store.commit('logout')
						that.$api.logout()
						// plus.nativeUI.toast(
						// 	"注销成功");
						uni.navigateTo({
							url: `/pages/public/login`
						})
					}
				})
			},
			logout() {
				// const that = this
				this.isShowAlert = true
				// uni.showModal({
				// 	title: '询问',
				// 	content: '您确定要退出吗？',
				// 	cancelText: '取消',
				// 	confirmText: '确定',
				// 	success: (e) => {
				// 		if (e.confirm) {
				// 			uni.hideTabBarRedDot({
				// 				index: 3
				// 			})
				// 			uni.clearStorageSync();
				// 			that.$store.commit('logout')
				// 			that.$api.logout()
				// 			uni.navigateTo({
				// 				url: `/pages/public/login`
				// 			})
				// 		}
				// 	}
				// })
			},
		}
	}
</script>

<style lang="scss" scoped>
	page {
		background-color: #F5F6FA;
	}

	.container {
		padding: 10px 0 0px;
	}

	.headPortrait {
		width: 100%;
		height: 52px;
		margin-top: 15px;
		background-color: #FFFFFF;
		border-radius: 6px;
		// justify-content: flex-end;
	}

	.title {
		font-size: 16px;
		line-height: 50px;
		font-weight: 600;
		margin-left: 10px;
	}

	.pictures {
		justify-content: flex-end;
		width: 35px;
		height: 35px;
		background-color: #E0FAF6;
		border-radius: 18px;
	}

	.picture {
		width: 35px;
		height: 35px;
	}

	.arrow {
		margin-left: 15px;
		width: 8px;
		height: 12px;
		// justify-content: flex-end

	}

	.username {
		line-height: 50px;
		color: #6D6D72;
	}

	.sign {
		width: 18px;
		height: 18px;
		top: 4px;
		margin-right: 6px;
	}

	.cu-list>.cu-item:after {
		border: none;
	}

	.exitloginwrap {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		padding-bottom: 20px;
	}

	.exitlogin {
		width: 90%;
		background: #fff;
		border-radius: 30px;
		color: #FB1E1E;
		font-size: 17px;
	}

	.exitlogin:after {
		border: none;
	}
	.version_css {
		// margin-right: 10rpx;
		color: #9D9D9D;
		font-size: 32rpx;
		text-align: center;
	}
</style>
