dma_handbook/docs/.vuepress/store/user.js
2025-09-29 16:51:36 +08:00

21 lines
575 B
JavaScript

import { defineStore } from 'pinia'
import { useStorage } from '@vueuse/core'
import axios from "axios";
import { ROLES } from '../roles';
export const useUserStore = defineStore('user', {
state: () => ({
role: useStorage('role', ROLES.USER),
token: useStorage('token', ''),
userInfo: useStorage('userInfo', null)
}),
actions: {
async login(credentials) {
const { data } = await axios.post('/api/login', credentials)
this.token = data.token
this.userInfo = data.user
this.role = data.role; // 从后端获取角色
}
}
})