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; // 从后端获取角色 } } })