hospital-admin/src/store/userInfo.js
2023-07-20 13:50:40 +08:00

63 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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'],
}
})