<template>
	<view>
		<view class="subject">
			<view style="width: 100%;background-color: #FFFFFF;position: relative;">
				<view class="personal">
					<view class="personal_left">
						<image :src="userinfos.image" mode="" @error="imageError"></image>
					</view>
					<view class="personal_center">
						<p>{{usernames}}</p>
						<p>{{userinfos.email?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="moban" 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;">
				<view class="quit" @click="outto">
					<u-icon name="tuichu" 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 {
				usernames: '',
				userinfos: {
				}
			}
		},
		methods: {
			//user.login.user_login_info
			//home.homes.personal_center
			async getUserlogin() {
				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 getUsermsg(user) {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=home.homes.personal_center',
					data: {
						username: user
					}
				})
				console.log(res)
				this.userinfos = res
			}, //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()

		},
		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;
		}
	}

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