<!-- index.vue -->
<template>
	<view class="container">
		<!-- 列表区域 -->
		<view class="list-item" @click="pwdEdit">
			<view>
				<uni-icons type="locked-filled" size="20"></uni-icons>
				<text>修改密码</text>
			</view>
			<text>></text>
		</view>
		<view class="list-item" @click="checkUpdate">
			<view>
				<uni-icons type="refreshempty" size="20"></uni-icons>
				<text>检查更新</text>
			</view>
			<text>></text>
		</view>
		<view class="list-item" @click="clearCache">
			<view>
				<uni-icons type="trash-filled" size="20"></uni-icons>
				<text>清理缓存</text>
			</view>
			<text>></text>
		</view>
		<!-- 退出登录按钮 -->
		<view class="logOut">
			<button type="warn" @click="logOut">退出登录</button>
		</view>




	</view>
</template>

<script setup>
	import $tab from "@/plugins/tab.js"
	import { getUserInfo } from '@/utils/auth'
	import { useUserStore } from '@/store/user.js'
	const userStore = useUserStore()
	// 退出登录
	function logOut() {
		uni.showModal({
			title: '系统提示',
			content: '确定注销并退出系统吗？',
			success: function(res) {
				if (res.confirm) {
					userStore.LogOut()
					$tab.reLaunch('/pages/login')
				} else if (res.cancel) {
					console.log('用户点击取消');
				}
			}
		});
	};
	// 清理缓存
	function clearCache() {
		uni.showModal({
			title: '系统提示',
			content: '是否确定要清理缓存？',
			success: function(res) {
				if (res.confirm) {
					const userInfo = getUserInfo()
					uni.clearStorageSync();
					uni.setStorageSync('userInfo', userInfo)
					userStore.user = userInfo
					userStore.useId = userInfo.useId
					// 提示用户缓存清理成功
					uni.showToast({
						title: '缓存清理成功',
						icon: 'success',
						duration: 2000
					});
				} else if (res.cancel) {
					console.log('用户点击取消');
				}
			}
		});

	}
	// 修改密码
	function pwdEdit() {
		$tab.navigateTo('/pages/mine/setting/pwdEdit/pwdEdit');
	};
	// 检查更新
	function checkUpdate() {
		const updateManager = uni.getUpdateManager();
		updateManager.onCheckForUpdate(function(res) {
			// 请求完新版本信息的回调
			if (res.hasUpdate) {
				updateManager.onUpdateReady(function(res) {
					uni.showModal({
						title: '更新提示',
						content: '新版本已经准备好，是否重启应用？',
						success(res) {
							if (res.confirm) {
								// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
								updateManager.applyUpdate();
							}
						}
					});

				});
			} else {
				uni.showToast({
					title: '暂无版本更新',
					icon: 'none'
				});
			}
		});
	}
</script>

<style lang="scss" scoped>
	.container {
		padding: 20px;
	}

	.list-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 1rem;
		padding: 0.75rem;
		background-color: #ffffff;
		border-radius: 10rpx;
		margin-bottom: 0.75rem;
		border-bottom: 1px solid gainsboro;
		uni-icons{
			margin-right: 6px;
		}
	}
	.logOut{
		margin-top: 2rem;
	}
</style>