feat
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
import { LoginData, getUserInfo, login as userLogin, logout as userLogout } from '@/api/user'
|
||||
import { login, logout } from '@/api/module/user'
|
||||
import { LoginData } from '@/api/types'
|
||||
import { request } from '@/api/request'
|
||||
import { clearToken, setToken } from '@/utils/auth'
|
||||
import { removeRouteListener } from '@/utils/route-listener'
|
||||
import { defineStore } from 'pinia'
|
||||
import SafeStorage, { AppStorageKey } from "@/utils/safeStorage";
|
||||
import useAppStore from '../app'
|
||||
import { UserState } from './types'
|
||||
|
||||
@@ -23,6 +26,7 @@ const useUserStore = defineStore('user', {
|
||||
accountId: undefined,
|
||||
certification: undefined,
|
||||
role: '',
|
||||
userInfo: SafeStorage.get(AppStorageKey.USER_INFO)
|
||||
}),
|
||||
|
||||
getters: {
|
||||
@@ -50,16 +54,22 @@ const useUserStore = defineStore('user', {
|
||||
|
||||
// Get user's information
|
||||
async info() {
|
||||
const res = await getUserInfo()
|
||||
|
||||
this.setInfo(res.data)
|
||||
// const res = await request.post('/rbac2/v1/user/info') as any
|
||||
// request 拦截器已经返回 response.data,所以 res 就是用户信息
|
||||
// this.setInfo(res.data || res)
|
||||
},
|
||||
|
||||
// Login
|
||||
async login(loginForm: LoginData) {
|
||||
try {
|
||||
const res = await userLogin(loginForm)
|
||||
setToken(res.data.token)
|
||||
const { code, details } = await login(loginForm as any) as any
|
||||
if (code === 0 && details?.token) {
|
||||
setToken(details.token)
|
||||
SafeStorage.set(AppStorageKey.USER_INFO, details)
|
||||
this.userInfo = details
|
||||
} else {
|
||||
throw new Error('登录失败:未获取到 token')
|
||||
}
|
||||
} catch (err) {
|
||||
clearToken()
|
||||
throw err
|
||||
@@ -71,11 +81,12 @@ const useUserStore = defineStore('user', {
|
||||
clearToken()
|
||||
removeRouteListener()
|
||||
appStore.clearServerMenu()
|
||||
SafeStorage.clearAppStorage()
|
||||
},
|
||||
// Logout
|
||||
async logout() {
|
||||
try {
|
||||
await userLogout()
|
||||
// await logout()
|
||||
} finally {
|
||||
this.logoutCallBack()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user