mirror of
https://github.com/un-pany/v3-admin-vite.git
synced 2025-04-20 10:59:21 +08:00
Deploying to gh-pages from @ ce9918b21ac1333f161835c2281e0514fba37e5a 🚀
This commit is contained in:
parent
50f9d50550
commit
f10e1911b4
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as c}from"./element-CvpYQ8V9.js";import{v as _,A as d,L as t,y as i,D as o,I as l,ac as m,x as p}from"./vue-I_6pZIWR.js";const u={},f={class:"error"},v={class:"error-svg"};function x(r,e){const s=c,a=m("router-link");return p(),_("div",f,[d("div",v,[i(r.$slots,"default",{},void 0,!0)]),t(a,{to:"/"},{default:o(()=>[t(s,{type:"primary"},{default:o(()=>e[0]||(e[0]=[l(" 回到首页 ")])),_:1})]),_:1})])}const V=n(u,[["render",x],["__scopeId","data-v-19cd37a7"]]);export{V as L};
|
||||
import"./index-DVW30Bkn.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as c}from"./element-BtlHndxu.js";import{v as _,A as d,L as t,y as i,D as o,I as l,ac as m,x as p}from"./vue-YISEtOLz.js";const u={},f={class:"error"},v={class:"error-svg"};function x(r,e){const s=c,a=m("router-link");return p(),_("div",f,[d("div",v,[i(r.$slots,"default",{},void 0,!0)]),t(a,{to:"/"},{default:o(()=>[t(s,{type:"primary"},{default:o(()=>e[0]||(e[0]=[l(" 回到首页 ")])),_:1})]),_:1})])}const V=n(u,[["render",x],["__scopeId","data-v-19cd37a7"]]);export{V as L};
|
@ -1 +1 @@
|
||||
import{e as v}from"./index-Dl51U2HS.js";/* empty css *//* empty css */import{n as w,al as g,am as R,o as x}from"./element-CvpYQ8V9.js";import{t as S,r as V,w as h,C as u,x as l,D as r,A as t,v as B,K as E,ai as k,u as _,I as C,J as b,L as n,h as N}from"./vue-I_6pZIWR.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const D={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const a=v(),o=V(a.roles[0]);return h(o,i=>{a.changeRoles(i)}),(i,e)=>{const c=w,d=R,m=g,p=x;return l(),u(p,{shadow:"never"},{default:r(()=>[t("div",null,[e[1]||(e[1]=t("span",null,"你的角色:",-1)),(l(!0),B(E,null,k(_(a).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[C(b(s),1)]),_:2},1024))),128))]),t("div",D,[e[2]||(e[2]=t("span",null,"切换用户:",-1)),n(m,{modelValue:_(o),"onUpdate:modelValue":e[0]||(e[0]=s=>N(o)?o.value=s:null)},{default:r(()=>[n(d,{label:"editor",value:"editor"}),n(d,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])]),_:1})}}}),J=y(I,[["__scopeId","data-v-93f990ce"]]);export{J as S};
|
||||
import{e as v}from"./index-DVW30Bkn.js";/* empty css *//* empty css */import{n as w,al as g,am as R,o as x}from"./element-BtlHndxu.js";import{t as S,r as V,w as h,C as u,x as l,D as r,A as t,v as B,K as E,ai as k,u as _,I as C,J as b,L as n,h as N}from"./vue-YISEtOLz.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const D={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const a=v(),o=V(a.roles[0]);return h(o,i=>{a.changeRoles(i)}),(i,e)=>{const c=w,d=R,m=g,p=x;return l(),u(p,{shadow:"never"},{default:r(()=>[t("div",null,[e[1]||(e[1]=t("span",null,"你的角色:",-1)),(l(!0),B(E,null,k(_(a).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[C(b(s),1)]),_:2},1024))),128))]),t("div",D,[e[2]||(e[2]=t("span",null,"切换用户:",-1)),n(m,{modelValue:_(o),"onUpdate:modelValue":e[0]||(e[0]=s=>N(o)?o.value=s:null)},{default:r(()=>[n(d,{label:"editor",value:"editor"}),n(d,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])]),_:1})}}}),J=y(I,[["__scopeId","data-v-93f990ce"]]);export{J as S};
|
@ -1 +1 @@
|
||||
import{l as g,e as E}from"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as x}from"./SwitchRoles-BHbOs415.js";import{r as P,o as h,ak as w,q as y,v as C,n as T}from"./element-CvpYQ8V9.js";import{t as B,ak as D,v as z,x as a,L as o,D as t,E as p,C as r,I as n,G as u,u as f}from"./vue-I_6pZIWR.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";function v(s){if(g(s)&&s.length>0){const{roles:i}=E();return i.some(e=>s.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin', 'editor'])"),!1}const S={class:"app-container"},V=B({__name:"button-level",setup(s){return(i,e)=>{const l=P,m=h,b=w,d=T,c=C,k=y,_=D("permission");return a(),z("div",S,[o(x),o(m,{header:"权限指令 v-permission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[p((a(),r(l,null,{default:t(()=>e[0]||(e[0]=[n(" admin ")])),_:1})),[[_,["admin"]]]),p((a(),r(l,null,{default:t(()=>e[1]||(e[1]=[n(" admin 和 editor ")])),_:1})),[[_,["admin","editor"]]])]),_:1}),o(m,{header:"权限函数 checkPermission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[o(b,{type:"warning",size:"large"},{default:t(()=>e[2]||(e[2]=[n(" Element Plus 的 el-tab-pane 和 el-table-column 以及其它动态渲染 DOM 的场景不适合使用 v-permission 这种情况下你可以通过 v-if + checkPermission 来实现 ")])),_:1}),o(k,{type:"border-card",class:"margin-top-20"},{default:t(()=>[f(v)(["admin"])?(a(),r(c,{key:0,label:"admin"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[3]||(e[3]=[n(` v-if="checkPermission(['admin'])" `)])),_:1})]),_:1})):u("",!0),f(v)(["admin","editor"])?(a(),r(c,{key:1,label:"admin 和 editor"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[4]||(e[4]=[n(` v-if="checkPermission(['admin', 'editor'])" `)])),_:1})]),_:1})):u("",!0)]),_:1})]),_:1})])}}}),H=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{H as default};
|
||||
import{l as g,e as E}from"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as x}from"./SwitchRoles-Ov_pRRGu.js";import{r as P,o as h,ak as w,q as y,v as C,n as T}from"./element-BtlHndxu.js";import{t as B,ak as D,v as z,x as a,L as o,D as t,E as p,C as r,I as n,G as u,u as f}from"./vue-YISEtOLz.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";function v(s){if(g(s)&&s.length>0){const{roles:i}=E();return i.some(e=>s.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin', 'editor'])"),!1}const S={class:"app-container"},V=B({__name:"button-level",setup(s){return(i,e)=>{const l=P,m=h,b=w,d=T,c=C,k=y,_=D("permission");return a(),z("div",S,[o(x),o(m,{header:"权限指令 v-permission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[p((a(),r(l,null,{default:t(()=>e[0]||(e[0]=[n(" admin ")])),_:1})),[[_,["admin"]]]),p((a(),r(l,null,{default:t(()=>e[1]||(e[1]=[n(" admin 和 editor ")])),_:1})),[[_,["admin","editor"]]])]),_:1}),o(m,{header:"权限函数 checkPermission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[o(b,{type:"warning",size:"large"},{default:t(()=>e[2]||(e[2]=[n(" Element Plus 的 el-tab-pane 和 el-table-column 以及其它动态渲染 DOM 的场景不适合使用 v-permission 这种情况下你可以通过 v-if + checkPermission 来实现 ")])),_:1}),o(k,{type:"border-card",class:"margin-top-20"},{default:t(()=>[f(v)(["admin"])?(a(),r(c,{key:0,label:"admin"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[3]||(e[3]=[n(` v-if="checkPermission(['admin'])" `)])),_:1})]),_:1})):u("",!0),f(v)(["admin","editor"])?(a(),r(c,{key:1,label:"admin 和 editor"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[4]||(e[4]=[n(` v-if="checkPermission(['admin', 'editor'])" `)])),_:1})]),_:1})):u("",!0)]),_:1})]),_:1})])}}}),H=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{H as default};
|
@ -1 +1 @@
|
||||
import{j as e}from"./index-Dl51U2HS.js";function r(t){return e({url:"tables",method:"post",data:t})}function u(t){return e({url:`tables/${t}`,method:"delete"})}function l(t){return e({url:"tables",method:"put",data:t})}function n(t){return e({url:"tables",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
|
||||
import{j as e}from"./index-DVW30Bkn.js";function r(t){return e({url:"tables",method:"post",data:t})}function u(t){return e({url:`tables/${t}`,method:"delete"})}function l(t){return e({url:"tables",method:"put",data:t})}function n(t){return e({url:"tables",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ae as i,o as p}from"./element-CvpYQ8V9.js";import{v as _,A as o,L as t,D as r,I as l,ac as m,x as d}from"./vue-I_6pZIWR.js";import"./vxe-DakF549o.js";const f={},u={class:"app-container"};function v(x,e){const n=i,a=m("router-view"),s=p;return d(),_("div",u,[o("h4",null,[e[1]||(e[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),t(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>e[0]||(e[0]=[l(" src/router/config.ts ")])),_:1})]),t(s,{header:"二级路由"},{default:r(()=>[t(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
|
||||
import"./index-DVW30Bkn.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ae as i,o as p}from"./element-BtlHndxu.js";import{v as _,A as o,L as t,D as r,I as l,ac as m,x as d}from"./vue-YISEtOLz.js";import"./vxe-aCtyydk-.js";const f={},u={class:"app-container"};function v(x,e){const n=i,a=m("router-view"),s=p;return d(),_("div",u,[o("h4",null,[e[1]||(e[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),t(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>e[0]||(e[0]=[l(" src/router/config.ts ")])),_:1})]),t(s,{header:"二级路由"},{default:r(()=>[t(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css *//* empty css */import{o as r,D as s}from"./element-CvpYQ8V9.js";import{t as p,r as m,v as c,L as o,D as d,u as i,h as u,x as _}from"./vue-I_6pZIWR.js";import"./vxe-DakF549o.js";const f={class:"app-container"},D=p({name:"Level3",__name:"index",setup(x){const e=m("");return(h,t)=>{const a=s,n=r;return _(),c("div",f,[o(n,{header:"三级路由"},{default:d(()=>[o(a,{modelValue:i(e),"onUpdate:modelValue":t[0]||(t[0]=l=>u(e)?e.value=l:null),placeholder:"输入任意字符测试缓存"},null,8,["modelValue"])]),_:1})])}}});export{D as default};
|
||||
import"./index-DVW30Bkn.js";/* empty css *//* empty css */import{o as r,D as s}from"./element-BtlHndxu.js";import{t as p,r as m,v as c,L as o,D as d,u as i,h as u,x as _}from"./vue-YISEtOLz.js";import"./vxe-aCtyydk-.js";const f={class:"app-container"},D=p({name:"Level3",__name:"index",setup(x){const e=m("");return(h,t)=>{const a=s,n=r;return _(),c("div",f,[o(n,{header:"三级路由"},{default:d(()=>[o(a,{modelValue:i(e),"onUpdate:modelValue":t[0]||(t[0]=l=>u(e)?e.value=l:null),placeholder:"输入任意字符测试缓存"},null,8,["modelValue"])]),_:1})])}}});export{D as default};
|
@ -1 +1 @@
|
||||
import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{v as n,A as e,x as a}from"./vue-I_6pZIWR.js";const r={},i={"pa-20px":"","h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""};function s(c,t){return a(),n("div",i,t[0]||(t[0]=[e("div",{ma:""},[e("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-duration-1s":""}," UnoCSS "),e("div",{op30:"","text-lg":"",fw300:"",m1:"","dark:op60":""}," 该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss "),e("div",{m2:"","flex-x-center":"","text-lg":"",op30:"",hover:"op80","dark:op60":"","dark:hover":"op80"},[e("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"}," 推荐阅读:重新构想原子化 CSS ")])],-1)]))}const f=o(r,[["render",s]]);export{f as default};
|
||||
import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{v as n,A as e,x as a}from"./vue-YISEtOLz.js";const r={},i={"pa-20px":"","h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""};function s(c,t){return a(),n("div",i,t[0]||(t[0]=[e("div",{ma:""},[e("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-duration-1s":""}," UnoCSS "),e("div",{op30:"","text-lg":"",fw300:"",m1:"","dark:op60":""}," 该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss "),e("div",{m2:"","flex-x-center":"","text-lg":"",op30:"",hover:"op80","dark:op60":"","dark:hover":"op80"},[e("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"}," 推荐阅读:重新构想原子化 CSS ")])],-1)]))}const f=o(r,[["render",s]]);export{f as default};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{t,az as r,ay as a,v as o,x as s}from"./vue-I_6pZIWR.js";const m=t({__name:"index",setup(n){const e=a();return r().replace({path:`/${e.params.path}`,query:e.query}),(c,p)=>(s(),o("div"))}});export{m as default};
|
||||
import{t,az as r,ay as a,v as o,x as s}from"./vue-YISEtOLz.js";const m=t({__name:"index",setup(n){const e=a();return r().replace({path:`/${e.params.path}`,query:e.query}),(c,p)=>(s(),o("div"))}});export{m as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{j as B,e as M,u as N}from"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css */import{t as b,v as E,F as R,aE as U,x as h,r as m,V as A,C as D,G as T,L as o,A as c,u as e,D as a,al as $,R as G,I as K,az as L}from"./vue-I_6pZIWR.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-Bxxv_uos.js";import{W as j,X as J,D as W,Y as X,Z as Y,_ as Z,$ as H,i as P,a0 as Q,a1 as ee,r as oe,E as se}from"./element-CvpYQ8V9.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";const te="/v3-admin-vite/assets/logo-text-2-y4GmJqxb.png";function ae(){return B({url:"auth/captcha",method:"get"})}function re(r){return B({url:"auth/login",method:"post",data:r})}const le=b({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(r){const i=r;return(p,u)=>(h(),E("div",{class:R(["owl",{"owl-password":i.closeEyes}])},u[0]||(u[0]=[U('<div class="hand-down-left" data-v-9d98ae89></div><div class="hand-down-right" data-v-9d98ae89></div><div class="hand-up-left" data-v-9d98ae89></div><div class="hand-up-right" data-v-9d98ae89></div><div class="close-eyes" data-v-9d98ae89></div>',5)]),2))}}),ne=k(le,[["__scopeId","data-v-9d98ae89"]]);function de(){const r=m(!1);return{isFocus:r,handleBlur:()=>{r.value=!1},handleFocus:()=>{r.value=!0}}}const ie={class:"login-container"},ue={class:"login-card"},ce={class:"content"},me=b({__name:"index",setup(r){const i=L(),p=M(),u=N(),{isFocus:C,handleBlur:x,handleFocus:w}=de(),y=m(null),f=m(!1),_=m(""),t=A({username:"admin",password:"12345678",code:""}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:8,max:16,message:"长度在 8 到 16 个字符",trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur"}]};function F(){var l;(l=y.value)==null||l.validate(s=>{if(!s){se.error("表单校验不通过");return}f.value=!0,re(t).then(({data:n})=>{p.setToken(n.token),i.push("/")}).catch(()=>{g(),t.password=""}).finally(()=>{f.value=!1})})}function g(){t.code="",_.value="",ae().then(l=>{_.value=l.data})}return g(),(l,s)=>{const n=W,v=J,V=P,S=H,z=oe,q=j;return h(),E("div",ie,[e(u).showThemeSwitch?(h(),D(O,{key:0,class:"theme-switch"})):T("",!0),o(ne,{"close-eyes":e(C)},null,8,["close-eyes"]),c("div",ue,[s[4]||(s[4]=c("div",{class:"title"},[c("img",{src:te})],-1)),c("div",ce,[o(q,{ref_key:"loginFormRef",ref:y,model:e(t),rules:I,onKeyup:$(F,["enter"])},{default:a(()=>[o(v,{prop:"username"},{default:a(()=>[o(n,{modelValue:e(t).username,"onUpdate:modelValue":s[0]||(s[0]=d=>e(t).username=d),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":e(X),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),o(v,{prop:"password"},{default:a(()=>[o(n,{modelValue:e(t).password,"onUpdate:modelValue":s[1]||(s[1]=d=>e(t).password=d),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":e(Y),size:"large","show-password":"",onBlur:e(x),onFocus:e(w)},null,8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(v,{prop:"code"},{default:a(()=>[o(n,{modelValue:e(t).code,"onUpdate:modelValue":s[2]||(s[2]=d=>e(t).code=d),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":e(Z),maxlength:"7",size:"large",onBlur:e(x),onFocus:e(w)},{append:a(()=>[o(S,{src:e(_),draggable:"false",onClick:g},{placeholder:a(()=>[o(V,null,{default:a(()=>[o(e(ee))]),_:1})]),error:a(()=>[o(V,null,{default:a(()=>[o(e(Q))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(z,{loading:e(f),type:"primary",size:"large",onClick:G(F,["prevent"])},{default:a(()=>s[3]||(s[3]=[K(" 登 录 ")])),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),be=k(me,[["__scopeId","data-v-bf361db9"]]);export{be as default};
|
||||
import{j as B,e as M,u as N}from"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css */import{t as b,v as E,F as R,aE as U,x as h,r as m,V as A,C as D,G as T,L as o,A as c,u as e,D as a,al as $,R as G,I as K,az as L}from"./vue-YISEtOLz.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-F809u7yk.js";import{W as j,X as J,D as W,Y as X,Z as Y,_ as Z,$ as H,i as P,a0 as Q,a1 as ee,r as oe,E as se}from"./element-BtlHndxu.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";const te="/v3-admin-vite/assets/logo-text-2-y4GmJqxb.png";function ae(){return B({url:"auth/captcha",method:"get"})}function re(r){return B({url:"auth/login",method:"post",data:r})}const le=b({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(r){const i=r;return(p,u)=>(h(),E("div",{class:R(["owl",{"owl-password":i.closeEyes}])},u[0]||(u[0]=[U('<div class="hand-down-left" data-v-9d98ae89></div><div class="hand-down-right" data-v-9d98ae89></div><div class="hand-up-left" data-v-9d98ae89></div><div class="hand-up-right" data-v-9d98ae89></div><div class="close-eyes" data-v-9d98ae89></div>',5)]),2))}}),ne=k(le,[["__scopeId","data-v-9d98ae89"]]);function de(){const r=m(!1);return{isFocus:r,handleBlur:()=>{r.value=!1},handleFocus:()=>{r.value=!0}}}const ie={class:"login-container"},ue={class:"login-card"},ce={class:"content"},me=b({__name:"index",setup(r){const i=L(),p=M(),u=N(),{isFocus:C,handleBlur:x,handleFocus:w}=de(),y=m(null),f=m(!1),_=m(""),t=A({username:"admin",password:"12345678",code:""}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:8,max:16,message:"长度在 8 到 16 个字符",trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur"}]};function F(){var l;(l=y.value)==null||l.validate(s=>{if(!s){se.error("表单校验不通过");return}f.value=!0,re(t).then(({data:n})=>{p.setToken(n.token),i.push("/")}).catch(()=>{g(),t.password=""}).finally(()=>{f.value=!1})})}function g(){t.code="",_.value="",ae().then(l=>{_.value=l.data})}return g(),(l,s)=>{const n=W,v=J,V=P,S=H,z=oe,q=j;return h(),E("div",ie,[e(u).showThemeSwitch?(h(),D(O,{key:0,class:"theme-switch"})):T("",!0),o(ne,{"close-eyes":e(C)},null,8,["close-eyes"]),c("div",ue,[s[4]||(s[4]=c("div",{class:"title"},[c("img",{src:te})],-1)),c("div",ce,[o(q,{ref_key:"loginFormRef",ref:y,model:e(t),rules:I,onKeyup:$(F,["enter"])},{default:a(()=>[o(v,{prop:"username"},{default:a(()=>[o(n,{modelValue:e(t).username,"onUpdate:modelValue":s[0]||(s[0]=d=>e(t).username=d),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":e(X),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),o(v,{prop:"password"},{default:a(()=>[o(n,{modelValue:e(t).password,"onUpdate:modelValue":s[1]||(s[1]=d=>e(t).password=d),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":e(Y),size:"large","show-password":"",onBlur:e(x),onFocus:e(w)},null,8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(v,{prop:"code"},{default:a(()=>[o(n,{modelValue:e(t).code,"onUpdate:modelValue":s[2]||(s[2]=d=>e(t).code=d),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":e(Z),maxlength:"7",size:"large",onBlur:e(x),onFocus:e(w)},{append:a(()=>[o(S,{src:e(_),draggable:"false",onClick:g},{placeholder:a(()=>[o(V,null,{default:a(()=>[o(e(ee))]),_:1})]),error:a(()=>[o(V,null,{default:a(()=>[o(e(Q))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(z,{loading:e(f),type:"primary",size:"large",onClick:G(F,["prevent"])},{default:a(()=>s[3]||(s[3]=[K(" 登 录 ")])),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),be=k(me,[["__scopeId","data-v-bf361db9"]]);export{be as default};
|
@ -1 +1 @@
|
||||
import{k as w}from"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{x,i as E,a2 as g,t as C,y as D,z as h}from"./element-CvpYQ8V9.js";import{t as B,C as s,D as e,A as l,L as o,u as t,v as T,K as b,ai as v,x as a,J as y}from"./vue-I_6pZIWR.js";const S=B({__name:"index",setup(L){const{themeList:r,activeThemeName:c,setTheme:i}=w();return(N,z)=>{const _=E,m=C,p=h,d=D,u=x;return a(),s(u,{trigger:"click"},{dropdown:e(()=>[o(d,null,{default:e(()=>[(a(!0),T(b,null,v(t(r),(n,f)=>(a(),s(p,{key:f,disabled:t(c)===n.name,onClick:k=>t(i)(k,n.name)},{default:e(()=>[l("span",null,y(n.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[l("div",null,[o(m,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[o(_,{size:20},{default:e(()=>[o(t(g))]),_:1})]),_:1})])]),_:1})}}});export{S as _};
|
||||
import{k as w}from"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{x,i as E,a2 as g,t as C,y as D,z as h}from"./element-BtlHndxu.js";import{t as B,C as s,D as e,A as l,L as o,u as t,v as T,K as b,ai as v,x as a,J as y}from"./vue-YISEtOLz.js";const S=B({__name:"index",setup(L){const{themeList:r,activeThemeName:c,setTheme:i}=w();return(N,z)=>{const _=E,m=C,p=h,d=D,u=x;return a(),s(u,{trigger:"click"},{dropdown:e(()=>[o(d,null,{default:e(()=>[(a(!0),T(b,null,v(t(r),(n,f)=>(a(),s(p,{key:f,disabled:t(c)===n.name,onClick:k=>t(i)(k,n.name)},{default:e(()=>[l("span",null,y(n.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[l("div",null,[o(m,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[o(_,{size:20},{default:e(()=>[o(t(g))]),_:1})]),_:1})])]),_:1})}}});export{S as _};
|
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css */import{S as a}from"./SwitchRoles-BHbOs415.js";import{o as r}from"./element-CvpYQ8V9.js";import{t as s,v as n,x as p,L as t,D as c,I as m}from"./vue-I_6pZIWR.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";/* empty css */const i={class:"app-container"},d=s({__name:"page-level",setup(l){return(f,e)=>{const o=r;return p(),n("div",i,[t(a),t(o,{shadow:"never",class:"content"},{default:c(()=>e[0]||(e[0]=[m(" 当前页面只有「Admin」角色可见,切换角色后将不能进入该页面 ")])),_:1})])}}}),B=_(d,[["__scopeId","data-v-a30433e8"]]);export{B as default};
|
||||
import"./index-DVW30Bkn.js";/* empty css */import{S as a}from"./SwitchRoles-Ov_pRRGu.js";import{o as r}from"./element-BtlHndxu.js";import{t as s,v as n,x as p,L as t,D as c,I as m}from"./vue-YISEtOLz.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";/* empty css */const i={class:"app-container"},d=s({__name:"page-level",setup(l){return(f,e)=>{const o=r;return p(),n("div",i,[t(a),t(o,{shadow:"never",class:"content"},{default:c(()=>e[0]||(e[0]=[m(" 当前页面只有「Admin」角色可见,切换角色后将不能进入该页面 ")])),_:1})])}}}),B=_(d,[["__scopeId","data-v-a30433e8"]]);export{B as default};
|
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as u,f as w,t as x,v as f,L as d,E as v,D as i,u as l,C as p,I as C,K as D,ai as R,h as E,x as r,z as k}from"./vue-I_6pZIWR.js";import{E as A,o as L,a4 as M,af as T,ag as B,ah as F}from"./element-CvpYQ8V9.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";function O(c){const{api:a}=c,o=u(!1),e=u([]),m=u(""),t=()=>{o.value=!0,e.value=[],a().then(s=>{e.value=s.data}).finally(()=>{o.value=!1})};return w(()=>{t()}),{loading:o,options:e,value:m}}const P={code:0,data:[{label:"苹果",value:1},{label:"香蕉",value:2},{label:"橘子",value:3,disabled:!0}],message:"获取 Select 数据成功"},S="接口发生错误";function y(){return new Promise((c,a)=>{setTimeout(()=>{Math.random()<.8?c(P):(a(new Error(S)),A.error(S))},2e3)})}const I={class:"app-container"},U=x({__name:"use-fetch-select",setup(c){const{loading:a,options:o,value:e}=O({api:y});return(m,t)=>{const s=L,h=F,g=T,V=B,_=M;return r(),f("div",I,[d(s,{shadow:"never"},{default:i(()=>t[2]||(t[2]=[C(" 该示例是演示:通过 composable 自动调用 api 后拿到 Select 组件需要的数据并传递给 Select 组件 ")])),_:1}),v((r(),p(s,{header:"Select 示例",shadow:"never"},{default:i(()=>[d(g,{modelValue:l(e),"onUpdate:modelValue":t[0]||(t[0]=n=>E(e)?e.value=n:null),filterable:""},{default:i(()=>[(r(!0),f(D,null,R(l(o),(n,b)=>(r(),p(h,k({ref_for:!0},n,{key:b,placeholder:"请选择"}),null,16))),128))]),_:1},8,["modelValue"])]),_:1})),[[_,l(a)]]),v((r(),p(s,{header:"Select V2 示例(如果数据量过多,可以选择该组件)",shadow:"never"},{default:i(()=>[d(V,{modelValue:l(e),"onUpdate:modelValue":t[1]||(t[1]=n=>E(e)?e.value=n:null),options:l(o),filterable:"",placeholder:"请选择"},null,8,["modelValue","options"])]),_:1})),[[_,l(a)]])])}}}),Y=N(U,[["__scopeId","data-v-15aa76c1"]]);export{Y as default};
|
||||
import"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as u,f as w,t as x,v as f,L as d,E as v,D as i,u as l,C as p,I as C,K as D,ai as R,h as E,x as r,z as k}from"./vue-YISEtOLz.js";import{E as A,o as L,a4 as M,af as T,ag as B,ah as F}from"./element-BtlHndxu.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";function O(c){const{api:a}=c,o=u(!1),e=u([]),m=u(""),t=()=>{o.value=!0,e.value=[],a().then(s=>{e.value=s.data}).finally(()=>{o.value=!1})};return w(()=>{t()}),{loading:o,options:e,value:m}}const P={code:0,data:[{label:"苹果",value:1},{label:"香蕉",value:2},{label:"橘子",value:3,disabled:!0}],message:"获取 Select 数据成功"},S="接口发生错误";function y(){return new Promise((c,a)=>{setTimeout(()=>{Math.random()<.8?c(P):(a(new Error(S)),A.error(S))},2e3)})}const I={class:"app-container"},U=x({__name:"use-fetch-select",setup(c){const{loading:a,options:o,value:e}=O({api:y});return(m,t)=>{const s=L,h=F,g=T,V=B,_=M;return r(),f("div",I,[d(s,{shadow:"never"},{default:i(()=>t[2]||(t[2]=[C(" 该示例是演示:通过 composable 自动调用 api 后拿到 Select 组件需要的数据并传递给 Select 组件 ")])),_:1}),v((r(),p(s,{header:"Select 示例",shadow:"never"},{default:i(()=>[d(g,{modelValue:l(e),"onUpdate:modelValue":t[0]||(t[0]=n=>E(e)?e.value=n:null),filterable:""},{default:i(()=>[(r(!0),f(D,null,R(l(o),(n,b)=>(r(),p(h,k({ref_for:!0},n,{key:b,placeholder:"请选择"}),null,16))),128))]),_:1},8,["modelValue"])]),_:1})),[[_,l(a)]]),v((r(),p(s,{header:"Select V2 示例(如果数据量过多,可以选择该组件)",shadow:"never"},{default:i(()=>[d(V,{modelValue:l(e),"onUpdate:modelValue":t[1]||(t[1]=n=>E(e)?e.value=n:null),options:l(o),filterable:"",placeholder:"请选择"},null,8,["modelValue","options"])]),_:1})),[[_,l(a)]])])}}}),Y=N(U,[["__scopeId","data-v-15aa76c1"]]);export{Y as default};
|
@ -1,4 +1,4 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css */import{ai as m,o as _,r as g,E as u}from"./element-CvpYQ8V9.js";import{t as f,v as E,L as n,D as a,I as c,x as y}from"./vue-I_6pZIWR.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";const x={lock:!0,text:"加载中..."},p=(o,e={})=>{let r;return async(...i)=>{try{return r=m.service({...x,...e}),await o(...i)}finally{r.close()}}},v={code:0,data:{list:[]},message:"获取成功"};function C(o){return new Promise(e=>{setTimeout(()=>{e({...v,data:{list:o}})},1e3)})}function S(){return new Promise((o,e)=>{setTimeout(()=>{e(new Error("发生错误"))},1e3)})}const k={class:"app-container"},A=`
|
||||
import"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css */import{ai as m,o as _,r as g,E as u}from"./element-BtlHndxu.js";import{t as f,v as E,L as n,D as a,I as c,x as y}from"./vue-YISEtOLz.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";const x={lock:!0,text:"加载中..."},p=(o,e={})=>{let r;return async(...i)=>{try{return r=m.service({...x,...e}),await o(...i)}finally{r.close()}}},v={code:0,data:{list:[]},message:"获取成功"};function C(o){return new Promise(e=>{setTimeout(()=>{e({...v,data:{list:o}})},1e3)})}function S(){return new Promise((o,e)=>{setTimeout(()=>{e(new Error("发生错误"))},1e3)})}const k={class:"app-container"},A=`
|
||||
<path class="path" d="
|
||||
M 30 15
|
||||
L 28 17
|
@ -1 +1 @@
|
||||
import"./index-Dl51U2HS.js";/* empty css *//* empty css *//* empty css */import{u as d}from"./useWatermark-f5j16u-H.js";import{o as _,aj as C,r as v}from"./element-CvpYQ8V9.js";import{t as y,r as W,v as w,L as o,D as t,I as r,A as x,u as l,x as b}from"./vue-I_6pZIWR.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-DakF549o.js";const g={class:"app-container"},B=y({__name:"use-watermark",setup($){const s=W(null),{setWatermark:f,clearWatermark:i}=d(s),{setWatermark:p,clearWatermark:k}=d();return(E,e)=>{const m=_,a=v,u=C;return b(),w("div",g,[o(m,{shadow:"never"},{default:t(()=>e[4]||(e[4]=[r(" 该示例是演示:通过调用 composable 开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ")])),_:1}),o(m,{header:"示例",shadow:"never"},{footer:t(()=>[o(u,null,{default:t(()=>[o(a,{type:"primary",onClick:e[0]||(e[0]=n=>l(f)("局部水印",{color:"#409eff"}))},{default:t(()=>e[5]||(e[5]=[r(" 创建局部水印 ")])),_:1}),o(a,{type:"warning",onClick:e[1]||(e[1]=n=>l(f)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:t(()=>e[6]||(e[6]=[r(" 创建无防御局部水印 ")])),_:1}),o(a,{type:"danger",onClick:l(i)},{default:t(()=>e[7]||(e[7]=[r(" 清除局部水印 ")])),_:1},8,["onClick"])]),_:1}),o(u,null,{default:t(()=>[o(a,{type:"primary",onClick:e[2]||(e[2]=n=>l(p)("全局水印",{color:"#409eff"}))},{default:t(()=>e[8]||(e[8]=[r(" 创建全局水印 ")])),_:1}),o(a,{type:"warning",onClick:e[3]||(e[3]=n=>l(p)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:t(()=>e[9]||(e[9]=[r(" 创建无防御全局水印 ")])),_:1}),o(a,{type:"danger",onClick:l(k)},{default:t(()=>e[10]||(e[10]=[r(" 清除全局水印 ")])),_:1},8,["onClick"])]),_:1})]),default:t(()=>[x("div",{ref_key:"localRef",ref:s,class:"local"},null,512)]),_:1})])}}}),T=c(B,[["__scopeId","data-v-2e8369f3"]]);export{T as default};
|
||||
import"./index-DVW30Bkn.js";/* empty css *//* empty css *//* empty css */import{u as d}from"./useWatermark-CS9E0QYX.js";import{o as _,aj as C,r as v}from"./element-BtlHndxu.js";import{t as y,r as W,v as w,L as o,D as t,I as r,A as x,u as l,x as b}from"./vue-YISEtOLz.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-aCtyydk-.js";const g={class:"app-container"},B=y({__name:"use-watermark",setup($){const s=W(null),{setWatermark:f,clearWatermark:i}=d(s),{setWatermark:p,clearWatermark:k}=d();return(E,e)=>{const m=_,a=v,u=C;return b(),w("div",g,[o(m,{shadow:"never"},{default:t(()=>e[4]||(e[4]=[r(" 该示例是演示:通过调用 composable 开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ")])),_:1}),o(m,{header:"示例",shadow:"never"},{footer:t(()=>[o(u,null,{default:t(()=>[o(a,{type:"primary",onClick:e[0]||(e[0]=n=>l(f)("局部水印",{color:"#409eff"}))},{default:t(()=>e[5]||(e[5]=[r(" 创建局部水印 ")])),_:1}),o(a,{type:"warning",onClick:e[1]||(e[1]=n=>l(f)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:t(()=>e[6]||(e[6]=[r(" 创建无防御局部水印 ")])),_:1}),o(a,{type:"danger",onClick:l(i)},{default:t(()=>e[7]||(e[7]=[r(" 清除局部水印 ")])),_:1},8,["onClick"])]),_:1}),o(u,null,{default:t(()=>[o(a,{type:"primary",onClick:e[2]||(e[2]=n=>l(p)("全局水印",{color:"#409eff"}))},{default:t(()=>e[8]||(e[8]=[r(" 创建全局水印 ")])),_:1}),o(a,{type:"warning",onClick:e[3]||(e[3]=n=>l(p)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:t(()=>e[9]||(e[9]=[r(" 创建无防御全局水印 ")])),_:1}),o(a,{type:"danger",onClick:l(k)},{default:t(()=>e[10]||(e[10]=[r(" 清除全局水印 ")])),_:1},8,["onClick"])]),_:1})]),default:t(()=>[x("div",{ref_key:"localRef",ref:s,class:"local"},null,512)]),_:1})])}}}),T=c(B,[["__scopeId","data-v-2e8369f3"]]);export{T as default};
|
@ -1 +1 @@
|
||||
import{B as u}from"./element-CvpYQ8V9.js";import{r as L,U as x}from"./vue-I_6pZIWR.js";const C={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=L(document.body);function $(n=E){let v,d,t=null;const r={watermarkElMutationObserver:void 0,parentElMutationObserver:void 0,parentElResizeObserver:void 0},O=(e,a={})=>{if(!n.value)return console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");v=e,d={...C,...a},t?b():m(),f(n.value)},m=()=>{const e=n.value.tagName.toLowerCase()===E.value.tagName.toLowerCase(),a=e?"fixed":"absolute",i=e?"":"relative";t=document.createElement("div"),t.style.pointerEvents="none",t.style.top="0",t.style.left="0",t.style.position=a,t.style.zIndex="99999";const{clientWidth:s,clientHeight:l}=n.value;b({width:s,height:l}),n.value.style.position=i,n.value.appendChild(t)},b=(e={})=>{t&&(v&&(t.style.background=`url(${y()}) left top repeat`),e.width&&(t.style.width=`${e.width}px`),e.height&&(t.style.height=`${e.height}px`))},y=()=>{const{color:e,opacity:a,size:i,family:s,angle:l,width:z,height:w}=d,c=document.createElement("canvas");c.width=z,c.height=w;const o=c.getContext("2d");return o&&(o.fillStyle=e,o.globalAlpha=a,o.font=`${i}px ${s}`,o.rotate(Math.PI/180*l),o.fillText(v,0,w/2)),c.toDataURL()},h=()=>{if(!(!n.value||!t)){p();try{n.value.removeChild(t)}catch{console.warn("水印元素已不存在,请重新创建")}finally{t=null}}},k=u(()=>{h(),m(),f(n.value)},100),f=e=>{d.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&g(e):p("mutation"),r.parentElResizeObserver||M(e)},p=(e="all")=>{var a,i,s;(e==="mutation"||e==="all")&&((a=r.watermarkElMutationObserver)==null||a.disconnect(),r.watermarkElMutationObserver=void 0,(i=r.parentElMutationObserver)==null||i.disconnect(),r.parentElMutationObserver=void 0),(e==="resize"||e==="all")&&((s=r.parentElResizeObserver)==null||s.disconnect(),r.parentElResizeObserver=void 0)},g=e=>{const a=u(i=>{i.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&k();break;case"childList":s.removedNodes.forEach(l=>{l===t&&e.appendChild(t)});break}},100))},100);r.watermarkElMutationObserver=new MutationObserver(a),r.parentElMutationObserver=new MutationObserver(a),r.watermarkElMutationObserver.observe(t,{attributes:!0,childList:!1,subtree:!1}),r.parentElMutationObserver.observe(e,{attributes:!1,childList:!0,subtree:!1})},M=e=>{const a=u(()=>{const{clientWidth:i,clientHeight:s}=e;b({width:i,height:s})},500);r.parentElResizeObserver=new ResizeObserver(a),r.parentElResizeObserver.observe(e)};return x(()=>{h()}),{setWatermark:O,clearWatermark:h}}export{$ as u};
|
||||
import{B as u}from"./element-BtlHndxu.js";import{r as L,U as x}from"./vue-YISEtOLz.js";const C={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=L(document.body);function $(n=E){let v,d,t=null;const r={watermarkElMutationObserver:void 0,parentElMutationObserver:void 0,parentElResizeObserver:void 0},O=(e,a={})=>{if(!n.value)return console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");v=e,d={...C,...a},t?b():m(),f(n.value)},m=()=>{const e=n.value.tagName.toLowerCase()===E.value.tagName.toLowerCase(),a=e?"fixed":"absolute",i=e?"":"relative";t=document.createElement("div"),t.style.pointerEvents="none",t.style.top="0",t.style.left="0",t.style.position=a,t.style.zIndex="99999";const{clientWidth:s,clientHeight:l}=n.value;b({width:s,height:l}),n.value.style.position=i,n.value.appendChild(t)},b=(e={})=>{t&&(v&&(t.style.background=`url(${y()}) left top repeat`),e.width&&(t.style.width=`${e.width}px`),e.height&&(t.style.height=`${e.height}px`))},y=()=>{const{color:e,opacity:a,size:i,family:s,angle:l,width:z,height:w}=d,c=document.createElement("canvas");c.width=z,c.height=w;const o=c.getContext("2d");return o&&(o.fillStyle=e,o.globalAlpha=a,o.font=`${i}px ${s}`,o.rotate(Math.PI/180*l),o.fillText(v,0,w/2)),c.toDataURL()},h=()=>{if(!(!n.value||!t)){p();try{n.value.removeChild(t)}catch{console.warn("水印元素已不存在,请重新创建")}finally{t=null}}},k=u(()=>{h(),m(),f(n.value)},100),f=e=>{d.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&g(e):p("mutation"),r.parentElResizeObserver||M(e)},p=(e="all")=>{var a,i,s;(e==="mutation"||e==="all")&&((a=r.watermarkElMutationObserver)==null||a.disconnect(),r.watermarkElMutationObserver=void 0,(i=r.parentElMutationObserver)==null||i.disconnect(),r.parentElMutationObserver=void 0),(e==="resize"||e==="all")&&((s=r.parentElResizeObserver)==null||s.disconnect(),r.parentElResizeObserver=void 0)},g=e=>{const a=u(i=>{i.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&k();break;case"childList":s.removedNodes.forEach(l=>{l===t&&e.appendChild(t)});break}},100))},100);r.watermarkElMutationObserver=new MutationObserver(a),r.parentElMutationObserver=new MutationObserver(a),r.watermarkElMutationObserver.observe(t,{attributes:!0,childList:!1,subtree:!1}),r.parentElMutationObserver.observe(e,{attributes:!1,childList:!0,subtree:!1})},M=e=>{const a=u(()=>{const{clientWidth:i,clientHeight:s}=e;b({width:i,height:s})},500);r.parentElResizeObserver=new ResizeObserver(a),r.parentElResizeObserver.observe(e)};return x(()=>{h()}),{setWatermark:O,clearWatermark:h}}export{$ as u};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
index.html
10
index.html
@ -7,11 +7,11 @@
|
||||
<link rel="stylesheet" href="/v3-admin-vite/app-loading.css" />
|
||||
<title>V3 Admin Vite</title>
|
||||
<script src="/v3-admin-vite/detect-ie.js" defer></script>
|
||||
<script type="module" crossorigin src="/v3-admin-vite/assets/index-Dl51U2HS.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vue-I_6pZIWR.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/element-CvpYQ8V9.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vxe-DakF549o.js">
|
||||
<link rel="stylesheet" crossorigin href="/v3-admin-vite/assets/index-Qep4X6Qz.css">
|
||||
<script type="module" crossorigin src="/v3-admin-vite/assets/index-DVW30Bkn.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vue-YISEtOLz.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/element-BtlHndxu.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vxe-aCtyydk-.js">
|
||||
<link rel="stylesheet" crossorigin href="/v3-admin-vite/assets/index-CSbaQypd.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
|
Loading…
x
Reference in New Issue
Block a user