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.94a9d22f.js
2022-08-15 08:36:01 +00:00

2 lines
3.0 KiB
JavaScript

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