'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右键菜单刷新问题' ...
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import type { App } from 'vue';
|
||
import { useUserInfo } from '/@/stores/userInfo';
|
||
import { judementSameArr } from '/@/utils/arrayOperation';
|
||
|
||
/**
|
||
* 用户权限指令
|
||
* @directive 单个权限验证(v-auth="xxx")
|
||
* @directive 多个权限验证,满足一个则显示(v-auths="[xxx,xxx]")
|
||
* @directive 多个权限验证,全部满足则显示(v-auth-all="[xxx,xxx]")
|
||
*/
|
||
export function authDirective(app: App) {
|
||
// 单个权限验证(v-auth="xxx")
|
||
app.directive('auth', {
|
||
mounted(el, binding) {
|
||
const stores = useUserInfo();
|
||
if (!stores.userInfos.authBtnList.some((v: string) => v === binding.value)) el.parentNode.removeChild(el);
|
||
},
|
||
});
|
||
// 多个权限验证,满足一个则显示(v-auths="[xxx,xxx]")
|
||
app.directive('auths', {
|
||
mounted(el, binding) {
|
||
let flag = false;
|
||
const stores = useUserInfo();
|
||
stores.userInfos.authBtnList.map((val: string) => {
|
||
binding.value.map((v: string) => {
|
||
if (val === v) flag = true;
|
||
});
|
||
});
|
||
if (!flag) el.parentNode.removeChild(el);
|
||
},
|
||
});
|
||
// 多个权限验证,全部满足则显示(v-auth-all="[xxx,xxx]")
|
||
app.directive('auth-all', {
|
||
mounted(el, binding) {
|
||
const stores = useUserInfo();
|
||
const flag = judementSameArr(binding.value, stores.userInfos.authBtnList);
|
||
if (!flag) el.parentNode.removeChild(el);
|
||
},
|
||
});
|
||
}
|