32 lines
670 B
TypeScript
32 lines
670 B
TypeScript
import { defineStore } from 'pinia'
|
|
import { menu, permission } from "../api/module/user";
|
|
|
|
export const useUserStore = defineStore({
|
|
id: 'user',
|
|
state: () => {
|
|
return {
|
|
token: '',
|
|
userInfo: {},
|
|
permissions: [],
|
|
menus: [],
|
|
}
|
|
},
|
|
actions: {
|
|
async loadMenus(){
|
|
const { data, code } = await menu();
|
|
if(code == 200) {
|
|
this.menus = data;
|
|
}
|
|
},
|
|
async loadPermissions(){
|
|
const { data, code } = await permission();
|
|
if(code == 200) {
|
|
this.permissions = data;
|
|
}
|
|
}
|
|
},
|
|
persist: {
|
|
storage: localStorage,
|
|
paths: ['token', 'userInfo', 'permissions', 'menus' ],
|
|
}
|
|
}) |