<template>
	<view>
		<view class="subject">
			<view style="width: 100%;background-color: #FFFFFF;position: relative;">
				<view class="personal" v-if="isLogin">
					<view class="personal_left">
						<image :src="userinfos.image" mode="" @error="imageError"></image>
					</view>
					<view class="personal_center">
						<p>{{usernames}}</p>
						<p>{{ userinfos.email || userinfos.mobile }}</p>
					</view>
					<view class="personal_right" @click="userinfo">
						<uni-icons type="compose" style="color: #FFFFFF;margin-right: 10rpx;"></uni-icons>
						编辑
					</view>
				</view>
			</view>
			<view style="background-color: #FFFFFF;margin: 20rpx auto 0;">
				<view class="AboutUs" @click="about">
					<u-icon name="pingtai" custom-prefix="custom-icon" class="icon_left"></u-icon>
					{{$isneutral?"关于我们":"关于更新"}}
					<p class="update" v-if="updateTF">NEW</p>
					<uni-icons type="arrowright" class="icon_right"></uni-icons>
				</view>
			</view>
			<view style="background-color: #FFFFFF;" v-if="isLogin">
				<view class="quit" @click="outto">
					<u-icon name="tuichudenglu" custom-prefix="custom-icon" class="icon_left"></u-icon>
					退出登录
					<uni-icons type="arrowright" class="icon_right"></uni-icons>
				</view>
			</view>
			<view style="background-color: #ffffff" v-else>
			  <view class="quit" @click="handleLogin">
			    <u-icon
			      name="tuichudenglu"
			      custom-prefix="custom-icon"
			      class="icon_left"
			    ></u-icon>
			    去登录
			    <uni-icons type="arrowright" class="icon_right"></uni-icons>
			  </view>
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				isLogin: false,
				usernames: '',
				userinfos: {},
				versions: "",
				updateTF: false
			}
		},
		methods: {
			handleLogin() {
			  console.log('---------------------- login');
			  uni.navigateTo({
			    url: '/pages/login/login',
			  });
			},
			async getEquipList() {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=home.homes.app_version_record',
					data: {
						ret: "first"
					}
				})
				console.log(res)
				// this.appName = res[0].app_name
				this.versions = Number(res[0].app_num.match(/\d+/g).join(""))
				var ids = Number(plus.runtime.version.match(/\d+/g).join(""))
				if (this.versions > ids) {
					this.updateTF = true
				} else {
					this.updateTF = false
				}
			},
			//user.login.user_login_info
			//home.homes.personal_center
			async getUserlogin() {
				const session_key = uni.getStorageSync('session_key');
				this.isLogin = !!session_key;
				console.log(this.isLogin);
				if (!this.isLogin) {
				  return;
				}
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=user.login.user_login_info',
				})
				console.log(res.children)
				this.usernames = res.username
				this.getUsermsg(this.usernames)
				uni.setStorage({
					key: 'jurisdiction',
					data: JSON.stringify(res.children),
					success: () => {

					}
				})
			},
			async getuserinfonew() {
				const res = await this.$myRequest({
					url: '/api/v2/theme/home/info/',
				})
				if(res.items && res.items.logo_url){
					this.userinfos.image = res.items.logo_url
				} else{
					this.userinfos.image = ''
				}
				
			},
			async getUsermsg(user) {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=home.homes.personal_center',
					data: {
						username: user
					}
				})
				this.userinfos = res
				this.getuserinfonew()
			}, //user.login.logout_user
			async getlogout() {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=user.login.logout_user',
				})
			},
			about() {
				uni.navigateTo({
					url: "../about/about"
				})
			},
			imageError(e) {
				if (e) {
					this.userinfos.image = "../../../static/images/my/user.png"
				}
			},
			userinfo() {
				uni.navigateTo({
					url: "../user-info/user-info?data=" + JSON.stringify(this.userinfos)
				})
			},
			outto() {
				uni.showModal({
					title: '提示',
					content: '是否退出登录',
					success: (res) => {
						if (res.confirm) {
							this.getlogout()
							uni.removeStorage({
								key: "session_key"
							})
							uni.reLaunch({
								url: "../../login/login"
							})
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			}
		},
		onLoad() {
			this.getUserlogin()
			this.getEquipList()
		},
		onShow() {
			this.getUserlogin()
			this.$forceUpdate()
		}
	}
</script>
<style lang="scss">
	.subject {
		width: 100%;
		height: 100vh;
		background-color: #F9F9F9;
	}

	.personal {
		width: 90%;
		margin: 0 auto;
		display: flex;
		padding: 20rpx 0 40rpx;
		box-sizing: border-box;

		.personal_left {
			width: 18%;
			margin-right: 30rpx;

			image {
				width: 124rpx;
				height: 120rpx;
				border-radius: 60rpx;
			}
		}

		.personal_center {
			padding-top: 20rpx;

			p:nth-child(1) {
				font-size: 34rpx;
				font-weight: 700;
				margin-bottom: 10rpx;
			}

			p:nth-child(2) {
				font-size: 24rpx;
			}
		}

		.personal_right {
			width: 150rpx;
			background-color: #55C87B;
			height: 60rpx;
			text-align: center;
			border-radius: 30rpx;
			line-height: 60rpx;
			color: #FFFFFF;
			position: absolute;
			top: 50rpx;
			right: 30rpx;
		}
	}

	.AboutUs,
	.quit,
	.opinion {
		width: 90%;
		height: 100rpx;
		line-height: 100rpx;
		margin: 20rpx auto 0;
		position: relative;
		padding-left: 20rpx;
		font-size: 28rpx;

		.icon_left {
			margin-right: 20rpx;
			color: #55C87B !important;
			font-size: 32rpx;
		}

		.icon_right {
			position: absolute;
			top: 0;
			right: 10rpx;
			font-size: 32rpx !important;
		}

		.update {
			position: absolute;
			top: 34rpx;
			right: 40rpx;
			font-size: 16rpx !important;
			background-color: #f00;
			border-radius: 25rpx;
			height: 30rpx;
			padding: 2rpx 16rpx;
			line-height: 30rpx;
			color: #fff;
		}
	}

	.opinion {
		margin: 0 auto;
		border-top: 2rpx solid #EAEAEA;
	}
</style>
