feat(auth): implement login API integration with backend

This commit is contained in:
Quicy
2026-01-29 14:59:21 +08:00
parent 8c7d578657
commit bc63e85d13
28 changed files with 834 additions and 86 deletions
+40
View File
@@ -0,0 +1,40 @@
import { defineStore } from 'pinia'
import { reactive } from 'vue'
type user={
'id': string,
'username': string,
'role': string,
'displayName': string
}
export const useUserStore = defineStore('user', () => {
const userInfo = reactive<user>({
'id': '',
'username': '',
'role': '',
'displayName': ''
})
const login = (userData: user,token:string) => {
localStorage.setItem('token',token)
for (const key of Object.keys(userData) as (keyof user)[]) {
userInfo[key] = userData[key]
}
}
const exitLogin = () => {
localStorage.removeItem('token')
for (const key of Object.keys(userInfo) as (keyof user)[]) {
userInfo[key]=''
}
}
return {
userInfo,
login,
exitLogin
}
}, {
persist:true
})