hospital-admin/src/store/userInfo.js

66 lines
2.0 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.sessionStorage.getItem('token') || '',
uid: window.sessionStorage.getItem('uid') || '',
sysConfig: getLocalStorage('sysConfig'),
buttonPermissions:[],
userInfo:window.sessionStorage.getItem('manage-userInfo')?JSON.parse(window.sessionStorage.getItem('manage-userInfo')):''
}
},
// getters: {
// roles: (state) => state.userInfo.roles || [],
// },
actions: {
setInfo(token,user) {
this.token = token;
this.userInfo=user;
window.sessionStorage.setItem('token', token);
window.localStorage.setItem('uid',user.user_id);
window.sessionStorage.setItem('manage-userInfo',JSON.stringify(user));
},
// async getUserInfo() {
// try {
// const res = await getInfo();
// // window.sessionStorage.setItem('uid', res.data.userId);
// this.userInfo = res.data;
// } catch (err) {
// console.error(err);
// }
// },
async getSysConfig() {
try {
// const res = await getAppConfig();
// setLocalStorage('sysConfig', res.data);
//res.data;
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);
}
},
async userLogut() {
const {code} = await logout();
const permissionStore=usePermissionStore();
if(code==200){
this.token = null;
this.userInfo = null;
permissionStore.ClearMenuList();
permissionStore.clearRouters();
}
}
}
})