feat: 接口对接完成

This commit is contained in:
anonymous
2025-01-03 16:44:05 +08:00
parent 0889d068a8
commit 2d19bbce4c
37 changed files with 1220 additions and 398 deletions
+28 -7
View File
@@ -1,28 +1,49 @@
import { getUserInfoAPI, logoutUserAPI } from '@/service'
import { mergeStep } from '@/utils'
import { defineStore } from 'pinia'
import { ref } from 'vue'
const initState = { nickname: '', avatar: '' }
export const useUserStore = defineStore(
'user',
() => {
const userInfo = ref<IUserInfo>({ ...initState })
const userInfo = ref<IUserInfo | null>(null)
const token = ref('')
const loadUserInfo = mergeStep(async () => {
const res = await getUserInfoAPI()
userInfo.value = res.data.userinfo
})
const setUserInfo = (val: IUserInfo) => {
userInfo.value = val
}
const clearUserInfo = () => {
userInfo.value = { ...initState }
const setToken = (val: string) => {
token.value = val
}
const isLogged = computed(() => !!userInfo.value.token)
const clearUserInfo = () => {
userInfo.value = null
}
const clearToken = () => {
token.value = ''
}
const logout = async () => {
logoutUserAPI()
clearUserInfo()
clearToken()
}
const isLogged = computed(() => !!token.value)
return {
userInfo,
loadUserInfo,
setUserInfo,
clearUserInfo,
isLogged,
setToken,
token,
logout,
}
},
{