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-6d94fe2e.js
2023-06-01 10:03:03 +00:00

2 lines
2.8 KiB
JavaScript

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