'admin-22.12.12:发布v2.4.21版本,具体更新内容查看CHANGELOG.md' !42 修复 工作流无法添加新节点问题 Merge pull request !42 from beta/bugfix_workflow 修复 工作流无法添加新节点问题 1. 修复 工作流无法添加新节点问题 2. 修复 左侧导航无法隐藏问题 'admin-22.12.09:发布v2.4.2版本,具体更新内容查看CHANGELOG.md' !41 修复get请求传递嵌套对象或数组时无法正常编码问题 Merge pull request !41 from 随心/master !40 开启TagsView缓存后,刷新后所有的路由都变成组件缓存了 Merge pull request !40 from mrjimin/master 修复get请求传递嵌套对象或数组时无法正常编码问题 update src/layout/routerView/parent.vue. Signed-off-by: mrjimin <z8888788@163.com> update src/layout/routerView/parent.vue. 这里应该拿到的是已经设置开启组件缓存的路由,而不是全部,需要先判断item.meta.isKeepAlive Signed-off-by: mrjimin <z8888788@163.com> 'admin-22.11.30:发布v2.4.1版本,具体更新内容查看CHANGELOG.md' Merge branch 'master' of https://gitee.com/lyt-top/vue-next-admin 'admin-22.11.30:删除v2.4.0版本不需要的依赖' update src/views/error/404.vue. Signed-off-by: lyt-Top <1105290566@qq.com> update src/components/table/index.vue. Signed-off-by: lyt-Top <1105290566@qq.com> 'admin-22.11.30:修改v2.4.0文字说明' 'admin-22.11.30:修改v2.4.0文字说明' 'admin-22.11.29:发布v2.4.0版本,具体更新内容查看CHANGELOG.md' 'admin-22.11.19:修复v2.3.0版本动态路由事件调用关闭当前tagsview、普通路由刷新界面参数丢失问题' 'admin-22.11.18:优化v2.3.0版本tagsview风格5兼容火狐' 'admin-22.11.17:优化v2.3.0版本iframe右键菜单刷新问题' ...
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import { defineStore } from 'pinia';
|
||
import Cookies from 'js-cookie';
|
||
import { Session } from '/@/utils/storage';
|
||
|
||
/**
|
||
* 用户信息
|
||
* @methods setUserInfos 设置用户信息
|
||
*/
|
||
export const useUserInfo = defineStore('userInfo', {
|
||
state: (): UserInfosState => ({
|
||
userInfos: {
|
||
userName: '',
|
||
photo: '',
|
||
time: 0,
|
||
roles: [],
|
||
authBtnList: [],
|
||
},
|
||
}),
|
||
actions: {
|
||
async setUserInfos() {
|
||
// 存储用户信息到浏览器缓存
|
||
if (Session.get('userInfo')) {
|
||
this.userInfos = Session.get('userInfo');
|
||
} else {
|
||
const userInfos: any = await this.getApiUserInfo();
|
||
this.userInfos = userInfos;
|
||
}
|
||
},
|
||
// 模拟接口数据
|
||
// https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP
|
||
async getApiUserInfo() {
|
||
return new Promise((resolve) => {
|
||
setTimeout(() => {
|
||
// 模拟数据,请求接口时,记得删除多余代码及对应依赖的引入
|
||
const userName = Cookies.get('userName');
|
||
// 模拟数据
|
||
let defaultRoles: Array<string> = [];
|
||
let defaultAuthBtnList: Array<string> = [];
|
||
// admin 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
|
||
let adminRoles: Array<string> = ['admin'];
|
||
// admin 按钮权限标识
|
||
let adminAuthBtnList: Array<string> = ['btn.add', 'btn.del', 'btn.edit', 'btn.link'];
|
||
// test 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
|
||
let testRoles: Array<string> = ['common'];
|
||
// test 按钮权限标识
|
||
let testAuthBtnList: Array<string> = ['btn.add', 'btn.link'];
|
||
// 不同用户模拟不同的用户权限
|
||
if (userName === 'admin') {
|
||
defaultRoles = adminRoles;
|
||
defaultAuthBtnList = adminAuthBtnList;
|
||
} else {
|
||
defaultRoles = testRoles;
|
||
defaultAuthBtnList = testAuthBtnList;
|
||
}
|
||
// 用户信息模拟数据
|
||
const userInfos = {
|
||
userName: userName,
|
||
photo:
|
||
userName === 'admin'
|
||
? 'https://img2.baidu.com/it/u=1978192862,2048448374&fm=253&fmt=auto&app=138&f=JPEG?w=504&h=500'
|
||
: 'https://img2.baidu.com/it/u=2370931438,70387529&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
|
||
time: new Date().getTime(),
|
||
roles: defaultRoles,
|
||
authBtnList: defaultAuthBtnList,
|
||
};
|
||
resolve(userInfos);
|
||
}, 0);
|
||
});
|
||
},
|
||
},
|
||
});
|