first commit

This commit is contained in:
yanpeng200212
2026-10-08 10:43:59 +08:00
commit 8430ba0452
288 changed files with 29595 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
import { defineStore } from 'pinia';
import request, { getAccessToken, setTokens, clearTokens } from '../utils/request';
export const useUserStore = defineStore('user', {
state: () => ({
token: getAccessToken() || '',
userInfo: JSON.parse(localStorage.getItem('user') || 'null'),
menus: [],
permissions: []
}),
getters: {
isLoggedIn: (state) => !!state.token
},
actions: {
async login(loginForm) {
const res = await request.post('/auth/login', loginForm);
const { accessToken, refreshToken, user } = res.data;
setTokens(accessToken, refreshToken);
this.token = accessToken;
this.userInfo = user;
localStorage.setItem('user', JSON.stringify(user));
return res;
},
async fetchMenus() {
const res = await request.get('/auth/menus');
this.menus = res.data;
return res.data;
},
async fetchPermissions() {
const res = await request.get('/auth/permissions');
this.permissions = res.data;
return res.data;
},
logout() {
clearTokens();
this.token = '';
this.userInfo = null;
this.menus = [];
this.permissions = [];
localStorage.removeItem('user');
}
}
});