Files
jdt-mer/src/store/modules/user/index.js
YuanHuakk c2b0e49f7b
All checks were successful
continuous-integration/drone/push Build is passing
feat(custom): 多API版本
2025-09-23 18:31:11 +08:00

57 lines
1.4 KiB
JavaScript

import { defineStore } from 'pinia'
import { resetRouter } from '@/router'
import { useTagsStore, usePermissionStore } from '@/store'
import { removeToken, toLogin } from '@/utils'
// import api from '@/api'
export const useUserStore = defineStore('user', {
state() {
return {
userInfo: {},
}
},
getters: {
userId() {
return this.userInfo?.id
},
name() {
return this.userInfo?.name
},
avatar() {
return this.userInfo?.avatar || 'https://v2.xxapi.cn/api/head?return=302'
},
role() {
return this.userInfo?.role || []
},
},
actions: {
async getUserInfo() {
// const typeMer = localStorage.getItem('type')
// this.userInfo = {
// role: [typeMer],
// }
// try {
// const res = await api.getUser()
// const { id, name, avatar, role } = res.data
// this.userInfo = { id, name, avatar, role }
// return Promise.resolve(res.data)
// } catch (error) {
// return Promise.reject(error)
// }
},
async logout() {
const { resetTags } = useTagsStore()
const { resetPermission } = usePermissionStore()
removeToken()
resetTags()
resetPermission()
await resetRouter()
this.$reset()
toLogin()
},
setUserInfo(userInfo = {}) {
this.userInfo = { ...this.userInfo, ...userInfo }
},
},
})