@sugarat/easypicker2-client 2.4.3 → 2.6.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/aria-bc8e8b0f.js +2 -0
- package/dist/assets/aria-bc8e8b0f.js.map +1 -0
- package/dist/assets/aria-legacy.af0825d3.js +2 -0
- package/dist/assets/data-analysis-632af70e.js +2 -0
- package/dist/assets/data-analysis-632af70e.js.map +1 -0
- package/dist/assets/data-analysis-legacy.297ff95d.js +2 -0
- package/dist/assets/data-board-4290cade.js +2 -0
- package/dist/assets/data-board-4290cade.js.map +1 -0
- package/dist/assets/data-board-legacy.b3bf2f61.js +2 -0
- package/dist/assets/el-date-picker-b3398f8f.js +2 -0
- package/dist/assets/el-date-picker-b3398f8f.js.map +1 -0
- package/dist/assets/el-date-picker-cf2e83b6.css +1 -0
- package/dist/assets/el-date-picker-legacy.fd044c30.js +2 -0
- package/dist/assets/el-dialog-25bd2fb8.css +1 -0
- package/dist/assets/el-dialog-c11c4af2.js +2 -0
- package/dist/assets/el-dialog-c11c4af2.js.map +1 -0
- package/dist/assets/el-dialog-legacy.d2229175.js +2 -0
- package/dist/assets/el-dropdown-item-0c6ddabc.css +1 -0
- package/dist/assets/el-dropdown-item-3eb29c67.js +2 -0
- package/dist/assets/el-dropdown-item-3eb29c67.js.map +1 -0
- package/dist/assets/el-dropdown-item-legacy.60575f42.js +2 -0
- package/dist/assets/el-form-item-3aad794a.css +1 -0
- package/dist/assets/el-form-item-fb230be3.js +2 -0
- package/dist/assets/el-form-item-fb230be3.js.map +1 -0
- package/dist/assets/el-form-item-legacy.237ed4b6.js +2 -0
- package/dist/assets/el-loading-d0f2d079.css +1 -0
- package/dist/assets/el-loading-e9365e7e.js +2 -0
- package/dist/assets/el-loading-e9365e7e.js.map +1 -0
- package/dist/assets/el-loading-legacy.8045609e.js +2 -0
- package/dist/assets/el-pagination-85149e11.js +2 -0
- package/dist/assets/el-pagination-85149e11.js.map +1 -0
- package/dist/assets/el-pagination-bf7c736d.css +1 -0
- package/dist/assets/el-pagination-legacy.02ed0149.js +2 -0
- package/dist/assets/el-progress-63aabe3a.css +1 -0
- package/dist/assets/el-progress-b98becda.js +2 -0
- package/dist/assets/el-progress-b98becda.js.map +1 -0
- package/dist/assets/el-progress-legacy.1165db46.js +2 -0
- package/dist/assets/el-select-2a16e5df.js +2 -0
- package/dist/assets/el-select-2a16e5df.js.map +1 -0
- package/dist/assets/el-select-6be23320.css +1 -0
- package/dist/assets/el-select-legacy.5ccdd9a4.js +2 -0
- package/dist/assets/el-switch-abdd5a33.js +2 -0
- package/dist/assets/el-switch-abdd5a33.js.map +1 -0
- package/dist/assets/el-switch-aeab2c6b.css +1 -0
- package/dist/assets/el-switch-legacy.96786863.js +2 -0
- package/dist/assets/el-tab-pane-4a1bb4c7.css +1 -0
- package/dist/assets/el-tab-pane-db271c8d.js +2 -0
- package/dist/assets/el-tab-pane-db271c8d.js.map +1 -0
- package/dist/assets/el-tab-pane-legacy.143cbc33.js +2 -0
- package/dist/assets/el-table-column-19feeab8.js +21 -0
- package/dist/assets/el-table-column-19feeab8.js.map +1 -0
- package/dist/assets/el-table-column-6c2089f9.css +1 -0
- package/dist/assets/el-table-column-legacy.afba06f3.js +24 -0
- package/dist/assets/index-01e33329.css +1 -0
- package/dist/assets/index-0f83ff96.css +1 -0
- package/dist/assets/index-0fbe23b2.js +2 -0
- package/dist/assets/index-0fbe23b2.js.map +1 -0
- package/dist/assets/index-14d600a5.js +2 -0
- package/dist/assets/index-14d600a5.js.map +1 -0
- package/dist/assets/index-1639ad54.js +15 -0
- package/dist/assets/index-1639ad54.js.map +1 -0
- package/dist/assets/index-16b096cf.js +2 -0
- package/dist/assets/index-16b096cf.js.map +1 -0
- package/dist/assets/index-1bd2cd2e.js +2 -0
- package/dist/assets/index-1bd2cd2e.js.map +1 -0
- package/dist/assets/index-2c76567d.js +2 -0
- package/dist/assets/index-2c76567d.js.map +1 -0
- package/dist/assets/index-3091894a.css +1 -0
- package/dist/assets/index-34fd4f9f.css +1 -0
- package/dist/assets/index-37e15bc6.css +1 -0
- package/dist/assets/index-3f82ab7a.css +1 -0
- package/dist/assets/index-43d1d27e.js +2 -0
- package/dist/assets/index-43d1d27e.js.map +1 -0
- package/dist/assets/index-488b0f9e.js +2 -0
- package/dist/assets/index-488b0f9e.js.map +1 -0
- package/dist/assets/index-4b1f55ea.js +2 -0
- package/dist/assets/index-4b1f55ea.js.map +1 -0
- package/dist/assets/index-4c81cf78.css +1 -0
- package/dist/assets/index-51740dfd.js +2 -0
- package/dist/assets/index-51740dfd.js.map +1 -0
- package/dist/assets/index-5281fad0.js +2 -0
- package/dist/assets/index-5281fad0.js.map +1 -0
- package/dist/assets/index-68448dbd.js +2 -0
- package/dist/assets/index-68448dbd.js.map +1 -0
- package/dist/assets/index-74330c06.js +2 -0
- package/dist/assets/index-74330c06.js.map +1 -0
- package/dist/assets/index-76f31e30.css +1 -0
- package/dist/assets/index-76ff9b9b.css +1 -0
- package/dist/assets/index-78a8b3c7.js +2 -0
- package/dist/assets/index-78a8b3c7.js.map +1 -0
- package/dist/assets/index-82a6b493.css +1 -0
- package/dist/assets/index-93c733b3.css +1 -0
- package/dist/assets/index-98b55468.css +1 -0
- package/dist/assets/index-9e6a9bcf.js +2 -0
- package/dist/assets/index-9e6a9bcf.js.map +1 -0
- package/dist/assets/index-9e6bd406.js +2 -0
- package/dist/assets/index-9e6bd406.js.map +1 -0
- package/dist/assets/index-ac06071b.js +2 -0
- package/dist/assets/index-ac06071b.js.map +1 -0
- package/dist/assets/index-adc1b681.js +2 -0
- package/dist/assets/index-adc1b681.js.map +1 -0
- package/dist/assets/index-b8357360.js +2 -0
- package/dist/assets/index-b8357360.js.map +1 -0
- package/dist/assets/index-d09329eb.js +2 -0
- package/dist/assets/index-d09329eb.js.map +1 -0
- package/dist/assets/index-d3ae2239.css +1 -0
- package/dist/assets/index-da51da36.css +1 -0
- package/dist/assets/index-e7d8a83e.css +1 -0
- package/dist/assets/index-eb08e7b7.css +1 -0
- package/dist/assets/index-f31c9ba4.css +1 -0
- package/dist/assets/index-f74b7eb6.js +2 -0
- package/dist/assets/index-f74b7eb6.js.map +1 -0
- package/dist/assets/index-legacy.082ccf5b.js +2 -0
- package/dist/assets/index-legacy.12de1889.js +2 -0
- package/dist/assets/index-legacy.1796b3ef.js +2 -0
- package/dist/assets/index-legacy.227978b5.js +2 -0
- package/dist/assets/index-legacy.296716c3.js +2 -0
- package/dist/assets/index-legacy.36482c14.js +2 -0
- package/dist/assets/index-legacy.41d8801d.js +2 -0
- package/dist/assets/index-legacy.4b2923ee.js +2 -0
- package/dist/assets/index-legacy.4c1d6eb3.js +2 -0
- package/dist/assets/index-legacy.7a041259.js +2 -0
- package/dist/assets/index-legacy.820f4ba0.js +2 -0
- package/dist/assets/index-legacy.8311ba4a.js +2 -0
- package/dist/assets/index-legacy.9eb93981.js +18 -0
- package/dist/assets/index-legacy.a19ed25e.js +2 -0
- package/dist/assets/index-legacy.b8de0bf4.js +2 -0
- package/dist/assets/index-legacy.e932a3d4.js +2 -0
- package/dist/assets/index-legacy.e96fb189.js +2 -0
- package/dist/assets/index-legacy.ec490514.js +2 -0
- package/dist/assets/index-legacy.ed2883a1.js +2 -0
- package/dist/assets/index-legacy.f16524a6.js +2 -0
- package/dist/assets/index-legacy.f84efe08.js +2 -0
- package/dist/assets/isEqual-95d6c129.js +2 -0
- package/dist/assets/isEqual-95d6c129.js.map +1 -0
- package/dist/assets/isEqual-legacy.83836994.js +2 -0
- package/dist/assets/other-8d7ba6a0.js +2 -0
- package/dist/assets/other-8d7ba6a0.js.map +1 -0
- package/dist/assets/other-legacy.39078796.js +2 -0
- package/dist/assets/polyfills-legacy.99e38685.js +4 -0
- package/dist/assets/refresh-be31af7a.js +2 -0
- package/dist/assets/refresh-be31af7a.js.map +1 -0
- package/dist/assets/refresh-legacy.600c5af4.js +2 -0
- package/dist/assets/tip-822b05b7.js +2 -0
- package/dist/assets/tip-822b05b7.js.map +1 -0
- package/dist/assets/tip-9cb18ee8.css +1 -0
- package/dist/assets/tip-legacy.b6d754fd.js +2 -0
- package/dist/assets/validator-5c60ab85.js +2 -0
- package/dist/assets/validator-5c60ab85.js.map +1 -0
- package/dist/assets/validator-legacy.86b93c0e.js +2 -0
- package/{index.html → dist/index.html} +8 -1
- package/package.json +26 -19
- package/.env +0 -6
- package/.env.production +0 -3
- package/.env.test +0 -4
- package/.eslintignore +0 -0
- package/.eslintrc.json +0 -57
- package/.github/workflows/main.yml +0 -61
- package/.prettierrc.js +0 -9
- package/auto-imports.d.ts +0 -6
- package/components.d.ts +0 -56
- package/docker/ep_backup/easypicker2.sql +0 -214
- package/docker/ep_backup/mongodb/easypicker2/action.bson +0 -0
- package/docker/ep_backup/mongodb/easypicker2/action.metadata.json +0 -1
- package/docker/ep_backup/mongodb/easypicker2/log.bson +0 -0
- package/docker/ep_backup/mongodb/easypicker2/log.metadata.json +0 -1
- package/docker/ep_backup/user-config.json +0 -176
- package/docs/.env +0 -1
- package/docs/.env.production +0 -2
- package/docs/.vitepress/config.ts +0 -204
- package/docs/.vitepress/theme/bg.png +0 -0
- package/docs/.vitepress/theme/index.scss +0 -41
- package/docs/.vitepress/theme/index.ts +0 -5
- package/docs/author.md +0 -24
- package/docs/auto-imports.d.ts +0 -6
- package/docs/components.d.ts +0 -17
- package/docs/deploy/design/api.md +0 -3
- package/docs/deploy/design/db.md +0 -3
- package/docs/deploy/design/index.md +0 -3
- package/docs/deploy/design/shell.md +0 -9
- package/docs/deploy/faq.md +0 -86
- package/docs/deploy/index.md +0 -9
- package/docs/deploy/local.md +0 -275
- package/docs/deploy/online-new.md +0 -610
- package/docs/deploy/online.md +0 -683
- package/docs/deploy/qiniu.md +0 -183
- package/docs/index.md +0 -40
- package/docs/introduction/about/code.md +0 -26
- package/docs/introduction/about/index.md +0 -33
- package/docs/introduction/feature/index.md +0 -3
- package/docs/plan/log.md +0 -346
- package/docs/plan/todo.md +0 -127
- package/docs/plan/wish.md +0 -29
- package/docs/praise/index.md +0 -45
- package/docs/public/robots.txt +0 -2
- package/docs/src/apis/ajax.ts +0 -66
- package/docs/src/apis/index.ts +0 -1
- package/docs/src/apis/modules/wish.ts +0 -20
- package/docs/src/components/Avatar.vue +0 -60
- package/docs/src/components/Home.vue +0 -85
- package/docs/src/components/Picture.vue +0 -13
- package/docs/src/components/Praise.vue +0 -52
- package/docs/src/components/WishBtn.vue +0 -98
- package/docs/src/components/WishPanel.vue +0 -170
- package/docs/src/components/callme/index.vue +0 -72
- package/docs/vite.config.ts +0 -42
- package/public/favicon.ico +0 -0
- package/public/logo.png +0 -0
- package/scripts/deploy/docs.mjs +0 -24
- package/scripts/deploy/prod.mjs +0 -24
- package/scripts/deploy/test.mjs +0 -26
- package/src/@types/ajax.d.ts +0 -5
- package/src/@types/api.d.ts +0 -305
- package/src/@types/lib.d.ts +0 -26
- package/src/@types/page.d.ts +0 -18
- package/src/App.vue +0 -36
- package/src/apis/ajax.ts +0 -72
- package/src/apis/index.ts +0 -20
- package/src/apis/modules/action.ts +0 -17
- package/src/apis/modules/category.ts +0 -20
- package/src/apis/modules/config.ts +0 -19
- package/src/apis/modules/file.ts +0 -150
- package/src/apis/modules/people.ts +0 -81
- package/src/apis/modules/public.ts +0 -49
- package/src/apis/modules/super/overview.ts +0 -56
- package/src/apis/modules/super/user.ts +0 -62
- package/src/apis/modules/task.ts +0 -67
- package/src/apis/modules/user.ts +0 -56
- package/src/apis/modules/wish.ts +0 -31
- package/src/assets/i/EasyPicker.png +0 -0
- package/src/assets/logo.png +0 -0
- package/src/assets/styles/app.css +0 -69
- package/src/components/HomeFooter/index.vue +0 -134
- package/src/components/HomeHeader/index.vue +0 -156
- package/src/components/InfosForm/index.vue +0 -73
- package/src/components/MessageList/index.vue +0 -155
- package/src/components/MessagePanel/index.vue +0 -46
- package/src/components/Praise/index.vue +0 -102
- package/src/components/QrCode.vue +0 -44
- package/src/components/linkDialog.vue +0 -104
- package/src/components/loginPanel.vue +0 -92
- package/src/constants/index.ts +0 -83
- package/src/env.d.ts +0 -8
- package/src/main.ts +0 -19
- package/src/pages/404/index.vue +0 -59
- package/src/pages/about/index.vue +0 -152
- package/src/pages/callme/index.vue +0 -155
- package/src/pages/dashboard/config/index.vue +0 -304
- package/src/pages/dashboard/files/index.vue +0 -1152
- package/src/pages/dashboard/index.vue +0 -335
- package/src/pages/dashboard/manage/config/index.vue +0 -97
- package/src/pages/dashboard/manage/index.vue +0 -105
- package/src/pages/dashboard/manage/overview/index.vue +0 -486
- package/src/pages/dashboard/manage/user/index.vue +0 -678
- package/src/pages/dashboard/manage/wish/index.vue +0 -257
- package/src/pages/dashboard/tasks/components/CategoryPanel.vue +0 -208
- package/src/pages/dashboard/tasks/components/CreateTask.vue +0 -93
- package/src/pages/dashboard/tasks/components/TaskInfo.vue +0 -129
- package/src/pages/dashboard/tasks/components/infoPanel/ddl.vue +0 -96
- package/src/pages/dashboard/tasks/components/infoPanel/file.vue +0 -175
- package/src/pages/dashboard/tasks/components/infoPanel/info.vue +0 -467
- package/src/pages/dashboard/tasks/components/infoPanel/people.vue +0 -566
- package/src/pages/dashboard/tasks/components/infoPanel/template.vue +0 -146
- package/src/pages/dashboard/tasks/components/infoPanel/tip.vue +0 -55
- package/src/pages/dashboard/tasks/components/infoPanel/tipInfo.vue +0 -196
- package/src/pages/dashboard/tasks/index.vue +0 -302
- package/src/pages/dashboard/tasks/public.ts +0 -32
- package/src/pages/disabled/index.vue +0 -47
- package/src/pages/feedback/index.vue +0 -5
- package/src/pages/home/index.vue +0 -72
- package/src/pages/login/index.vue +0 -270
- package/src/pages/register/index.vue +0 -211
- package/src/pages/reset/index.vue +0 -186
- package/src/pages/task/index.vue +0 -895
- package/src/pages/wish/index.vue +0 -152
- package/src/router/Interceptor/index.ts +0 -112
- package/src/router/index.ts +0 -13
- package/src/router/routes/index.ts +0 -197
- package/src/shims-vue.d.ts +0 -6
- package/src/store/index.ts +0 -17
- package/src/store/modules/category.ts +0 -44
- package/src/store/modules/public.ts +0 -27
- package/src/store/modules/task.ts +0 -55
- package/src/store/modules/user.ts +0 -57
- package/src/utils/elementUI.ts +0 -8
- package/src/utils/networkUtil.ts +0 -236
- package/src/utils/other.ts +0 -25
- package/src/utils/regExp.ts +0 -11
- package/src/utils/stringUtil.ts +0 -241
- package/tsconfig.json +0 -24
- package/vite.config.ts +0 -55
- /package/{docs/public → dist}/favicon.ico +0 -0
- /package/{docs/public → dist}/logo.png +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{J as se,K as R,L as $,M as ae,N as ne,d as E,O as y,Q as le,r as A,k as m,R as re,f as c,D as K,w as p,c as _,H as I,t as k,S as C,T as U,b as B,V as ie,W as pe,X as ce,Y as de,g as L,a as o,Z as N,$ as J,h as Q,F as D,C as X,s as F,j as n,a0 as Y,x as G,_ as z,a1 as ee,o as te,a2 as ue,u as _e,U as O,i as W,E as fe,I as ve,p as he,e as me,a3 as ge}from"./index-1639ad54.js";import{E as be}from"./el-dialog-c11c4af2.js";import{d as H,E as we,a as $e,b as ye,c as Ce}from"./el-dropdown-item-3eb29c67.js";import{E as ke,a as xe}from"./el-tab-pane-db271c8d.js";import{E as Ee}from"./index-b8357360.js";import"./index-68448dbd.js";import"./aria-bc8e8b0f.js";import"./validator-5c60ab85.js";const Me=se({trigger:R.trigger,placement:H.placement,disabled:R.disabled,visible:$.visible,transition:$.transition,popperOptions:H.popperOptions,tabindex:H.tabindex,content:$.content,popperStyle:$.popperStyle,popperClass:$.popperClass,enterable:{...$.enterable,default:!0},effect:{...$.effect,default:"light"},teleported:$.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Ve={"update:visible":r=>ae(r),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Se={name:"ElPopover"},Ae=E({...Se,props:Me,emits:Ve,setup(r,{expose:l,emit:t}){const s=r,f="onUpdate:visible",i=y(()=>s[f]),h=le("popover"),g=A(),u=y(()=>{var e;return(e=m(g))==null?void 0:e.popperRef}),v=y(()=>[{width:re(s.width)},s.popperStyle]),b=y(()=>[h.b(),s.popperClass,{[h.m("plain")]:!!s.content}]),d=y(()=>s.transition==="el-fade-in-linear"),a=()=>{var e;(e=g.value)==null||e.hide()},x=()=>{t("before-enter")},w=()=>{t("before-leave")},M=()=>{t("after-enter")},V=()=>{t("update:visible",!1),t("after-leave")};return l({popperRef:u,hide:a}),(e,T)=>(c(),K(m(pe),ie({ref_key:"tooltipRef",ref:g},e.$attrs,{trigger:e.trigger,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":m(b),"popper-style":m(v),teleported:e.teleported,persistent:e.persistent,"gpu-acceleration":m(d),"onUpdate:visible":m(i),onBeforeShow:x,onBeforeHide:w,onShow:M,onHide:V}),{content:p(()=>[e.title?(c(),_("div",{key:0,class:I(m(h).e("title")),role:"title"},k(e.title),3)):C("v-if",!0),U(e.$slots,"default",{},()=>[B(k(e.content),1)])]),default:p(()=>[e.$slots.reference?U(e.$slots,"reference",{key:0}):C("v-if",!0)]),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}});var Be=ne(Ae,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue"]]);const Z=(r,l)=>{const t=l.arg||l.value,s=t==null?void 0:t.popperRef;s&&(s.triggerRef=r)};var Pe={mounted(r,l){Z(r,l)},updated(r,l){Z(r,l)}};const He="popover",De=ce(Pe,He),Ie=de(Be,{directive:De}),Le=E({name:"Bell"}),Ne={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ze=o("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),Te=o("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),Re=o("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1),Ue=[ze,Te,Re];function Fe(r,l,t,s,f,i){return c(),_("svg",Ne,Ue)}var Oe=L(Le,[["render",Fe]]);const We=E({name:"Close"}),Ze={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},je=o("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1),qe=[je];function Ke(r,l,t,s,f,i){return c(),_("svg",Ze,qe)}var Je=L(We,[["render",Ke]]);const Qe=E({name:"Expand"}),Xe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ye=o("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1),Ge=[Ye];function et(r,l,t,s,f,i){return c(),_("svg",Xe,Ge)}var tt=L(Qe,[["render",et]]);const ot={key:0,class:"empty"},st={class:"message-list"},at=["onClick"],nt={class:"text"},lt={class:"date"},rt=["innerHTML"],it={class:"dialog-date"},pt=E({__name:"index",props:{data:{},autoShow:{type:Boolean}},setup(r){const l=r,t=N({show:!1,title:"系统消息",text:"内容"}),s=A(null),f=u=>{s.value=u,t.text=u.text,t.title=u.type===0?"【系统消息】":"【私信】",t.show=!0},i=()=>{if(s.value.read){t.show=!1;return}Y.readMessage(s.value.id).then(()=>{s.value.read=!0,t.show=!1})};J(()=>l.data.length,()=>{if(!l.autoShow)return;const u=l.data.find(v=>!v.read);u&&f(u)});const h=Q(),g=y(()=>h.getters["public/isMobile"]);return(u,v)=>{const b=G,d=be;return c(),_(D,null,[u.data.length?C("",!0):(c(),_("div",ot,"暂无更多消息 ღ( ´・ᴗ・` )比心")),o("ul",st,[(c(!0),_(D,null,X(u.data,a=>(c(),_("li",{key:a.id,class:I({read:a.read}),onClick:x=>f(a)},[o("p",nt,k(a.text),1),o("p",lt,k(m(F)(new Date(a.date))),1)],10,at))),128))]),n(d,{center:"","show-close":"","append-to-body":"",modelValue:t.show,"onUpdate:modelValue":v[1]||(v[1]=a=>t.show=a),"close-on-click-modal":!1,title:t.title,width:"30%",fullscreen:g.value},{footer:p(()=>[o("p",it," 时间:"+k(m(F)(new Date(s.value.date))),1),o("span",null,[n(b,{type:"default",onClick:v[0]||(v[0]=()=>{t.show=!1})},{default:p(()=>[B(" 下次提醒 ")]),_:1}),n(b,{type:"primary",onClick:i},{default:p(()=>[B(" 确定 ")]),_:1})])]),default:p(()=>[o("div",{class:"message-text",innerHTML:t.text},null,8,rt)]),_:1},8,["modelValue","title","fullscreen"])],64)}}});const j=z(pt,[["__scopeId","data-v-46eebd19"]]),ct={class:"message-panel"},dt=E({__name:"index",setup(r){const l=A("all"),t=N([]),s=y(()=>t.filter(i=>!i.read)),f=ee();return te(()=>{f.name!=="config"&&Y.getMessageList().then(i=>{t.push(...i.data)})}),(i,h)=>{const g=G,u=ue,v=ke,b=xe,d=Ie;return c(),_("div",ct,[n(d,{placement:"bottom-end",width:375,trigger:"hover"},{reference:p(()=>[n(u,{value:s.value.length||"",max:99},{default:p(()=>[n(g,{icon:m(Oe),circle:""},null,8,["icon"])]),_:1},8,["value"])]),default:p(()=>[o("div",null,[n(b,{modelValue:l.value,"onUpdate:modelValue":h[0]||(h[0]=a=>l.value=a)},{default:p(()=>[n(v,{label:"未读 ".concat(s.value.length||""),name:"no"},{default:p(()=>[n(j,{"auto-show":"",data:s.value},null,8,["data"])]),_:1},8,["label"]),n(v,{label:"全部 ".concat(t.length||""),name:"all"},{default:p(()=>[n(j,{data:t},null,8,["data"])]),_:1},8,["label"])]),_:1},8,["modelValue"])])]),_:1})])}}});const q=z(dt,[["__scopeId","data-v-9de070a6"]]),S=r=>(he("data-v-2108dc2b"),r=r(),me(),r),ut={class:"dashboard"},_t={class:"pc-nav"},ft={class:"nav"},vt={class:"logo"},ht=S(()=>o("img",{src:"https://img.cdn.sugarat.top/easypicker/EasyPicker.png",alt:"logo"},null,-1)),mt={key:0,type:"checkbox",id:"navActive"},gt={key:0,for:"navActive",class:"nav-item"},bt=S(()=>o("span",null,"Hello💐,",-1)),wt=["onClick"],$t=S(()=>o("span",{style:{"margin-right":"6px"}},"退出",-1)),yt=S(()=>o("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-v-53d86618":""},[o("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z",fill:"#86909C","data-v-53d86618":""})],-1)),Ct=S(()=>o("div",{class:"mask"},null,-1)),kt={id:"navMenu"},xt={for:"navActive"},Et={key:0,class:"flex fac"},Mt=S(()=>o("span",null,"Hello 💐,",-1)),Vt={class:"exit-info"},St={class:"ellipsis"},At=E({__name:"index",setup(r){const l=_e(),t=Q(),s=ee(),f=y(()=>t.getters["public/isMobile"]),i=N([{title:"文件管理",path:"/dashboard/files"},{title:"任务管理",path:"/dashboard/tasks"}]),h=A(0),g=d=>{const a=i[d];!a.isExternal&&d!==h.value&&l.push({path:a.path}),a.isExternal&&window.open(a.path,"_blank")};J(()=>s.path,d=>{const a=i.findIndex(x=>d.startsWith(x.path));a!==-1&&(h.value=a)});const u=()=>{Ee.confirm("确认退出登录?","登出提示",{draggable:!0}).then(()=>{O.logout().finally(()=>{t.commit("user/setToken",null),l.replace({name:"home"})})}).catch(()=>{fe.info("取消")})},v=A("World"),b=()=>{h.value=i.findIndex(d=>s.path.startsWith(d.path))};return te(()=>{O.checkPower().then(d=>{var w,M,V;const a=(w=d.data)==null?void 0:w.power;if(v.value=(M=d.data)==null?void 0:M.name,t.commit("user/setSuperAdmin",a),a){const e=[{title:"应用管理",path:"/dashboard/manage"},{title:"网站监控",path:"https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78",isExternal:!0}];i.push(...e)}((V=d.data)==null?void 0:V.system)&&(i.splice(0,i.length),i.push({title:"系统管理",path:"/dashboard/config"})),b()})}),(d,a)=>{const x=W("router-link"),w=ve,M=ye,V=Ce,e=we,T=W("router-view");return c(),_("div",ut,[o("div",_t,[o("div",ft,[o("div",vt,[n(x,{to:"/"},{default:p(()=>[ht]),_:1})]),f.value?(c(),_("input",mt)):C("",!0),o("nav",null,[f.value?(c(),_("label",gt,[bt,B(" "+k(v.value),1)])):C("",!0),(c(!0),_(D,null,X(i,(oe,P)=>(c(),_("label",{for:"navActive",class:I(["nav-item",{active:h.value===P}]),key:P,onClick:Bt=>g(P)},k(oe.title),11,wt))),128)),f.value?(c(),_("label",{key:1,onClick:u,for:"navActive",class:"nav-item"},[$t,n(w,{size:"16"},{default:p(()=>[yt]),_:1})])):C("",!0)]),Ct]),o("span",kt,[f.value?(c(),K(q,{key:0,class:"mobile-message-bell"})):C("",!0),o("label",xt,[n(w,{size:"32"},{default:p(()=>[n(m(tt))]),_:1})])]),f.value?C("",!0):(c(),_("div",Et,[n(q),Mt,n(e,{class:"exit"},{dropdown:p(()=>[n(V,null,{default:p(()=>[n(M,{onClick:u,icon:m(Je)},{default:p(()=>[B("退出")]),_:1},8,["icon"])]),_:1})]),default:p(()=>[o("span",Vt,[o("span",St,k(v.value),1),n(w,null,{default:p(()=>[n(m($e))]),_:1})])]),_:1})]))]),n(T),o("div",null,[n(ge,{type:"dashboard"})])])}}});const Rt=z(At,[["__scopeId","data-v-2108dc2b"]]);export{Rt as default};
|
|
2
|
+
//# sourceMappingURL=index-adc1b681.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-adc1b681.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/popover/src/popover.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/popover/src/popover2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/popover/src/directive.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/popover/index.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/bell.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/close.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/expand.mjs","../../src/components/MessageList/index.vue","../../src/components/MessagePanel/index.vue","../../src/pages/dashboard/index.vue"],"sourcesContent":["import '../../../utils/index.mjs';\nimport '../../tooltip/index.mjs';\nimport '../../dropdown/index.mjs';\nimport { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { useTooltipTriggerProps, useTooltipContentProps } from '../../tooltip/src/tooltip.mjs';\nimport { dropdownProps } from '../../dropdown/src/dropdown.mjs';\nimport { isBoolean } from '@vueuse/core';\n\nconst popoverProps = buildProps({\n trigger: useTooltipTriggerProps.trigger,\n placement: dropdownProps.placement,\n disabled: useTooltipTriggerProps.disabled,\n visible: useTooltipContentProps.visible,\n transition: useTooltipContentProps.transition,\n popperOptions: dropdownProps.popperOptions,\n tabindex: dropdownProps.tabindex,\n content: useTooltipContentProps.content,\n popperStyle: useTooltipContentProps.popperStyle,\n popperClass: useTooltipContentProps.popperClass,\n enterable: {\n ...useTooltipContentProps.enterable,\n default: true\n },\n effect: {\n ...useTooltipContentProps.effect,\n default: \"light\"\n },\n teleported: useTooltipContentProps.teleported,\n title: String,\n width: {\n type: [String, Number],\n default: 150\n },\n offset: {\n type: Number,\n default: void 0\n },\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n },\n showArrow: {\n type: Boolean,\n default: true\n },\n persistent: {\n type: Boolean,\n default: true\n },\n \"onUpdate:visible\": {\n type: Function\n }\n});\nconst popoverEmits = {\n \"update:visible\": (value) => isBoolean(value),\n \"before-enter\": () => true,\n \"before-leave\": () => true,\n \"after-enter\": () => true,\n \"after-leave\": () => true\n};\n\nexport { popoverEmits, popoverProps };\n//# sourceMappingURL=popover.mjs.map\n","import { defineComponent, computed, ref, unref, openBlock, createBlock, mergeProps, withCtx, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, renderSlot, createTextVNode } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { popoverProps, popoverEmits } from './popover.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addUnit } from '../../../utils/dom/style.mjs';\n\nconst __default__ = {\n name: \"ElPopover\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n props: popoverProps,\n emits: popoverEmits,\n setup(__props, { expose, emit }) {\n const props = __props;\n const updateEventKeyRaw = `onUpdate:visible`;\n const onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw];\n });\n const ns = useNamespace(\"popover\");\n const tooltipRef = ref();\n const popperRef = computed(() => {\n var _a;\n return (_a = unref(tooltipRef)) == null ? void 0 : _a.popperRef;\n });\n const style = computed(() => {\n return [\n {\n width: addUnit(props.width)\n },\n props.popperStyle\n ];\n });\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m(\"plain\")]: !!props.content }];\n });\n const gpuAcceleration = computed(() => {\n return props.transition === \"el-fade-in-linear\";\n });\n const hide = () => {\n var _a;\n (_a = tooltipRef.value) == null ? void 0 : _a.hide();\n };\n const beforeEnter = () => {\n emit(\"before-enter\");\n };\n const beforeLeave = () => {\n emit(\"before-leave\");\n };\n const afterEnter = () => {\n emit(\"after-enter\");\n };\n const afterLeave = () => {\n emit(\"update:visible\", false);\n emit(\"after-leave\");\n };\n expose({\n popperRef,\n hide\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ElTooltip), mergeProps({\n ref_key: \"tooltipRef\",\n ref: tooltipRef\n }, _ctx.$attrs, {\n trigger: _ctx.trigger,\n placement: _ctx.placement,\n disabled: _ctx.disabled,\n visible: _ctx.visible,\n transition: _ctx.transition,\n \"popper-options\": _ctx.popperOptions,\n tabindex: _ctx.tabindex,\n content: _ctx.content,\n offset: _ctx.offset,\n \"show-after\": _ctx.showAfter,\n \"hide-after\": _ctx.hideAfter,\n \"auto-close\": _ctx.autoClose,\n \"show-arrow\": _ctx.showArrow,\n \"aria-label\": _ctx.title,\n effect: _ctx.effect,\n enterable: _ctx.enterable,\n \"popper-class\": unref(kls),\n \"popper-style\": unref(style),\n teleported: _ctx.teleported,\n persistent: _ctx.persistent,\n \"gpu-acceleration\": unref(gpuAcceleration),\n \"onUpdate:visible\": unref(onUpdateVisible),\n onBeforeShow: beforeEnter,\n onBeforeHide: beforeLeave,\n onShow: afterEnter,\n onHide: afterLeave\n }), {\n content: withCtx(() => [\n _ctx.title ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"title\")),\n role: \"title\"\n }, toDisplayString(_ctx.title), 3)) : createCommentVNode(\"v-if\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.content), 1)\n ])\n ]),\n default: withCtx(() => [\n _ctx.$slots.reference ? renderSlot(_ctx.$slots, \"reference\", { key: 0 }) : createCommentVNode(\"v-if\", true)\n ]),\n _: 3\n }, 16, [\"trigger\", \"placement\", \"disabled\", \"visible\", \"transition\", \"popper-options\", \"tabindex\", \"content\", \"offset\", \"show-after\", \"hide-after\", \"auto-close\", \"show-arrow\", \"aria-label\", \"effect\", \"enterable\", \"popper-class\", \"popper-style\", \"teleported\", \"persistent\", \"gpu-acceleration\", \"onUpdate:visible\"]);\n };\n }\n});\nvar Popover = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue\"]]);\n\nexport { Popover as default };\n//# sourceMappingURL=popover2.mjs.map\n","const attachEvents = (el, binding) => {\n const popperComponent = binding.arg || binding.value;\n const popover = popperComponent == null ? void 0 : popperComponent.popperRef;\n if (popover) {\n popover.triggerRef = el;\n }\n};\nvar PopoverDirective = {\n mounted(el, binding) {\n attachEvents(el, binding);\n },\n updated(el, binding) {\n attachEvents(el, binding);\n }\n};\nconst VPopover = \"popover\";\n\nexport { VPopover, PopoverDirective as default };\n//# sourceMappingURL=directive.mjs.map\n","import '../../utils/index.mjs';\nimport Popover from './src/popover2.mjs';\nimport PopoverDirective, { VPopover } from './src/directive.mjs';\nexport { popoverEmits, popoverProps } from './src/popover.mjs';\nimport { withInstallDirective, withInstall } from '../../utils/vue/install.mjs';\n\nconst ElPopoverDirective = withInstallDirective(PopoverDirective, VPopover);\nconst ElPopover = withInstall(Popover, {\n directive: ElPopoverDirective\n});\n\nexport { ElPopover, ElPopoverDirective, ElPopover as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Bell\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar bell = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { bell as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Close\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar close = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { close as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Expand\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar expand = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { expand as default };\n","<script lang=\"ts\" setup>\nimport { ref, reactive, onMounted, watch, computed } from 'vue'\nimport { useStore } from 'vuex'\nimport { formatDate } from '@/utils/stringUtil'\nimport { SuperUserApi } from '@/apis'\n\nconst props = defineProps<{\n data: SuperUserApiTypes.MessageItem[]\n autoShow?: boolean\n}>()\n\nconst dialogMessage = reactive({\n show: false,\n title: '系统消息',\n text: '内容'\n})\nconst activeMessage = ref<SuperUserApiTypes.MessageItem>(null)\nconst handleViewDialogMessage = (v: SuperUserApiTypes.MessageItem) => {\n activeMessage.value = v\n dialogMessage.text = v.text\n // TODO: 魔法数字问题\n // TODO:支持更多的消息类型\n dialogMessage.title = v.type === 0 ? '【系统消息】' : '【私信】'\n dialogMessage.show = true\n}\n\nconst readMessage = () => {\n if (activeMessage.value.read) {\n dialogMessage.show = false\n return\n }\n SuperUserApi.readMessage(activeMessage.value.id).then(() => {\n activeMessage.value.read = true\n dialogMessage.show = false\n })\n}\n\nwatch(\n () => props.data.length,\n () => {\n if (!props.autoShow) {\n return\n }\n const showItem = props.data.find((v) => !v.read)\n if (showItem) {\n handleViewDialogMessage(showItem)\n }\n }\n)\n\n// TODO:换成自定义hook\nconst $store = useStore()\nconst isMobile = computed(() => $store.getters['public/isMobile'])\n</script>\n<template>\n <div v-if=\"!data.length\" class=\"empty\">暂无更多消息 ღ( ´・ᴗ・` )比心</div>\n <ul class=\"message-list\">\n <li\n v-for=\"d in data\"\n :key=\"d.id\"\n :class=\"{\n read: d.read\n }\"\n @click=\"handleViewDialogMessage(d)\"\n >\n <p class=\"text\">{{ d.text }}</p>\n <p class=\"date\">{{ formatDate(new Date(d.date)) }}</p>\n </li>\n </ul>\n <el-dialog\n center\n show-close\n append-to-body\n v-model=\"dialogMessage.show\"\n :close-on-click-modal=\"false\"\n :title=\"dialogMessage.title\"\n width=\"30%\"\n :fullscreen=\"isMobile\"\n >\n <div class=\"message-text\" v-html=\"dialogMessage.text\"></div>\n <template #footer>\n <p class=\"dialog-date\">\n 时间:{{ formatDate(new Date(activeMessage.date)) }}\n </p>\n <span>\n <el-button\n type=\"default\"\n @click=\"\n () => {\n dialogMessage.show = false\n }\n \"\n >\n 下次提醒\n </el-button>\n <el-button type=\"primary\" @click=\"readMessage\"> 确定 </el-button>\n </span>\n </template>\n </el-dialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.message-list {\n list-style: none;\n max-height: 500px;\n overflow-y: scroll;\n li {\n border-bottom: 1px solid #ddd;\n padding: 10px;\n cursor: pointer;\n &.read {\n opacity: 0.5;\n &:hover {\n opacity: 0.9;\n }\n }\n &:last-child {\n border-bottom: none;\n }\n\n p.text {\n font-size: 16px;\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n p.date {\n font-size: 14px;\n margin-top: 4px;\n }\n }\n}\n.empty {\n text-align: center;\n padding: 10px;\n}\n\n.dialog-date {\n font-size: 14px;\n text-align: right;\n padding: 10px;\n color: grey;\n}\n</style>\n<style lang=\"scss\">\n.message-text {\n overflow-y: scroll;\n max-height: 500px;\n ul,\n ol {\n list-style: none;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { Bell } from '@element-plus/icons-vue'\nimport { computed, reactive, onMounted, ref } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SuperUserApi } from '@/apis'\nimport MessageList from '@/components/MessageList/index.vue'\n\nconst activeTab = ref<'all' | 'no'>('all')\nconst messageData = reactive<SuperUserApiTypes.MessageItem[]>([])\n\nconst noReadMessage = computed(() => messageData.filter((v) => !v.read))\nconst route = useRoute()\nonMounted(() => {\n if (route.name !== 'config') {\n SuperUserApi.getMessageList().then((v) => {\n messageData.push(...v.data)\n })\n }\n})\n</script>\n<template>\n <div class=\"message-panel\">\n <el-popover placement=\"bottom-end\" :width=\"375\" trigger=\"hover\">\n <template #reference>\n <el-badge :value=\"noReadMessage.length || ''\" :max=\"99\">\n <el-button :icon=\"Bell\" circle />\n </el-badge>\n </template>\n <div>\n <el-tabs v-model=\"activeTab\">\n <el-tab-pane :label=\"`未读 ${noReadMessage.length || ''}`\" name=\"no\">\n <message-list auto-show :data=\"noReadMessage\" />\n </el-tab-pane>\n <el-tab-pane :label=\"`全部 ${messageData.length || ''}`\" name=\"all\">\n <message-list :data=\"messageData\" />\n </el-tab-pane>\n </el-tabs>\n </div>\n </el-popover>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n.message-panel {\n margin-right: 10px;\n}\n</style>\n","<template>\n <div class=\"dashboard\">\n <div class=\"pc-nav\">\n <div class=\"nav\">\n <!-- LOGO -->\n <div class=\"logo\">\n <router-link to=\"/\">\n <img\n src=\"https://img.cdn.sugarat.top/easypicker/EasyPicker.png\"\n alt=\"logo\"\n />\n </router-link>\n </div>\n <input v-if=\"isMobile\" type=\"checkbox\" id=\"navActive\" />\n <nav>\n <label v-if=\"isMobile\" for=\"navActive\" class=\"nav-item\">\n <span>Hello💐,</span>\n {{ userName }}\n </label>\n <label\n for=\"navActive\"\n class=\"nav-item\"\n v-for=\"(n, idx) in navList\"\n :key=\"idx\"\n :class=\"{\n active: navActiveIdx === idx\n }\"\n @click=\"handleNav(idx)\"\n >{{ n.title }}</label\n >\n <label\n @click=\"handleLogout\"\n v-if=\"isMobile\"\n for=\"navActive\"\n class=\"nav-item\"\n >\n <span style=\"margin-right: 6px\">退出</span>\n <el-icon size=\"16\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-v-53d86618\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z\"\n fill=\"#86909C\"\n data-v-53d86618\n />\n </svg>\n </el-icon>\n </label>\n </nav>\n <div class=\"mask\"></div>\n </div>\n <!-- 移动端展示 -->\n <span id=\"navMenu\">\n <message-panel v-if=\"isMobile\" class=\"mobile-message-bell\" />\n <label for=\"navActive\">\n <el-icon size=\"32\">\n <Expand />\n </el-icon>\n </label>\n </span>\n <div class=\"flex fac\" v-if=\"!isMobile\">\n <message-panel />\n <span>Hello 💐,</span>\n <el-dropdown class=\"exit\">\n <span class=\"exit-info\">\n <span class=\"ellipsis\">{{ userName }}</span>\n <el-icon>\n <ArrowDown />\n </el-icon>\n </span>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item @click=\"handleLogout\" :icon=\"Close\"\n >退出</el-dropdown-item\n >\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n </div>\n <router-view></router-view>\n <div>\n <home-footer type=\"dashboard\"></home-footer>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { Expand, Close, ArrowDown, Bell } from '@element-plus/icons-vue'\nimport HomeFooter from '@components/HomeFooter/index.vue'\n\nimport { onMounted, reactive, ref, computed, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport MessagePanel from '@/components/MessagePanel/index.vue'\nimport { UserApi } from '@/apis'\n\nconst $router = useRouter()\nconst $store = useStore()\nconst $route = useRoute()\nconst isMobile = computed(() => $store.getters['public/isMobile'])\nconst navList = reactive<\n { title: string; path: string; isExternal?: boolean }[]\n>([\n {\n title: '文件管理',\n path: '/dashboard/files'\n },\n {\n title: '任务管理',\n path: '/dashboard/tasks'\n }\n])\nconst navActiveIdx = ref(0)\nconst handleNav = (idx: number) => {\n const n = navList[idx]\n if (!n.isExternal && idx !== navActiveIdx.value) {\n $router.push({\n path: n.path\n })\n }\n if (n.isExternal) {\n window.open(n.path, '_blank')\n }\n}\n\n// 自动切换激活的标题栏\nwatch(\n () => $route.path,\n (path: string) => {\n const idx = navList.findIndex((n) => path.startsWith(n.path))\n if (idx !== -1) {\n navActiveIdx.value = idx\n }\n }\n)\n\nconst handleLogout = () => {\n ElMessageBox.confirm('确认退出登录?', '登出提示', {\n draggable: true\n })\n .then(() => {\n // 登出接口\n UserApi.logout().finally(() => {\n $store.commit('user/setToken', null)\n $router.replace({\n name: 'home'\n })\n })\n })\n .catch(() => {\n ElMessage.info('取消')\n })\n}\nconst userName = ref('World')\n\nconst refreshActiveTab = () => {\n // 动态修改active的项\n navActiveIdx.value = navList.findIndex((v) => $route.path.startsWith(v.path))\n}\nonMounted(() => {\n // 动态添加管理页面入口\n UserApi.checkPower().then((r) => {\n const isSuperAdmin = r.data?.power\n userName.value = r.data?.name\n $store.commit('user/setSuperAdmin', isSuperAdmin)\n if (isSuperAdmin) {\n const superNavList = [\n {\n title: '应用管理',\n path: '/dashboard/manage'\n },\n {\n title: '网站监控',\n path: 'https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78',\n isExternal: true\n }\n ]\n navList.push(...superNavList)\n }\n const isSystem = r.data?.system\n if (isSystem) {\n navList.splice(0, navList.length)\n navList.push({\n title: '系统管理',\n path: '/dashboard/config'\n })\n }\n refreshActiveTab()\n })\n})\n</script>\n<style scoped lang=\"scss\">\n.dashboard {\n background-color: #fafafa;\n}\n.pc-nav {\n background-color: #fff;\n display: flex;\n padding: 10px;\n justify-content: space-between;\n align-items: center;\n .exit {\n cursor: pointer;\n display: flex;\n align-items: center;\n .exit-info {\n display: flex;\n justify-content: center;\n align-items: center;\n > span {\n margin-right: 5px;\n display: block;\n max-width: 70px;\n }\n }\n }\n .nav {\n display: flex;\n nav {\n display: flex;\n align-items: center;\n .nav-item {\n font-size: 1rem;\n color: #595959;\n padding: 10px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n &.active {\n color: #409eff !important;\n font-weight: 600;\n }\n }\n }\n .exit {\n color: #595959;\n }\n }\n .logo {\n width: 180px;\n margin: 0 10px;\n img {\n height: 40px;\n }\n }\n}\n#navActive {\n display: none;\n opacity: 0;\n}\n#navMenu {\n display: none;\n}\n.mobile-message-bell {\n display: none;\n position: fixed;\n right: 0;\n top: 0;\n}\n@media screen and (max-width: 700px) {\n #navActive {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n }\n .mobile-message-bell {\n display: block;\n }\n #navMenu {\n cursor: pointer;\n display: block;\n position: absolute;\n left: 10px;\n top: 5px;\n font-size: 2rem;\n }\n .pc-nav {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n z-index: 6;\n .nav {\n flex-wrap: wrap;\n width: 100%;\n .logo {\n width: 100%;\n text-align: center;\n }\n }\n #navActive {\n & + nav {\n display: none;\n }\n }\n #navActive:checked {\n & + nav {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: absolute;\n z-index: 1;\n background: #fff;\n left: 0;\n top: 50px;\n + .mask {\n display: block;\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 50px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n }\n }\n .exit {\n position: absolute;\n right: 10px;\n top: 20px;\n }\n }\n}\n</style>\n"],"names":["popoverProps","buildProps","useTooltipTriggerProps","dropdownProps","useTooltipContentProps","popoverEmits","value","isBoolean","__default__","_sfc_main","defineComponent","__props","expose","emit","props","updateEventKeyRaw","onUpdateVisible","computed","ns","useNamespace","tooltipRef","ref","popperRef","_a","unref","style","addUnit","kls","gpuAcceleration","hide","beforeEnter","beforeLeave","afterEnter","afterLeave","_ctx","_cache","openBlock","createBlock","ElTooltip","mergeProps","withCtx","createElementBlock","normalizeClass","toDisplayString","createCommentVNode","renderSlot","createTextVNode","Popover","_export_sfc","attachEvents","el","binding","popperComponent","popover","PopoverDirective","VPopover","ElPopoverDirective","withInstallDirective","ElPopover","withInstall","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_render","$props","$setup","$data","$options","bell","close","expand","dialogMessage","reactive","activeMessage","handleViewDialogMessage","v","readMessage","SuperUserApi","watch","showItem","$store","useStore","isMobile","activeTab","messageData","noReadMessage","route","useRoute","onMounted","$router","useRouter","$route","navList","navActiveIdx","handleNav","idx","n","path","handleLogout","ElMessageBox","UserApi","ElMessage","userName","refreshActiveTab","r","isSuperAdmin","_b","superNavList","_c"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as H,bL as fe,as as A,ak as me,N as pe,d as ve,x as ge,cm as be,v as ye,I as Ce,cn as he,Q as Ee,r as h,bH as Be,Z as we,O as E,co as _,ar as ee,aw as Me,o as ke,ai as Se,bK as Ie,i as B,f as d,D as v,w as c,a6 as F,j as w,a as f,H as i,aB as ne,aR as z,c as j,G as P,S as M,t as T,aN as D,T as Te,b as q,a7 as G,bf as Ae,bM as Re,aS as $e,cp as O,cq as ae,bG as se,bn as Le,aK as Ve,bk as ze}from"./index-1639ad54.js";import{b as Pe,u as De,d as Oe,e as He}from"./el-dialog-c11c4af2.js";import{o as oe}from"./aria-bc8e8b0f.js";import{i as Ne}from"./validator-5c60ab85.js";import{u as Ke}from"./index-68448dbd.js";const Ue=(e,n)=>{let a;H(()=>e.value,l=>{var t,o;l?(a=document.activeElement,fe(n)&&((o=(t=n.value).focus)==null||o.call(t))):a.focus()})},Z="_trap-focus-children",b=[],te=e=>{if(b.length===0)return;const n=b[b.length-1][Z];if(n.length>0&&e.code===me.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const a=e.shiftKey,l=e.target===n[0],t=e.target===n[n.length-1];l&&a&&(e.preventDefault(),n[n.length-1].focus()),t&&!a&&(e.preventDefault(),n[0].focus())}},Fe={beforeMount(e){e[Z]=oe(e),b.push(e),b.length<=1&&document.addEventListener("keydown",te)},updated(e){A(()=>{e[Z]=oe(e)})},unmounted(){b.shift(),b.length===0&&document.removeEventListener("keydown",te)}},je=ve({name:"ElMessageBox",directives:{TrapFocus:Fe},components:{ElButton:ge,ElFocusTrap:be,ElInput:ye,ElOverlay:Pe,ElIcon:Ce,...he},inheritAttrs:!1,props:{buttonSize:{type:String,validator:Ne},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:n}){const{t:a}=Ke(),l=Ee("message-box"),t=h(!1),{nextZIndex:o}=Be(),s=we({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:o()}),m=E(()=>{const r=s.type;return{[l.bm("icon",r)]:r&&_[r]}}),N=ee(),$=ee(),K=Me(E(()=>e.buttonSize),{prop:!0,form:!0,formItem:!0}),U=E(()=>s.icon||_[s.type]||""),u=E(()=>!!s.message),y=h(),X=h(),S=h(),L=h(),Q=h(),le=E(()=>s.confirmButtonClass);H(()=>s.inputValue,async r=>{await A(),e.boxType==="prompt"&&r!==null&&J()},{immediate:!0}),H(()=>t.value,r=>{var p,C;r&&(e.boxType!=="prompt"&&(s.autofocus?S.value=(C=(p=Q.value)==null?void 0:p.$el)!=null?C:y.value:S.value=y.value),s.zIndex=o()),e.boxType==="prompt"&&(r?A().then(()=>{var x;L.value&&L.value.$el&&(s.autofocus?S.value=(x=de())!=null?x:y.value:S.value=y.value)}):(s.editorErrorMessage="",s.validateError=!1))});const re=E(()=>e.draggable);De(y,X,re),ke(async()=>{await A(),e.closeOnHashChange&&window.addEventListener("hashchange",I)}),Se(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",I)});function I(){t.value&&(t.value=!1,A(()=>{s.action&&n("action",s.action)}))}const W=()=>{e.closeOnClickModal&&V(s.distinguishCancelAndClose?"close":"cancel")},ie=He(W),ue=r=>{if(s.inputType!=="textarea")return r.preventDefault(),V("confirm")},V=r=>{var p;e.boxType==="prompt"&&r==="confirm"&&!J()||(s.action=r,s.beforeClose?(p=s.beforeClose)==null||p.call(s,r,s,I):I())},J=()=>{if(e.boxType==="prompt"){const r=s.inputPattern;if(r&&!r.test(s.inputValue||""))return s.editorErrorMessage=s.inputErrorMessage||a("el.messagebox.error"),s.validateError=!0,!1;const p=s.inputValidator;if(typeof p=="function"){const C=p(s.inputValue);if(C===!1)return s.editorErrorMessage=s.inputErrorMessage||a("el.messagebox.error"),s.validateError=!0,!1;if(typeof C=="string")return s.editorErrorMessage=C,s.validateError=!0,!1}}return s.editorErrorMessage="",s.validateError=!1,!0},de=()=>{const r=L.value.$refs;return r.input||r.textarea},Y=()=>{V("close")},ce=()=>{e.closeOnPressEscape&&Y()};return e.lockScroll&&Oe(t),Ue(t),{...Ie(s),ns:l,overlayEvent:ie,visible:t,hasMessage:u,typeClass:m,contentId:N,inputId:$,btnSize:K,iconComponent:U,confirmButtonClasses:le,rootRef:y,focusStartRef:S,headerRef:X,inputRef:L,confirmRef:Q,doClose:I,handleClose:Y,onCloseRequested:ce,handleWrapperClick:W,handleInputEnter:ue,handleAction:V,t:a}}}),qe=["aria-label","aria-describedby"],Ge=["aria-label"],Ze=["id"];function Xe(e,n,a,l,t,o){const s=B("el-icon"),m=B("close"),N=B("el-input"),$=B("el-button"),K=B("el-focus-trap"),U=B("el-overlay");return d(),v(Ae,{name:"fade-in-linear",onAfterLeave:n[11]||(n[11]=u=>e.$emit("vanish")),persisted:""},{default:c(()=>[F(w(U,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:c(()=>[f("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:i("".concat(e.ns.namespace.value,"-overlay-message-box")),onClick:n[8]||(n[8]=(...u)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...u)),onMousedown:n[9]||(n[9]=(...u)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...u)),onMouseup:n[10]||(n[10]=(...u)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...u))},[w(K,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:c(()=>[f("div",{ref:"rootRef",class:i([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:ne(e.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=z(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(d(),j("div",{key:0,ref:"headerRef",class:i(e.ns.e("header"))},[f("div",{class:i(e.ns.e("title"))},[e.iconComponent&&e.center?(d(),v(s,{key:0,class:i([e.ns.e("status"),e.typeClass])},{default:c(()=>[(d(),v(P(e.iconComponent)))]),_:1},8,["class"])):M("v-if",!0),f("span",null,T(e.title),1)],2),e.showClose?(d(),j("button",{key:0,type:"button",class:i(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:n[0]||(n[0]=u=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=D(z(u=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[w(s,{class:i(e.ns.e("close"))},{default:c(()=>[w(m)]),_:1},8,["class"])],42,Ge)):M("v-if",!0)],2)):M("v-if",!0),f("div",{id:e.contentId,class:i(e.ns.e("content"))},[f("div",{class:i(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(d(),v(s,{key:0,class:i([e.ns.e("status"),e.typeClass])},{default:c(()=>[(d(),v(P(e.iconComponent)))]),_:1},8,["class"])):M("v-if",!0),e.hasMessage?(d(),j("div",{key:1,class:i(e.ns.e("message"))},[Te(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(d(),v(P(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(d(),v(P(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:c(()=>[q(T(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):M("v-if",!0)],2),F(f("div",{class:i(e.ns.e("input"))},[w(N,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":n[2]||(n[2]=u=>e.inputValue=u),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:i({invalid:e.validateError}),onKeydown:D(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),f("div",{class:i(e.ns.e("errormsg")),style:ne({visibility:e.editorErrorMessage?"visible":"hidden"})},T(e.editorErrorMessage),7)],2),[[G,e.showInput]])],10,Ze),f("div",{class:i(e.ns.e("btns"))},[e.showCancelButton?(d(),v($,{key:0,loading:e.cancelButtonLoading,class:i([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:n[3]||(n[3]=u=>e.handleAction("cancel")),onKeydown:n[4]||(n[4]=D(z(u=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:c(()=>[q(T(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):M("v-if",!0),F(w($,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:i([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:n[5]||(n[5]=u=>e.handleAction("confirm")),onKeydown:n[6]||(n[6]=D(z(u=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:c(()=>[q(T(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[G,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,qe)]),_:3},8,["z-index","overlay-class","mask"]),[[G,e.visible]])]),_:3})}var Qe=pe(je,[["render",Xe],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const R=new Map,We=(e,n,a=null)=>{const l=ze(Qe,e);return l.appContext=a,ae(l,n),document.body.appendChild(n.firstElementChild),l.component},Je=()=>document.createElement("div"),Ye=(e,n)=>{const a=Je();e.onVanish=()=>{ae(null,a),R.delete(t)},e.onAction=o=>{const s=R.get(t);let m;e.showInput?m={value:t.inputValue,action:o}:m=o,e.callback?e.callback(m,l.proxy):o==="cancel"||o==="close"?e.distinguishCancelAndClose&&o!=="cancel"?s.reject("close"):s.reject("cancel"):s.resolve(m)};const l=We(e,a,n),t=l.proxy;for(const o in e)se(e,o)&&!se(t.$props,o)&&(t[o]=e[o]);return H(()=>t.message,(o,s)=>{O(o)?l.slots.default=()=>[o]:O(s)&&!O(o)&&delete l.slots.default},{immediate:!0}),t.visible=!0,t};function k(e,n=null){if(!Re)return Promise.reject();let a;return $e(e)||O(e)?e={message:e}:a=e.callback,new Promise((l,t)=>{const o=Ye(e,n!=null?n:k._context);R.set(o,{options:e,callback:a,resolve:l,reject:t})})}const xe=["alert","confirm","prompt"],_e={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};xe.forEach(e=>{k[e]=en(e)});function en(e){return(n,a,l,t)=>{let o;return Le(a)?(l=a,o=""):Ve(a)?o="":o=a,k(Object.assign({title:o,message:n,type:"",..._e[e]},l,{boxType:e}),t)}}k.close=()=>{R.forEach((e,n)=>{n.doClose()}),R.clear()};k._context=null;const g=k;g.install=e=>{g._context=e._context,e.config.globalProperties.$msgbox=g,e.config.globalProperties.$messageBox=g,e.config.globalProperties.$alert=g.alert,e.config.globalProperties.$confirm=g.confirm,e.config.globalProperties.$prompt=g.prompt};const ln=g;export{ln as E};
|
|
2
|
+
//# sourceMappingURL=index-b8357360.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-b8357360.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/hooks/use-restore-active/index.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/directives/trap-focus/index.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/message-box/src/index.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/message-box/src/messageBox.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/message-box/index.mjs"],"sourcesContent":["import { watch, isRef } from 'vue';\n\nconst useRestoreActive = (toggle, initialFocus) => {\n let previousActive;\n watch(() => toggle.value, (val) => {\n var _a, _b;\n if (val) {\n previousActive = document.activeElement;\n if (isRef(initialFocus)) {\n (_b = (_a = initialFocus.value).focus) == null ? void 0 : _b.call(_a);\n }\n } else {\n if (process.env.NODE_ENV === \"test\") {\n previousActive.focus.call(previousActive);\n } else {\n previousActive.focus();\n }\n }\n });\n};\n\nexport { useRestoreActive };\n//# sourceMappingURL=index.mjs.map\n","import { nextTick } from 'vue';\nimport '../../utils/index.mjs';\nimport '../../constants/index.mjs';\nimport { EVENT_CODE } from '../../constants/aria.mjs';\nimport { obtainAllFocusableElements } from '../../utils/dom/aria.mjs';\n\nconst FOCUSABLE_CHILDREN = \"_trap-focus-children\";\nconst TRAP_FOCUS_HANDLER = \"_trap-focus-handler\";\nconst FOCUS_STACK = [];\nconst FOCUS_HANDLER = (e) => {\n var _a;\n if (FOCUS_STACK.length === 0)\n return;\n const focusableElement = FOCUS_STACK[FOCUS_STACK.length - 1][FOCUSABLE_CHILDREN];\n if (focusableElement.length > 0 && e.code === EVENT_CODE.tab) {\n if (focusableElement.length === 1) {\n e.preventDefault();\n if (document.activeElement !== focusableElement[0]) {\n focusableElement[0].focus();\n }\n return;\n }\n const goingBackward = e.shiftKey;\n const isFirst = e.target === focusableElement[0];\n const isLast = e.target === focusableElement[focusableElement.length - 1];\n if (isFirst && goingBackward) {\n e.preventDefault();\n focusableElement[focusableElement.length - 1].focus();\n }\n if (isLast && !goingBackward) {\n e.preventDefault();\n focusableElement[0].focus();\n }\n if (process.env.NODE_ENV === \"test\") {\n const index = focusableElement.indexOf(e.target);\n if (index !== -1) {\n (_a = focusableElement[goingBackward ? index - 1 : index + 1]) == null ? void 0 : _a.focus();\n }\n }\n }\n};\nconst TrapFocus = {\n beforeMount(el) {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el);\n FOCUS_STACK.push(el);\n if (FOCUS_STACK.length <= 1) {\n document.addEventListener(\"keydown\", FOCUS_HANDLER);\n }\n },\n updated(el) {\n nextTick(() => {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el);\n });\n },\n unmounted() {\n FOCUS_STACK.shift();\n if (FOCUS_STACK.length === 0) {\n document.removeEventListener(\"keydown\", FOCUS_HANDLER);\n }\n }\n};\n\nexport { FOCUSABLE_CHILDREN, TRAP_FOCUS_HANDLER, TrapFocus as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, ref, reactive, computed, watch, nextTick, onMounted, onBeforeUnmount, toRefs, resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createVNode, createElementVNode, normalizeClass, normalizeStyle, withModifiers, createElementBlock, resolveDynamicComponent, createCommentVNode, toDisplayString, withKeys, renderSlot, createTextVNode, vShow } from 'vue';\nimport { ElButton } from '../../button/index.mjs';\nimport '../../../directives/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { ElInput } from '../../input/index.mjs';\nimport { ElOverlay } from '../../overlay/index.mjs';\nimport '../../../utils/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport '../../focus-trap/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport TrapFocus from '../../../directives/trap-focus/index.mjs';\nimport ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';\nimport { TypeComponents, TypeComponentsMap } from '../../../utils/vue/icon.mjs';\nimport { isValidComponentSize } from '../../../utils/vue/validator.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useZIndex } from '../../../hooks/use-z-index/index.mjs';\nimport { useId } from '../../../hooks/use-id/index.mjs';\nimport { useSize } from '../../../hooks/use-common-props/index.mjs';\nimport { useDraggable } from '../../../hooks/use-draggable/index.mjs';\nimport { useSameTarget } from '../../../hooks/use-same-target/index.mjs';\nimport { useLockscreen } from '../../../hooks/use-lockscreen/index.mjs';\nimport { useRestoreActive } from '../../../hooks/use-restore-active/index.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"ElMessageBox\",\n directives: {\n TrapFocus\n },\n components: {\n ElButton,\n ElFocusTrap,\n ElInput,\n ElOverlay,\n ElIcon,\n ...TypeComponents\n },\n inheritAttrs: false,\n props: {\n buttonSize: {\n type: String,\n validator: isValidComponentSize\n },\n modal: {\n type: Boolean,\n default: true\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n showClose: {\n type: Boolean,\n default: true\n },\n closeOnClickModal: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true\n },\n closeOnHashChange: {\n type: Boolean,\n default: true\n },\n center: Boolean,\n draggable: Boolean,\n roundButton: {\n default: false,\n type: Boolean\n },\n container: {\n type: String,\n default: \"body\"\n },\n boxType: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"vanish\", \"action\"],\n setup(props, { emit }) {\n const { t } = useLocale();\n const ns = useNamespace(\"message-box\");\n const visible = ref(false);\n const { nextZIndex } = useZIndex();\n const state = reactive({\n autofocus: true,\n beforeClose: null,\n callback: null,\n cancelButtonText: \"\",\n cancelButtonClass: \"\",\n confirmButtonText: \"\",\n confirmButtonClass: \"\",\n customClass: \"\",\n customStyle: {},\n dangerouslyUseHTMLString: false,\n distinguishCancelAndClose: false,\n icon: \"\",\n inputPattern: null,\n inputPlaceholder: \"\",\n inputType: \"text\",\n inputValue: null,\n inputValidator: null,\n inputErrorMessage: \"\",\n message: null,\n modalFade: true,\n modalClass: \"\",\n showCancelButton: false,\n showConfirmButton: true,\n type: \"\",\n title: void 0,\n showInput: false,\n action: \"\",\n confirmButtonLoading: false,\n cancelButtonLoading: false,\n confirmButtonDisabled: false,\n editorErrorMessage: \"\",\n validateError: false,\n zIndex: nextZIndex()\n });\n const typeClass = computed(() => {\n const type = state.type;\n return { [ns.bm(\"icon\", type)]: type && TypeComponentsMap[type] };\n });\n const contentId = useId();\n const inputId = useId();\n const btnSize = useSize(computed(() => props.buttonSize), { prop: true, form: true, formItem: true });\n const iconComponent = computed(() => state.icon || TypeComponentsMap[state.type] || \"\");\n const hasMessage = computed(() => !!state.message);\n const rootRef = ref();\n const headerRef = ref();\n const focusStartRef = ref();\n const inputRef = ref();\n const confirmRef = ref();\n const confirmButtonClasses = computed(() => state.confirmButtonClass);\n watch(() => state.inputValue, async (val) => {\n await nextTick();\n if (props.boxType === \"prompt\" && val !== null) {\n validate();\n }\n }, { immediate: true });\n watch(() => visible.value, (val) => {\n var _a, _b;\n if (val) {\n if (props.boxType !== \"prompt\") {\n if (state.autofocus) {\n focusStartRef.value = (_b = (_a = confirmRef.value) == null ? void 0 : _a.$el) != null ? _b : rootRef.value;\n } else {\n focusStartRef.value = rootRef.value;\n }\n }\n state.zIndex = nextZIndex();\n }\n if (props.boxType !== \"prompt\")\n return;\n if (val) {\n nextTick().then(() => {\n var _a2;\n if (inputRef.value && inputRef.value.$el) {\n if (state.autofocus) {\n focusStartRef.value = (_a2 = getInputElement()) != null ? _a2 : rootRef.value;\n } else {\n focusStartRef.value = rootRef.value;\n }\n }\n });\n } else {\n state.editorErrorMessage = \"\";\n state.validateError = false;\n }\n });\n const draggable = computed(() => props.draggable);\n useDraggable(rootRef, headerRef, draggable);\n onMounted(async () => {\n await nextTick();\n if (props.closeOnHashChange) {\n window.addEventListener(\"hashchange\", doClose);\n }\n });\n onBeforeUnmount(() => {\n if (props.closeOnHashChange) {\n window.removeEventListener(\"hashchange\", doClose);\n }\n });\n function doClose() {\n if (!visible.value)\n return;\n visible.value = false;\n nextTick(() => {\n if (state.action)\n emit(\"action\", state.action);\n });\n }\n const handleWrapperClick = () => {\n if (props.closeOnClickModal) {\n handleAction(state.distinguishCancelAndClose ? \"close\" : \"cancel\");\n }\n };\n const overlayEvent = useSameTarget(handleWrapperClick);\n const handleInputEnter = (e) => {\n if (state.inputType !== \"textarea\") {\n e.preventDefault();\n return handleAction(\"confirm\");\n }\n };\n const handleAction = (action) => {\n var _a;\n if (props.boxType === \"prompt\" && action === \"confirm\" && !validate()) {\n return;\n }\n state.action = action;\n if (state.beforeClose) {\n (_a = state.beforeClose) == null ? void 0 : _a.call(state, action, state, doClose);\n } else {\n doClose();\n }\n };\n const validate = () => {\n if (props.boxType === \"prompt\") {\n const inputPattern = state.inputPattern;\n if (inputPattern && !inputPattern.test(state.inputValue || \"\")) {\n state.editorErrorMessage = state.inputErrorMessage || t(\"el.messagebox.error\");\n state.validateError = true;\n return false;\n }\n const inputValidator = state.inputValidator;\n if (typeof inputValidator === \"function\") {\n const validateResult = inputValidator(state.inputValue);\n if (validateResult === false) {\n state.editorErrorMessage = state.inputErrorMessage || t(\"el.messagebox.error\");\n state.validateError = true;\n return false;\n }\n if (typeof validateResult === \"string\") {\n state.editorErrorMessage = validateResult;\n state.validateError = true;\n return false;\n }\n }\n }\n state.editorErrorMessage = \"\";\n state.validateError = false;\n return true;\n };\n const getInputElement = () => {\n const inputRefs = inputRef.value.$refs;\n return inputRefs.input || inputRefs.textarea;\n };\n const handleClose = () => {\n handleAction(\"close\");\n };\n const onCloseRequested = () => {\n if (props.closeOnPressEscape) {\n handleClose();\n }\n };\n if (props.lockScroll) {\n useLockscreen(visible);\n }\n useRestoreActive(visible);\n return {\n ...toRefs(state),\n ns,\n overlayEvent,\n visible,\n hasMessage,\n typeClass,\n contentId,\n inputId,\n btnSize,\n iconComponent,\n confirmButtonClasses,\n rootRef,\n focusStartRef,\n headerRef,\n inputRef,\n confirmRef,\n doClose,\n handleClose,\n onCloseRequested,\n handleWrapperClick,\n handleInputEnter,\n handleAction,\n t\n };\n }\n});\nconst _hoisted_1 = [\"aria-label\", \"aria-describedby\"];\nconst _hoisted_2 = [\"aria-label\"];\nconst _hoisted_3 = [\"id\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_icon = resolveComponent(\"el-icon\");\n const _component_close = resolveComponent(\"close\");\n const _component_el_input = resolveComponent(\"el-input\");\n const _component_el_button = resolveComponent(\"el-button\");\n const _component_el_focus_trap = resolveComponent(\"el-focus-trap\");\n const _component_el_overlay = resolveComponent(\"el-overlay\");\n return openBlock(), createBlock(Transition, {\n name: \"fade-in-linear\",\n onAfterLeave: _cache[11] || (_cache[11] = ($event) => _ctx.$emit(\"vanish\")),\n persisted: \"\"\n }, {\n default: withCtx(() => [\n withDirectives(createVNode(_component_el_overlay, {\n \"z-index\": _ctx.zIndex,\n \"overlay-class\": [_ctx.ns.is(\"message-box\"), _ctx.modalClass],\n mask: _ctx.modal\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n role: \"dialog\",\n \"aria-label\": _ctx.title,\n \"aria-modal\": \"true\",\n \"aria-describedby\": !_ctx.showInput ? _ctx.contentId : void 0,\n class: normalizeClass(`${_ctx.ns.namespace.value}-overlay-message-box`),\n onClick: _cache[8] || (_cache[8] = (...args) => _ctx.overlayEvent.onClick && _ctx.overlayEvent.onClick(...args)),\n onMousedown: _cache[9] || (_cache[9] = (...args) => _ctx.overlayEvent.onMousedown && _ctx.overlayEvent.onMousedown(...args)),\n onMouseup: _cache[10] || (_cache[10] = (...args) => _ctx.overlayEvent.onMouseup && _ctx.overlayEvent.onMouseup(...args))\n }, [\n createVNode(_component_el_focus_trap, {\n loop: \"\",\n trapped: _ctx.visible,\n \"focus-trap-el\": _ctx.rootRef,\n \"focus-start-el\": _ctx.focusStartRef,\n onReleaseRequested: _ctx.onCloseRequested\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n ref: \"rootRef\",\n class: normalizeClass([\n _ctx.ns.b(),\n _ctx.customClass,\n _ctx.ns.is(\"draggable\", _ctx.draggable),\n { [_ctx.ns.m(\"center\")]: _ctx.center }\n ]),\n style: normalizeStyle(_ctx.customStyle),\n tabindex: \"-1\",\n onClick: _cache[7] || (_cache[7] = withModifiers(() => {\n }, [\"stop\"]))\n }, [\n _ctx.title !== null && _ctx.title !== void 0 ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: \"headerRef\",\n class: normalizeClass(_ctx.ns.e(\"header\"))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"title\"))\n }, [\n _ctx.iconComponent && _ctx.center ? (openBlock(), createBlock(_component_el_icon, {\n key: 0,\n class: normalizeClass([_ctx.ns.e(\"status\"), _ctx.typeClass])\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(_ctx.iconComponent)))\n ]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true),\n createElementVNode(\"span\", null, toDisplayString(_ctx.title), 1)\n ], 2),\n _ctx.showClose ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: normalizeClass(_ctx.ns.e(\"headerbtn\")),\n \"aria-label\": _ctx.t(\"el.messagebox.close\"),\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.handleAction(_ctx.distinguishCancelAndClose ? \"close\" : \"cancel\")),\n onKeydown: _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => _ctx.handleAction(_ctx.distinguishCancelAndClose ? \"close\" : \"cancel\"), [\"prevent\"]), [\"enter\"]))\n }, [\n createVNode(_component_el_icon, {\n class: normalizeClass(_ctx.ns.e(\"close\"))\n }, {\n default: withCtx(() => [\n createVNode(_component_close)\n ]),\n _: 1\n }, 8, [\"class\"])\n ], 42, _hoisted_2)) : createCommentVNode(\"v-if\", true)\n ], 2)) : createCommentVNode(\"v-if\", true),\n createElementVNode(\"div\", {\n id: _ctx.contentId,\n class: normalizeClass(_ctx.ns.e(\"content\"))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"container\"))\n }, [\n _ctx.iconComponent && !_ctx.center && _ctx.hasMessage ? (openBlock(), createBlock(_component_el_icon, {\n key: 0,\n class: normalizeClass([_ctx.ns.e(\"status\"), _ctx.typeClass])\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(_ctx.iconComponent)))\n ]),\n _: 1\n }, 8, [\"class\"])) : createCommentVNode(\"v-if\", true),\n _ctx.hasMessage ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(_ctx.ns.e(\"message\"))\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n !_ctx.dangerouslyUseHTMLString ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.showInput ? \"label\" : \"p\"), {\n key: 0,\n for: _ctx.showInput ? _ctx.inputId : void 0\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(!_ctx.dangerouslyUseHTMLString ? _ctx.message : \"\"), 1)\n ]),\n _: 1\n }, 8, [\"for\"])) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.showInput ? \"label\" : \"p\"), {\n key: 1,\n for: _ctx.showInput ? _ctx.inputId : void 0,\n innerHTML: _ctx.message\n }, null, 8, [\"for\", \"innerHTML\"]))\n ])\n ], 2)) : createCommentVNode(\"v-if\", true)\n ], 2),\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"input\"))\n }, [\n createVNode(_component_el_input, {\n id: _ctx.inputId,\n ref: \"inputRef\",\n modelValue: _ctx.inputValue,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event) => _ctx.inputValue = $event),\n type: _ctx.inputType,\n placeholder: _ctx.inputPlaceholder,\n \"aria-invalid\": _ctx.validateError,\n class: normalizeClass({ invalid: _ctx.validateError }),\n onKeydown: withKeys(_ctx.handleInputEnter, [\"enter\"])\n }, null, 8, [\"id\", \"modelValue\", \"type\", \"placeholder\", \"aria-invalid\", \"class\", \"onKeydown\"]),\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"errormsg\")),\n style: normalizeStyle({\n visibility: !!_ctx.editorErrorMessage ? \"visible\" : \"hidden\"\n })\n }, toDisplayString(_ctx.editorErrorMessage), 7)\n ], 2), [\n [vShow, _ctx.showInput]\n ])\n ], 10, _hoisted_3),\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"btns\"))\n }, [\n _ctx.showCancelButton ? (openBlock(), createBlock(_component_el_button, {\n key: 0,\n loading: _ctx.cancelButtonLoading,\n class: normalizeClass([_ctx.cancelButtonClass]),\n round: _ctx.roundButton,\n size: _ctx.btnSize,\n onClick: _cache[3] || (_cache[3] = ($event) => _ctx.handleAction(\"cancel\")),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => _ctx.handleAction(\"cancel\"), [\"prevent\"]), [\"enter\"]))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(_ctx.cancelButtonText || _ctx.t(\"el.messagebox.cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"loading\", \"class\", \"round\", \"size\"])) : createCommentVNode(\"v-if\", true),\n withDirectives(createVNode(_component_el_button, {\n ref: \"confirmRef\",\n type: \"primary\",\n loading: _ctx.confirmButtonLoading,\n class: normalizeClass([_ctx.confirmButtonClasses]),\n round: _ctx.roundButton,\n disabled: _ctx.confirmButtonDisabled,\n size: _ctx.btnSize,\n onClick: _cache[5] || (_cache[5] = ($event) => _ctx.handleAction(\"confirm\")),\n onKeydown: _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => _ctx.handleAction(\"confirm\"), [\"prevent\"]), [\"enter\"]))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(_ctx.confirmButtonText || _ctx.t(\"el.messagebox.confirm\")), 1)\n ]),\n _: 1\n }, 8, [\"loading\", \"class\", \"round\", \"disabled\", \"size\"]), [\n [vShow, _ctx.showConfirmButton]\n ])\n ], 2)\n ], 6)\n ]),\n _: 3\n }, 8, [\"trapped\", \"focus-trap-el\", \"focus-start-el\", \"onReleaseRequested\"])\n ], 42, _hoisted_1)\n ]),\n _: 3\n }, 8, [\"z-index\", \"overlay-class\", \"mask\"]), [\n [vShow, _ctx.visible]\n ])\n ]),\n _: 3\n });\n}\nvar MessageBoxConstructor = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue\"]]);\n\nexport { MessageBoxConstructor as default };\n//# sourceMappingURL=index.mjs.map\n","import { h, render, watch, isVNode } from 'vue';\nimport { isClient } from '@vueuse/core';\nimport '../../../utils/index.mjs';\nimport MessageBoxConstructor from './index.mjs';\nimport { hasOwn, isString, isObject } from '@vue/shared';\nimport { isUndefined } from '../../../utils/types.mjs';\n\nconst messageInstance = /* @__PURE__ */ new Map();\nconst initInstance = (props, container, appContext = null) => {\n const vnode = h(MessageBoxConstructor, props);\n vnode.appContext = appContext;\n render(vnode, container);\n document.body.appendChild(container.firstElementChild);\n return vnode.component;\n};\nconst genContainer = () => {\n return document.createElement(\"div\");\n};\nconst showMessage = (options, appContext) => {\n const container = genContainer();\n options.onVanish = () => {\n render(null, container);\n messageInstance.delete(vm);\n };\n options.onAction = (action) => {\n const currentMsg = messageInstance.get(vm);\n let resolve;\n if (options.showInput) {\n resolve = { value: vm.inputValue, action };\n } else {\n resolve = action;\n }\n if (options.callback) {\n options.callback(resolve, instance.proxy);\n } else {\n if (action === \"cancel\" || action === \"close\") {\n if (options.distinguishCancelAndClose && action !== \"cancel\") {\n currentMsg.reject(\"close\");\n } else {\n currentMsg.reject(\"cancel\");\n }\n } else {\n currentMsg.resolve(resolve);\n }\n }\n };\n const instance = initInstance(options, container, appContext);\n const vm = instance.proxy;\n for (const prop in options) {\n if (hasOwn(options, prop) && !hasOwn(vm.$props, prop)) {\n vm[prop] = options[prop];\n }\n }\n watch(() => vm.message, (newVal, oldVal) => {\n if (isVNode(newVal)) {\n instance.slots.default = () => [newVal];\n } else if (isVNode(oldVal) && !isVNode(newVal)) {\n delete instance.slots.default;\n }\n }, {\n immediate: true\n });\n vm.visible = true;\n return vm;\n};\nfunction MessageBox(options, appContext = null) {\n if (!isClient)\n return Promise.reject();\n let callback;\n if (isString(options) || isVNode(options)) {\n options = {\n message: options\n };\n } else {\n callback = options.callback;\n }\n return new Promise((resolve, reject) => {\n const vm = showMessage(options, appContext != null ? appContext : MessageBox._context);\n messageInstance.set(vm, {\n options,\n callback,\n resolve,\n reject\n });\n });\n}\nconst MESSAGE_BOX_VARIANTS = [\"alert\", \"confirm\", \"prompt\"];\nconst MESSAGE_BOX_DEFAULT_OPTS = {\n alert: { closeOnPressEscape: false, closeOnClickModal: false },\n confirm: { showCancelButton: true },\n prompt: { showCancelButton: true, showInput: true }\n};\nMESSAGE_BOX_VARIANTS.forEach((boxType) => {\n MessageBox[boxType] = messageBoxFactory(boxType);\n});\nfunction messageBoxFactory(boxType) {\n return (message, titleOrOpts, options, appContext) => {\n let title;\n if (isObject(titleOrOpts)) {\n options = titleOrOpts;\n title = \"\";\n } else if (isUndefined(titleOrOpts)) {\n title = \"\";\n } else {\n title = titleOrOpts;\n }\n return MessageBox(Object.assign({\n title,\n message,\n type: \"\",\n ...MESSAGE_BOX_DEFAULT_OPTS[boxType]\n }, options, {\n boxType\n }), appContext);\n };\n}\nMessageBox.close = () => {\n messageInstance.forEach((_, vm) => {\n vm.doClose();\n });\n messageInstance.clear();\n};\nMessageBox._context = null;\n\nexport { MessageBox as default };\n//# sourceMappingURL=messageBox.mjs.map\n","import MessageBox from './src/messageBox.mjs';\nimport './src/message-box.type.mjs';\n\nconst _MessageBox = MessageBox;\n_MessageBox.install = (app) => {\n _MessageBox._context = app._context;\n app.config.globalProperties.$msgbox = _MessageBox;\n app.config.globalProperties.$messageBox = _MessageBox;\n app.config.globalProperties.$alert = _MessageBox.alert;\n app.config.globalProperties.$confirm = _MessageBox.confirm;\n app.config.globalProperties.$prompt = _MessageBox.prompt;\n};\nconst ElMessageBox = _MessageBox;\n\nexport { ElMessageBox, _MessageBox as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["useRestoreActive","toggle","initialFocus","previousActive","watch","val","_a","_b","isRef","FOCUSABLE_CHILDREN","FOCUS_STACK","FOCUS_HANDLER","focusableElement","EVENT_CODE","goingBackward","isFirst","isLast","TrapFocus","el","obtainAllFocusableElements","nextTick","_sfc_main","defineComponent","ElButton","ElFocusTrap","ElInput","ElOverlay","ElIcon","TypeComponents","isValidComponentSize","props","emit","t","useLocale","ns","useNamespace","visible","ref","nextZIndex","useZIndex","state","reactive","typeClass","computed","type","TypeComponentsMap","contentId","useId","inputId","btnSize","useSize","iconComponent","hasMessage","rootRef","headerRef","focusStartRef","inputRef","confirmRef","confirmButtonClasses","validate","_a2","getInputElement","draggable","useDraggable","onMounted","doClose","onBeforeUnmount","handleWrapperClick","handleAction","overlayEvent","useSameTarget","handleInputEnter","e","action","inputPattern","inputValidator","validateResult","inputRefs","handleClose","onCloseRequested","useLockscreen","toRefs","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_component_el_icon","resolveComponent","_component_close","_component_el_input","_component_el_button","_component_el_focus_trap","_component_el_overlay","openBlock","createBlock","Transition","$event","withCtx","withDirectives","createVNode","createElementVNode","normalizeClass","args","normalizeStyle","withModifiers","createElementBlock","resolveDynamicComponent","createCommentVNode","toDisplayString","withKeys","renderSlot","createTextVNode","vShow","MessageBoxConstructor","_export_sfc","messageInstance","initInstance","container","appContext","vnode","h","render","genContainer","showMessage","options","vm","currentMsg","resolve","instance","prop","hasOwn","newVal","oldVal","isVNode","MessageBox","isClient","callback","isString","reject","MESSAGE_BOX_VARIANTS","MESSAGE_BOX_DEFAULT_OPTS","boxType","messageBoxFactory","message","titleOrOpts","title","isObject","isUndefined","_","_MessageBox","app","ElMessageBox"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{g as I,d as k,f as c,c as r,a as e,h as ce,O as j,r as i,Z as N,a5 as B,o as ie,i as re,a6 as A,F as J,C as G,j as a,w as n,k as w,D as P,bq as L,E as K,s as F,aa as ue,v as pe,x as de,p as _e,e as ve,bp as me,G as he,t as V,b as h,ac as fe,I as ge,_ as $e}from"./index-1639ad54.js";import{v as we}from"./el-loading-e9365e7e.js";import{E as ye}from"./el-dialog-c11c4af2.js";import{E as xe,s as be}from"./el-pagination-85149e11.js";import{E as Ce,a as ze}from"./el-select-2a16e5df.js";import{E as Ve,a as ke}from"./el-table-column-19feeab8.js";import{d as Ee}from"./other-8d7ba6a0.js";import{d as Se}from"./data-board-4290cade.js";import{r as De}from"./refresh-be31af7a.js";import{d as He}from"./data-analysis-632af70e.js";import"./index-68448dbd.js";import"./isEqual-95d6c129.js";import"./validator-5c60ab85.js";const Me=k({name:"Coin"}),Be={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Le=e("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),Ie=e("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),Te=e("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1),Oe=[Le,Ie,Te];function je(u,y,x,m,o,f){return c(),r("svg",Be,Oe)}var Ne=I(Me,[["render",je]]);const Pe=k({name:"Document"}),Fe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ue=e("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1),qe=[Ue];function Ae(u,y,x,m,o,f){return c(),r("svg",Fe,qe)}var Je=I(Pe,[["render",Ae]]);const Ge=k({name:"TakeawayBox"}),Ke={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Re=e("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1),We=[Re];function Ze(u,y,x,m,o,f){return c(),r("svg",Ke,We)}var Qe=I(Ge,[["render",Ze]]);const Xe=k({name:"Tickets"}),Ye={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},et=e("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1),tt=[et];function at(u,y,x,m,o,f){return c(),r("svg",Ye,tt)}var ot=I(Xe,[["render",at]]);const st=u=>(_e("data-v-c6757aaa"),u=u(),ve(),u),lt={class:"overview"},nt={class:"card-list","element-loading-text":"Loading..."},ct={class:"logo"},it={class:"content"},rt={class:"title"},ut={class:"text"},pt={class:"supplement"},dt={class:"panel"},_t={class:"p10 log-filter"},vt={class:"item"},mt=st(()=>e("span",{class:"label"},"类型",-1)),ht={class:"item"},ft={class:"item"},gt={class:"item"},$t={class:"item"},wt={class:"flex fc p10"},yt={class:"dialog-footer"},xt=k({__name:"index",setup(u){const y=ce(),x=j(()=>y.getters["public/isMobile"]),m=i(!1),o=N([{type:"user",title:"用户数量",value:"0",supplement:"较昨日 +0",icon:me,color:"#40c9c6"},{type:"file",title:"记录/OSS",value:"0",supplement:"记录较昨日 +0",icon:Je,color:"#36a3f7"},{type:"log",title:"日志数量",value:"0",supplement:"较昨日 +0",icon:ot,color:"#f4516c"},{type:"pv",title:"PV/UV",value:"0/0",supplement:"",icon:Se,color:"#34bfa3"},{type:"compress",title:"归档&无效文件",value:"0/0KB",supplement:"已失效0个",icon:Ne,color:"#e38013"}]),f=()=>{m.value=!0,L.getCount().then(s=>{const{user:l,file:d,log:g,pv:_,compress:v}=s.data;o[0].value="".concat(l.sum),o[0].supplement="较昨日 +".concat(l.recent),o[1].value="".concat(d.server.sum,"/").concat(d.oss.sum," (").concat(d.oss.size,")"),o[1].supplement="记录较昨日 +".concat(d.server.recent),o[2].value="".concat(g.sum),o[2].supplement="较昨日 +".concat(g.recent),o[3].value="".concat(_.today.sum,"/").concat(_.today.uv),o[3].supplement="历史: ".concat(_.all.sum,"/").concat(_.all.uv),o[4].value="".concat(v.all.sum,"/").concat(v.all.size),o[4].supplement="已失效 ".concat(v.expired.sum,"/").concat(v.expired.size),m.value=!1})},E=i(!1),R=()=>{E.value=!0,L.clearExpiredCompressFile().then(()=>{setTimeout(()=>{K.success("清理成功,数据同步可能有延迟"),E.value=!1,f()},2e3)})},p=N([]),b=i("behavior"),S=i(""),W=N([{label:"用户行为",type:"behavior"},{label:"网络请求",type:"request"},{label:"服务端错误",type:"error"},{label:"页面访问",type:"pv"}]),C=i(10),Z=s=>{C.value=s},T=i(0),Q=j(()=>Math.ceil(T.value/C.value)),z=i(1),X=s=>{z.value=s},D=Ee(()=>{L.getLogMsg(C.value,z.value,b.value,S.value).then(s=>{p.splice(0,p.length),p.push(...s.data.logs),T.value=s.data.sum})},100,!1);B(()=>{b.value&&(z.value=1)}),B(()=>{S.value!==void 0&&D()}),B(()=>{b.value&&D()}),B(()=>{(z.value||C.value)&&D()});const H=i(!1),O=i(""),Y=s=>{L.getLogMsgDetail(s).then(l=>{H.value=!0,O.value=JSON.stringify(l.data,null,2)})},ee=j(()=>{try{return JSON.parse(O.value)}catch(s){return{}}}),te=()=>{fe(O.value)},ae=()=>{if(p.length===0)return;const s=["日期","IP","内容"],l=p.map(d=>{const{date:g,ip:_,msg:v}=d;return[F(new Date(g)),_,v]});ue(s,l,"导出日志_".concat(p.length,"条").concat(F(new Date,"yyyy年MM月日hh时mm分ss秒"),".xlsx")),K.success("导出成功")};return ie(()=>{f()}),(s,l)=>{const d=ge,g=ze,_=Ce,v=pe,$=de,M=ke,oe=Ve,se=xe,le=re("json-viewer"),ne=ye,U=we;return c(),r("div",lt,[A((c(),r("div",nt,[(c(!0),r(J,null,G(o,t=>(c(),r("div",{key:t.type,class:"card"},[e("div",ct,[a(d,{color:t.color},{default:n(()=>[(c(),P(he(t.icon)))]),_:2},1032,["color"])]),e("div",it,[e("div",rt,V(t.title),1),e("div",ut,V(t.value),1),e("div",pt,V(t.supplement),1)])]))),128))])),[[U,m.value]]),e("div",dt,[e("div",_t,[e("span",vt,[mt,a(_,{modelValue:b.value,"onUpdate:modelValue":l[0]||(l[0]=t=>b.value=t),size:"default",placeholder:"请选择日志类型"},{default:n(()=>[(c(!0),r(J,null,G(W,(t,q)=>(c(),P(g,{key:q,label:t.label,value:t.type},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),e("span",ht,[a(v,{size:"default",clearable:"",placeholder:"请输入要检索的内容","prefix-icon":w(be),modelValue:S.value,"onUpdate:modelValue":l[1]||(l[1]=t=>S.value=t)},null,8,["prefix-icon","modelValue"])]),e("span",ft,[a($,{size:"default",icon:w(De),onClick:w(D)},{default:n(()=>[h("刷新")]),_:1},8,["icon","onClick"])]),e("span",gt,[a($,{size:"default",type:"primary",icon:w(He),onClick:ae},{default:n(()=>[h("导出日志 "+V(p.length)+" 条",1)]),_:1},8,["icon"])]),e("span",$t,[A((c(),P($,{size:"default",type:"danger",icon:w(Qe),disabled:E.value,onClick:R},{default:n(()=>[h("清理无效文件")]),_:1},8,["icon","disabled"])),[[U,E.value]])])]),a(oe,{"tooltip-effect":"dark",height:"400",stripe:"",border:"","default-sort":{prop:"date",order:"descending"},data:p,style:{width:"100%"}},{default:n(()=>[a(M,{sortable:"",prop:"date",label:"日期",width:"180"},{default:n(t=>[h(V(w(F)(new Date(t.row.date))),1)]),_:1}),a(M,{sortable:"",prop:"ip",label:"IP",width:"100"}),a(M,{"min-width":"160",prop:"msg",label:"内容"}),a(M,{fixed:"right",label:"操作",width:"100"},{default:n(t=>[a($,{onClick:q=>Y(t.row.id),type:"primary",text:"",size:"small"},{default:n(()=>[h("查看详情")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),e("div",wt,[a(se,{"current-page":z.value,onCurrentChange:X,background:"","page-count":Q.value,"page-sizes":[10,50,100,200,500,1e3],"page-size":C.value,onSizeChange:Z,total:T.value,layout:"total, sizes, prev, pager, next, jumper"},null,8,["current-page","page-count","page-size","total"])])]),a(ne,{modelValue:H.value,"onUpdate:modelValue":l[3]||(l[3]=t=>H.value=t),title:"详细信息",width:"50%",center:"",fullscreen:x.value},{footer:n(()=>[e("span",yt,[a($,{type:"default",onClick:te},{default:n(()=>[h("复制")]),_:1}),a($,{type:"primary",onClick:l[2]||(l[2]=t=>H.value=!1)},{default:n(()=>[h("确定")]),_:1})])]),default:n(()=>[a(le,{value:ee.value,"expand-depth":5,copyable:"",boxed:"",sort:""},null,8,["value"])]),_:1},8,["modelValue","fullscreen"])])}}});const Tt=$e(xt,[["__scopeId","data-v-c6757aaa"]]);export{Tt as default};
|
|
2
|
+
//# sourceMappingURL=index-d09329eb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-d09329eb.js","sources":["../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/coin.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/document.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/takeaway-box.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/tickets.mjs","../../src/pages/dashboard/manage/overview/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Coin\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar coin = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { coin as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Document\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar document = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { document as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"TakeawayBox\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar takeawayBox = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { takeawayBox as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Tickets\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar tickets = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { tickets as default };\n","<template>\n <div class=\"overview\">\n <div\n class=\"card-list\"\n v-loading=\"isLoadingOverview\"\n element-loading-text=\"Loading...\"\n >\n <div v-for=\"c in cardList\" :key=\"c.type\" class=\"card\">\n <div class=\"logo\">\n <el-icon :color=\"c.color\">\n <component :is=\"c.icon\"></component>\n </el-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{ c.title }}</div>\n <div class=\"text\">{{ c.value }}</div>\n <div class=\"supplement\">{{ c.supplement }}</div>\n </div>\n </div>\n </div>\n <div class=\"panel\">\n <div class=\"p10 log-filter\">\n <span class=\"item\">\n <span class=\"label\">类型</span>\n <el-select\n v-model=\"filterLogType\"\n size=\"default\"\n placeholder=\"请选择日志类型\"\n >\n <el-option\n v-for=\"(item, idx) in logTypeList\"\n :key=\"idx\"\n :label=\"item.label\"\n :value=\"item.type\"\n ></el-option>\n </el-select>\n </span>\n <span class=\"item\">\n <el-input\n size=\"default\"\n clearable\n placeholder=\"请输入要检索的内容\"\n :prefix-icon=\"Search\"\n v-model=\"searchWord\"\n >\n </el-input>\n </span>\n <span class=\"item\">\n <el-button size=\"default\" :icon=\"Refresh\" @click=\"refreshLogs\"\n >刷新</el-button\n >\n </span>\n <span class=\"item\">\n <el-button\n size=\"default\"\n type=\"primary\"\n :icon=\"DataAnalysis\"\n @click=\"exportLogData\"\n >导出日志 {{ logs.length }} 条</el-button\n >\n </span>\n <span class=\"item\">\n <el-button\n size=\"default\"\n type=\"danger\"\n :icon=\"TakeawayBox\"\n :disabled=\"disableDelete\"\n @click=\"clearExpiredCompressFile\"\n v-loading=\"disableDelete\"\n >清理无效文件</el-button\n >\n </span>\n </div>\n <el-table\n tooltip-effect=\"dark\"\n height=\"400\"\n stripe\n border\n :default-sort=\"{ prop: 'date', order: 'descending' }\"\n :data=\"logs\"\n style=\"width: 100%\"\n >\n <el-table-column sortable prop=\"date\" label=\"日期\" width=\"180\">\n <template #default=\"scope\">{{\n formatDate(new Date(scope.row.date))\n }}</template>\n </el-table-column>\n <!-- <el-table-column prop=\"type\" label=\"类型\" width=\"100\">\n <template #default=\"scope\">{{ getLogsTypeText(scope.row.type) }}</template>\n </el-table-column>-->\n <el-table-column\n sortable\n prop=\"ip\"\n label=\"IP\"\n width=\"100\"\n ></el-table-column>\n <el-table-column\n min-width=\"160\"\n prop=\"msg\"\n label=\"内容\"\n ></el-table-column>\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\n <template #default=\"scope\">\n <el-button\n @click=\"handleDetail(scope.row.id)\"\n type=\"primary\"\n text\n size=\"small\"\n >查看详情</el-button\n >\n </template>\n </el-table-column>\n </el-table>\n\n <div class=\"flex fc p10\">\n <el-pagination\n :current-page=\"pageCurrent\"\n @current-change=\"handlePageChange\"\n background\n :page-count=\"pageCount\"\n :page-sizes=\"[10, 50, 100, 200, 500, 1000]\"\n :page-size=\"pageSize\"\n @size-change=\"handleSizeChange\"\n :total=\"logSumCount\"\n layout=\"total, sizes, prev, pager, next, jumper\"\n ></el-pagination>\n </div>\n </div>\n <el-dialog\n v-model=\"showDetail\"\n title=\"详细信息\"\n width=\"50%\"\n center\n :fullscreen=\"isMobile\"\n >\n <json-viewer\n :value=\"jsonData\"\n :expand-depth=\"5\"\n copyable\n boxed\n sort\n ></json-viewer>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button type=\"default\" @click=\"handleCopyDetail\">复制</el-button>\n <el-button type=\"primary\" @click=\"showDetail = false\">确定</el-button>\n </span>\n </template>\n </el-dialog>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onMounted, reactive, ref, watchEffect } from 'vue'\nimport {\n User,\n Document,\n Tickets,\n DataBoard,\n Search,\n Refresh,\n DataAnalysis,\n Coin,\n TakeawayBox\n} from '@element-plus/icons-vue'\nimport { useStore } from 'vuex'\nimport { ElMessage } from 'element-plus'\nimport { SuperOverviewApi } from '@/apis'\nimport { copyRes, formatDate } from '@/utils/stringUtil'\nimport { tableToExcel } from '@/utils/networkUtil'\nimport { debounce } from '@/utils/other'\n\nconst $store = useStore()\n\nconst isMobile = computed(() => $store.getters['public/isMobile'])\n\nconst isLoadingOverview = ref(false)\nconst cardList = reactive([\n {\n type: 'user',\n title: '用户数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: User,\n color: '#40c9c6'\n },\n {\n type: 'file',\n title: '记录/OSS',\n value: '0',\n supplement: '记录较昨日 +0',\n icon: Document,\n color: '#36a3f7'\n },\n {\n type: 'log',\n title: '日志数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: Tickets,\n color: '#f4516c'\n },\n {\n type: 'pv',\n title: 'PV/UV',\n value: '0/0',\n supplement: '',\n icon: DataBoard,\n color: '#34bfa3'\n },\n {\n type: 'compress',\n title: '归档&无效文件',\n value: '0/0KB',\n supplement: '已失效0个',\n icon: Coin,\n color: '#e38013'\n }\n])\n// 刷新记录条数\nconst refreshCount = () => {\n isLoadingOverview.value = true\n SuperOverviewApi.getCount().then((res) => {\n const { user, file, log, pv, compress } = res.data\n cardList[0].value = `${user.sum}`\n cardList[0].supplement = `较昨日 +${user.recent}`\n cardList[1].value = `${file.server.sum}/${file.oss.sum} (${file.oss.size})`\n cardList[1].supplement = `记录较昨日 +${file.server.recent}`\n cardList[2].value = `${log.sum}`\n cardList[2].supplement = `较昨日 +${log.recent}`\n cardList[3].value = `${pv.today.sum}/${pv.today.uv}`\n cardList[3].supplement = `历史: ${pv.all.sum}/${pv.all.uv}`\n cardList[4].value = `${compress.all.sum}/${compress.all.size}`\n cardList[4].supplement = `已失效 ${compress.expired.sum}/${compress.expired.size}`\n isLoadingOverview.value = false\n })\n}\n\nconst disableDelete = ref(false)\nconst clearExpiredCompressFile = () => {\n disableDelete.value = true\n SuperOverviewApi.clearExpiredCompressFile().then(() => {\n setTimeout(() => {\n ElMessage.success('清理成功,数据同步可能有延迟')\n disableDelete.value = false\n refreshCount()\n }, 2000)\n })\n}\n\n// 日志\nconst logs: any[] = reactive([])\n\n// function getLogsTypeText(type: string) {\n// const logsTypeText: any = {\n// request: '网络请求',\n// behavior: '用户行为',\n// error: '错误',\n// pv: '页面访问',\n// }\n// return logsTypeText[type]\n// }\n// 筛选的日志\nconst filterLogType = ref('behavior')\nconst searchWord = ref('')\nconst logTypeList = reactive([\n {\n label: '用户行为',\n type: 'behavior'\n },\n {\n label: '网络请求',\n type: 'request'\n },\n {\n label: '服务端错误',\n type: 'error'\n },\n {\n label: '页面访问',\n type: 'pv'\n }\n])\n\n// 分页\n// 页大小\nconst pageSize = ref(10)\nconst handleSizeChange = (v: number) => {\n pageSize.value = v\n}\n// 总条数\nconst logSumCount = ref(0)\nconst pageCount = computed(() => {\n const t = Math.ceil(logSumCount.value / pageSize.value)\n return t\n})\nconst pageCurrent = ref(1)\nconst handlePageChange = (idx: number) => {\n pageCurrent.value = idx\n}\n\nconst refreshLogs = debounce(\n () => {\n SuperOverviewApi.getLogMsg(\n pageSize.value,\n pageCurrent.value,\n filterLogType.value,\n searchWord.value\n ).then((res) => {\n logs.splice(0, logs.length)\n logs.push(...res.data.logs)\n logSumCount.value = res.data.sum\n })\n },\n 100,\n false\n)\n\nwatchEffect(() => {\n if (filterLogType.value) {\n pageCurrent.value = 1\n }\n})\n\nwatchEffect(() => {\n if (searchWord.value !== undefined) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (filterLogType.value) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (pageCurrent.value || pageSize.value) {\n refreshLogs()\n }\n})\n\nconst showDetail = ref(false)\nconst showData = ref('')\nconst handleDetail = (id) => {\n SuperOverviewApi.getLogMsgDetail(id).then((res) => {\n showDetail.value = true\n showData.value = JSON.stringify(res.data, null, 2)\n })\n}\nconst jsonData = computed(() => {\n try {\n return JSON.parse(showData.value)\n } catch (e) {\n return {}\n }\n})\nconst handleCopyDetail = () => {\n copyRes(showData.value)\n}\n\nconst exportLogData = () => {\n if (logs.length === 0) {\n return\n }\n const headers = ['日期', 'IP', '内容']\n const body = logs.map((v) => {\n const { date, ip, msg } = v\n return [formatDate(new Date(date)), ip, msg]\n })\n tableToExcel(\n headers,\n body,\n `导出日志_${logs.length}条${formatDate(\n new Date(),\n 'yyyy年MM月日hh时mm分ss秒'\n )}.xlsx`\n )\n ElMessage.success('导出成功')\n}\nonMounted(() => {\n refreshCount()\n})\n</script>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .card-list {\n margin-top: 40px;\n }\n\n .card {\n min-width: 300px;\n }\n\n .log-filter {\n justify-content: center;\n }\n}\n\n.overview {\n margin: 0 auto;\n}\n\n.card-list {\n display: flex;\n margin-top: 20px;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.card {\n margin: 10px;\n cursor: pointer;\n font-size: 12px;\n position: relative;\n overflow: hidden;\n color: #666;\n background: #fff;\n box-shadow: 4px 4px 40px rgb(0 0 0 / 5%);\n border-color: rgba(0, 0, 0, 0.05);\n min-width: 300px;\n\n .logo {\n float: left;\n margin: 4px 10px 0 10px;\n -webkit-transition: all 0.38s ease-out;\n transition: all 0.38s ease-out;\n border-radius: 6px;\n font-size: 48px;\n\n i {\n padding: 10px;\n }\n }\n\n .content {\n float: right;\n font-weight: 700;\n margin: 10px;\n margin-left: 0;\n\n .title {\n line-height: 18px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n text-align: right;\n }\n\n .text {\n font-size: 16px;\n text-align: right;\n }\n\n .supplement {\n font-size: 12px;\n font-weight: lighter;\n text-align: right;\n }\n }\n}\n\n.panel {\n max-width: 1024px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n}\n\n.log-filter {\n display: flex;\n flex-wrap: wrap;\n\n .item {\n margin-right: 10px;\n margin-bottom: 10px;\n\n .label {\n margin-right: 10px;\n font-size: 12px;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","coin","_export_sfc","document","takeawayBox","tickets","$store","useStore","isMobile","computed","isLoadingOverview","ref","cardList","reactive","User","Document","Tickets","DataBoard","Coin","refreshCount","SuperOverviewApi","res","user","file","log","pv","compress","disableDelete","clearExpiredCompressFile","ElMessage","logs","filterLogType","searchWord","logTypeList","pageSize","handleSizeChange","v","logSumCount","pageCount","pageCurrent","handlePageChange","idx","refreshLogs","debounce","watchEffect","showDetail","showData","handleDetail","id","jsonData","e","handleCopyDetail","copyRes","exportLogData","headers","body","date","ip","msg","formatDate","tableToExcel","onMounted"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@media screen and (max-width: 700px){.user[data-v-6edac847]{margin-top:40px!important}}.user[data-v-6edac847]{margin:0 auto}.panel[data-v-6edac847]{max-width:1256px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.routes[data-v-6edac847]{max-width:500px;margin:0 auto}.routes li[data-v-6edac847]{display:flex;padding:20px;align-items:center}.routes li .title[data-v-6edac847]{font-weight:700;margin:0 10px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.not-found[data-v-bb4c1a74]{font-family:Avenir,Helvetica,Arial,sans-serif;background-image:linear-gradient(to top,#30cfd0 0%,#330867 100%);min-height:100vh}h1[data-v-bb4c1a74],h2[data-v-bb4c1a74],h3[data-v-bb4c1a74],a[data-v-bb4c1a74]{color:#f0f8ff;text-align:center;font-weight:lighter}a[data-v-bb4c1a74]{margin-left:10px;border-bottom:2px solid aliceblue;cursor:pointer}h1[data-v-bb4c1a74]{font-size:48px;padding-top:10%}h2[data-v-bb4c1a74]{font-size:30px;padding-top:2vh}h3[data-v-bb4c1a74]{font-size:28px;padding-top:1vh}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@media screen and (max-width: 700px){.user[data-v-72be12a2]{margin-top:40px!important}}.user[data-v-72be12a2]{margin:0 auto}.panel[data-v-72be12a2]{max-width:1256px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}h1[data-v-72be12a2]{margin:0;padding:10px 0;font-size:20px;font-weight:700;text-align:center;display:flex;justify-content:center;align-items:center}.service-list[data-v-72be12a2]{display:flex;flex-wrap:wrap;justify-content:space-around}.service-item[data-v-72be12a2]{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:10px;min-width:120px}.service-item img[data-v-72be12a2]{width:80px}.service-item p[data-v-72be12a2]{text-align:center;padding-top:10px;font-size:14px}@keyframes rotate-72be12a2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading[data-v-72be12a2]{margin-left:10px;animation:rotate-72be12a2 1s linear infinite}.error-panel[data-v-72be12a2]{padding:0 20px}.error-panel p[data-v-72be12a2]{margin-bottom:10px}.error-panel p .error[data-v-72be12a2]{color:red}.config-container[data-v-72be12a2]{display:flex;justify-content:space-around;flex-wrap:wrap}.config-panel h2[data-v-72be12a2]{text-align:center;font-size:16px;margin-bottom:10px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.task-panel[data-v-d3f704e9] ul.el-upload-list{border:1px dashed #d4d4d4;padding:10px}.task-panel[data-v-d3f704e9] ul.el-upload-list:before{content:"此处展示选择文件列表";font-size:12px;position:relative;bottom:4px}.task-panel[data-v-d3f704e9] .el-upload-list__item-name{display:block;overflow:hidden;max-width:290px;text-overflow:ellipsis;word-break:keep-all}.task-panel[data-v-d3f704e9] .is-ready .el-icon--close{display:block;color:#000}.task-panel[data-v-d3f704e9]{background-color:#f3f6f8;padding-bottom:1rem;position:relative}.pc-nav[data-v-d3f704e9]{background-color:#fff;display:flex;padding:10px;justify-content:space-between;align-items:center}.pc-nav .exit[data-v-d3f704e9]{cursor:pointer}.pc-nav .nav[data-v-d3f704e9]{display:flex}.pc-nav .nav nav[data-v-d3f704e9]{display:flex;align-items:center}.pc-nav .nav nav .nav-item[data-v-d3f704e9]{font-size:1rem;color:#595959;padding:10px;cursor:pointer}.pc-nav .nav nav .nav-item.active[data-v-d3f704e9]{color:#409eff!important;font-weight:600}.pc-nav .nav .exit[data-v-d3f704e9]{color:#595959}.pc-nav .logo[data-v-d3f704e9]{width:180px;margin:0 10px}.pc-nav .logo img[data-v-d3f704e9]{height:40px}.panel[data-v-d3f704e9]{max-width:1024px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.panel .name[data-v-d3f704e9]{text-align:center}.panel .ddl[data-v-d3f704e9]{margin-top:10px;color:#919191;font-size:14px}.panel .infos[data-v-d3f704e9]{max-width:460px;margin:auto;overflow:hidden}.panel .infos[data-v-d3f704e9] div.el-form-item>label{font-weight:700}.panel .infos[data-v-d3f704e9] div.el-form-item>label:before{content:"* ";color:red}.withdraw[data-v-d3f704e9]{text-align:right}.tip-wrapper[data-v-d3f704e9]{line-height:20px;text-align:left;word-break:break-all;overflow:hidden;padding:0 20px;color:#e6a23c;max-width:320px;font-size:14px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.files[data-v-7d8411d6]{max-width:1024px;margin:0 auto;padding-bottom:2em}@media screen and (max-width: 700px){.files[data-v-7d8411d6]{margin-top:70px}.text-btns[data-v-7d8411d6]{display:flex;flex-direction:column}.text-btns[data-v-7d8411d6] .el-button{margin-left:0;margin-bottom:0}.header[data-v-7d8411d6]{justify-content:center}.export-btns[data-v-7d8411d6]{display:flex;flex-wrap:wrap;justify-content:space-around}}.panel[data-v-7d8411d6]{padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px;z-index:1}.panel .label[data-v-7d8411d6]{font-size:12px;margin-right:10px}.header[data-v-7d8411d6]{display:flex;flex-wrap:wrap}.header .item[data-v-7d8411d6]{margin-right:10px;margin-bottom:10px}.el-button[data-v-7d8411d6]{margin-left:10px;margin-bottom:10px}.control-item[data-v-7d8411d6]{margin-left:10px;margin-bottom:10px;font-size:14px}.imageLoading[data-v-7d8411d6]{display:flex;align-items:center;justify-content:center;height:100%}.imageDes[data-v-7d8411d6]{position:absolute;bottom:80px;color:#fff;left:50%;transform:translate(-50%)}.progress-list[data-v-7d8411d6]{margin-top:10px}.progress-list .progress-item[data-v-7d8411d6]{margin-bottom:10px;text-align:center}.progress-list .progress-item .progress[data-v-7d8411d6]{display:flex;justify-content:center;align-items:center;margin-bottom:6px}.progress-list .progress-item .progress .el-progress--line[data-v-7d8411d6]{min-width:200px;width:260px}.progress-list .progress-item .progress .el-button[data-v-7d8411d6]{margin:0 6px}.progress-list .progress-item .des[data-v-7d8411d6]{font-size:12px}.progress-list .progress-item .des .filename[data-v-7d8411d6]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;margin-right:10px}.progress-list .progress-item .des .mimeType[data-v-7d8411d6]{width:60px;color:#409eff}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as _,r as n,u as r,o as d,c as u,a as t,b as p,t as i,p as v,e as f,f as h,_ as m}from"./index-1639ad54.js";const c=e=>(v("data-v-7bc5f813"),e=e(),f(),e),x={class:"not-found"},I=c(()=>t("h1",null,"404 Not Found",-1)),b=c(()=>t("h2",null,"糟糕页面走丢了",-1)),S=_({__name:"index",setup(e){const o=n(3),a=n(null),s=r(),l=()=>{clearInterval(a.value),s.replace("/")};return d(()=>{a.value=setInterval(()=>{o.value===1&&(clearInterval(a.value),s.replace("/")),o.value-=1},1e3)}),(k,y)=>(h(),u("div",x,[I,b,t("h3",null,[p(i(o.value)+"s后",1),t("a",{onClick:l},"回到首页")])]))}});const N=m(S,[["__scopeId","data-v-7bc5f813"]]);export{N as default};
|
|
2
|
+
//# sourceMappingURL=index-f74b7eb6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-f74b7eb6.js","sources":["../../src/pages/404/index.vue"],"sourcesContent":["<template>\n <div class=\"not-found\">\n <h1>404 Not Found</h1>\n <h2>糟糕页面走丢了</h2>\n <h3>{{ time }}s后<a @click=\"handleToHome\">回到首页</a></h3>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from 'vue'\nimport { useRouter } from 'vue-router'\n\nconst time = ref(3)\nconst timer = ref(null)\nconst router = useRouter()\nconst handleToHome = () => {\n clearInterval(timer.value)\n router.replace('/')\n}\nonMounted(() => {\n timer.value = setInterval(() => {\n if (time.value === 1) {\n clearInterval(timer.value)\n router.replace('/')\n }\n time.value -= 1\n }, 1000)\n})\n</script>\n<style lang=\"scss\" scoped>\n.not-found {\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\n background-image: linear-gradient(to top, #30cfd0 0%, #330867 100%);\n min-height: 100vh;\n}\nh1,\nh2,\nh3,\na {\n color: aliceblue;\n text-align: center;\n font-weight: lighter;\n}\na {\n margin-left: 10px;\n border-bottom: 2px solid aliceblue;\n}\nh1 {\n font-size: 48px;\n padding-top: 10%;\n}\nh2 {\n font-size: 30px;\n padding-top: 2vh;\n}\nh3 {\n font-size: 28px;\n padding-top: 1vh;\n}\n</style>\n"],"names":["time","ref","timer","router","useRouter","handleToHome","onMounted"],"mappings":"kSAWA,MAAAA,EAAAC,EAAA,CAAA,EACAC,EAAAD,EAAA,IAAA,EACAE,EAAAC,IACAC,EAAA,IAAA,CACE,cAAAH,EAAA,KAAA,EACAC,EAAA,QAAA,GAAA,CAAkB,EAEpB,OAAAG,EAAA,IAAA,CACEJ,EAAA,MAAA,YAAA,IAAA,CACEF,EAAA,QAAA,IACE,cAAAE,EAAA,KAAA,EACAC,EAAA,QAAA,GAAA,GAEFH,EAAA,OAAA,CAAc,EAAA,GAAA,CACT,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./index-legacy.9eb93981.js"],(function(e,t){"use strict";var n,r,u,c;return{setters:[e=>{n=e._,r=e.c,u=e.f,c=e.a}],execute:function(){const t={},s=[c("h1",null,"反馈页",-1)];e("default",n(t,[["render",function(e,t){return u(),r("div",null,s)}]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy.082ccf5b.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./index-legacy.9eb93981.js","./el-loading-legacy.8045609e.js","./el-progress-legacy.1165db46.js","./el-form-item-legacy.237ed4b6.js","./tip-legacy.b6d754fd.js","./index-legacy.227978b5.js","./index-legacy.1796b3ef.js","./index-legacy.7a041259.js","./isEqual-legacy.83836994.js","./el-dialog-legacy.d2229175.js","./el-select-legacy.5ccdd9a4.js","./validator-legacy.86b93c0e.js","./aria-legacy.af0825d3.js"],(function(e,a){"use strict";var l,t,i,n,s,o,d,u,r,p,v,c,f,m,g,h,y,x,k,w,b,_,z,j,N,$,E,C,T,U,I,S,L,F,M,O,D,P,V,A,G,J,R,W,q,B,H,K,Y,Z,Q,X,ee,ae,le,te,ie,ne;return{setters:[e=>{l=e.g,t=e.d,i=e.f,n=e.c,s=e.a,o=e.h,d=e.O,u=e.u,r=e.a1,p=e.Z,v=e.r,c=e.$,f=e.o,m=e.aU,g=e.E,h=e.bd,y=e.i,x=e.j,k=e.w,w=e.F,b=e.C,_=e.a6,z=e.t,j=e.S,N=e.a7,$=e.D,E=e.ae,C=e.a9,T=e.bU,U=e.ab,I=e.a8,S=e.ad,L=e.y,F=e.x,M=e.bV,O=e.aY,D=e.P,P=e.b,V=e.k,A=e.a3,G=e.a_,J=e.s,R=e.aW,W=e.v,q=e.I,B=e.p,H=e.e,K=e._},e=>{Y=e.v},e=>{Z=e.E,Q=e.a},e=>{X=e.a,ee=e.E},e=>{ae=e.T,le=e.E},e=>{te=e.I,ie=e.L},e=>{ne=e.E},null,null,null,null,null,null],execute:function(){var a=document.createElement("style");a.textContent='@charset "UTF-8";.task-panel[data-v-d3f704e9] ul.el-upload-list{border:1px dashed #d4d4d4;padding:10px}.task-panel[data-v-d3f704e9] ul.el-upload-list:before{content:"此处展示选择文件列表";font-size:12px;position:relative;bottom:4px}.task-panel[data-v-d3f704e9] .el-upload-list__item-name{display:block;overflow:hidden;max-width:290px;text-overflow:ellipsis;word-break:keep-all}.task-panel[data-v-d3f704e9] .is-ready .el-icon--close{display:block;color:#000}.task-panel[data-v-d3f704e9]{background-color:#f3f6f8;padding-bottom:1rem;position:relative}.pc-nav[data-v-d3f704e9]{background-color:#fff;display:flex;padding:10px;justify-content:space-between;align-items:center}.pc-nav .exit[data-v-d3f704e9]{cursor:pointer}.pc-nav .nav[data-v-d3f704e9]{display:flex}.pc-nav .nav nav[data-v-d3f704e9]{display:flex;align-items:center}.pc-nav .nav nav .nav-item[data-v-d3f704e9]{font-size:1rem;color:#595959;padding:10px;cursor:pointer}.pc-nav .nav nav .nav-item.active[data-v-d3f704e9]{color:#409eff!important;font-weight:600}.pc-nav .nav .exit[data-v-d3f704e9]{color:#595959}.pc-nav .logo[data-v-d3f704e9]{width:180px;margin:0 10px}.pc-nav .logo img[data-v-d3f704e9]{height:40px}.panel[data-v-d3f704e9]{max-width:1024px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.panel .name[data-v-d3f704e9]{text-align:center}.panel .ddl[data-v-d3f704e9]{margin-top:10px;color:#919191;font-size:14px}.panel .infos[data-v-d3f704e9]{max-width:460px;margin:auto;overflow:hidden}.panel .infos[data-v-d3f704e9] div.el-form-item>label{font-weight:700}.panel .infos[data-v-d3f704e9] div.el-form-item>label:before{content:"* ";color:red}.withdraw[data-v-d3f704e9]{text-align:right}.tip-wrapper[data-v-d3f704e9]{line-height:20px;text-align:left;word-break:break-all;overflow:hidden;padding:0 20px;color:#e6a23c;max-width:320px;font-size:14px}\n',document.head.appendChild(a);const se=t({name:"UploadFilled"}),oe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},de=[s("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6H544z"},null,-1)];var ue=l(se,[["render",function(e,a,l,t,s,o){return i(),n("svg",oe,de)}]]);const re=e=>(B("data-v-d3f704e9"),e=e(),H(),e),pe={class:"task-panel"},ve={class:"pc-nav"},ce={class:"nav"},fe={class:"logo"},me=re((()=>s("img",{style:{height:"40px",width:"170px"},src:"https://img.cdn.sugarat.top/easypicker/EasyPicker.png",alt:"logo"},null,-1))),ge=["onClick"],he={key:0,"element-loading-text":"Loading...",class:"panel tc"},ye={class:"name"},xe={class:"tip-wrapper"},ke={class:"ddl"},we={key:0},be={key:3},_e={class:"infos"},ze={key:0},je={class:"infos"},Ne=re((()=>s("div",{class:"el-upload__text"},[P(" 将文件拖于此处 or "),s("em",null,"直接选择文件")],-1))),$e={class:"p10"},Ee={class:"p10"},Ce={class:"p10 option-tips"},Te={style:{color:"red"}},Ue={style:{color:"red"}},Ie=re((()=>s("br",null,null,-1))),Se=re((()=>s("br",null,null,-1))),Le=re((()=>s("br",null,null,-1))),Fe=re((()=>s("strong",null,"选择大文件后需要等待一会儿才展示处理",-1))),Me=re((()=>s("br",null,null,-1))),Oe={class:"withdraw"},De={key:1,class:"panel tc"},Pe={class:"name"},Ve={style:{"padding-top":"20px"}};e("default",K(t({__name:"index",setup(e){const a=o(),l=d((()=>a.getters["public/isMobile"])),t=u(),B=r(),H=p([{title:"我也要收集",path:"https://docs.ep.sugarat.top/"}]),K=p({name:"",category:""}),se=p({bindField:""}),oe=d((()=>G(se.format))),de=v(""),re=v(0),Ae=d((()=>re.value<=0)),Ge=d((()=>{let e=~~(re.value/1e3),a=~~(e/3600);const l=~~(a/24);a%=24;const t=~~(e%3600/60);return e%=60,`剩余${l}天${a}时${t}分${e}秒`})),Je=(e=!0)=>{if(se?.ddl){const e=new Date(se.ddl);re.value=e.getTime()-Date.now()}else re.value=0;e&&setTimeout((()=>{Je()}),1e3)},Re=d((()=>{if(se?.ddl){const e=new Date(se.ddl);return J(e)}return""})),We=p([]),qe=v([]),Be=v(),He=d((()=>qe.value.filter((e=>"uploading"===e.status)).length>0)),Ke=e=>"uploading"!==e.status&&"success"!==e.status||ne.confirm("不影响已经上传成功的,正在上传的将取消上传","确定从列表移除文件吗?").then((()=>("uploading"===e.status&&(g.info(`取消${e.name}的上传`),e.subscription.unsubscribe()),!0))).catch((()=>!1)),Ye=d((()=>We.every((e=>e.value)))),Ze=d((()=>se.bindField.trim()||"姓名")),Qe=d((()=>We.find((e=>e.text===Ze.value)))),Xe=d((()=>se.people&&!Qe.value)),ea=p({peopleName:""}),aa=(e,a,l)=>{if(!a){const e=`请输入${Ze.value}`;return l(new Error(e)),void g.error(e)}R.checkPeopleIsExist(de.value,a).then((e=>{e.data.exist||g.error("你不在此次提交名单中,如有疑问请联系管理员"),l(e.data.exist?void 0:new Error("你不在此次提交名单中,如有疑问请联系管理员"))}))},la=v(),ta=p({peopleName:[{validator:aa,trigger:"blur"}]}),ia=()=>{if(Qe.value){const e=We.find((e=>e.text===Ze.value))?.value;return ea.peopleName=e||"",new Promise((a=>{aa(0,e,a)})).then((e=>!e))}return la.value.validate((e=>e))},na=async()=>{if(Ye.value){if(se.people&&!(await ia()))return;(()=>{const e=qe.value;for(const a of e)if(a.md5){if("ready"===a.status){a.status="uploading";let{name:e}=a;const l=e;se.rewrite&&(e=We.map((e=>e.value)).join(oe.value.splitChar||"-")+E(e)),e=M(e);const t=`easypicker2/${de.value}/${a.md5}/${e}`;U.getUploadToken().then((i=>{O(i.data.token,a.raw,t,{success(t){const{fsize:i}=t;U.addFile({originName:l,name:e,taskKey:de.value,taskName:K.name,size:i,hash:a.md5,info:JSON.stringify(We),people:ea.peopleName}).then((()=>{a.status="success",g.success(`文件:${a.name}提交成功`),se.people&&R.updatePeopleStatus(de.value,e,ea.peopleName,a.md5)}))},process(e,l,t){a.percentage=Math.floor(e),a.subscription=t}})}))}}else g.info(`文件(${a.name})的唯一指纹还在计算中,再等待一会儿再点击上传`),setTimeout((()=>{g.info("文件越大计算时间越长(1G通常需要20s)")}),100)})()}else g.warning("请先完成必要信息的填写")},sa=d((()=>{for(const e of qe.value)if("ready"===e.status)return!0;return!1})),oa=d((()=>{for(const e of qe.value)if(["success","ready"].includes(e.status))return!0;return!1})),da=v(0),ua=e=>{const{name:a}=e;if(oe.value.format.length&&oe.value.status){const l=E(a);if(!oe.value.format.find((e=>l.endsWith(e))))return g.error(`${a} 格式不符合要球`),void Be.value.handleRemove(e)}if(oe.value.size&&oe.value.size<e.size)return g.error(`${a} 大小${C(e.size)} 不符合要求`),void Be.value.handleRemove(e);da.value+=1,T(e.raw).then((a=>{e.md5=a,da.value-=1}))},ra=d((()=>oe.value.limit||10)),pa=()=>{g.warning(`一次提交最多只能选择${ra.value}个文件,请移除已经上传成功的或刷新页面`)},va=v(!1),ca=v(""),fa=()=>{U.getTemplateUrl(se.template,de.value).then((e=>{va.value=!0;const{link:a}=e.data;ca.value=a,I(a,se.template)})).catch((()=>{g.warning("文件已从服务器上移除,请联系管理员重新上传")}))},ma=v(!1),ga=async()=>{if(Ye.value){if(se.people&&!(await ia()))return;(()=>{const e=qe.value;for(const a of e)if(a.md5){if(!["fail","uploading"].includes(a.status)){let{name:e}=a;se.rewrite&&(e=We.map((e=>e.value)).join(oe.value.splitChar||"-")+E(e)),U.withdrawFile({taskKey:de.value,taskName:K.name,filename:e,hash:a.md5,info:JSON.stringify(We),peopleName:ea.peopleName}).then((()=>{g.success(`文件:${a.name}撤回成功`),a.name+=" - (已撤回 ✅ )",a.status="fail"})).catch((()=>{g.error(`撤回失败: 没有文件:${a.name}对应提交记录`)}))}}else g.info(`文件(${a.name})的唯一指纹还在计算中,再等待一会儿再点击上传`),setTimeout((()=>{g.info("文件越大计算时间越长(1G通常需要20s)")}),100)})()}else g.warning("请先完成必要信息的填写")},ha=async()=>{if(Ye.value){if(se.people&&!(await ia()))return;U.checkSubmitStatus(de.value,We,ea.peopleName).then((e=>{e.data.isSubmit?g.success("已经提交过啦"):g.warning("还未提交过哟")}))}else g.warning("请先完成必要信息的填写,需和提交时信息完全一致")},ya=v(!1),xa=v(!1),ka=(e=[],a=[])=>e.length===a.length&&e.every(((e,l)=>e.type===a[l].type&&e.text===a[l].text&&ka(e.children,a[l].children))),wa=(e=!1)=>{m.getTaskMoreInfo(de.value).then((a=>{Object.assign(se,a.data),ka(We,S(se.info))||(We.splice(0,We.length),We.push(...S(se.info)),e&&g.success("表单信息有更新")),Je(!1),ya.value=!1}))},ba=()=>{xa.value=!0},_a=()=>{xa.value&&!He.value&&(xa.value=!1,wa(!0))},za=d((()=>Ae.value?Re.value:Re.value+Ge.value)),ja=p({text:"",imgs:[]}),Na=v([]);return c((()=>se.tip),(()=>{try{const e=JSON.parse(se.tip);ja.imgs=e.imgs,ja.text=e.text||"",Na.value=ja.imgs.map((e=>({...e,url:"https://img.cdn.sugarat.top/mdImg/MTY3NzkxMDI1NTU1Nw==20140524124237518.gif"}))),Na.value.length&&D.getTipImageUrl(de.value,Na.value.map((e=>({uid:e.uid,name:e.name})))).then((e=>{e.data.forEach(((e,a)=>{Na.value[a].url=e.cover,Object.assign(Na.value[a],{preview:e.preview})}))}))}catch{ja.text="",ja.imgs=[],Na.value=[]}})),f((()=>{de.value=B.params.key,de.value&&(ya.value=!0,m.getTaskInfo(de.value).then((e=>{Object.assign(K,e.data)})).catch((e=>{4001===e.code&&(g.error("任务不存在"),de.value="",K.name="任务不存在")})),wa(),Je()),window.addEventListener("blur",ba),window.addEventListener("focus",_a)})),h((()=>{window.removeEventListener("blur",ba),window.removeEventListener("focus",_a)})),(e,a)=>{const o=y("router-link"),d=L,u=le,r=Q,p=W,v=ee,c=X,f=F,m=q,g=Z,h=Y;return i(),n("div",pe,[s("div",ve,[s("div",ce,[s("div",fe,[x(o,{to:"/"},{default:k((()=>[me])),_:1})]),s("nav",null,[(i(!0),n(w,null,b(H,((e,a)=>(i(),n("div",{class:"nav-item",key:a,onClick:e=>(e=>{H[e].path.startsWith("http")?window.location.href=H[e].path:t.push({path:H[e].path})})(a)},z(e.title),9,ge)))),128))])])]),de.value?_((i(),n("div",he,[s("h1",ye,z(K.name),1),!ja.text||Re.value&&Ae.value?j("",!0):(i(),n(w,{key:0},[x(d,null,{default:k((()=>[P("⚠️ 注意事项 ⚠️")])),_:1}),x(ae,null,{default:k((()=>[s("div",xe,[(i(!0),n(w,null,b(ja.text.split("\n"),((e,a)=>(i(),n("p",{key:a},z(e.replace(/\s/g," ")),1)))),128))])])),_:1})],64)),!Na.value.length||Re.value&&Ae.value?j("",!0):(i(!0),n(w,{key:1},b(Na.value,((e,a)=>(i(),$(u,{"hide-on-click-modal":"",key:e.uid,style:{width:"100px",height:"100px",margin:"10px"},src:e.url,"zoom-rate":1.2,"preview-src-list":Na.value.map((e=>e.preview)),"initial-index":a,fit:"contain"},null,8,["src","preview-src-list","initial-index"])))),128)),Re.value?(i(),n(w,{key:2},[x(d,null,{default:k((()=>[P("截止时间")])),_:1}),s("h2",ke,z(za.value),1),Ae.value?(i(),n("div",we,[x(r,{description:"已经结束啦!"})])):j("",!0)],64)):j("",!0),Re.value&&Ae.value?j("",!0):(i(),n("div",be,[x(d,null,{default:k((()=>[P("必要信息填写")])),_:1}),s("div",_e,[_(s("div",null,[x(ae,null,{default:k((()=>[P("“"+z(Ze.value)+"”在参与名单里才能正常提交",1)])),_:1})],512),[[N,se.people]]),Xe.value?(i(),n("div",ze,[s("div",je,[x(c,{ref_key:"validModalRef",ref:la,rules:ta,"status-icon":"",model:ea,disabled:He.value,"label-position":"top"},{default:k((()=>[x(v,{prop:"peopleName",label:Ze.value},{default:k((()=>[x(p,{maxlength:14,clearable:"","show-word-limit":"",placeholder:`请输入 ${Ze.value}`,modelValue:ea.peopleName,"onUpdate:modelValue":a[0]||(a[0]=e=>ea.peopleName=e)},null,8,["placeholder","modelValue"])])),_:1},8,["label"])])),_:1},8,["rules","model","disabled"])])])):j("",!0),x(te,{infos:We,disabled:He.value},null,8,["infos","disabled"])]),x(g,{style:{"max-width":"400px",margin:"0 auto"},drag:!l.value,action:"",ref_key:"fileUpload",ref:Be,"on-change":ua,"before-remove":Ke,"on-exceed":pa,"auto-upload":!1,multiple:"",limit:ra.value,"file-list":qe.value,"onUpdate:fileList":a[1]||(a[1]=e=>qe.value=e)},{tip:k((()=>[_(s("div",$e,[x(ae,null,{default:k((()=>[P("还有 "+z(da.value)+" 个文件正在生成校验信息,请稍等(1G通常需要20s)",1)])),_:1})],512),[[N,!!da.value]])])),default:k((()=>[l.value?(i(),$(f,{key:0,type:"primary"},{default:k((()=>[P("选择文件")])),_:1})):(i(),n(w,{key:1},[x(m,{class:"el-icon--upload"},{default:k((()=>[x(V(ue))])),_:1}),Ne],64))])),_:1},8,["drag","limit","file-list"]),s("div",Ee,[ma.value?(i(),$(f,{key:0,size:"default",onClick:ga,type:"warning",disabled:!oa.value||!!da.value},{default:k((()=>[P("一键撤回")])),_:1},8,["disabled"])):(i(),$(f,{key:1,size:"default",onClick:na,type:"success",disabled:!sa.value||!!da.value},{default:k((()=>[P("提交文件")])),_:1},8,["disabled"])),x(f,{onClick:ha,size:"default"},{default:k((()=>[P("查询提交情况")])),_:1})]),s("div",Ce,[oe.value.status&&oe.value.format.length?(i(),$(ae,{key:0},{default:k((()=>[P("限制格式为: "),s("span",Te,z(oe.value.format.join(", ")),1)])),_:1})):j("",!0),oe.value.size?(i(),$(ae,{key:1},{default:k((()=>[P("限制文件大小不超过: "),s("span",Ue,z(V(C)(oe.value.size)),1)])),_:1})):j("",!0),ma.value?(i(),$(ae,{key:2},{default:k((()=>[P("① 须保证选择的文件与提交时的文件一致"),Ie,P(" ② 填写表单信息一致 "),Se,P(" ③ 完全一模一样的文件的提交记录(内容md5+命名),将会一次性全部撤回")])),_:1})):(i(),$(ae,{key:3},{default:k((()=>[P("① 选择完文件,点击 ”提交文件“即可 "),Le,P(" ② "),Fe,se.template?(i(),n(w,{key:0},[Me,P(" ③ "),s("strong",null,[x(f,{type:"primary",text:"",style:{color:"#85ce61"},size:"small",onClick:fa},{default:k((()=>[P("右下角可 “查看提交示例” ")])),_:1})])],64)):j("",!0)])),_:1}))]),s("div",Oe,[se.template?(i(),$(f,{key:0,type:"primary",text:"",style:{color:"#85ce61"},size:"small",onClick:fa},{default:k((()=>[P("查看提交示例")])),_:1})):j("",!0),ma.value?(i(),$(f,{key:1,onClick:a[2]||(a[2]=e=>ma.value=!1),size:"small",type:"primary",text:""},{default:k((()=>[P("正常提交")])),_:1})):(i(),$(f,{key:2,size:"small",onClick:a[3]||(a[3]=e=>ma.value=!0),type:"primary",text:""},{default:k((()=>[P("我要撤回")])),_:1}))])]))])),[[h,ya.value]]):(i(),n("div",De,[s("h1",Pe,z(K.name),1)])),x(ie,{value:va.value,"onUpdate:value":a[4]||(a[4]=e=>va.value=e),title:"示例文件下载链接",link:ca.value},null,8,["value","link"]),s("div",Ve,[x(A,{type:"task"})])])}}}),[["__scopeId","data-v-d3f704e9"]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy.12de1889.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./index-legacy.9eb93981.js","./el-dialog-legacy.d2229175.js","./aria-legacy.af0825d3.js","./validator-legacy.86b93c0e.js","./index-legacy.7a041259.js"],(function(e,n){"use strict";var t,o,l,a,s,r,i,c,u,d,p,f,m,v,g,y,b,h,C,E,x,w,B,k,M,I,T,S,R,_,A,L,z,P,V,$,O,j,H,K,D,q,U,F,G,N,Z,Q,W,J,X,Y,ee,ne,te,oe;return{setters:[e=>{t=e.$,o=e.bL,l=e.as,a=e.ak,s=e.N,r=e.d,i=e.x,c=e.cm,u=e.v,d=e.I,p=e.cn,f=e.Q,m=e.r,v=e.bH,g=e.Z,y=e.O,b=e.co,h=e.ar,C=e.aw,E=e.o,x=e.ai,w=e.bK,B=e.i,k=e.f,M=e.D,I=e.w,T=e.a6,S=e.j,R=e.a,_=e.H,A=e.aB,L=e.aR,z=e.c,P=e.G,V=e.S,$=e.t,O=e.aN,j=e.T,H=e.b,K=e.a7,D=e.bf,q=e.bM,U=e.aS,F=e.cp,G=e.cq,N=e.bG,Z=e.bn,Q=e.aK,W=e.bk},e=>{J=e.b,X=e.u,Y=e.d,ee=e.e},e=>{ne=e.o},e=>{te=e.i},e=>{oe=e.u}],execute:function(){const n="_trap-focus-children",le=[],ae=e=>{if(0===le.length)return;const t=le[le.length-1][n];if(t.length>0&&e.code===a.tab){if(1===t.length)return e.preventDefault(),void(document.activeElement!==t[0]&&t[0].focus());const n=e.shiftKey,o=e.target===t[0],l=e.target===t[t.length-1];o&&n&&(e.preventDefault(),t[t.length-1].focus()),l&&!n&&(e.preventDefault(),t[0].focus())}},se=r({name:"ElMessageBox",directives:{TrapFocus:{beforeMount(e){e[n]=ne(e),le.push(e),le.length<=1&&document.addEventListener("keydown",ae)},updated(e){l((()=>{e[n]=ne(e)}))},unmounted(){le.shift(),0===le.length&&document.removeEventListener("keydown",ae)}}},components:{ElButton:i,ElFocusTrap:c,ElInput:u,ElOverlay:J,ElIcon:d,...p},inheritAttrs:!1,props:{buttonSize:{type:String,validator:te},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:n}){const{t:a}=oe(),s=f("message-box"),r=m(!1),{nextZIndex:i}=v(),c=g({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:i()}),u=y((()=>{const e=c.type;return{[s.bm("icon",e)]:e&&b[e]}})),d=h(),p=h(),B=C(y((()=>e.buttonSize)),{prop:!0,form:!0,formItem:!0}),k=y((()=>c.icon||b[c.type]||"")),M=y((()=>!!c.message)),I=m(),T=m(),S=m(),R=m(),_=m(),A=y((()=>c.confirmButtonClass));t((()=>c.inputValue),(async n=>{await l(),"prompt"===e.boxType&&null!==n&&O()}),{immediate:!0}),t((()=>r.value),(n=>{var t,o;n&&("prompt"!==e.boxType&&(c.autofocus?S.value=null!=(o=null==(t=_.value)?void 0:t.$el)?o:I.value:S.value=I.value),c.zIndex=i()),"prompt"===e.boxType&&(n?l().then((()=>{var e;R.value&&R.value.$el&&(c.autofocus?S.value=null!=(e=j())?e:I.value:S.value=I.value)})):(c.editorErrorMessage="",c.validateError=!1))}));const L=y((()=>e.draggable));function z(){r.value&&(r.value=!1,l((()=>{c.action&&n("action",c.action)})))}X(I,T,L),E((async()=>{await l(),e.closeOnHashChange&&window.addEventListener("hashchange",z)})),x((()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",z)}));const P=()=>{e.closeOnClickModal&&$(c.distinguishCancelAndClose?"close":"cancel")},V=ee(P),$=n=>{var t;("prompt"!==e.boxType||"confirm"!==n||O())&&(c.action=n,c.beforeClose?null==(t=c.beforeClose)||t.call(c,n,c,z):z())},O=()=>{if("prompt"===e.boxType){const e=c.inputPattern;if(e&&!e.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||a("el.messagebox.error"),c.validateError=!0,!1;const n=c.inputValidator;if("function"==typeof n){const e=n(c.inputValue);if(!1===e)return c.editorErrorMessage=c.inputErrorMessage||a("el.messagebox.error"),c.validateError=!0,!1;if("string"==typeof e)return c.editorErrorMessage=e,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},j=()=>{const e=R.value.$refs;return e.input||e.textarea},H=()=>{$("close")};return e.lockScroll&&Y(r),((e,n)=>{let l;t((()=>e.value),(e=>{var t,a;e?(l=document.activeElement,o(n)&&(null==(a=(t=n.value).focus)||a.call(t))):l.focus()}))})(r),{...w(c),ns:s,overlayEvent:V,visible:r,hasMessage:M,typeClass:u,contentId:d,inputId:p,btnSize:B,iconComponent:k,confirmButtonClasses:A,rootRef:I,focusStartRef:S,headerRef:T,inputRef:R,confirmRef:_,doClose:z,handleClose:H,onCloseRequested:()=>{e.closeOnPressEscape&&H()},handleWrapperClick:P,handleInputEnter:e=>{if("textarea"!==c.inputType)return e.preventDefault(),$("confirm")},handleAction:$,t:a}}}),re=["aria-label","aria-describedby"],ie=["aria-label"],ce=["id"];var ue=s(se,[["render",function(e,n,t,o,l,a){const s=B("el-icon"),r=B("close"),i=B("el-input"),c=B("el-button"),u=B("el-focus-trap"),d=B("el-overlay");return k(),M(D,{name:"fade-in-linear",onAfterLeave:n[11]||(n[11]=n=>e.$emit("vanish")),persisted:""},{default:I((()=>[T(S(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:I((()=>[R("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:_(`${e.ns.namespace.value}-overlay-message-box`),onClick:n[8]||(n[8]=(...n)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...n)),onMousedown:n[9]||(n[9]=(...n)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...n)),onMouseup:n[10]||(n[10]=(...n)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...n))},[S(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:I((()=>[R("div",{ref:"rootRef",class:_([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:A(e.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=L((()=>{}),["stop"]))},[null!==e.title&&void 0!==e.title?(k(),z("div",{key:0,ref:"headerRef",class:_(e.ns.e("header"))},[R("div",{class:_(e.ns.e("title"))},[e.iconComponent&&e.center?(k(),M(s,{key:0,class:_([e.ns.e("status"),e.typeClass])},{default:I((()=>[(k(),M(P(e.iconComponent)))])),_:1},8,["class"])):V("v-if",!0),R("span",null,$(e.title),1)],2),e.showClose?(k(),z("button",{key:0,type:"button",class:_(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:n[0]||(n[0]=n=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=O(L((n=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),["prevent"]),["enter"]))},[S(s,{class:_(e.ns.e("close"))},{default:I((()=>[S(r)])),_:1},8,["class"])],42,ie)):V("v-if",!0)],2)):V("v-if",!0),R("div",{id:e.contentId,class:_(e.ns.e("content"))},[R("div",{class:_(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(k(),M(s,{key:0,class:_([e.ns.e("status"),e.typeClass])},{default:I((()=>[(k(),M(P(e.iconComponent)))])),_:1},8,["class"])):V("v-if",!0),e.hasMessage?(k(),z("div",{key:1,class:_(e.ns.e("message"))},[j(e.$slots,"default",{},(()=>[e.dangerouslyUseHTMLString?(k(),M(P(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(k(),M(P(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:I((()=>[H($(e.dangerouslyUseHTMLString?"":e.message),1)])),_:1},8,["for"]))]))],2)):V("v-if",!0)],2),T(R("div",{class:_(e.ns.e("input"))},[S(i,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":n[2]||(n[2]=n=>e.inputValue=n),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:_({invalid:e.validateError}),onKeydown:O(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),R("div",{class:_(e.ns.e("errormsg")),style:A({visibility:e.editorErrorMessage?"visible":"hidden"})},$(e.editorErrorMessage),7)],2),[[K,e.showInput]])],10,ce),R("div",{class:_(e.ns.e("btns"))},[e.showCancelButton?(k(),M(c,{key:0,loading:e.cancelButtonLoading,class:_([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:n[3]||(n[3]=n=>e.handleAction("cancel")),onKeydown:n[4]||(n[4]=O(L((n=>e.handleAction("cancel")),["prevent"]),["enter"]))},{default:I((()=>[H($(e.cancelButtonText||e.t("el.messagebox.cancel")),1)])),_:1},8,["loading","class","round","size"])):V("v-if",!0),T(S(c,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:_([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:n[5]||(n[5]=n=>e.handleAction("confirm")),onKeydown:n[6]||(n[6]=O(L((n=>e.handleAction("confirm")),["prevent"]),["enter"]))},{default:I((()=>[H($(e.confirmButtonText||e.t("el.messagebox.confirm")),1)])),_:1},8,["loading","class","round","disabled","size"]),[[K,e.showConfirmButton]])],2)],6)])),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,re)])),_:3},8,["z-index","overlay-class","mask"]),[[K,e.visible]])])),_:3})}],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const de=new Map,pe=(e,n)=>{const o=document.createElement("div");e.onVanish=()=>{G(null,o),de.delete(a)},e.onAction=n=>{const t=de.get(a);let o;o=e.showInput?{value:a.inputValue,action:n}:n,e.callback?e.callback(o,l.proxy):"cancel"===n||"close"===n?e.distinguishCancelAndClose&&"cancel"!==n?t.reject("close"):t.reject("cancel"):t.resolve(o)};const l=((e,n,t=null)=>{const o=W(ue,e);return o.appContext=t,G(o,n),document.body.appendChild(n.firstElementChild),o.component})(e,o,n),a=l.proxy;for(const t in e)N(e,t)&&!N(a.$props,t)&&(a[t]=e[t]);return t((()=>a.message),((e,n)=>{F(e)?l.slots.default=()=>[e]:F(n)&&!F(e)&&delete l.slots.default}),{immediate:!0}),a.visible=!0,a};function fe(e,n=null){if(!q)return Promise.reject();let t;return U(e)||F(e)?e={message:e}:t=e.callback,new Promise(((o,l)=>{const a=pe(e,null!=n?n:fe._context);de.set(a,{options:e,callback:t,resolve:o,reject:l})}))}const me={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};["alert","confirm","prompt"].forEach((e=>{fe[e]=function(e){return(n,t,o,l)=>{let a;return Z(t)?(o=t,a=""):a=Q(t)?"":t,fe(Object.assign({title:a,message:n,type:"",...me[e]},o,{boxType:e}),l)}}(e)})),fe.close=()=>{de.forEach(((e,n)=>{n.doClose()})),de.clear()},fe._context=null;const ve=fe;ve.install=e=>{ve._context=e._context,e.config.globalProperties.$msgbox=ve,e.config.globalProperties.$messageBox=ve,e.config.globalProperties.$alert=ve.alert,e.config.globalProperties.$confirm=ve.confirm,e.config.globalProperties.$prompt=ve.prompt},e("E",ve)}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy.1796b3ef.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./index-legacy.9eb93981.js","./el-dialog-legacy.d2229175.js","./tip-legacy.b6d754fd.js","./el-form-item-legacy.237ed4b6.js","./el-select-legacy.5ccdd9a4.js"],(function(e,l){"use strict";var o,a,r,i,d,t,n,s,u,c,p,b,v,m,f,h,g,_,x,y,k,w,V,z,C,S,E,L,B,R,U,I,G,M,$,j,F,D,K,N,Q,T,A,q,J,P,H,O,Y,Z,W,X,ee,le,oe,ae,re,ie,de,te;return{setters:[e=>{o=e.J,a=e.aD,r=e.aI,i=e.aS,d=e.aE,t=e.M,n=e.aF,s=e.r,u=e.ah,c=e.O,p=e.aw,b=e.aL,v=e.N,m=e.d,f=e.Q,h=e.f,g=e.c,_=e.a,x=e.a6,y=e.c4,k=e.k,w=e.bL,V=e.H,z=e.T,C=e.b,S=e.t,E=e.aR,L=e.as,B=e.aB,R=e.ar,U=e.aJ,I=e.c5,G=e.o,M=e.ag,$=e.Z,j=e.bK,F=e.$,D=e.aT,K=e.Y,N=e.aC,Q=e._,T=e.D,A=e.a5,q=e.h,J=e.ac,P=e.c6,H=e.E,O=e.j,Y=e.w,Z=e.x,W=e.v,X=e.C,ee=e.S,le=e.F},e=>{oe=e.E},e=>{ae=e.E},e=>{re=e.a,ie=e.E},e=>{de=e.a,te=e.E}],execute:function(){var l=document.createElement("style");l.textContent='@charset "UTF-8";.el-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary)}.el-radio{color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;outline:0;font-size:var(--el-font-size-base);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:32px;height:32px}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{padding:0 11px 0 7px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{width:4px;height:4px;border-radius:var(--el-radio-input-border-radius);background-color:var(--el-color-white);content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}[data-v-a3161c5f] div.el-form-item>label{font-weight:700}[data-v-a3161c5f] div.el-form-item>label:before{content:"* ";color:red}[data-v-a3161c5f] div.el-form-item__content>.el-select{flex:1}.fixed-text[data-v-a3161c5f]{background-color:#f5f7fa;padding:0 10px;width:100%;text-align:left}\n',document.head.appendChild(l);const ne=Symbol("radioGroupKey"),se=o({size:a,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),ue=o({...se,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),ce={[r]:e=>i(e)||d(e)||t(e),[n]:e=>i(e)||d(e)||t(e)},pe=(e,l)=>{const o=s(),a=u(ne,void 0),i=c((()=>!!a)),d=c({get:()=>i.value?a.modelValue:e.modelValue,set(d){i.value?a.changeEvent(d):l&&l(r,d),o.value.checked=e.modelValue===e.label}}),t=p(c((()=>null==a?void 0:a.size))),n=b(c((()=>null==a?void 0:a.disabled))),v=s(!1),m=c((()=>n.value||i.value&&d.value!==e.label?-1:0));return{radioRef:o,isGroup:i,radioGroup:a,focus:v,size:t,disabled:n,tabIndex:m,modelValue:d}},be=["value","name","disabled"];var ve=v(m({name:"ElRadio",props:ue,emits:ce,setup(e,{emit:l}){const o=e,a=f("radio"),{radioRef:r,radioGroup:i,focus:d,size:t,disabled:n,modelValue:s}=pe(o,l);function u(){L((()=>l("change",s.value)))}return(e,l)=>{var o;return h(),g("label",{class:V([k(a).b(),k(a).is("disabled",k(n)),k(a).is("focus",k(d)),k(a).is("bordered",e.border),k(a).is("checked",k(s)===e.label),k(a).m(k(t))])},[_("span",{class:V([k(a).e("input"),k(a).is("disabled",k(n)),k(a).is("checked",k(s)===e.label)])},[x(_("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":l[0]||(l[0]=e=>w(s)?s.value=e:null),class:V(k(a).e("original")),value:e.label,name:e.name||(null==(o=k(i))?void 0:o.name),disabled:k(n),type:"radio",onFocus:l[1]||(l[1]=e=>d.value=!0),onBlur:l[2]||(l[2]=e=>d.value=!1),onChange:u},null,42,be),[[y,k(s)]]),_("span",{class:V(k(a).e("inner"))},null,2)],2),_("span",{class:V(k(a).e("label")),onKeydown:l[3]||(l[3]=E((()=>{}),["stop"]))},[z(e.$slots,"default",{},(()=>[C(S(e.label),1)]))],34)],2)}}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const me=o({...se,name:{type:String,default:""}}),fe=["value","name","disabled"];var he=v(m({name:"ElRadioButton",props:me,setup(e){const l=e,o=f("radio"),{radioRef:a,focus:r,size:i,disabled:d,modelValue:t,radioGroup:n}=pe(l),s=c((()=>({backgroundColor:(null==n?void 0:n.fill)||"",borderColor:(null==n?void 0:n.fill)||"",boxShadow:(null==n?void 0:n.fill)?`-1px 0 0 0 ${n.fill}`:"",color:(null==n?void 0:n.textColor)||""})));return(e,l)=>{var u;return h(),g("label",{class:V([k(o).b("button"),k(o).is("active",k(t)===e.label),k(o).is("disabled",k(d)),k(o).is("focus",k(r)),k(o).bm("button",k(i))])},[x(_("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":l[0]||(l[0]=e=>w(t)?t.value=e:null),class:V(k(o).be("button","original-radio")),value:e.label,type:"radio",name:e.name||(null==(u=k(n))?void 0:u.name),disabled:k(d),onFocus:l[1]||(l[1]=e=>r.value=!0),onBlur:l[2]||(l[2]=e=>r.value=!1)},null,42,fe),[[y,k(t)]]),_("span",{class:V(k(o).be("button","inner")),style:B(k(t)===e.label?k(s):{}),onKeydown:l[3]||(l[3]=E((()=>{}),["stop"]))},[z(e.$slots,"default",{},(()=>[C(S(e.label),1)]))],38)],2)}}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const ge=o({id:{type:String,default:void 0},size:a,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),_e=["id","aria-label","aria-labelledby"];var xe=v(m({name:"ElRadioGroup",props:ge,emits:ce,setup(e,{emit:l}){const o=e,a=f("radio"),i=R(),d=s(),{formItem:t}=U(),{inputId:n,isLabeledByFormItem:u}=I(o,{formItemContext:t});G((()=>{const e=d.value.querySelectorAll("[type=radio]"),l=e[0];!Array.from(e).some((e=>e.checked))&&l&&(l.tabIndex=0)}));const p=c((()=>o.name||i.value));return M(ne,$({...j(o),changeEvent:e=>{l(r,e),L((()=>l("change",e)))},name:p})),F((()=>o.modelValue),(()=>{o.validateEvent&&(null==t||t.validate("change").catch((e=>D())))})),(e,l)=>(h(),g("div",{id:k(n),ref_key:"radioGroupRef",ref:d,class:V(k(a).b("group")),role:"radiogroup","aria-label":k(u)?void 0:e.label||"radio-group","aria-labelledby":k(u)?k(t).labelId:void 0},[z(e.$slots,"default")],10,_e))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const ye=e("b",K(ve,{RadioButton:he,RadioGroup:xe})),ke=e("a",N(xe));e("E",N(he));const we=Q({name:"QrCode",props:{value:String},data:()=>({src:"",srcList:[]}),watch:{value(e){e&&(this.src=this.createEwm(e),this.srcList=[this.src])}},methods:{createEwm:(e,l)=>new AraleQRCode({text:e,size:400,foreground:"#000",...l}).toDataURL("image/png")},mounted(){this.value&&(this.src=this.createEwm(this.value),this.srcList=[this.src])}},[["render",function(e,l,o,a,r,i){const d=ae;return h(),T(d,{style:{width:"150px",height:"150px"},src:r.src,"preview-src-list":r.srcList},null,8,["src","preview-src-list"])}]]),Ve=m({name:"linkDialog",components:{QrCode:we},props:{title:{type:String,default:"链接面板"},value:{type:Boolean},link:{type:String,default:""},download:{type:Boolean,default:!0}},setup(e,l){const o=s(""),a=s(!1);A((()=>{o.value=e.link})),A((()=>{a.value=e.value,a.value&&e.download&&setTimeout((()=>{H.success("如未自动开始下载,请复制链接到浏览器中执行下载")}),200)}));const r=q(),i=c((()=>r.getters["public/isMobile"]));return{shareLink:o,createShortLink:()=>{P(o.value).then((e=>{o.value=e,H.success("短链生成成功")}))},copyLink:()=>{J(o.value)},handleClose:()=>{l.emit("update:value",!1)},showModel:a,isMobile:i}}}),ze={style:{"margin-top":"10px","text-align":"center"}};e("L",Q(Ve,[["render",function(e,l,o,a,r,i){const d=Z,t=W,n=we,s=oe;return h(),g("div",null,[O(s,{fullscreen:e.isMobile,onClose:e.handleClose,title:e.title,modelValue:e.showModel,"onUpdate:modelValue":l[1]||(l[1]=l=>e.showModel=l),center:""},{default:Y((()=>[_("div",null,[O(t,{placeholder:"生成的链接",modelValue:e.shareLink,"onUpdate:modelValue":l[0]||(l[0]=l=>e.shareLink=l)},{prepend:Y((()=>[O(d,{type:"primary",onClick:e.createShortLink},{default:Y((()=>[C("生成短链")])),_:1},8,["onClick"])])),append:Y((()=>[O(d,{type:"primary",onClick:e.copyLink},{default:Y((()=>[C("复制")])),_:1},8,["onClick"])])),_:1},8,["modelValue"])]),_("div",ze,[O(n,{value:e.shareLink},null,8,["value"])])])),_:1},8,["fullscreen","onClose","title","modelValue"])])}]]));const Ce={key:0,class:"fixed-text"},Se=m({__name:"index",props:{infos:{},disabled:{type:Boolean},labelPosition:{}},setup:e=>(e,l)=>{const o=W,a=ye,r=ke,i=de,d=te,t=ie,n=re;return h(),T(n,{disabled:e.disabled,"label-position":e.labelPosition||"top"},{default:Y((()=>[(h(!0),g(le,null,X(e.infos,((e,l)=>(h(),T(t,{class:"ellipsis",key:l,label:"text"===e.type?"":e.text},{default:Y((()=>["text"===e.type?(h(),g("div",Ce,S(e.text),1)):ee("",!0),"input"===e.type?(h(),T(o,{key:1,maxlength:k(14),clearable:"","show-word-limit":"",placeholder:`请输入 ${e.text}`,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l},null,8,["maxlength","placeholder","modelValue","onUpdate:modelValue"])):ee("",!0),"radio"===e.type?(h(),T(r,{key:2,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l},{default:Y((()=>[(h(!0),g(le,null,X(e.children,((e,l)=>(h(),T(a,{key:l,label:e.text},{default:Y((()=>[C(S(e.text),1)])),_:2},1032,["label"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue"])):ee("",!0),"select"===e.type?(h(),T(d,{key:3,"default-first-option":"",clearable:"",filterable:"",modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,placeholder:`请选择 ${e.text}`},{default:Y((()=>[(h(!0),g(le,null,X(e.children,((e,l)=>(h(),T(i,{key:l,label:e.text,value:e.text},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):ee("",!0)])),_:2},1032,["label"])))),128))])),_:1},8,["disabled","label-position"])}});e("I",Q(Se,[["__scopeId","data-v-a3161c5f"]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy.227978b5.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./index-legacy.9eb93981.js"],(function(e,a){"use strict";var l,n,t,u,o,r,d,i,s,c,v,p,m,g,h,f,x,w,V,b,y,k,_,C,z,A,U,T;return{setters:[e=>{l=e.g,n=e.d,t=e.f,u=e.c,o=e.a,r=e.r,d=e.h,i=e.u,s=e.i,c=e.j,v=e.w,p=e.l,m=e.k,g=e.m,h=e.b,f=e.t,x=e.n,w=e.q,V=e.E,b=e.P,y=e.U,k=e.s,_=e.v,C=e.x,z=e.y,A=e.z,U=e.A,T=e._}],execute:function(){var a=document.createElement("style");a.textContent=".login[data-v-4e645608]{background-image:linear-gradient(120deg,#a1c4fd 0%,#c2e9fb 100%);min-height:100vh}.inputArea[data-v-4e645608]{margin:0 auto;max-width:320px}.inputArea div[data-v-4e645608]{margin-top:10px}.links[data-v-4e645608]{display:flex;justify-content:center}.links a[data-v-4e645608]{color:#409eff;margin-left:10px}\n",document.head.appendChild(a);const j=n({name:"ChatDotSquare"}),H={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},M=[o("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),o("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1)];var q=l(j,[["render",function(e,a,l,n,o,r){return t(),u("svg",H,M)}]]);const D={class:"login"},E={class:"inputArea"},P={class:"tc"},S={class:"links"};e("default",T(n({__name:"index",setup(e){const a=r(""),l=r(""),n=r(""),T=r(""),j=d(),H=i(),M=r("获取验证码"),$=r(0),B=()=>{0!==$.value?(M.value=`${$.value}s`,$.value-=1,setTimeout(B,1e3)):M.value="获取验证码"},I=()=>{w.test(a.value)?b.getCode(a.value).then((()=>{$.value=120,B(),V.success("获取成功,请注意查看手机短信")})):V.warning("手机号格式不正确")},L=()=>{(w.test(a.value)?A.test(n.value)?n.value!==T.value?(V.warning("两次输入的密码不一致"),0):U.test(l.value)||(V.warning("验证码不正确(4位 数字)"),0):(V.warning("密码格式不正确(6-16位 支持字母/数字/下划线)"),0):(V.warning("手机号格式不正确"),0))&&y.resetPwd(a.value,l.value,n.value).then((e=>{V.success("密码重置成功");const{token:a}=e.data;j.commit("user/setToken",a),H.replace({name:"dashboard"})})).catch((e=>{const{code:a,data:l}=e,n={1008:"该手机号未绑定任何账号",1003:"验证码不正确",1004:"密码格式不正确",1010:"账号已被封禁,有疑问请联系管理员",1009:`账号已被冻结,解冻时间${l?.openTime&&k(new Date(l.openTime))}`};V.error(n[a]||"重置失败,未知错误")}))};return(e,r)=>{const d=_,i=C,w=z,V=s("router-link");return t(),u("div",D,[c(p,null,{default:v((()=>[o("div",E,[o("div",null,[c(d,{maxlength:"11",placeholder:"手机号","prefix-icon":m(g),modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=e=>a.value=e),clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",null,[c(d,{maxlength:"4",type:"number",placeholder:"请输入验证码","prefix-icon":m(q),modelValue:l.value,"onUpdate:modelValue":r[1]||(r[1]=e=>l.value=e),clearable:""},{append:v((()=>[c(i,{disabled:0!==$.value,onClick:I},{default:v((()=>[h(f(M.value),1)])),_:1},8,["disabled"])])),_:1},8,["prefix-icon","modelValue"])]),o("div",null,[c(d,{maxlength:"16",minlength:"6",type:"password",placeholder:"请输入新密码","prefix-icon":m(x),modelValue:n.value,"onUpdate:modelValue":r[2]||(r[2]=e=>n.value=e),"show-password":"",clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",null,[c(d,{maxlength:"16",minlength:"6",type:"password",placeholder:"请再次输入新密码","prefix-icon":m(x),modelValue:T.value,"onUpdate:modelValue":r[3]||(r[3]=e=>T.value=e),"show-password":"",clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",P,[c(i,{onClick:L,type:"primary",class:"fw-w100"},{default:v((()=>[h("确认重置")])),_:1})]),c(w),o("div",S,[c(V,{to:"/login"},{default:v((()=>[h("去登陆")])),_:1})])])])),_:1})])}}}),[["__scopeId","data-v-4e645608"]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy.296716c3.js.map
|