<template>
	<view class="login">
		<view class="header">
			<image :src='logoImage' mode="aspectFit" class="logo-img"></image>
			<view class="app-title">
				{{logoName}}
			</view>
			<view class="subtitle">
				申请获取你的头像、昵称
			</view>
		</view>

		<view class="form-container">
			<button class="avatar-section" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
				<view class="avatar-label">头像</view>
				<view class="avatar-container">
					<image :src="userInfo.avatarUrl" v-if="userInfo.avatarUrl" class="avatar-img" mode="aspectFill"></image>
					<view v-else class="avatar-placeholder">
						<image src="/static/暂未登录 请先登录.png" class="placeholder-img" mode="aspectFit"></image>
						<text class="placeholder-text">点击选择头像</text>
					</view>
				</view>
			</button>
			
			<view class="nickname-section">
				<view class="nickname-label">昵称</view>
				<view class="nickname-input-container">
					<input type="nickname" placeholder="请输入昵称" class="nickname-input" id="nickName"
						v-model="userInfo.nickName" />
				</view>
			</view>
		</view>
		
		<view class="submit-btn" @click="submit">
			确认
		</view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			userInfo: {
				avatarUrl: '',
				nickName: '',
			},
			configData: [],
		};
	},
	onShow() { },
	computed: {
		logoImage() {
			console.log(getApp().globalData.configData,'getApp().globalData.configData')
      const item =  getApp().globalData.configData.find(i => i.keyName === 'logo_image')
      return item ? item.keyContent : ''
    },
		logoName() {
			const item =  getApp().globalData.configData.find(i => i.keyName === 'logo_name')
			return item ? item.keyContent : ''
		}
	},
	methods: {
		onChooseAvatar(res) {
			let self = this
			self.$Oss.ossUpload(res.target.avatarUrl)
				.then(url => {
					console.log(url);
					self.userInfo.avatarUrl = url
				})
		},
		submit() {
			let self = this
			console.log(self.userInfo.avatarUrl, '111');
			uni.createSelectorQuery().in(this)
				.select("#nickName")
				.fields({
					properties: ["value"],
				})
				.exec((res) => {
					const nickName = res?.[0]?.value
					self.userInfo.nickName = nickName
					if (getApp().globalData.phone) {
						self.userInfo.phone = getApp().globalData.phone
					}
					if (self.$utils.verificationAll(self.userInfo, {
						avatarUrl: '请选择头像',
						nickName: '请填写昵称',
					})) {
						return
					}
					if (uni.getStorageSync('shareId')) {
						self.userInfo.shareId = uni.getStorageSync('shareId')
					}

					self.$api('updateInfo', self.userInfo, res => {
						console.log(res, self.userInfo);
						if (res.code == 200) {
							uni.switchTab({
								url: '/pages/component/home'
							})
						}
					})
				})

		},
	}
}
</script>

<style lang="scss" scoped>
	.login {
		min-height: 100vh;
		background: linear-gradient(180deg, #fff7e6 0%, #fff 40%);
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 48rpx;
		box-sizing: border-box;
	}

	.header {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 120rpx;
		margin-bottom: 80rpx;

		.logo-img {
			width: 160rpx;
			height: 160rpx;
			border-radius: 32rpx;
			margin-bottom: 32rpx;
			box-shadow: 0 8rpx 24rpx rgba(255, 156, 0, 0.15);
		}

		.app-title {
			font-size: 48rpx;
			font-weight: bold;
			color: #222;
			margin-bottom: 16rpx;
		}

		.subtitle {
			font-size: 28rpx;
			color: #666;
			line-height: 1.4;
		}
	}

	.form-container {
		width: 100%;
		max-width: 600rpx;
		margin-bottom: 80rpx;
	}

	.avatar-section {
		width: 100%;
		background: #fff;
		border-radius: 24rpx;
		padding: 48rpx 36rpx;
		margin-bottom: 32rpx;
		border: none;
		box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 32rpx;

		&::after {
			border: none;
		}

		.avatar-label {
			font-size: 32rpx;
			font-weight: 500;
			color: #333;
		}

		.avatar-container {
			position: relative;
			width: 200rpx;
			height: 200rpx;
		}

		.avatar-img {
			width: 100%;
			height: 100%;
			border-radius: 50%;
			border: 4rpx solid #fff;
			box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
		}

		.avatar-placeholder {
			width: 100%;
			height: 100%;
			border-radius: 50%;
			border: 4rpx dashed #ddd;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			background: #f8f8f8;
			gap: 16rpx;

			.placeholder-img {
				width: 80rpx;
				height: 80rpx;
				opacity: 0.6;
			}

			.placeholder-text {
				font-size: 24rpx;
				color: #999;
			}
		}
	}

	.nickname-section {
		background: #fff;
		border-radius: 24rpx;
		padding: 48rpx 36rpx;
		box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);

		.nickname-label {
			font-size: 32rpx;
			font-weight: 500;
			color: #333;
			margin-bottom: 32rpx;
			text-align: center;
		}

		.nickname-input-container {
			position: relative;
		}

		.nickname-input {
			width: 100%;
			height: 88rpx;
			background: #f8f8f8;
			border-radius: 16rpx;
			padding: 0 24rpx;
			font-size: 32rpx;
			color: #333;
			border: 2rpx solid transparent;
			box-sizing: border-box;
			transition: all 0.3s;

			&:focus {
				border-color: #ffb400;
				background: #fff;
				outline: none;
			}

			&::placeholder {
				color: #bbb;
				font-size: 28rpx;
			}
		}
	}

	.submit-btn {
		width: 100%;
		max-width: 600rpx;
		height: 96rpx;
		background: linear-gradient(90deg, #ffd01e 0%, #ff8917 100%);
		color: #fff;
		font-size: 36rpx;
		font-weight: bold;
		text-align: center;
		line-height: 96rpx;
		border-radius: 48rpx;
		box-shadow: 0 8rpx 24rpx rgba(255, 156, 0, 0.3);
		transition: all 0.3s;

		&:active {
			transform: translateY(2rpx);
			box-shadow: 0 4rpx 12rpx rgba(255, 156, 0, 0.3);
		}
	}
</style>