|
|
@@ -152,6 +152,7 @@ import {
|
|
|
import {
|
|
|
storeToRefs
|
|
|
} from 'pinia'
|
|
|
+import { clearUserInfo } from '@/utils/userCache.js'
|
|
|
|
|
|
// 使用 Pinia 管理用户状态
|
|
|
const userStore = useUserStore()
|
|
|
@@ -225,27 +226,32 @@ const logout = () => {
|
|
|
if (res.confirm) {
|
|
|
console.log('用户确认退出登录')
|
|
|
|
|
|
- // 1. 清除 token
|
|
|
- uni.removeStorageSync('token')
|
|
|
+ // 1. 清除 token(使用统一工具函数)
|
|
|
+ clearUserInfo()
|
|
|
|
|
|
// 2. 清除 store 中的用户数据
|
|
|
userStore.$reset()
|
|
|
|
|
|
- // 3. 清除其他可能存储的数据
|
|
|
- uni.removeStorageSync('userInfo')
|
|
|
- uni.removeStorageSync('companyInfo')
|
|
|
+ // 3. 清除其他缓存数据
|
|
|
+ try {
|
|
|
+ uni.removeStorageSync('userInfo')
|
|
|
+ uni.removeStorageSync('companyInfo')
|
|
|
+ } catch (e) {
|
|
|
+ console.warn('清除额外缓存失败:', e)
|
|
|
+ }
|
|
|
|
|
|
console.log('已清除所有登录数据')
|
|
|
|
|
|
- // 4. 跳转到登录页
|
|
|
- uni.reLaunch({
|
|
|
- url: '/pages/login/login'
|
|
|
- })
|
|
|
-
|
|
|
+ // 4. 跳转到登录页(先 Toast 再跳转)
|
|
|
uni.showToast({
|
|
|
title: '已退出登录',
|
|
|
icon: 'success'
|
|
|
})
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.reLaunch({
|
|
|
+ url: '/pages/login/login'
|
|
|
+ })
|
|
|
+ }, 300)
|
|
|
}
|
|
|
}
|
|
|
})
|