63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
import { defineStore } from 'pinia';
|
||
import { setLocalStorage, getLocalStorage } from '@/utils/storage';
|
||
import {logout} from '@/api/admin/login'
|
||
import { usePermissionStore } from '@/store/permission';
|
||
import { getInfo } from '@/api/admin/sys-user';
|
||
import { getAppConfig } from '@/api/admin/login';
|
||
|
||
export const useUserStore = defineStore('user', {
|
||
state: () => {
|
||
return {
|
||
token: window.localStorage.getItem('token') || '',
|
||
uid: window.localStorage.getItem('uid') || '',
|
||
sysConfig: getLocalStorage('sysConfig'),
|
||
buttonPermissions:[],
|
||
userInfo:window.localStorage.getItem('manage-userInfo')?JSON.parse(window.localStorage.getItem('manage-userInfo')):''
|
||
}
|
||
},
|
||
// getters: {
|
||
// roles: (state) => state.userInfo.roles || [],
|
||
// },
|
||
actions: {
|
||
setInfo(token,user) {
|
||
this.token = token;
|
||
this.userInfo=user;
|
||
window.localStorage.setItem('token', token);
|
||
window.localStorage.setItem('uid',user.user_id);
|
||
window.localStorage.setItem('manage-userInfo',JSON.stringify(user));
|
||
},
|
||
async getSysConfig() {
|
||
try {
|
||
let data={sys_app_logo: "https://doc-image.zhangwj.com/img/go-admin.png", sys_app_name: "互联网医院后台管理"};
|
||
setLocalStorage('sysConfig', data);
|
||
this.sysConfig =data
|
||
} catch (err) {
|
||
console.error(err);
|
||
}
|
||
},
|
||
clearInfo(){
|
||
const permissionStore=usePermissionStore();
|
||
this.token = null;
|
||
this.userInfo = null;
|
||
permissionStore.ClearMenuList();
|
||
permissionStore.clearRouters
|
||
},
|
||
async userLogut() {
|
||
const {code} = await logout();
|
||
|
||
if(code==200){
|
||
this.clearInfo();
|
||
}
|
||
|
||
}
|
||
},
|
||
persist: {
|
||
// 修改存储中使用的键名称,默认为当前 Store的 id
|
||
key: 'token',
|
||
// 修改为 localStorage,默认为 localStorage
|
||
//storage: window.localStorage,
|
||
// 按需持久化,默认不写会存储全部
|
||
paths: ['token'],
|
||
}
|
||
})
|