2 lines
2.9 KiB
JavaScript
2 lines
2.9 KiB
JavaScript
import{a2 as e,a as i,r as s,h as a,a3 as n,o,b as l,e as r,y as d,N as t,w as m,f as c,u as p,z as u,B as f,_ as v}from"./index.47366859.js";import{S as _}from"./SwitchRoles.84171c02.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=f(" 只有 "),h=f("admin"),z=f("可以看见这个 "),P=f(" v-permission=\"['admin']\" "),j={class:"permission-alert"},w=f(" 只有 "),x=f("editor"),S=f("可以看见这个 "),A=f(" v-permission=\"['editor']\" "),B={class:"permission-alert"},C=f(" 两者 "),D=f("admin"),E=f("和 "),I=f("editor"),L=f("都可以看见这个 "),N=f(" v-permission=\"['admin', 'editor']\" "),R=f(" 在某些情况下,不适合使用 v-permission。例如: Element-Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景。你只能通过手动设置 v-if 来实现。 "),q=f(" admin 可以看见这个 "),F=f(" v-if=\"checkPermission(['admin'])\" "),G=f(" editor 可以看见这个 "),H=f(" v-if=\"checkPermission(['editor'])\" "),J=f(" 两者 admin 和 editor 都可以看见这个 "),K=f(" v-if=\"checkPermission(['admin', 'editor'])\" "),M=v(i({__name:"directive",setup(e){const i=s(1),f=()=>{i.value++};return(e,s)=>{const v=a("el-tag"),M=a("el-tab-pane"),O=a("el-tabs"),Q=n("permission");return o(),l("div",b,[r(_,{onChange:f}),(o(),l("div",{key:i.value,class:"margin-top"},[d("div",null,[t((o(),l("span",g,[k,r(v,null,{default:m((()=>[h])),_:1}),z])),[[Q,["admin"]]]),t((o(),c(v,{class:"permission-code",type:"info",size:"large"},{default:m((()=>[P])),_:1})),[[Q,["admin"]]])]),d("div",null,[t((o(),l("span",j,[w,r(v,null,{default:m((()=>[x])),_:1}),S])),[[Q,["editor"]]]),t((o(),c(v,{class:"permission-code",type:"info",size:"large"},{default:m((()=>[A])),_:1})),[[Q,["editor"]]])]),d("div",null,[t((o(),l("span",B,[C,r(v,null,{default:m((()=>[D])),_:1}),E,r(v,null,{default:m((()=>[I])),_:1}),L])),[[Q,["admin","editor"]]]),t((o(),c(v,{class:"permission-code",type:"info",size:"large"},{default:m((()=>[N])),_:1})),[[Q,["admin","editor"]]])])])),(o(),l("div",{key:"checkPermission"+i.value,class:"margin-top"},[r(v,{type:"info",size:"large"},{default:m((()=>[R])),_:1}),r(O,{type:"border-card",class:"margin-top"},{default:m((()=>[p(y)(["admin"])?(o(),c(M,{key:0,label:"admin"},{default:m((()=>[q,r(v,{class:"permission-code",type:"info"},{default:m((()=>[F])),_:1})])),_:1})):u("",!0),p(y)(["editor"])?(o(),c(M,{key:1,label:"editor"},{default:m((()=>[G,r(v,{class:"permission-code",type:"info"},{default:m((()=>[H])),_:1})])),_:1})):u("",!0),p(y)(["admin","editor"])?(o(),c(M,{key:2,label:"admin 和 editor"},{default:m((()=>[J,r(v,{class:"permission-code",type:"info"},{default:m((()=>[K])),_:1})])),_:1})):u("",!0)])),_:1})]))])}}}),[["__scopeId","data-v-588db394"]]);export{M as default};
|