This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
handingkang-ohmyweb/static/directive-ca6ca5bc.js
2023-02-01 02:31:31 +00:00

2 lines
3.0 KiB
JavaScript

import{u as e}from"./user-8c0a12d3.js";import{S as i}from"./SwitchRoles-4712956e.js";import{w as s,ar as a,av as r,aw as o,aj as n,l as t,t as l,m as d,b3 as m,s as p,b1 as c,j as u,aR as f,k as v}from"./runtime-core.esm-bundler-42d2bde8.js";import{_}from"./_plugin-vue_export-helper-1b428a4d.js";import"./vue-router-98b91c90.js";import"./index-a49147f4.js";const y=i=>{if(i&&i instanceof Array&&i.length>0){const s=e().roles,a=i;return s.some((e=>a.includes(e)))}return console.error("need roles! Like v-permission=\"['admin','editor']\""),!1},b={class:"app-container"},g={class:"permission-alert"},k={class:"permission-alert"},h={class:"permission-alert"},j=_(s({__name:"directive",setup(e){const s=a(1),_=()=>{s.value++};return(e,a)=>{const j=r("el-tag"),P=r("el-tab-pane"),z=r("el-tabs"),w=o("permission");return n(),t("div",b,[l(i,{onChange:_}),(n(),t("div",{key:s.value,class:"margin-top"},[d("div",null,[m((n(),t("span",g,[p(" 只有 "),l(j,null,{default:c((()=>[p("admin")])),_:1}),p("可以看见这个 ")])),[[w,["admin"]]]),m((n(),u(j,{class:"permission-code",type:"info",size:"large"},{default:c((()=>[p(" v-permission=\"['admin']\" ")])),_:1})),[[w,["admin"]]])]),d("div",null,[m((n(),t("span",k,[p(" 只有 "),l(j,null,{default:c((()=>[p("editor")])),_:1}),p("可以看见这个 ")])),[[w,["editor"]]]),m((n(),u(j,{class:"permission-code",type:"info",size:"large"},{default:c((()=>[p(" v-permission=\"['editor']\" ")])),_:1})),[[w,["editor"]]])]),d("div",null,[m((n(),t("span",h,[p(" 两者 "),l(j,null,{default:c((()=>[p("admin")])),_:1}),p("和 "),l(j,null,{default:c((()=>[p("editor")])),_:1}),p("都可以看见这个 ")])),[[w,["admin","editor"]]]),m((n(),u(j,{class:"permission-code",type:"info",size:"large"},{default:c((()=>[p(" v-permission=\"['admin', 'editor']\" ")])),_:1})),[[w,["admin","editor"]]])])])),(n(),t("div",{key:"checkPermission"+s.value,class:"margin-top"},[l(j,{type:"info",size:"large"},{default:c((()=>[p(" 在某些情况下,不适合使用 v-permission。例如: Element Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景。你只能通过手动设置 v-if 来实现。 ")])),_:1}),l(z,{type:"border-card",class:"margin-top"},{default:c((()=>[f(y)(["admin"])?(n(),u(P,{key:0,label:"admin"},{default:c((()=>[p(" admin 可以看见这个 "),l(j,{class:"permission-code",type:"info"},{default:c((()=>[p(" v-if=\"checkPermission(['admin'])\" ")])),_:1})])),_:1})):v("",!0),f(y)(["editor"])?(n(),u(P,{key:1,label:"editor"},{default:c((()=>[p(" editor 可以看见这个 "),l(j,{class:"permission-code",type:"info"},{default:c((()=>[p(" v-if=\"checkPermission(['editor'])\" ")])),_:1})])),_:1})):v("",!0),f(y)(["admin","editor"])?(n(),u(P,{key:2,label:"admin 和 editor"},{default:c((()=>[p(" 两者 admin 和 editor 都可以看见这个 "),l(j,{class:"permission-code",type:"info"},{default:c((()=>[p(" v-if=\"checkPermission(['admin', 'editor'])\" ")])),_:1})])),_:1})):v("",!0)])),_:1})]))])}}}),[["__scopeId","data-v-4e49b14c"]]);export{j as default};