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