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 @ 7e9eaab9da784ddfc43f42044482350a8cfd08e4 🚀
This commit is contained in:
parent
792fc4d356
commit
818f611ba8
10
index.html
10
index.html
@ -6,11 +6,11 @@
|
||||
<link rel="icon" href="/v3-admin-vite/favicon.ico" />
|
||||
<link rel="stylesheet" href="/v3-admin-vite/app-loading.css" />
|
||||
<title>V3 Admin Vite</title>
|
||||
<script type="module" crossorigin src="/v3-admin-vite/static/index-CPaUvMr0.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/vue-Dve2Dm07.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/element-D97nkBxs.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/vxe-D4242vD8.js">
|
||||
<link rel="stylesheet" crossorigin href="/v3-admin-vite/static/index-BDiB1CNA.css">
|
||||
<script type="module" crossorigin src="/v3-admin-vite/static/index-BF6BIol6.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/vue-BiR7ZKfy.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/element-ld5q79O4.js">
|
||||
<link rel="modulepreload" crossorigin href="/v3-admin-vite/static/vxe-b1KXxwBC.js">
|
||||
<link rel="stylesheet" crossorigin href="/v3-admin-vite/static/index-DtaJWmk4.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/ErrorPageLayout-CmpWApnq.js
Normal file
1
static/ErrorPageLayout-CmpWApnq.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as n}from"./index-BF6BIol6.js";import{ai as e,p as c,q as _,t as d,I as l,V as t,P as o,T as i}from"./vue-BiR7ZKfy.js";const p={},u={class:"error-page"},f={class:"error-page-svg"};function m(r,v){const a=e("el-button"),s=e("router-link");return c(),_("div",u,[d("div",f,[l(r.$slots,"default",{},void 0,!0)]),t(s,{to:"/"},{default:o(()=>[t(a,{type:"primary"},{default:o(()=>[i("回到首页")]),_:1})]),_:1})])}const k=n(p,[["render",m],["__scopeId","data-v-2fba9562"]]);export{k as E};
|
@ -1 +0,0 @@
|
||||
import{_ as n}from"./index-CPaUvMr0.js";import{ah as e,m as c,p as _,q as d,H as l,U as t,O as o,S as p}from"./vue-Dve2Dm07.js";const i={},u={class:"error-page"},f={class:"error-page-svg"};function m(r,h){const a=e("el-button"),s=e("router-link");return c(),_("div",u,[d("div",f,[l(r.$slots,"default",{},void 0,!0)]),t(s,{to:"/"},{default:o(()=>[t(a,{type:"primary"},{default:o(()=>[p("回到首页")]),_:1})]),_:1})])}const k=n(i,[["render",m],["__scopeId","data-v-2fba9562"]]);export{k as E};
|
@ -1 +0,0 @@
|
||||
import{e as p,_}from"./index-CPaUvMr0.js";import{l as u,r as m,b as h,ah as c,m as f,p as v,q as t,T as S,u as b,U as s,O as w,aH as I,aI as V}from"./vue-Dve2Dm07.js";const g=e=>(I("data-v-693bfeca"),e=e(),V(),e),x={class:"switch-roles"},R=g(()=>t("span",null,"切换用户(模拟重新登录):",-1)),B=u({__name:"SwitchRoles",setup(e){const o=p(),a=m(o.roles[0]);return h(a,l=>{o.changeRoles(l)}),(l,n)=>{const r=c("el-radio-button"),d=c("el-radio-group");return f(),v("div",null,[t("div",null,"你的角色:"+S(b(o).roles),1),t("div",x,[R,s(d,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=i=>a.value=i)},{default:w(()=>[s(r,{label:"editor",value:"editor"}),s(r,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])])}}}),k=_(B,[["__scopeId","data-v-693bfeca"]]);export{k as S};
|
1
static/SwitchRoles-BxIkpBtH.js
Normal file
1
static/SwitchRoles-BxIkpBtH.js
Normal file
@ -0,0 +1 @@
|
||||
import{e as p,_}from"./index-BF6BIol6.js";import{m as u,r as m,d as f,ai as c,p as h,q as v,t,U as S,u as w,V as s,P as b,aI as V,aJ as I}from"./vue-BiR7ZKfy.js";const g=e=>(V("data-v-693bfeca"),e=e(),I(),e),x={class:"switch-roles"},R=g(()=>t("span",null,"切换用户(模拟重新登录):",-1)),B=u({__name:"SwitchRoles",setup(e){const o=p(),a=m(o.roles[0]);return f(a,l=>{o.changeRoles(l)}),(l,n)=>{const r=c("el-radio-button"),d=c("el-radio-group");return h(),v("div",null,[t("div",null,"你的角色:"+S(w(o).roles),1),t("div",x,[R,s(d,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=i=>a.value=i)},{default:b(()=>[s(r,{label:"editor",value:"editor"}),s(r,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])])}}}),k=_(B,[["__scopeId","data-v-693bfeca"]]);export{k as S};
|
@ -1 +1 @@
|
||||
import{j as k,_ as g}from"./index-CPaUvMr0.js";import{S as b}from"./SwitchRoles-BqQoCFYJ.js";import{l as y,ah as l,ap as P,m as s,p as x,U as a,q as r,P as m,M as o,O as t,S as e,u as _,R as p}from"./vue-Dve2Dm07.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const u=n=>{if(Array.isArray(n)&&n.length>0){const{roles:f}=k();return f.some(v=>n.includes(v))}else return console.error("need roles! Like checkPermission(['admin','editor'])"),!1},w={class:"app-container"},z={class:"margin-top-30"},B={class:"margin-top-15"},C={class:"margin-top-30"},N=y({__name:"directive",setup(n){return(f,v)=>{const i=l("el-tag"),c=l("el-tab-pane"),h=l("el-tabs"),d=P("permission");return s(),x("div",w,[a(b),r("div",z,[r("div",null,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin']" 所以只有 admin 可以看见这句话 `)]),_:1})),[[d,["admin"]]])]),r("div",null,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['editor']" 所以只有 editor 可以看见这句话 `)]),_:1})),[[d,["editor"]]])]),r("div",B,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin', 'editor']" 所以 admin 和 editor 都可以看见这句话 `)]),_:1})),[[d,["admin","editor"]]])])]),r("div",C,[a(i,{type:"warning",size:"large"},{default:t(()=>[e(" 例如 Element Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景不适合使用 v-permission,这种情况下你可以通过 v-if 和 checkPermission 来实现: ")]),_:1}),a(h,{type:"border-card",class:"margin-top-15"},{default:t(()=>[_(u)(["admin"])?(s(),o(c,{key:0,label:"admin"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin'])"`)]),_:1}),e(" 所以只有 admin 可以看见这句话 ")]),_:1})):p("",!0),_(u)(["editor"])?(s(),o(c,{key:1,label:"editor"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['editor'])"`)]),_:1}),e(" 所以只有 editor 可以看见这句话 ")]),_:1})):p("",!0),_(u)(["admin","editor"])?(s(),o(c,{key:2,label:"admin 和 editor"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin', 'editor'])"`)]),_:1}),e(" 所以 admin 和 editor 都可以看见这句话 ")]),_:1})):p("",!0)]),_:1})])])}}}),U=g(N,[["__scopeId","data-v-295dc3c3"]]);export{U as default};
|
||||
import{j as k,_ as g}from"./index-BF6BIol6.js";import{S as b}from"./SwitchRoles-BxIkpBtH.js";import{m as y,ai as l,aq as P,p as s,q as x,V as a,t as r,Q as m,O as o,P as t,T as e,u as _,S as p}from"./vue-BiR7ZKfy.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const u=n=>{if(Array.isArray(n)&&n.length>0){const{roles:f}=k();return f.some(v=>n.includes(v))}else return console.error("need roles! Like checkPermission(['admin','editor'])"),!1},V={class:"app-container"},w={class:"margin-top-30"},z={class:"margin-top-15"},B={class:"margin-top-30"},C=y({__name:"directive",setup(n){return(f,v)=>{const i=l("el-tag"),c=l("el-tab-pane"),h=l("el-tabs"),d=P("permission");return s(),x("div",V,[a(b),r("div",w,[r("div",null,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin']" 所以只有 admin 可以看见这句话 `)]),_:1})),[[d,["admin"]]])]),r("div",null,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['editor']" 所以只有 editor 可以看见这句话 `)]),_:1})),[[d,["editor"]]])]),r("div",z,[m((s(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin', 'editor']" 所以 admin 和 editor 都可以看见这句话 `)]),_:1})),[[d,["admin","editor"]]])])]),r("div",B,[a(i,{type:"warning",size:"large"},{default:t(()=>[e(" 例如 Element Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景不适合使用 v-permission,这种情况下你可以通过 v-if 和 checkPermission 来实现: ")]),_:1}),a(h,{type:"border-card",class:"margin-top-15"},{default:t(()=>[_(u)(["admin"])?(s(),o(c,{key:0,label:"admin"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin'])"`)]),_:1}),e(" 所以只有 admin 可以看见这句话 ")]),_:1})):p("",!0),_(u)(["editor"])?(s(),o(c,{key:1,label:"editor"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['editor'])"`)]),_:1}),e(" 所以只有 editor 可以看见这句话 ")]),_:1})):p("",!0),_(u)(["admin","editor"])?(s(),o(c,{key:2,label:"admin 和 editor"},{default:t(()=>[e(" 这里采用了 "),a(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin', 'editor'])"`)]),_:1}),e(" 所以 admin 和 editor 都可以看见这句话 ")]),_:1})):p("",!0)]),_:1})])])}}}),E=g(C,[["__scopeId","data-v-295dc3c3"]]);export{E as default};
|
File diff suppressed because one or more lines are too long
31
static/element-ld5q79O4.js
Normal file
31
static/element-ld5q79O4.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{l as t,aC as r,aD as a,m as o,p as s}from"./vue-Dve2Dm07.js";const _=t({__name:"index",setup(n){const e=r();return a().replace({path:"/"+e.params.path,query:e.query}),(p,c)=>(o(),s("div"))}});export{_ as default};
|
||||
import{m as t,aD as r,aE as a,p as o,q as s}from"./vue-BiR7ZKfy.js";const _=t({__name:"index",setup(n){const e=r();return a().replace({path:"/"+e.params.path,query:e.query}),(p,c)=>(o(),s("div"))}});export{_ as default};
|
File diff suppressed because one or more lines are too long
7
static/index-BF6BIol6.js
Normal file
7
static/index-BF6BIol6.js
Normal file
File diff suppressed because one or more lines are too long
1
static/index-BL6CIOzR.js
Normal file
1
static/index-BL6CIOzR.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{l as r,r as p,ah as t,m as c,p as m,U as o,O as u}from"./vue-Dve2Dm07.js";const _={class:"app-container"},x=r({name:"Menu1-3",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"三级路由缓存 - menu1-3"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
||||
import{m as r,r as p,ai as t,p as c,q as m,V as o,P as u}from"./vue-BiR7ZKfy.js";const _={class:"app-container"},x=r({name:"Menu1-3",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"三级路由缓存 - menu1-3"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
@ -1 +0,0 @@
|
||||
import{_ as c,e as _}from"./index-CPaUvMr0.js";import{ah as s,m as n,p as r,U as a,l as i,M as p,Q as d,u as m}from"./vue-Dve2Dm07.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const f={},l={class:"app-container center"};function u(t,o){const e=s("el-empty");return n(),r("div",l,[a(e,{description:"欢迎来到 admin 角色专属首页"})])}const h=c(f,[["render",u],["__scopeId","data-v-7644c57f"]]),v={},x={class:"app-container center"};function y(t,o){const e=s("el-empty");return n(),r("div",x,[a(e,{description:"欢迎来到 editor 角色专属首页"})])}const $=c(v,[["render",y],["__scopeId","data-v-1ffd0ab5"]]),I=i({__name:"index",setup(t){const e=_().roles.includes("admin");return(k,B)=>(n(),p(d(m(e)?h:$)))}});export{I as default};
|
1
static/index-BrHElN7a.js
Normal file
1
static/index-BrHElN7a.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as c,e as _}from"./index-BF6BIol6.js";import{ai as s,p as n,q as r,V as a,m as i,O as p,R as d,u as m}from"./vue-BiR7ZKfy.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const f={},l={class:"app-container center"};function u(t,o){const e=s("el-empty");return n(),r("div",l,[a(e,{description:"欢迎来到 admin 角色专属首页"})])}const v=c(f,[["render",u],["__scopeId","data-v-7644c57f"]]),x={},h={class:"app-container center"};function y(t,o){const e=s("el-empty");return n(),r("div",h,[a(e,{description:"欢迎来到 editor 角色专属首页"})])}const $=c(x,[["render",y],["__scopeId","data-v-1ffd0ab5"]]),I=i({__name:"index",setup(t){const e=_().roles.includes("admin");return(k,B)=>(n(),p(d(m(e)?v:$)))}});export{I as default};
|
1
static/index-C9DZYOVp.js
Normal file
1
static/index-C9DZYOVp.js
Normal file
@ -0,0 +1 @@
|
||||
import{m as V,p as F,q as b,J as R,aM as S,r as u,aE as U,_ as q,ai as n,V as e,u as l,t as p,P as s,a9 as E,aI as N,aJ as J,a3 as $,T as K}from"./vue-BiR7ZKfy.js";import{_ as B,f as L,e as O}from"./index-BF6BIol6.js";import{v as T,w as A,x as D,y as P,z as j}from"./element-ld5q79O4.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-Bi5BTQUo.js";import"./vxe-b1KXxwBC.js";const H="/v3-admin-vite/static/logo-text-2-CVewf8RJ.png",Q=S('<div class="hand-down-left" data-v-957a4d98></div><div class="hand-down-right" data-v-957a4d98></div><div class="hand-up-left" data-v-957a4d98></div><div class="hand-up-right" data-v-957a4d98></div><div class="close-eyes" data-v-957a4d98></div>',5),W=[Q],X=V({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(o){const c=o;return(m,h)=>(F(),b("div",{class:R(["owl",{"owl-password":c.closeEyes}])},W,2))}}),Y=B(X,[["__scopeId","data-v-957a4d98"]]);function Z(){const o=u(!1);return{isFocus:o,handleBlur:()=>{o.value=!1},handleFocus:()=>{o.value=!0}}}const ee=o=>(N("data-v-c8304cc7"),o=o(),J(),o),oe={class:"login-container"},ae={class:"login-card"},se=ee(()=>p("div",{class:"title"},[p("img",{src:H})],-1)),te={class:"content"},le=V({__name:"index",setup(o){const c=U(),{isFocus:m,handleBlur:h,handleFocus:C}=Z(),w=u(null),_=u(!1),f=u(""),a=q({username:"admin",password:"12345678",code:""}),k={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"}]},x=()=>{var r;(r=w.value)==null||r.validate((t,d)=>{t?(_.value=!0,O().login(a).then(()=>{c.push({path:"/"})}).catch(()=>{g(),a.password=""}).finally(()=>{_.value=!1})):console.error("表单校验不通过",d)})},g=()=>{a.code="",f.value="",L().then(r=>{f.value=r.data})};return g(),(r,t)=>{const d=n("el-input"),v=n("el-form-item"),y=n("el-icon"),z=n("el-image"),I=n("el-button"),M=n("el-form");return F(),b("div",oe,[e(G,{class:"theme-switch"}),e(Y,{"close-eyes":l(m)},null,8,["close-eyes"]),p("div",ae,[se,p("div",te,[e(M,{ref_key:"loginFormRef",ref:w,model:a,rules:k,onKeyup:E(x,["enter"])},{default:s(()=>[e(v,{prop:"username"},{default:s(()=>[e(d,{modelValue:a.username,"onUpdate:modelValue":t[0]||(t[0]=i=>a.username=i),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":l(T),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),e(v,{prop:"password"},{default:s(()=>[e(d,{modelValue:a.password,"onUpdate:modelValue":t[1]||(t[1]=i=>a.password=i),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":l(A),size:"large","show-password":"",onBlur:l(h),onFocus:l(C)},null,8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),e(v,{prop:"code"},{default:s(()=>[e(d,{modelValue:a.code,"onUpdate:modelValue":t[2]||(t[2]=i=>a.code=i),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":l(D),maxlength:"7",size:"large"},{append:s(()=>[e(z,{src:f.value,onClick:g,draggable:"false"},{placeholder:s(()=>[e(y,null,{default:s(()=>[e(l(P))]),_:1})]),error:s(()=>[e(y,null,{default:s(()=>[e(l(j))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon"])]),_:1}),e(I,{loading:_.value,type:"primary",size:"large",onClick:$(x,["prevent"])},{default:s(()=>[K("登 录")]),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),ue=B(le,[["__scopeId","data-v-c8304cc7"]]);export{ue as default};
|
@ -1 +0,0 @@
|
||||
import{_ as s}from"./index-CPaUvMr0.js";import{ah as e,m as _,p as i,q as p,S as o,U as t,O as n}from"./vue-Dve2Dm07.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const l={},m={class:"app-container"};function d(u,f){const r=e("el-link"),a=e("router-view"),c=e("el-card");return _(),i("div",m,[p("h4",null,[o(" 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: "),t(r,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/config/route.ts",target:"_blank"},{default:n(()=>[o(" src/config/route.ts ")]),_:1})]),t(c,{header:"二级路由 - menu1"},{default:n(()=>[t(a)]),_:1})])}const k=s(l,[["render",d],["__scopeId","data-v-6b5ec9cb"]]);export{k as default};
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{_ as n}from"./index-CPaUvMr0.js";import{ah as e,m as c,p as a,U as o,O as s}from"./vue-Dve2Dm07.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const _={},i={class:"app-container"};function m(p,d){const t=e("router-view"),r=e("el-card");return c(),a("div",i,[o(r,{header:"三级路由 - menu1-2"},{default:s(()=>[o(t)]),_:1})])}const x=n(_,[["render",m]]);export{x as default};
|
@ -1 +1 @@
|
||||
import{l as r,r as p,ah as t,m as c,p as m,U as o,O as u}from"./vue-Dve2Dm07.js";const _={class:"app-container"},x=r({name:"Menu1-2-2",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"四级路由缓存 - menu1-2-2"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
||||
import{m as r,r as p,ai as t,p as c,q as m,V as o,P as u}from"./vue-BiR7ZKfy.js";const _={class:"app-container"},x=r({name:"Menu1-2-2",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"四级路由缓存 - menu1-2-2"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{l as r,r as p,ah as t,m as c,p as m,U as o,O as u}from"./vue-Dve2Dm07.js";const _={class:"app-container"},x=r({name:"Menu2",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"二级路由缓存 - menu2"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
||||
import{m as r,r as p,ai as t,p as c,q as m,V as o,P as u}from"./vue-BiR7ZKfy.js";const _={class:"app-container"},x=r({name:"Menu2",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"二级路由缓存 - menu2"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
1
static/index-DKUWMvVM.js
Normal file
1
static/index-DKUWMvVM.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{l as r,r as p,ah as t,m as c,p as m,U as o,O as u}from"./vue-Dve2Dm07.js";const _={class:"app-container"},x=r({name:"Menu1-1",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"三级路由缓存 - menu1-1"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
||||
import{m as r,r as p,ai as t,p as c,q as m,V as o,P as u}from"./vue-BiR7ZKfy.js";const _={class:"app-container"},x=r({name:"Menu1-1",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"三级路由缓存 - menu1-1"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
1
static/index-DtaJWmk4.css
Normal file
1
static/index-DtaJWmk4.css
Normal file
File diff suppressed because one or more lines are too long
1
static/index-Dw-Ho-kh.js
Normal file
1
static/index-Dw-Ho-kh.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as e}from"./index-BF6BIol6.js";import{p as o,q as n,t}from"./vue-BiR7ZKfy.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const a={},i={"h-full":"","uno-padding-20":""},s=t("div",{"h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""},[t("div",{ma:""},[t("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-1s":""},"UnoCSS"),t("div",{op30:"","dark:op60":"","text-lg":"",fw300:"",m1:""},"该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss"),t("div",{m2:"",flex:"","justify-center":"","text-lg":"",op30:"","dark:op60":"",hover:"op80","dark:hover":"op80"},[t("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"},"推荐阅读:重新构想原子化 CSS")])])],-1),r=[s];function c(d,l){return o(),n("div",i,r)}const h=e(a,[["render",c]]);export{h as default};
|
1
static/index-Dy2ZLbEf.js
Normal file
1
static/index-Dy2ZLbEf.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as n}from"./index-BF6BIol6.js";import{ai as e,p as c,q as a,V as o,P as s}from"./vue-BiR7ZKfy.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const _={},i={class:"app-container"};function p(m,d){const t=e("router-view"),r=e("el-card");return c(),a("div",i,[o(r,{header:"三级路由 - menu1-2"},{default:s(()=>[o(t)]),_:1})])}const h=n(_,[["render",p]]);export{h as default};
|
@ -1 +1 @@
|
||||
import{i as e}from"./index-CPaUvMr0.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{i as e}from"./index-BF6BIol6.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};
|
@ -1 +0,0 @@
|
||||
import{_ as e}from"./index-CPaUvMr0.js";import{m as o,p as n,q as t}from"./vue-Dve2Dm07.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const a={},i={"h-full":"","uno-padding-20":""},s=t("div",{"h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""},[t("div",{ma:""},[t("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-1s":""},"UnoCSS"),t("div",{op30:"","dark:op60":"","text-lg":"",fw300:"",m1:""},"该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss"),t("div",{m2:"",flex:"","justify-center":"","text-lg":"",op30:"","dark:op60":"",hover:"op80","dark:hover":"op80"},[t("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"},"推荐阅读:重新构想原子化 CSS")])])],-1),r=[s];function c(d,l){return o(),n("div",i,r)}const h=e(a,[["render",c]]);export{h as default};
|
@ -1 +0,0 @@
|
||||
import{l as V,m as F,p as b,I as U,aL as R,r as u,aD as q,Z as M,ah as n,U as e,u as l,q as p,O as s,a2 as N,S as E,a8 as L,aH as O,aI as $}from"./vue-Dve2Dm07.js";import{_ as B,f as D,e as K}from"./index-CPaUvMr0.js";import{v as A,w as H,x as J,y as T,z as Z}from"./element-D97nkBxs.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-DrQhOmYR.js";import"./vxe-D4242vD8.js";const G="/v3-admin-vite/static/logo-text-2-CVewf8RJ.png",P=R('<div class="hand-down-left" data-v-957a4d98></div><div class="hand-down-right" data-v-957a4d98></div><div class="hand-up-left" data-v-957a4d98></div><div class="hand-up-right" data-v-957a4d98></div><div class="close-eyes" data-v-957a4d98></div>',5),Q=[P],W=V({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(o){const c=o;return(m,h)=>(F(),b("div",{class:U(["owl",{"owl-password":c.closeEyes}])},Q,2))}}),X=B(W,[["__scopeId","data-v-957a4d98"]]);function Y(){const o=u(!1);return{isFocus:o,handleBlur:()=>{o.value=!1},handleFocus:()=>{o.value=!0}}}const ee=o=>(O("data-v-c8304cc7"),o=o(),$(),o),oe={class:"login-container"},ae={class:"login-card"},se=ee(()=>p("div",{class:"title"},[p("img",{src:G})],-1)),te={class:"content"},le=V({__name:"index",setup(o){const c=q(),{isFocus:m,handleBlur:h,handleFocus:C}=Y(),w=u(null),_=u(!1),f=u(""),a=M({username:"admin",password:"12345678",code:""}),k={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"}]},x=()=>{var r;(r=w.value)==null||r.validate((t,d)=>{t?(_.value=!0,K().login(a).then(()=>{c.push({path:"/"})}).catch(()=>{g(),a.password=""}).finally(()=>{_.value=!1})):console.error("表单校验不通过",d)})},g=()=>{a.code="",f.value="",D().then(r=>{f.value=r.data})};return g(),(r,t)=>{const d=n("el-input"),v=n("el-form-item"),y=n("el-icon"),I=n("el-image"),z=n("el-button"),S=n("el-form");return F(),b("div",oe,[e(j,{class:"theme-switch"}),e(X,{"close-eyes":l(m)},null,8,["close-eyes"]),p("div",ae,[se,p("div",te,[e(S,{ref_key:"loginFormRef",ref:w,model:a,rules:k,onKeyup:L(x,["enter"])},{default:s(()=>[e(v,{prop:"username"},{default:s(()=>[e(d,{modelValue:a.username,"onUpdate:modelValue":t[0]||(t[0]=i=>a.username=i),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":l(A),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),e(v,{prop:"password"},{default:s(()=>[e(d,{modelValue:a.password,"onUpdate:modelValue":t[1]||(t[1]=i=>a.password=i),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":l(H),size:"large","show-password":"",onBlur:l(h),onFocus:l(C)},null,8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),e(v,{prop:"code"},{default:s(()=>[e(d,{modelValue:a.code,"onUpdate:modelValue":t[2]||(t[2]=i=>a.code=i),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":l(J),maxlength:"7",size:"large"},{append:s(()=>[e(I,{src:f.value,onClick:g,draggable:"false"},{placeholder:s(()=>[e(y,null,{default:s(()=>[e(l(T))]),_:1})]),error:s(()=>[e(y,null,{default:s(()=>[e(l(Z))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon"])]),_:1}),e(z,{loading:_.value,type:"primary",size:"large",onClick:N(x,["prevent"])},{default:s(()=>[E("登 录")]),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),ue=B(le,[["__scopeId","data-v-c8304cc7"]]);export{ue as default};
|
1
static/index-Vt4OrK07.js
Normal file
1
static/index-Vt4OrK07.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as s}from"./index-BF6BIol6.js";import{ai as e,p as _,q as i,t as p,T as o,V as t,P as n}from"./vue-BiR7ZKfy.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const l={},d={class:"app-container"};function m(u,f){const r=e("el-link"),a=e("router-view"),c=e("el-card");return _(),i("div",d,[p("h4",null,[o(" 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: "),t(r,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/config/route.ts",target:"_blank"},{default:n(()=>[o(" src/config/route.ts ")]),_:1})]),t(c,{header:"二级路由 - menu1"},{default:n(()=>[t(a)]),_:1})])}const k=s(l,[["render",m],["__scopeId","data-v-6b5ec9cb"]]);export{k as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{l as r,r as p,ah as t,m as c,p as m,U as o,O as u}from"./vue-Dve2Dm07.js";const _={class:"app-container"},x=r({name:"Menu1-2-1",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"四级路由缓存 - menu1-2-1"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
||||
import{m as r,r as p,ai as t,p as c,q as m,V as o,P as u}from"./vue-BiR7ZKfy.js";const _={class:"app-container"},x=r({name:"Menu1-2-1",__name:"index",setup(d){const e=p("");return(i,n)=>{const a=t("el-input"),l=t("el-card");return c(),m("div",_,[o(l,{header:"四级路由缓存 - menu1-2-1"},{default:u(()=>[o(a,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s)},null,8,["modelValue"])]),_:1})])}}});export{x as default};
|
@ -1 +1 @@
|
||||
import{h as g}from"./index-CPaUvMr0.js";import{A as T}from"./element-D97nkBxs.js";import{l as v,ah as o,m as c,M as p,O as e,U as r,p as C,a7 as B,u as i,F as M,q as _,T as V}from"./vue-Dve2Dm07.js";const F=v({__name:"index",setup(b){const{themeList:u,activeThemeName:h,setTheme:f}=g(),w=({clientX:n,clientY:a},m)=>{const d=Math.hypot(Math.max(n,window.innerWidth-n),Math.max(a,window.innerHeight-a)),t=document.documentElement.style;t.setProperty("--v3-theme-x",n+"px"),t.setProperty("--v3-theme-y",a+"px"),t.setProperty("--v3-theme-r",d+"px");const s=()=>{f(m)};document.startViewTransition?document.startViewTransition(s):s()};return(n,a)=>{const m=o("el-icon"),d=o("el-tooltip"),t=o("el-dropdown-item"),s=o("el-dropdown-menu"),x=o("el-dropdown");return c(),p(x,{trigger:"click"},{dropdown:e(()=>[r(s,null,{default:e(()=>[(c(!0),C(M,null,B(i(u),(l,k)=>(c(),p(t,{key:k,disabled:i(h)===l.name,onClick:y=>{w(y,l.name)}},{default:e(()=>[_("span",null,V(l.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[_("div",null,[r(d,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[r(m,{size:20},{default:e(()=>[r(i(T))]),_:1})]),_:1})])]),_:1})}}});export{F as _};
|
||||
import{h as g}from"./index-BF6BIol6.js";import{A as v}from"./element-ld5q79O4.js";import{m as C,ai as o,p as c,O as p,P as e,V as r,q as T,a8 as V,u as i,t as _,U as B,F as P}from"./vue-BiR7ZKfy.js";const F=C({__name:"index",setup(b){const{themeList:u,activeThemeName:h,setTheme:f}=g(),w=({clientX:n,clientY:a},m)=>{const d=Math.hypot(Math.max(n,window.innerWidth-n),Math.max(a,window.innerHeight-a)),t=document.documentElement.style;t.setProperty("--v3-theme-x",n+"px"),t.setProperty("--v3-theme-y",a+"px"),t.setProperty("--v3-theme-r",d+"px");const s=()=>{f(m)};document.startViewTransition?document.startViewTransition(s):s()};return(n,a)=>{const m=o("el-icon"),d=o("el-tooltip"),t=o("el-dropdown-item"),s=o("el-dropdown-menu"),x=o("el-dropdown");return c(),p(x,{trigger:"click"},{dropdown:e(()=>[r(s,null,{default:e(()=>[(c(!0),T(P,null,V(i(u),(l,k)=>(c(),p(t,{key:k,disabled:i(h)===l.name,onClick:y=>{w(y,l.name)}},{default:e(()=>[_("span",null,B(l.title),1)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),default:e(()=>[_("div",null,[r(d,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[r(m,{size:20},{default:e(()=>[r(i(v))]),_:1})]),_:1})])]),_:1})}}});export{F as _};
|
@ -1 +0,0 @@
|
||||
import{S as a}from"./SwitchRoles-BqQoCFYJ.js";import{l as o,ah as s,m as n,p as r,U as e,O as p,S as c}from"./vue-Dve2Dm07.js";import{_}from"./index-CPaUvMr0.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const m={class:"app-container"},i=o({__name:"page",setup(l){return(d,f)=>{const t=s("el-tag");return n(),r("div",m,[e(a),e(t,{type:"warning",size:"large"},{default:p(()=>[c("当前页面只有 admin 角色可见,切换角色后将不能进入该页面")]),_:1})])}}}),w=_(i,[["__scopeId","data-v-70c1e438"]]);export{w as default};
|
1
static/page-wWgzpEW4.js
Normal file
1
static/page-wWgzpEW4.js
Normal file
@ -0,0 +1 @@
|
||||
import{S as a}from"./SwitchRoles-BxIkpBtH.js";import{m as o,ai as s,p as n,q as r,V as e,P as p,T as c}from"./vue-BiR7ZKfy.js";import{_}from"./index-BF6BIol6.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const i={class:"app-container"},m=o({__name:"page",setup(l){return(d,f)=>{const t=s("el-tag");return n(),r("div",i,[e(a),e(t,{type:"warning",size:"large"},{default:p(()=>[c("当前页面只有 admin 角色可见,切换角色后将不能进入该页面")]),_:1})])}}}),w=_(m,[["__scopeId","data-v-70c1e438"]]);export{w as default};
|
@ -1 +0,0 @@
|
||||
import{r as c,d as S,l as V,ah as r,m as i,p as _,U as m,O as b,F as E,a7 as k,u as a,B as f,q as d,M as B,K as C}from"./vue-Dve2Dm07.js";function w(s){const{api:l}=s,t=c(!1),e=c([]),p=c(""),o=()=>{t.value=!0,e.value=[],l().then(u=>{e.value=u.data}).finally(()=>{t.value=!1})};return S(()=>{o()}),{loading:t,options:e,value:p}}const x={code:0,data:[{label:"苹果",value:1},{label:"香蕉",value:2},{label:"橘子",value:3,disabled:!0}],message:"获取 Select 数据成功"};function A(){return new Promise((s,l)=>{setTimeout(()=>{Math.random()<.8?s(x):l(new Error("接口发生错误"))},2e3)})}const D={class:"app-container"},F=d("h4",null,"该示例是演示:通过 hook 自动调用 api 后拿到 Select 组件需要的数据并传递给 Select 组件",-1),M=d("h5",null,"Select 示例",-1),N=d("h5",null,"Select V2 示例(如果数据量过多,可以选择该组件)",-1),T=V({__name:"use-fetch-select",setup(s){const{loading:l,options:t,value:e}=w({api:A});return(p,o)=>{const u=r("el-option"),v=r("el-select"),h=r("el-select-v2");return i(),_("div",D,[F,M,m(v,{loading:a(l),modelValue:a(e),"onUpdate:modelValue":o[0]||(o[0]=n=>f(e)?e.value=n:null),filterable:""},{default:b(()=>[(i(!0),_(E,null,k(a(t),(n,g)=>(i(),B(u,C(n,{key:g,placeholder:"请选择"}),null,16))),128))]),_:1},8,["loading","modelValue"]),N,m(h,{loading:a(l),modelValue:a(e),"onUpdate:modelValue":o[1]||(o[1]=n=>f(e)?e.value=n:null),options:a(t),filterable:"",placeholder:"请选择"},null,8,["loading","modelValue","options"])])}}});export{T as default};
|
1
static/use-fetch-select-CcOJudaS.js
Normal file
1
static/use-fetch-select-CcOJudaS.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as c,c as S,m as V,ai as r,p as i,q as _,V as m,P as b,u as a,D as f,t as d,F as E,a8 as k,O as B,L as C}from"./vue-BiR7ZKfy.js";function D(s){const{api:l}=s,t=c(!1),e=c([]),p=c(""),o=()=>{t.value=!0,e.value=[],l().then(u=>{e.value=u.data}).finally(()=>{t.value=!1})};return S(()=>{o()}),{loading:t,options:e,value:p}}const P={code:0,data:[{label:"苹果",value:1},{label:"香蕉",value:2},{label:"橘子",value:3,disabled:!0}],message:"获取 Select 数据成功"};function w(){return new Promise((s,l)=>{setTimeout(()=>{Math.random()<.8?s(P):l(new Error("接口发生错误"))},2e3)})}const x={class:"app-container"},A=d("h4",null,"该示例是演示:通过 hook 自动调用 api 后拿到 Select 组件需要的数据并传递给 Select 组件",-1),F=d("h5",null,"Select 示例",-1),L=d("h5",null,"Select V2 示例(如果数据量过多,可以选择该组件)",-1),T=V({__name:"use-fetch-select",setup(s){const{loading:l,options:t,value:e}=D({api:w});return(p,o)=>{const u=r("el-option"),v=r("el-select"),h=r("el-select-v2");return i(),_("div",x,[A,F,m(v,{loading:a(l),modelValue:a(e),"onUpdate:modelValue":o[0]||(o[0]=n=>f(e)?e.value=n:null),filterable:""},{default:b(()=>[(i(!0),_(E,null,k(a(t),(n,g)=>(i(),B(u,C({ref_for:!0},n,{key:g,placeholder:"请选择"}),null,16))),128))]),_:1},8,["loading","modelValue"]),L,m(h,{loading:a(l),modelValue:a(e),"onUpdate:modelValue":o[1]||(o[1]=n=>f(e)?e.value=n:null),options:a(t),filterable:"",placeholder:"请选择"},null,8,["loading","modelValue","options"])])}}});export{T as default};
|
@ -1,10 +0,0 @@
|
||||
import{I as d,b as n}from"./element-D97nkBxs.js";import{l as p,ah as _,m,p as g,U as c,O as i,S as l,q as f}from"./vue-Dve2Dm07.js";const h={lock:!0,text:"加载中..."},u=(s,e={})=>{let t;return async(...a)=>{try{return t=d.service({...h,...e}),await s(...a)}finally{t==null||t.close()}}},y={code:0,data:{list:[]},message:"获取成功"};function k(s){return new Promise(e=>{setTimeout(()=>{e({...y,data:{list:s}})},1e3)})}function w(){return new Promise((s,e)=>{setTimeout(()=>{e(new Error("发生错误"))},1e3)})}const C={class:"app-container"},E=f("h4",null,"该示例是演示:通过将要执行的函数传递给 hook,让 hook 自动开启全屏 loading,函数执行结束后自动关闭 loading",-1),S=`
|
||||
<path class="path" d="
|
||||
M 30 15
|
||||
L 28 17
|
||||
M 25.61 25.61
|
||||
A 15 15, 0, 0, 1, 15 30
|
||||
A 15 15, 0, 1, 1, 27.99 7.5
|
||||
L 15 15
|
||||
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
|
||||
`,b=p({__name:"use-fullscreen-loading",setup(s){const e={text:"即将发生错误...",background:"#F56C6C20",svg:S,svgViewBox:"-10, -10, 50, 50"},t=async()=>{const o=await u(k)([2,3,3]);n.success(`${o.message},传参为 ${o.data.list.toString()}`)},a=async()=>{try{await u(w,e)()}catch(o){n.error(o.message)}};return(o,x)=>{const r=_("el-button");return m(),g("div",C,[E,c(r,{type:"primary",onClick:t},{default:i(()=>[l("查询成功")]),_:1}),c(r,{type:"danger",onClick:a},{default:i(()=>[l("查询失败")]),_:1})])}}});export{b as default};
|
10
static/use-fullscreen-loading-aG1vhs6D.js
Normal file
10
static/use-fullscreen-loading-aG1vhs6D.js
Normal file
@ -0,0 +1,10 @@
|
||||
import{I as d,b as n}from"./element-ld5q79O4.js";import{m as p,ai as _,p as m,q as g,V as c,P as i,t as f,T as l}from"./vue-BiR7ZKfy.js";const y={lock:!0,text:"加载中..."},u=(s,e={})=>{let t;return async(...a)=>{try{return t=d.service({...y,...e}),await s(...a)}finally{t==null||t.close()}}},h={code:0,data:{list:[]},message:"获取成功"};function k(s){return new Promise(e=>{setTimeout(()=>{e({...h,data:{list:s}})},1e3)})}function w(){return new Promise((s,e)=>{setTimeout(()=>{e(new Error("发生错误"))},1e3)})}const C={class:"app-container"},E=f("h4",null,"该示例是演示:通过将要执行的函数传递给 hook,让 hook 自动开启全屏 loading,函数执行结束后自动关闭 loading",-1),x=`
|
||||
<path class="path" d="
|
||||
M 30 15
|
||||
L 28 17
|
||||
M 25.61 25.61
|
||||
A 15 15, 0, 0, 1, 15 30
|
||||
A 15 15, 0, 1, 1, 27.99 7.5
|
||||
L 15 15
|
||||
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
|
||||
`,b=p({__name:"use-fullscreen-loading",setup(s){const e={text:"即将发生错误...",background:"#F56C6C20",svg:x,svgViewBox:"-10, -10, 50, 50"},t=async()=>{const o=await u(k)([2,3,3]);n.success(`${o.message},传参为 ${o.data.list.toString()}`)},a=async()=>{try{await u(w,e)()}catch(o){n.error(o.message)}};return(o,S)=>{const r=_("el-button");return m(),g("div",C,[E,c(r,{type:"primary",onClick:t},{default:i(()=>[l("查询成功")]),_:1}),c(r,{type:"danger",onClick:a},{default:i(()=>[l("查询失败")]),_:1})])}}});export{b as default};
|
@ -1 +1 @@
|
||||
import{u as f}from"./useWatermark-C5tfeNej.js";import{l as C,r as v,ah as m,m as y,p as b,q as i,U as t,O as a,u as r,S as l,aH as W,aI as g}from"./vue-Dve2Dm07.js";import{_ as w}from"./index-CPaUvMr0.js";import"./element-D97nkBxs.js";import"./vxe-D4242vD8.js";const x=n=>(W("data-v-dbeea05d"),n=n(),g(),n),I={class:"app-container"},$=x(()=>i("h4",null," 该示例是演示:通过调用 hook,开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ",-1)),S=C({__name:"use-watermark",setup(n){const p=v(null),{setWatermark:c,clearWatermark:_}=f(p),{setWatermark:d,clearWatermark:k}=f();return(B,e)=>{const o=m("el-button"),u=m("el-button-group");return y(),b("div",I,[$,i("div",{ref_key:"localRef",ref:p,class:"local"},null,512),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[0]||(e[0]=s=>r(c)("局部水印",{color:"#409eff"}))},{default:a(()=>[l("创建局部水印")]),_:1}),t(o,{type:"warning",onClick:e[1]||(e[1]=s=>r(c)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(_)},{default:a(()=>[l("清除局部水印")]),_:1},8,["onClick"])]),_:1}),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[2]||(e[2]=s=>r(d)("全局水印",{color:"#409eff"}))},{default:a(()=>[l("创建全局水印")]),_:1}),t(o,{type:"warning",onClick:e[3]||(e[3]=s=>r(d)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(k)},{default:a(()=>[l("清除全局水印")]),_:1},8,["onClick"])]),_:1})])}}}),q=w(S,[["__scopeId","data-v-dbeea05d"]]);export{q as default};
|
||||
import{u as f}from"./useWatermark-uAsIfYiZ.js";import{m as C,r as v,ai as i,p as y,q as b,t as m,V as t,P as a,aI as W,aJ as g,u as r,T as l}from"./vue-BiR7ZKfy.js";import{_ as w}from"./index-BF6BIol6.js";import"./element-ld5q79O4.js";import"./vxe-b1KXxwBC.js";const x=n=>(W("data-v-dbeea05d"),n=n(),g(),n),I={class:"app-container"},$=x(()=>m("h4",null," 该示例是演示:通过调用 hook,开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ",-1)),V=C({__name:"use-watermark",setup(n){const p=v(null),{setWatermark:c,clearWatermark:_}=f(p),{setWatermark:d,clearWatermark:k}=f();return(B,e)=>{const o=i("el-button"),u=i("el-button-group");return y(),b("div",I,[$,m("div",{ref_key:"localRef",ref:p,class:"local"},null,512),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[0]||(e[0]=s=>r(c)("局部水印",{color:"#409eff"}))},{default:a(()=>[l("创建局部水印")]),_:1}),t(o,{type:"warning",onClick:e[1]||(e[1]=s=>r(c)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(_)},{default:a(()=>[l("清除局部水印")]),_:1},8,["onClick"])]),_:1}),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[2]||(e[2]=s=>r(d)("全局水印",{color:"#409eff"}))},{default:a(()=>[l("创建全局水印")]),_:1}),t(o,{type:"warning",onClick:e[3]||(e[3]=s=>r(d)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(k)},{default:a(()=>[l("清除全局水印")]),_:1},8,["onClick"])]),_:1})])}}}),q=w(V,[["__scopeId","data-v-dbeea05d"]]);export{q as default};
|
@ -1 +1 @@
|
||||
import{n as u}from"./element-D97nkBxs.js";import{r as x,z as C}from"./vue-Dve2Dm07.js";const L={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=x(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){console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");return}v=e,d={...L,...a},t?b():f(),m(n.value)},f=()=>{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}}},g=u(()=>{h(),f(),m(n.value)},100),m=e=>{d.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&k(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)},k=e=>{const a=u(i=>{i.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&g();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 C(()=>{h()}),{setWatermark:O,clearWatermark:h}}export{$ as u};
|
||||
import{n as u}from"./element-ld5q79O4.js";import{r as x,A as C}from"./vue-BiR7ZKfy.js";const L={defense:!0,color:"#c0c4cc",opacity:.5,size:16,family:"serif",angle:-20,width:300,height:200},E=x(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){console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印");return}v=e,d={...L,...a},t?b():f(),m(n.value)},f=()=>{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}}},g=u(()=>{h(),f(),m(n.value)},100),m=e=>{d.defense?!r.watermarkElMutationObserver&&!r.parentElMutationObserver&&k(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)},k=e=>{const a=u(i=>{i.forEach(u(s=>{switch(s.type){case"attributes":s.target===t&&g();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 C(()=>{h()}),{setWatermark:O,clearWatermark:h}}export{$ as u};
|
1
static/vue-BiR7ZKfy.js
Normal file
1
static/vue-BiR7ZKfy.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
File diff suppressed because one or more lines are too long
4
static/vxe-b1KXxwBC.js
Normal file
4
static/vxe-b1KXxwBC.js
Normal file
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user