2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
import{V as e,e as s,d as i,l as a,r as n,W as o,o as r,c as l,g as t,a as d,L as m,w as p,h as c,i as u,z as f,A as y}from"./index.545ce101.js";import{_ as v}from"./SwitchRoles.4b39b01a.js";const _=s=>{if(s&&s instanceof Array&&s.length>0){const i=e().roles,a=s;return i.some((e=>a.includes(e)))}return console.error("need roles! Like v-permission=\"['admin','editor']\""),!1};const g={class:"app-container"},h={class:"permission-alert"},k=y(" 只有 "),b=y("admin"),C=y("可以看见这个 "),x=y(" v-permission=\"['admin']\" "),z={class:"permission-alert"},P=y(" 只有 "),w=y("editor"),R=y("可以看见这个 "),j=y(" v-permission=\"['editor']\" "),A={class:"permission-alert"},L=y(" 两者 "),I=y("admin"),S=y("和 "),V=y("editor"),W=y("都可以看见这个 "),q=y(" v-permission=\"['admin', 'editor']\" "),B=y(" 在某些情况下,不适合使用 v-permission。例如:element-plus 的 el-tab 或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。 "),D=y(" admin 可以看见这个 "),E=y(" v-if=\"checkPermission(['admin'])\" "),F=y(" editor 可以看见这个 "),G=y(" v-if=\"checkPermission(['editor'])\" "),H=y(" 两者 admin 和 editor 都可以看见这个 "),J=y(" v-if=\"checkPermission(['admin', 'editor'])\" ");var K=s(i({name:"directive",setup(e){const s=a({key:1,handleRolesChange:()=>{s.key++}});return(e,i)=>{const a=n("el-tag"),y=n("el-tab-pane"),K=n("el-tabs"),M=o("permission");return r(),l("div",g,[t(v,{onChange:s.handleRolesChange},null,8,["onChange"]),(r(),l("div",{key:s.key,style:{"margin-top":"30px"}},[d("div",null,[m((r(),l("span",h,[k,t(a,null,{default:p((()=>[b])),_:1}),C])),[[M,["admin"]]]),m((r(),c(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:p((()=>[x])),_:1})),[[M,["admin"]]])]),d("div",null,[m((r(),l("span",z,[P,t(a,null,{default:p((()=>[w])),_:1}),R])),[[M,["editor"]]]),m((r(),c(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:p((()=>[j])),_:1})),[[M,["editor"]]])]),d("div",null,[m((r(),l("span",A,[L,t(a,null,{default:p((()=>[I])),_:1}),S,t(a,null,{default:p((()=>[V])),_:1}),W])),[[M,["admin","editor"]]]),m((r(),c(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:p((()=>[q])),_:1})),[[M,["admin","editor"]]])])])),(r(),l("div",{key:"checkPermission"+s.key,style:{"margin-top":"60px"}},[t(a,{type:"info",size:"large"},{default:p((()=>[B])),_:1}),t(K,{type:"border-card",style:{width:"550px","margin-top":"60px"}},{default:p((()=>[u(_)(["admin"])?(r(),c(y,{key:0,label:"admin"},{default:p((()=>[D,t(a,{class:"permission-sourceCode",type:"info"},{default:p((()=>[E])),_:1})])),_:1})):f("",!0),u(_)(["editor"])?(r(),c(y,{key:1,label:"editor"},{default:p((()=>[F,t(a,{class:"permission-sourceCode",type:"info"},{default:p((()=>[G])),_:1})])),_:1})):f("",!0),u(_)(["admin","editor"])?(r(),c(y,{key:2,label:"admin 和 editor"},{default:p((()=>[H,t(a,{class:"permission-sourceCode",type:"info"},{default:p((()=>[J])),_:1})])),_:1})):f("",!0)])),_:1})]))])}}}),[["__scopeId","data-v-6aac19ea"]]);export{K as default};
|