mirror of
https://github.com/un-pany/v3-admin-vite.git
synced 2025-04-21 11:29:20 +08:00
Deploying to gh-pages from @ c84b7bcca157f1bf47b0b4ce64c413359d9c0c2e 🚀
This commit is contained in:
parent
2c76758d0b
commit
3db2222489
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
assets/Layout-dfDczuey.js
Normal file
1
assets/Layout-dfDczuey.js
Normal file
@ -0,0 +1 @@
|
||||
import"./index-vBiNzsrd.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as c}from"./element-Bfc6rBzi.js";import{v as _,A as d,L as t,y as i,J as o,a2 as l,ac as m,x as p}from"./vue-Cbulaufo.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 +0,0 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{t as c}from"./element-oKb_SSI8.js";import{ac as _,v as d,x as i,A as l,y as m,L as e,J as o,a2 as p}from"./vue-DGZ00u4B.js";const u={},f={class:"error"},v={class:"error-svg"};function x(r,t){const s=c,a=_("router-link");return d(),i("div",f,[l("div",v,[m(r.$slots,"default",{},void 0,!0)]),e(a,{to:"/"},{default:o(()=>[e(s,{type:"primary"},{default:o(()=>t[0]||(t[0]=[p(" 回到首页 ")])),_:1})]),_:1})])}const V=n(u,[["render",x],["__scopeId","data-v-19cd37a7"]]);export{V as L};
|
@ -1 +1 @@
|
||||
import{e as v}from"./index-Crkq5Cs3.js";/* empty css *//* empty css */import{n as w,ak as g,al as R,o as x}from"./element-oKb_SSI8.js";import{t as S,r as V,w as h,v as l,I as u,J as r,A as a,x as k,G as B,ai as E,u as _,a2 as b,O as C,L as n,h as N}from"./vue-DGZ00u4B.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const t=v(),o=V(t.roles[0]);return h(o,i=>{t.changeRoles(i)}),(i,e)=>{const c=w,d=g,p=R,m=x;return l(),u(m,{shadow:"never"},{default:r(()=>[a("div",null,[e[1]||(e[1]=a("span",null,"你的角色:",-1)),(l(!0),k(B,null,E(_(t).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[b(C(s),1)]),_:2},1024))),128))]),a("div",G,[e[2]||(e[2]=a("span",null,"切换用户:",-1)),n(p,{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-vBiNzsrd.js";/* empty css *//* empty css */import{n as w,ak as g,al as R,o as x}from"./element-Bfc6rBzi.js";import{t as S,r as V,w as h,I as u,x as l,J as r,A as a,v as k,G as B,ai as E,u as _,a2 as b,O as C,L as n,h as N}from"./vue-Cbulaufo.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const t=v(),o=V(t.roles[0]);return h(o,i=>{t.changeRoles(i)}),(i,e)=>{const c=w,d=R,p=g,m=x;return l(),u(m,{shadow:"never"},{default:r(()=>[a("div",null,[e[1]||(e[1]=a("span",null,"你的角色:",-1)),(l(!0),k(B,null,E(_(t).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[b(C(s),1)]),_:2},1024))),128))]),a("div",G,[e[2]||(e[2]=a("span",null,"切换用户:",-1)),n(p,{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 +0,0 @@
|
||||
import{j as g,e as x}from"./index-Crkq5Cs3.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as E}from"./SwitchRoles-Dx5oL0eC.js";import{t as P,o as w,aj as h,n as y,w as T,s as B}from"./element-oKb_SSI8.js";import{t as C,ak as z,v as a,x as D,L as o,J as t,R as p,I as r,a2 as s,u,F as f}from"./vue-DGZ00u4B.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.js";function v(n){if(g(n)&&n.length>0){const{roles:i}=x();return i.some(e=>n.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin','editor'])"),!1}const S={class:"app-container"},V=C({__name:"button-level",setup(n){return(i,e)=>{const l=P,m=w,b=h,d=y,c=T,k=B,_=z("permission");return a(),D("div",S,[o(E),o(m,{header:"权限指令 v-permission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[p((a(),r(l,null,{default:t(()=>e[0]||(e[0]=[s(" admin ")])),_:1})),[[_,["admin"]]]),p((a(),r(l,null,{default:t(()=>e[1]||(e[1]=[s(" 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]=[s(" 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(()=>[u(v)(["admin"])?(a(),r(c,{key:0,label:"admin"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[3]||(e[3]=[s(` v-if="checkPermission(['admin'])" `)])),_:1})]),_:1})):f("",!0),u(v)(["admin","editor"])?(a(),r(c,{key:1,label:"admin 和 editor"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[4]||(e[4]=[s(` v-if="checkPermission(['admin', 'editor'])" `)])),_:1})]),_:1})):f("",!0)]),_:1})]),_:1})])}}}),G=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{G as default};
|
1
assets/button-level-ctlZZY3x.js
Normal file
1
assets/button-level-ctlZZY3x.js
Normal file
@ -0,0 +1 @@
|
||||
import{j as g,e as x}from"./index-vBiNzsrd.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as E}from"./SwitchRoles-B6FHv8Yx.js";import{r as P,o as h,aj as w,q as y,v as T,n as B}from"./element-Bfc6rBzi.js";import{t as C,ak as z,v as D,x as a,L as o,J as t,R as p,I as r,a2 as n,F as u,u as f}from"./vue-Cbulaufo.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.js";function v(s){if(g(s)&&s.length>0){const{roles:i}=x();return i.some(e=>s.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin','editor'])"),!1}const S={class:"app-container"},V=C({__name:"button-level",setup(s){return(i,e)=>{const l=P,m=h,b=w,d=B,c=T,k=y,_=z("permission");return a(),D("div",S,[o(E),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})])}}}),G=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{G as default};
|
@ -1 +1 @@
|
||||
import{f as e}from"./index-Crkq5Cs3.js";function r(t){return e({url:"table",method:"post",data:t})}function u(t){return e({url:`table/${t}`,method:"delete"})}function l(t){return e({url:"table",method:"put",data:t})}function n(t){return e({url:"table",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
|
||||
import{f as e}from"./index-vBiNzsrd.js";function r(t){return e({url:"table",method:"post",data:t})}function u(t){return e({url:`table/${t}`,method:"delete"})}function l(t){return e({url:"table",method:"put",data:t})}function n(t){return e({url:"table",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
|
20
assets/element-Bfc6rBzi.js
Normal file
20
assets/element-Bfc6rBzi.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
assets/index--PjD4Qke.js
Normal file
1
assets/index--PjD4Qke.js
Normal file
@ -0,0 +1 @@
|
||||
import{f as B,e as U,u as q}from"./index-vBiNzsrd.js";/* empty css *//* empty css *//* empty css */import{t as E,v as k,H as N,aE as R,x as h,r as m,U as A,I as L,F as T,L as o,A as c,u as e,J as a,al as $,M as D,a2 as J,az as K}from"./vue-Cbulaufo.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-RyIUa5e5.js";import{W as G,X as H,D as W,Y as X,Z as Y,_ as Z,$ as j,i as P,a0 as Q,a1 as ee,r as oe,E as se}from"./element-Bfc6rBzi.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.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:"login/code",method:"get"})}function re(r){return B({url:"users/login",method:"post",data:r})}const le=E({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(r){const i=r;return(p,u)=>(h(),k("div",{class:N(["owl",{"owl-password":i.closeEyes}])},u[0]||(u[0]=[R('<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=b(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=E({__name:"index",setup(r){const i=K(),p=U(),u=q(),{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=H,V=P,S=j,z=oe,M=G;return h(),k("div",ie,[e(u).showThemeSwitch?(h(),L(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(M,{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:D(F,["prevent"])},{default:a(()=>s[3]||(s[3]=[J(" 登 录 ")])),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),Ee=b(me,[["__scopeId","data-v-85c0703d"]]);export{Ee as default};
|
File diff suppressed because one or more lines are too long
1
assets/index-BDx7RDlW.js
Normal file
1
assets/index-BDx7RDlW.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{t,ay as r,az as a,v as o,x as s}from"./vue-DGZ00u4B.js";const m=t({__name:"index",setup(n){const e=r();return a().replace({path:`/${e.params.path}`,query:e.query}),(c,p)=>(o(),s("div"))}});export{m as default};
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css *//* empty css */import{o as r,C as s}from"./element-oKb_SSI8.js";import{t as p,r as m,v as c,x as d,L as o,J as i,u,h as _}from"./vue-DGZ00u4B.js";import"./vxe-BHVxIU4B.js";const f={class:"app-container"},L=p({name:"Level3",__name:"index",setup(x){const e=m("");return(h,t)=>{const a=s,n=r;return c(),d("div",f,[o(n,{header:"三级路由"},{default:i(()=>[o(a,{modelValue:u(e),"onUpdate:modelValue":t[0]||(t[0]=l=>_(e)?e.value=l:null),placeholder:"输入任意字符测试缓存"},null,8,["modelValue"])]),_:1})])}}});export{L as default};
|
1
assets/index-CG-peZIC.js
Normal file
1
assets/index-CG-peZIC.js
Normal file
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{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{v as o,x as a,A as e}from"./vue-DGZ00u4B.js";const r={},i={"uno-padding-20":"","h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""};function s(c,t){return o(),a("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:"","uno-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=n(r,[["render",s]]);export{f as default};
|
||||
import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{v as o,A as e,x as a}from"./vue-Cbulaufo.js";const r={},i={"uno-padding-20":"","h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""};function s(c,t){return a(),o("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:"","uno-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=n(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
1
assets/index-DW_7tmlB.js
Normal file
1
assets/index-DW_7tmlB.js
Normal file
@ -0,0 +1 @@
|
||||
import"./index-vBiNzsrd.js";/* empty css *//* empty css */import{o as r,D as s}from"./element-Bfc6rBzi.js";import{t as p,r as m,v as c,L as o,J as d,u as i,h as u,x as _}from"./vue-Cbulaufo.js";import"./vxe-Y6nCsLC8.js";const f={class:"app-container"},L=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{L as default};
|
@ -1 +0,0 @@
|
||||
import{f as B,e as U,u as q}from"./index-Crkq5Cs3.js";/* empty css *//* empty css *//* empty css */import{t as k,v as h,x as E,aE as N,H as R,r as m,az as A,U as L,u as e,I as T,F as $,L as o,A as c,J as a,al as J,M as K,a2 as O}from"./vue-DGZ00u4B.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-CQoeBOKn.js";import{W as G,X as H,Y as W,Z as X,_ as Y,$ as Z,E as j,C as P,a0 as Q,k as ee,a1 as oe,t as se}from"./element-oKb_SSI8.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.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:"login/code",method:"get"})}function re(r){return B({url:"users/login",method:"post",data:r})}const le=k({__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]=[N('<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=b(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=k({__name:"index",setup(r){const i=A(),p=U(),u=q(),{isFocus:C,handleBlur:x,handleFocus:w}=de(),y=m(null),f=m(!1),_=m(""),t=L({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){j.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=P,v=Q,V=ee,S=oe,z=se,M=G;return h(),E("div",ie,[e(u).showThemeSwitch?(h(),T(D,{key:0,class:"theme-switch"})):$("",!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(M,{ref_key:"loginFormRef",ref:y,model:e(t),rules:I,onKeyup:J(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(H),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(W),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(X),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(Y))]),_:1})]),error:a(()=>[o(V,null,{default:a(()=>[o(e(Z))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(z,{loading:e(f),type:"primary",size:"large",onClick:K(F,["prevent"])},{default:a(()=>s[3]||(s[3]=[O(" 登 录 ")])),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),ke=b(me,[["__scopeId","data-v-85c0703d"]]);export{ke as default};
|
@ -1 +1 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ad as i,o as p}from"./element-oKb_SSI8.js";import{ac as _,v as l,x as m,A as o,L as e,J as r,a2 as d}from"./vue-DGZ00u4B.js";import"./vxe-BHVxIU4B.js";const f={},u={class:"app-container"};function v(x,t){const n=i,a=_("router-view"),s=p;return l(),m("div",u,[o("h4",null,[t[1]||(t[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),e(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>t[0]||(t[0]=[d(" src/router/config.ts ")])),_:1})]),e(s,{header:"二级路由"},{default:r(()=>[e(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
|
||||
import"./index-vBiNzsrd.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ad as i,o as p}from"./element-Bfc6rBzi.js";import{v as _,A as o,L as e,J as r,a2 as l,ac as m,x as d}from"./vue-Cbulaufo.js";import"./vxe-Y6nCsLC8.js";const f={},u={class:"app-container"};function v(x,t){const n=i,a=m("router-view"),s=p;return d(),_("div",u,[o("h4",null,[t[1]||(t[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),e(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>t[0]||(t[0]=[l(" src/router/config.ts ")])),_:1})]),e(s,{header:"二级路由"},{default:r(()=>[e(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
|
1
assets/index-Xph5zVFX.js
Normal file
1
assets/index-Xph5zVFX.js
Normal file
@ -0,0 +1 @@
|
||||
import{t,az as r,ay as a,v as o,x as s}from"./vue-Cbulaufo.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};
|
7
assets/index-vBiNzsrd.js
Normal file
7
assets/index-vBiNzsrd.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{h as y}from"./index-Crkq5Cs3.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{a2 as g,k as E,q as T,y as v,z as C,x as B}from"./element-oKb_SSI8.js";import{t as D,v as c,I as d,J as e,L as s,x as M,ai as V,u as l,G as b,A as p,O as I}from"./vue-DGZ00u4B.js";const G=D({__name:"index",setup(L){const{themeList:_,activeThemeName:u,setTheme:h}=y();function f({clientX:o,clientY:n},r){const m=Math.hypot(Math.max(o,window.innerWidth-o),Math.max(n,window.innerHeight-n)),t=document.documentElement.style;t.setProperty("--v3-theme-x",`${o}px`),t.setProperty("--v3-theme-y",`${n}px`),t.setProperty("--v3-theme-r",`${m}px`);const a=()=>{h(r)};document.startViewTransition?document.startViewTransition(a):a()}return(o,n)=>{const r=E,m=T,t=B,a=v,w=C;return c(),d(w,{trigger:"click"},{dropdown:e(()=>[s(a,null,{default:e(()=>[(c(!0),M(b,null,V(l(_),(i,x)=>(c(),d(t,{key:x,disabled:l(u)===i.name,onClick:k=>f(k,i.name)},{default:e(()=>[p("span",null,I(i.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[p("div",null,[s(m,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[s(r,{size:20},{default:e(()=>[s(l(g))]),_:1})]),_:1})])]),_:1})}}});export{G as _};
|
@ -0,0 +1 @@
|
||||
import{h as k}from"./index-vBiNzsrd.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{x as g,i as E,a2 as T,t as v,y as C,z as B}from"./element-Bfc6rBzi.js";import{t as D,I as d,J as e,A as p,L as s,u as c,v as M,G as V,ai as b,x as l,O as I}from"./vue-Cbulaufo.js";const H=D({__name:"index",setup(L){const{themeList:_,activeThemeName:u,setTheme:h}=k();function f({clientX:o,clientY:n},r){const i=Math.hypot(Math.max(o,window.innerWidth-o),Math.max(n,window.innerHeight-n)),t=document.documentElement.style;t.setProperty("--v3-theme-x",`${o}px`),t.setProperty("--v3-theme-y",`${n}px`),t.setProperty("--v3-theme-r",`${i}px`);const a=()=>{h(r)};document.startViewTransition?document.startViewTransition(a):a()}return(o,n)=>{const r=E,i=v,t=B,a=C,w=g;return l(),d(w,{trigger:"click"},{dropdown:e(()=>[s(a,null,{default:e(()=>[(l(!0),M(V,null,b(c(_),(m,x)=>(l(),d(t,{key:x,disabled:c(u)===m.name,onClick:y=>f(y,m.name)},{default:e(()=>[p("span",null,I(m.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[p("div",null,[s(i,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[s(r,{size:20},{default:e(()=>[s(c(T))]),_:1})]),_:1})])]),_:1})}}});export{H as _};
|
1
assets/page-level-CGoOb3N7.js
Normal file
1
assets/page-level-CGoOb3N7.js
Normal file
@ -0,0 +1 @@
|
||||
import"./index-vBiNzsrd.js";/* empty css */import{S as a}from"./SwitchRoles-B6FHv8Yx.js";import{o as r}from"./element-Bfc6rBzi.js";import{t as s,v as n,x as p,L as t,J as c,a2 as m}from"./vue-Cbulaufo.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.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 +0,0 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css */import{S as a}from"./SwitchRoles-Dx5oL0eC.js";import{o as r}from"./element-oKb_SSI8.js";import{t as s,v as n,x as p,L as t,J as c,a2 as m}from"./vue-DGZ00u4B.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.js";/* empty css */const i={class:"app-container"},d=s({__name:"page-level",setup(l){return(f,e)=>{const o=r;return n(),p("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-Crkq5Cs3.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 r,x as f,L as d,J as i,R as v,u as l,I as p,a2 as R,G as k,ai as A,h as E,z as C}from"./vue-DGZ00u4B.js";import{E as D,o as L,a3 as M,ae as T,af as B,ag as F}from"./element-oKb_SSI8.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.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)),D.error(S))},2e3)})}const G={class:"app-container"},I=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",G,[d(s,{shadow:"never"},{default:i(()=>t[2]||(t[2]=[R(" 该示例是演示:通过 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(k,null,A(l(o),(n,b)=>(r(),p(h,C({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(I,[["__scopeId","data-v-15aa76c1"]]);export{Y as default};
|
||||
import"./index-vBiNzsrd.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,R as v,J as i,u as l,I as p,a2 as R,G as k,ai as A,h as E,x as r,z as C}from"./vue-Cbulaufo.js";import{E as D,o as L,a3 as M,ae as T,af as B,ag as F}from"./element-Bfc6rBzi.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.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)),D.error(S))},2e3)})}const G={class:"app-container"},I=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",G,[d(s,{shadow:"never"},{default:i(()=>t[2]||(t[2]=[R(" 该示例是演示:通过 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(k,null,A(l(o),(n,b)=>(r(),p(h,C({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(I,[["__scopeId","data-v-15aa76c1"]]);export{Y as default};
|
@ -1,4 +1,4 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css *//* empty css *//* empty css */import{ah as m,o as _,E as u,t as g}from"./element-oKb_SSI8.js";import{t as f,v as E,x as y,L as a,J as n,a2 as c}from"./vue-DGZ00u4B.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.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-vBiNzsrd.js";/* empty css *//* empty css *//* empty css */import{ah as m,o as _,r as g,E as u}from"./element-Bfc6rBzi.js";import{t as f,v as E,L as a,J as n,a2 as c,x as y}from"./vue-Cbulaufo.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.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
|
||||
@ -7,4 +7,4 @@ import"./index-Crkq5Cs3.js";/* empty css *//* empty css
|
||||
A 15 15, 0, 1, 1, 27.99 7.5
|
||||
L 15 15
|
||||
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
|
||||
`,L=f({__name:"use-fullscreen-loading",setup(o){const e={text:"即将发生错误...",background:"#F56C6C20",svg:A,svgViewBox:"-10, -10, 50, 50"};async function r(){const s=await p(C)([1,2,3]);u.success(`${s.message},传参为 ${s.data.list.toString()}`)}async function i(){try{await p(S,e)()}catch(s){u.error(s.message)}}return(s,t)=>{const l=_,d=g;return E(),y("div",k,[a(l,{shadow:"never"},{default:n(()=>t[0]||(t[0]=[c(" 该示例是演示:通过将要执行的函数传递给 composable,让 composable 自动开启全屏 loading,函数执行结束后自动关闭 loading ")])),_:1}),a(l,{header:"示例",shadow:"never"},{default:n(()=>[a(d,{type:"primary",onClick:r},{default:n(()=>t[1]||(t[1]=[c(" 查询成功 ")])),_:1}),a(d,{type:"danger",onClick:i},{default:n(()=>t[2]||(t[2]=[c(" 查询失败 ")])),_:1})]),_:1})])}}}),M=w(L,[["__scopeId","data-v-d330363c"]]);export{M as default};
|
||||
`,L=f({__name:"use-fullscreen-loading",setup(o){const e={text:"即将发生错误...",background:"#F56C6C20",svg:A,svgViewBox:"-10, -10, 50, 50"};async function r(){const s=await p(C)([1,2,3]);u.success(`${s.message},传参为 ${s.data.list.toString()}`)}async function i(){try{await p(S,e)()}catch(s){u.error(s.message)}}return(s,t)=>{const l=_,d=g;return y(),E("div",k,[a(l,{shadow:"never"},{default:n(()=>t[0]||(t[0]=[c(" 该示例是演示:通过将要执行的函数传递给 composable,让 composable 自动开启全屏 loading,函数执行结束后自动关闭 loading ")])),_:1}),a(l,{header:"示例",shadow:"never"},{default:n(()=>[a(d,{type:"primary",onClick:r},{default:n(()=>t[1]||(t[1]=[c(" 查询成功 ")])),_:1}),a(d,{type:"danger",onClick:i},{default:n(()=>t[2]||(t[2]=[c(" 查询失败 ")])),_:1})]),_:1})])}}}),M=w(L,[["__scopeId","data-v-d330363c"]]);export{M as default};
|
1
assets/use-watermark-BHag1D6I.js
Normal file
1
assets/use-watermark-BHag1D6I.js
Normal file
@ -0,0 +1 @@
|
||||
import"./index-vBiNzsrd.js";/* empty css *//* empty css *//* empty css */import{u as d}from"./useWatermark-CyX2tigw.js";import{o as _,ai as C,r as v}from"./element-Bfc6rBzi.js";import{t as y,r as W,v as w,L as o,J as t,a2 as r,A as x,u as l,x as b}from"./vue-Cbulaufo.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-Y6nCsLC8.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})])}}}),j=c(B,[["__scopeId","data-v-2e8369f3"]]);export{j as default};
|
@ -1 +0,0 @@
|
||||
import"./index-Crkq5Cs3.js";/* empty css *//* empty css *//* empty css */import{u as d}from"./useWatermark-BTfJLH9B.js";import{o as _,t as C,ai as v}from"./element-oKb_SSI8.js";import{t as y,r as W,v as w,x,L as o,J as t,a2 as r,u as l,A as b}from"./vue-DGZ00u4B.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-BHVxIU4B.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=C,u=v;return w(),x("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(()=>[b("div",{ref_key:"localRef",ref:s,class:"local"},null,512)]),_:1})])}}}),j=c(B,[["__scopeId","data-v-2e8369f3"]]);export{j as default};
|
@ -1 +1 @@
|
||||
import{B as u}from"./element-oKb_SSI8.js";import{r as L,Q as x}from"./vue-DGZ00u4B.js";const C={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=L(document.body);function $(i=E){let d,v,t=null;const r={watermarkElMutationObserver:void 0,parentElMutationObserver:void 0,parentElResizeObserver:void 0},O=(e,a={})=>{if(!i.value)return console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");d=e,v={...C,...a},t?b():f(),m(i.value)},f=()=>{const e=i.value.tagName.toLowerCase()===E.value.tagName.toLowerCase(),a=e?"fixed":"absolute",n=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:o}=i.value;b({width:s,height:o}),i.value.style.position=n,i.value.appendChild(t)},b=(e={})=>{t&&(d&&(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:n,family:s,angle:o,width:z,height:w}=v,c=document.createElement("canvas");c.width=z,c.height=w;const l=c.getContext("2d");return l&&(l.fillStyle=e,l.globalAlpha=a,l.font=`${n}px ${s}`,l.rotate(Math.PI/180*o),l.fillText(d,0,w/2)),c.toDataURL()},h=()=>{if(!(!i.value||!t)){p();try{i.value.removeChild(t)}catch{console.warn("水印元素已不存在,请重新创建")}finally{t=null}}},k=u(()=>{h(),f(),m(i.value)},100),m=e=>{v.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&g(e):p("mutation"),r.parentElResizeObserver||M(e)},p=(e="all")=>{var a,n,s;(e==="mutation"||e==="all")&&((a=r.watermarkElMutationObserver)==null||a.disconnect(),r.watermarkElMutationObserver=void 0,(n=r.parentElMutationObserver)==null||n.disconnect(),r.parentElMutationObserver=void 0),(e==="resize"||e==="all")&&((s=r.parentElResizeObserver)==null||s.disconnect(),r.parentElResizeObserver=void 0)},g=e=>{const a=u(n=>{n.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&k();break;case"childList":s.removedNodes.forEach(o=>{o===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:n,clientHeight:s}=e;b({width:n,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-Bfc6rBzi.js";import{r as L,Q as x}from"./vue-Cbulaufo.js";const C={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=L(document.body);function $(i=E){let d,v,t=null;const r={watermarkElMutationObserver:void 0,parentElMutationObserver:void 0,parentElResizeObserver:void 0},O=(e,a={})=>{if(!i.value)return console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");d=e,v={...C,...a},t?b():f(),m(i.value)},f=()=>{const e=i.value.tagName.toLowerCase()===E.value.tagName.toLowerCase(),a=e?"fixed":"absolute",n=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:o}=i.value;b({width:s,height:o}),i.value.style.position=n,i.value.appendChild(t)},b=(e={})=>{t&&(d&&(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:n,family:s,angle:o,width:z,height:w}=v,c=document.createElement("canvas");c.width=z,c.height=w;const l=c.getContext("2d");return l&&(l.fillStyle=e,l.globalAlpha=a,l.font=`${n}px ${s}`,l.rotate(Math.PI/180*o),l.fillText(d,0,w/2)),c.toDataURL()},h=()=>{if(!(!i.value||!t)){p();try{i.value.removeChild(t)}catch{console.warn("水印元素已不存在,请重新创建")}finally{t=null}}},k=u(()=>{h(),f(),m(i.value)},100),m=e=>{v.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&g(e):p("mutation"),r.parentElResizeObserver||M(e)},p=(e="all")=>{var a,n,s;(e==="mutation"||e==="all")&&((a=r.watermarkElMutationObserver)==null||a.disconnect(),r.watermarkElMutationObserver=void 0,(n=r.parentElMutationObserver)==null||n.disconnect(),r.parentElMutationObserver=void 0),(e==="resize"||e==="all")&&((s=r.parentElResizeObserver)==null||s.disconnect(),r.parentElResizeObserver=void 0)},g=e=>{const a=u(n=>{n.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&k();break;case"childList":s.removedNodes.forEach(o=>{o===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:n,clientHeight:s}=e;b({width:n,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
@ -7,10 +7,10 @@
|
||||
<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-Crkq5Cs3.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vue-DGZ00u4B.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/element-oKb_SSI8.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vxe-BHVxIU4B.js">
|
||||
<script type="module" crossorigin src="/v3-admin-vite/assets/index-vBiNzsrd.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vue-Cbulaufo.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/element-Bfc6rBzi.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/assets/vxe-Y6nCsLC8.js">
|
||||
<link rel="stylesheet" crossorigin href="/v3-admin-vite/assets/index-CQ3ybqyO.css">
|
||||
</head>
|
||||
<body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user