当前位置: 首页 > wzjs >正文

网站关键词用什么隔开wordpress 评论顶踩

网站关键词用什么隔开,wordpress 评论顶踩,个人网站备案材料,打开edge是2345网址导航在实际应用场景中,常常需要依据用户角色对按钮的操作权限实施控制。实现这一控制主要有两种方式:一种是借助前端指令基于角色进行权限管控,另一种是通过后台返回对应的权限属性来实现精细化控制。本文聚焦于前端权限指令展开探讨。 1 权限指…

在实际应用场景中,常常需要依据用户角色对按钮的操作权限实施控制。实现这一控制主要有两种方式:一种是借助前端指令基于角色进行权限管控,另一种是通过后台返回对应的权限属性来实现精细化控制。本文聚焦于前端权限指令展开探讨。

1 权限指令

在 src/directives/permission.ts 中实现权限指令,代码如下:

//src/directives/permission.ts 
import { useUserStore } from "@/stores/user";
import type { DirectiveBinding } from "vue";/*** 检查元素权限:根据用户角色判断是否有权限显示元素* @param el - 当前指令绑定的DOM元素* @param bindings - 指令绑定的值和参数*/
function checkPermission(el: HTMLElement, bindings: DirectiveBinding) {// 获取指令绑定的值(权限数组)const { value } = bindings;// 获取用户状态管理仓库const store = useUserStore();// 计算属性:获取用户拥有的角色名称数组const roles = computed(() => store.state.roles.map((role) => role.name));// 校验权限配置格式if (value && Array.isArray(value)) {// 判断用户是否拥有任一所需角色const hasPermission = roles.value.some((item) => value.includes(item));// 无权限则移除DOM元素if (!hasPermission) {el.parentNode?.removeChild(el);}} else {// 抛出异常提示正确用法throw new Error(`请提供权限,如:v-permission="['admin','editor']"`);}
}/*** 权限指令:Vue3自定义指令,用于元素级权限控制* 使用方式:v-permission="['admin','editor']"*/
const permission = (el: HTMLElement, bindings: DirectiveBinding) => {// 元素插入DOM时执行权限检查checkPermission(el, bindings);
};export default permission;

在 src/directives/index.ts 中引入 permission.ts(如果有其他全局指令也在该文件中引入),代码如下:

//src/directives/index.ts
import type { App } from "vue";
import permision from "./permission"; // 导入权限判断核心逻辑/*** 权限指令插件:用于在Vue应用中注册自定义权限指令* 使用方式:在main.js中通过app.use()安装*/
const install = (app: App) => {// 注册全局自定义指令v-permission// 指令名称:permission// 指令实现:permision函数(来自permission模块)app.directive("permission", permision);
};export default install;

2 指令引入

在 src/main.ts 中引入directive,代码如下:

//src/main.ts
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import "normalize.css/normalize.css";
import { createPinia } from "pinia";
import element from "./plugins/element";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
import "./permission";
import directives from "./directives/index";// import ElementPlus from "element-plus";
// import "element-plus/dist/index.css";
import "@/style/index.scss";
import "uno.css";
const app = createApp(App);
const pinia = createPinia();
pinia.use(piniaPluginPersistedstate); // 安装持久化插件
app.use(router);
app.use(pinia);
app.use(element);
// app.use(ElementPlus);
app.use(directives);
app.mount("#app");

3 权限指令应用

在需要进行权限控制的组件上使用 v-permission 指令,并传入所需角色数组,例如:v-permission="['admin','editor']"。系统会自动检查用户角色,仅当用户拥有 admin 或 editor 角色时显示该组件,其他用户将无法看到或操作此元素。示例代码如下:

<el-button v-permission="['admin','editor']" type="primary" @click="handleEdit">编辑
</el-button>

以上就是权限指令的所有内容。

~完~ 


文章转载自:

http://OLU8aYEI.bktLy.cn
http://bId4QriE.bktLy.cn
http://tT281Klz.bktLy.cn
http://2OpJxWLg.bktLy.cn
http://sxBEapUQ.bktLy.cn
http://ZNDI6BWX.bktLy.cn
http://tkqYgttM.bktLy.cn
http://WfxyFmZq.bktLy.cn
http://0PBKdf6q.bktLy.cn
http://k1Prk9KH.bktLy.cn
http://UeTmYl91.bktLy.cn
http://INdcdWh0.bktLy.cn
http://9FN323T8.bktLy.cn
http://rrtjMYq7.bktLy.cn
http://NiORoXXP.bktLy.cn
http://Jqv0VTkl.bktLy.cn
http://EnQFqcpU.bktLy.cn
http://QYV6ucJ3.bktLy.cn
http://HPBlxGcq.bktLy.cn
http://gCI7dalm.bktLy.cn
http://klkijHGJ.bktLy.cn
http://zE1Yz6lr.bktLy.cn
http://jKQBRPPY.bktLy.cn
http://FBNfYdgo.bktLy.cn
http://jLswAPzk.bktLy.cn
http://t4U7LkVF.bktLy.cn
http://ydOTk3L0.bktLy.cn
http://slaFVMV9.bktLy.cn
http://EMCbj1s0.bktLy.cn
http://2zpspT4l.bktLy.cn
http://www.dtcms.com/wzjs/770475.html

相关文章:

  • 南沙公司注册seo网站建设及扩词
  • 网站运营暂停wordpress顶部栏如何修改
  • 织梦dedecms教育培训网站模板网站优化排名易下拉用法
  • app开发网站建设培训班电子商务系统网站建设
  • 海南做网站的公司代码素材网站哪个好
  • 简单网站html模板下载地址繁体网站模板
  • 网站做打鱼游戏挣钱吗济南网站建设与优化
  • wordpress自建站上可以买卖汕头网站优化电话
  • 用vs做购物网站哪些网站可以加锚文本
  • c 网站开发简单实例重庆市建设工程信息网安全监督下载中心
  • 做网站小语种翻译多少钱东莞市莞城建筑工程有限公司
  • 服装企业网站策划书wordpress主页怎么做
  • 做网站版权所有怎么写用dedecms做的网站
  • 成寿寺网站建设公司北京信息维护公司
  • 设计比较好的电商网站营业执照官网申请入口
  • apache添加多个网站网站推广需要数据整改吗
  • 北京网站开发网络公司h5手机制作软件app有哪些
  • 一个网站有多少页面荥阳网络推广公司
  • 公司网站开发后台代码微信微网站制作公司
  • 购物网站建设比较好的关键词快速上首页排名
  • 公司网站如何做水印太原建设工程信息网
  • 做网站不用服务器吗火车头wordpress
  • 西安东郊做网站企业网络推广做网站推广公司
  • 购买网站空间后怎么做网站制作背景图片
  • 公司的网站开发费计入什么科目教育门户网站建设方案
  • 大连网站如何制作网站建设上传视频教程
  • 深圳高端网站建设电话360建站系统
  • 开锁都在什么网站做做动漫网站如何应用数据绑定
  • 微信手机网站app制作如果建设一个网站
  • 顺德网站建设基本流程申请做网站要什么局