商城列表需要优化
This commit is contained in:
@@ -12,14 +12,17 @@ import { ref } from 'vue'
|
||||
export const useUserStore = defineStore('user', () => {
|
||||
const { clearToken } = useTokenStore()
|
||||
|
||||
const userInfo = ref(
|
||||
getUserInfoData() ? JSON?.parse(getUserInfoData()) : {}
|
||||
)
|
||||
|
||||
/** 用户信息对象 */
|
||||
const userInfo = ref(JSON.parse(getUserInfoData()) || null)
|
||||
|
||||
/**
|
||||
* 获取用户信息(可从缓存或接口)
|
||||
*/
|
||||
const fetchUserInfo = async () => {
|
||||
// 示例:先尝试从本地缓存读取
|
||||
// 尝试从本地缓存读取
|
||||
const cachedToken = getToken()
|
||||
const cachedUserInfo = getUserInfoData()
|
||||
|
||||
@@ -28,15 +31,14 @@ export const useUserStore = defineStore('user', () => {
|
||||
return
|
||||
}
|
||||
const res = await getUserData()
|
||||
await setUserInfo(res.data)
|
||||
setUserInfo(res.data)
|
||||
return
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户信息
|
||||
*/
|
||||
const setUserInfo = async data => {
|
||||
console.log('存储数据到userInfo==', data)
|
||||
const setUserInfo = data => {
|
||||
userInfo.value = data
|
||||
// 同步到本地存储
|
||||
setUserInfoData(data)
|
||||
@@ -51,6 +53,12 @@ export const useUserStore = defineStore('user', () => {
|
||||
removeUserInfoData()
|
||||
}
|
||||
|
||||
/** 刷新用户信息(如用户信息被修改) */
|
||||
const refreshUserInfo = async () => {
|
||||
const res = await getUserData()
|
||||
setUserInfo(res.data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新部分用户信息(例如昵称、头像)
|
||||
*/
|
||||
@@ -61,7 +69,8 @@ export const useUserStore = defineStore('user', () => {
|
||||
}
|
||||
|
||||
return {
|
||||
userInfo: userInfo.value,
|
||||
userInfo,
|
||||
refreshUserInfo,
|
||||
fetchUserInfo,
|
||||
setUserInfo,
|
||||
clearUserInfo,
|
||||
|
||||
Reference in New Issue
Block a user