@sugarat/easypicker2-client 2.7.1 → 2.7.2
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/{data-analysis-B61f8OZD.js → data-analysis-B9140nBj.js} +2 -2
- package/dist/assets/{data-analysis-B61f8OZD.js.map → data-analysis-B9140nBj.js.map} +1 -1
- package/dist/assets/{data-analysis-legacy-sXkPNcPD.js → data-analysis-legacy-hCmX88pc.js} +2 -2
- package/dist/assets/{data-analysis-legacy-sXkPNcPD.js.map → data-analysis-legacy-hCmX88pc.js.map} +1 -1
- package/dist/assets/{data-board-BIN3HXKE.js → data-board-D3o_ZTM6.js} +2 -2
- package/dist/assets/{data-board-BIN3HXKE.js.map → data-board-D3o_ZTM6.js.map} +1 -1
- package/dist/assets/{data-board-legacy-mqcredpF.js → data-board-legacy-B3GeXOqc.js} +2 -2
- package/dist/assets/{data-board-legacy-mqcredpF.js.map → data-board-legacy-B3GeXOqc.js.map} +1 -1
- package/dist/assets/{el-date-picker-B-cvGosU.js → el-date-picker-DLwRZtue.js} +2 -2
- package/dist/assets/{el-date-picker-B-cvGosU.js.map → el-date-picker-DLwRZtue.js.map} +1 -1
- package/dist/assets/{el-date-picker-legacy-CACCtxzL.js → el-date-picker-legacy-D8g_iKhG.js} +2 -2
- package/dist/assets/{el-date-picker-legacy-CACCtxzL.js.map → el-date-picker-legacy-D8g_iKhG.js.map} +1 -1
- package/dist/assets/{el-dialog-C9wNxcPt.js → el-dialog-Dq3XmL6w.js} +2 -2
- package/dist/assets/{el-dialog-C9wNxcPt.js.map → el-dialog-Dq3XmL6w.js.map} +1 -1
- package/dist/assets/{el-dialog-legacy-CX7a77_4.js → el-dialog-legacy-DCFOVWEQ.js} +2 -2
- package/dist/assets/{el-dialog-legacy-CX7a77_4.js.map → el-dialog-legacy-DCFOVWEQ.js.map} +1 -1
- package/dist/assets/{el-dropdown-item-jbdZL0Yj.js → el-dropdown-item-C3aOY1Nr.js} +2 -2
- package/dist/assets/{el-dropdown-item-jbdZL0Yj.js.map → el-dropdown-item-C3aOY1Nr.js.map} +1 -1
- package/dist/assets/{el-dropdown-item-legacy-ChoB2YAN.js → el-dropdown-item-legacy-QQu1PUxO.js} +2 -2
- package/dist/assets/{el-dropdown-item-legacy-ChoB2YAN.js.map → el-dropdown-item-legacy-QQu1PUxO.js.map} +1 -1
- package/dist/assets/{el-form-item-BhAyaXPT.js → el-form-item-CtSEmj9z.js} +2 -2
- package/dist/assets/{el-form-item-BhAyaXPT.js.map → el-form-item-CtSEmj9z.js.map} +1 -1
- package/dist/assets/{el-form-item-legacy-DNwgpXzk.js → el-form-item-legacy-BS5eT84Y.js} +2 -2
- package/dist/assets/{el-form-item-legacy-DNwgpXzk.js.map → el-form-item-legacy-BS5eT84Y.js.map} +1 -1
- package/dist/assets/{el-loading-D5D_2rI_.js → el-loading-BzK_8zqi.js} +2 -2
- package/dist/assets/{el-loading-D5D_2rI_.js.map → el-loading-BzK_8zqi.js.map} +1 -1
- package/dist/assets/{el-loading-legacy-CCDpn-BT.js → el-loading-legacy-DWfn3F3x.js} +2 -2
- package/dist/assets/{el-loading-legacy-CCDpn-BT.js.map → el-loading-legacy-DWfn3F3x.js.map} +1 -1
- package/dist/assets/{el-pagination-DRV4WevC.js → el-pagination-Qx_lnumK.js} +2 -2
- package/dist/assets/{el-pagination-DRV4WevC.js.map → el-pagination-Qx_lnumK.js.map} +1 -1
- package/dist/assets/{el-pagination-legacy-CAxn6D5y.js → el-pagination-legacy-DqLvzT2t.js} +2 -2
- package/dist/assets/{el-pagination-legacy-CAxn6D5y.js.map → el-pagination-legacy-DqLvzT2t.js.map} +1 -1
- package/dist/assets/{el-progress-GDfl1hgb.js → el-progress-CeLYmjYA.js} +2 -2
- package/dist/assets/{el-progress-GDfl1hgb.js.map → el-progress-CeLYmjYA.js.map} +1 -1
- package/dist/assets/{el-progress-legacy-C5K3FqLs.js → el-progress-legacy-CwFO38du.js} +2 -2
- package/dist/assets/{el-progress-legacy-C5K3FqLs.js.map → el-progress-legacy-CwFO38du.js.map} +1 -1
- package/dist/assets/{el-select-B9z8VvNb.js → el-select-HG63LP3Z.js} +2 -2
- package/dist/assets/{el-select-B9z8VvNb.js.map → el-select-HG63LP3Z.js.map} +1 -1
- package/dist/assets/{el-select-legacy-BI1YK9Jv.js → el-select-legacy-fKvGMZFT.js} +2 -2
- package/dist/assets/{el-select-legacy-BI1YK9Jv.js.map → el-select-legacy-fKvGMZFT.js.map} +1 -1
- package/dist/assets/{el-switch-oOC_byJv.js → el-switch-FjmuXBNe.js} +2 -2
- package/dist/assets/{el-switch-oOC_byJv.js.map → el-switch-FjmuXBNe.js.map} +1 -1
- package/dist/assets/{el-switch-legacy-CG_sT4XS.js → el-switch-legacy-CU4cCeO5.js} +2 -2
- package/dist/assets/{el-switch-legacy-CG_sT4XS.js.map → el-switch-legacy-CU4cCeO5.js.map} +1 -1
- package/dist/assets/{el-tab-pane-NvGl_NI0.js → el-tab-pane-CuYcnzTM.js} +2 -2
- package/dist/assets/{el-tab-pane-NvGl_NI0.js.map → el-tab-pane-CuYcnzTM.js.map} +1 -1
- package/dist/assets/{el-tab-pane-legacy-usarmKVQ.js → el-tab-pane-legacy-CDSRCQdO.js} +2 -2
- package/dist/assets/{el-tab-pane-legacy-usarmKVQ.js.map → el-tab-pane-legacy-CDSRCQdO.js.map} +1 -1
- package/dist/assets/{el-table-column-JBAymLKS.js → el-table-column-B2R1FOoB.js} +2 -2
- package/dist/assets/{el-table-column-JBAymLKS.js.map → el-table-column-B2R1FOoB.js.map} +1 -1
- package/dist/assets/{el-table-column-legacy-BWpnrxZl.js → el-table-column-legacy-DDZdwCAr.js} +2 -2
- package/dist/assets/{el-table-column-legacy-BWpnrxZl.js.map → el-table-column-legacy-DDZdwCAr.js.map} +1 -1
- package/dist/assets/{index-Cno4i6lg.js → index-0SN-qZs5.js} +2 -2
- package/dist/assets/{index-Cno4i6lg.js.map → index-0SN-qZs5.js.map} +1 -1
- package/dist/assets/index-4ToTyeX6.css +1 -0
- package/dist/assets/{index-DRHl9KU8.js → index-BMhqAx1_.js} +2 -2
- package/dist/assets/{index-DRHl9KU8.js.map → index-BMhqAx1_.js.map} +1 -1
- package/dist/assets/{index-DDGYm9L-.js → index-BjPgOd_H.js} +2 -2
- package/dist/assets/{index-DDGYm9L-.js.map → index-BjPgOd_H.js.map} +1 -1
- package/dist/assets/{index-MTuc20rr.js → index-BjdYG4YE.js} +2 -2
- package/dist/assets/{index-MTuc20rr.js.map → index-BjdYG4YE.js.map} +1 -1
- package/dist/assets/{index-bD-fr3vy.js → index-BkLqrfrW.js} +2 -2
- package/dist/assets/{index-bD-fr3vy.js.map → index-BkLqrfrW.js.map} +1 -1
- package/dist/assets/{index-B0mV367i.js → index-BvTJrWND.js} +2 -2
- package/dist/assets/{index-B0mV367i.js.map → index-BvTJrWND.js.map} +1 -1
- package/dist/assets/{index-BUF8Xxid.js → index-BxLy8VN3.js} +2 -2
- package/dist/assets/{index-BUF8Xxid.js.map → index-BxLy8VN3.js.map} +1 -1
- package/dist/assets/index-C0ZXXBCX.js +40 -0
- package/dist/assets/index-C0ZXXBCX.js.map +1 -0
- package/dist/assets/{index-DJnltRnr.js → index-Cs-E_cyt.js} +2 -2
- package/dist/assets/{index-DJnltRnr.js.map → index-Cs-E_cyt.js.map} +1 -1
- package/dist/assets/index-CsvxKrFP.js +2 -0
- package/dist/assets/{index-DEiWe2Bk.js.map → index-CsvxKrFP.js.map} +1 -1
- package/dist/assets/{index-CHIrZkSk.js → index-DABL-KOd.js} +2 -2
- package/dist/assets/{index-CHIrZkSk.js.map → index-DABL-KOd.js.map} +1 -1
- package/dist/assets/{index-DMIqQLOE.js → index-DFVlBjXp.js} +2 -2
- package/dist/assets/{index-DMIqQLOE.js.map → index-DFVlBjXp.js.map} +1 -1
- package/dist/assets/{index-CKIiHmIf.js → index-DIlzTatU.js} +2 -2
- package/dist/assets/{index-CKIiHmIf.js.map → index-DIlzTatU.js.map} +1 -1
- package/dist/assets/{index-DCwrZmag.js → index-DREZLSQi.js} +2 -2
- package/dist/assets/{index-DCwrZmag.js.map → index-DREZLSQi.js.map} +1 -1
- package/dist/assets/{index-C0niS8Vv.js → index-DclP3Kg-.js} +2 -2
- package/dist/assets/{index-C0niS8Vv.js.map → index-DclP3Kg-.js.map} +1 -1
- package/dist/assets/index-DlyJUJ0j.js +2 -0
- package/dist/assets/{index-BxsJs6HZ.js.map → index-DlyJUJ0j.js.map} +1 -1
- package/dist/assets/index-DnxF29eG.css +1 -0
- package/dist/assets/{index-fb67TYJ8.js → index-GC0X-O3Y.js} +2 -2
- package/dist/assets/{index-fb67TYJ8.js.map → index-GC0X-O3Y.js.map} +1 -1
- package/dist/assets/{index-Byzqqd86.js → index-HzWmB96f.js} +2 -2
- package/dist/assets/{index-Byzqqd86.js.map → index-HzWmB96f.js.map} +1 -1
- package/dist/assets/{index-BOep9MOB.css → index-I0Y2y6h5.css} +1 -1
- package/dist/assets/{index-Dxy6ycv8.js → index-U2z5KAu0.js} +2 -2
- package/dist/assets/{index-Dxy6ycv8.js.map → index-U2z5KAu0.js.map} +1 -1
- package/dist/assets/{index-legacy-DC5-MYgp.js → index-legacy-B4IHsyj2.js} +13 -8
- package/dist/assets/index-legacy-B4IHsyj2.js.map +1 -0
- package/dist/assets/index-legacy-BKxszgZW.js +2 -0
- package/dist/assets/{index-legacy-DM_G6GXF.js.map → index-legacy-BKxszgZW.js.map} +1 -1
- package/dist/assets/{index-legacy-Cbyz8WHA.js → index-legacy-BO3hAqA9.js} +2 -2
- package/dist/assets/{index-legacy-Cbyz8WHA.js.map → index-legacy-BO3hAqA9.js.map} +1 -1
- package/dist/assets/{index-legacy-l7TP3X8w.js → index-legacy-BSXJnLod.js} +2 -2
- package/dist/assets/{index-legacy-l7TP3X8w.js.map → index-legacy-BSXJnLod.js.map} +1 -1
- package/dist/assets/{index-legacy-2G5G7SiF.js → index-legacy-BSv-V3Il.js} +2 -2
- package/dist/assets/{index-legacy-2G5G7SiF.js.map → index-legacy-BSv-V3Il.js.map} +1 -1
- package/dist/assets/{index-legacy-Qibh5ehq.js → index-legacy-CCqMKGqS.js} +2 -2
- package/dist/assets/{index-legacy-Qibh5ehq.js.map → index-legacy-CCqMKGqS.js.map} +1 -1
- package/dist/assets/{index-legacy-BN-W2P7-.js → index-legacy-CphqUnR0.js} +2 -2
- package/dist/assets/{index-legacy-BN-W2P7-.js.map → index-legacy-CphqUnR0.js.map} +1 -1
- package/dist/assets/{index-legacy-BwpR0DP9.js → index-legacy-D13WKbpb.js} +2 -2
- package/dist/assets/{index-legacy-BwpR0DP9.js.map → index-legacy-D13WKbpb.js.map} +1 -1
- package/dist/assets/{index-legacy-Chw6iyCz.js → index-legacy-D6IvG9Dt.js} +2 -2
- package/dist/assets/{index-legacy-Chw6iyCz.js.map → index-legacy-D6IvG9Dt.js.map} +1 -1
- package/dist/assets/{index-legacy-BZb5uhBF.js → index-legacy-DCezoU0z.js} +2 -2
- package/dist/assets/{index-legacy-BZb5uhBF.js.map → index-legacy-DCezoU0z.js.map} +1 -1
- package/dist/assets/{index-legacy-BdJHr4yN.js → index-legacy-DIwVyUHd.js} +2 -2
- package/dist/assets/{index-legacy-BdJHr4yN.js.map → index-legacy-DIwVyUHd.js.map} +1 -1
- package/dist/assets/{index-legacy-K0GPuvtR.js → index-legacy-DO2MADPO.js} +2 -2
- package/dist/assets/{index-legacy-K0GPuvtR.js.map → index-legacy-DO2MADPO.js.map} +1 -1
- package/dist/assets/{index-legacy-B1WwgC0S.js → index-legacy-DcFvM5kb.js} +2 -2
- package/dist/assets/{index-legacy-B1WwgC0S.js.map → index-legacy-DcFvM5kb.js.map} +1 -1
- package/dist/assets/{index-legacy-Dmi-DBK0.js → index-legacy-Df_9F2Oo.js} +2 -2
- package/dist/assets/{index-legacy-Dmi-DBK0.js.map → index-legacy-Df_9F2Oo.js.map} +1 -1
- package/dist/assets/{index-legacy-DiNZXmUs.js → index-legacy-Dhs-OKEx.js} +2 -2
- package/dist/assets/{index-legacy-DiNZXmUs.js.map → index-legacy-Dhs-OKEx.js.map} +1 -1
- package/dist/assets/{index-legacy-DUrsbgNe.js → index-legacy-DjWDlkzN.js} +2 -2
- package/dist/assets/{index-legacy-DUrsbgNe.js.map → index-legacy-DjWDlkzN.js.map} +1 -1
- package/dist/assets/{index-legacy-DV-KwU0c.js → index-legacy-DxQA53Qy.js} +2 -2
- package/dist/assets/{index-legacy-DV-KwU0c.js.map → index-legacy-DxQA53Qy.js.map} +1 -1
- package/dist/assets/{index-legacy-DmJc-LaA.js → index-legacy-GbLWntci.js} +2 -2
- package/dist/assets/{index-legacy-DmJc-LaA.js.map → index-legacy-GbLWntci.js.map} +1 -1
- package/dist/assets/{index-legacy-gQf30T09.js → index-legacy-I4qT4Thb.js} +2 -2
- package/dist/assets/{index-legacy-gQf30T09.js.map → index-legacy-I4qT4Thb.js.map} +1 -1
- package/dist/assets/{index-legacy-DP3Q6cDA.js → index-legacy-quXi4jhF.js} +2 -2
- package/dist/assets/{index-legacy-DP3Q6cDA.js.map → index-legacy-quXi4jhF.js.map} +1 -1
- package/dist/assets/{index-Dj5caLYF.js → index-tyMcidBi.js} +2 -2
- package/dist/assets/{index-Dj5caLYF.js.map → index-tyMcidBi.js.map} +1 -1
- package/dist/assets/{isEqual-pN6Ih18F.js → isEqual-Cecwc716.js} +2 -2
- package/dist/assets/{isEqual-pN6Ih18F.js.map → isEqual-Cecwc716.js.map} +1 -1
- package/dist/assets/{isEqual-legacy-DVLZyo95.js → isEqual-legacy-dqS7X02N.js} +2 -2
- package/dist/assets/{isEqual-legacy-DVLZyo95.js.map → isEqual-legacy-dqS7X02N.js.map} +1 -1
- package/dist/assets/{refresh-BTQLK-UW.js → refresh-BA55HwKz.js} +2 -2
- package/dist/assets/{refresh-BTQLK-UW.js.map → refresh-BA55HwKz.js.map} +1 -1
- package/dist/assets/{refresh-legacy-Cv7RM_sm.js → refresh-legacy-CpA05Fzr.js} +2 -2
- package/dist/assets/{refresh-legacy-Cv7RM_sm.js.map → refresh-legacy-CpA05Fzr.js.map} +1 -1
- package/dist/assets/{tip-DQo-E_Pu.js → tip-CrU2GCmD.js} +2 -2
- package/dist/assets/{tip-DQo-E_Pu.js.map → tip-CrU2GCmD.js.map} +1 -1
- package/dist/assets/{tip-legacy-Ci60OMi9.js → tip-legacy-B05oHh9-.js} +2 -2
- package/dist/assets/{tip-legacy-Ci60OMi9.js.map → tip-legacy-B05oHh9-.js.map} +1 -1
- package/dist/assets/validator-Ca0QsRid.js +2 -0
- package/dist/assets/{validator-CZlzBDi2.js.map → validator-Ca0QsRid.js.map} +1 -1
- package/dist/assets/validator-legacy-D0GLFVMZ.js +2 -0
- package/dist/assets/{validator-legacy-D-pC1hkO.js.map → validator-legacy-D0GLFVMZ.js.map} +1 -1
- package/dist/index.html +2 -2
- package/package.json +3 -3
- package/dist/assets/index-1eHw6sEI.css +0 -1
- package/dist/assets/index-BG1GuMIu.css +0 -1
- package/dist/assets/index-BxsJs6HZ.js +0 -2
- package/dist/assets/index-D80lTVeV.js +0 -36
- package/dist/assets/index-D80lTVeV.js.map +0 -1
- package/dist/assets/index-DEiWe2Bk.js +0 -2
- package/dist/assets/index-legacy-DC5-MYgp.js.map +0 -1
- package/dist/assets/index-legacy-DM_G6GXF.js +0 -2
- package/dist/assets/validator-CZlzBDi2.js +0 -2
- package/dist/assets/validator-legacy-D-pC1hkO.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as r,_ as d,i as F,a as i,c as f,b as u,j as c,w as e,e as t,B as s,p as o,f as n}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{d as r,_ as d,i as F,a as i,c as f,b as u,j as c,w as e,e as t,B as s,p as o,f as n}from"./index-C0ZXXBCX.js";const A=r({setup(){return{}}}),l=a=>(o("data-v-57f0136c"),a=a(),n(),a),v={class:"about"},p={class:"panel"},B=l(()=>u("img",{class:"logo",src:"https://img.cdn.sugarat.top/easypicker/EasyPicker.png"},null,-1)),D=l(()=>u("div",{class:"panel"},[u("h1",null,"简介"),u("p",null,"在线文件收取助手,帮助用户快速的完成一对多的文件收取")],-1)),h={class:"panel"},g=s('<h1 data-v-57f0136c>诞生背景</h1><p data-v-57f0136c>校园学习或者工作场景中会有以下几个场景:</p><ul data-v-57f0136c><li data-v-57f0136c><strong data-v-57f0136c>电子文件:</strong> 班委向同学收取各种实验电子报告</li><li data-v-57f0136c><strong data-v-57f0136c>图片:</strong> 收取各种截图证明/活动照片</li><li data-v-57f0136c>...</li></ul><p data-v-57f0136c>目前最广泛的收取方式为,通过邮箱,QQ,微信等通讯工具传递</p><p data-v-57f0136c>弊端显而易见,不方便整理统计。还占用电脑/手机内存</p><p data-v-57f0136c>为了解决这个问题,此项目应运而生</p><p data-v-57f0136c>当然<span data-v-57f0136c><strong data-v-57f0136c>市面上也有几款类似的办公工具</strong></span> ,功能及使用方式都差不多</p><p data-v-57f0136c>本项目<strong data-v-57f0136c>是 <a href="https://github.com/ATQQ/easypicker2-client" data-v-57f0136c>开源</a> 的</strong></p>',8),C=s('<div class="panel" data-v-57f0136c><h1 data-v-57f0136c>现有功能 <span style="color:grey;font-size:0.8rem;" data-v-57f0136c>(用户关心的)</span></h1><h2 data-v-57f0136c>收集任务</h2><ul data-v-57f0136c><li data-v-57f0136c><strong data-v-57f0136c>分类管理: </strong> 收集任务支持分类管理</li><li data-v-57f0136c><strong data-v-57f0136c>设置DDL(截止日期): </strong> 任务截止后不可再提交文件</li><li data-v-57f0136c><strong data-v-57f0136c>限制提交人员: </strong> 非指定的人员(姓名),无法提交文件</li><li data-v-57f0136c><strong data-v-57f0136c>设置模板文件: </strong> 提交者可直接在提交页面下载此文件</li><li data-v-57f0136c><strong data-v-57f0136c>自动重命名: </strong> 提交的文件按填写表单信息进行自动重名(如:姓名-工号.后缀)</li></ul><h2 data-v-57f0136c>文件相关</h2><ul data-v-57f0136c><li data-v-57f0136c><strong data-v-57f0136c>上传(提交): </strong>单个/多个</li><li data-v-57f0136c><strong data-v-57f0136c>下载: </strong>单个/多个/按收集任务</li><li data-v-57f0136c><strong data-v-57f0136c>撤回: </strong>用户可以撤回自己提交的文件</li><li data-v-57f0136c><strong data-v-57f0136c>分享: </strong>用户可以将文件下载链接分享给朋友</li><li data-v-57f0136c><strong data-v-57f0136c>模板下载: </strong> 下载任务发布者设置的模板文件</li><li data-v-57f0136c><strong data-v-57f0136c>导出: </strong> 导出提交记录</li></ul></div><div class="panel" data-v-57f0136c><h1 data-v-57f0136c>相关链接</h1><h2 data-v-57f0136c>应用链接相关</h2><ul data-v-57f0136c><li data-v-57f0136c><a href="https://docs.ep.sugarat.top" target="_blank" rel="noopener noreferrer" data-v-57f0136c>私有化部署</a></li><li data-v-57f0136c><a target="_blank" href="https://ep.sugarat.top" data-v-57f0136c>Easypicker1.0</a></li><li data-v-57f0136c><a target="_blank" href="https://ep2.sugarat.top" data-v-57f0136c>Easypicker2.0</a></li></ul><h2 data-v-57f0136c>应用源代码 <span style="color:grey;font-size:0.8rem;" data-v-57f0136c>(开发者需要的)</span></h2><ul data-v-57f0136c><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/EasyPicker-webpack" data-v-57f0136c>Easypicker1.0-客户端</a></li><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/easypicker-server" data-v-57f0136c>Easypicker1.0-服务端</a></li></ul><ul data-v-57f0136c><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/easypicker2-client" data-v-57f0136c>Easypicker2.0-客户端</a></li><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/easypicker2-server" data-v-57f0136c>Easypicker2.0-服务端</a></li></ul><ul data-v-57f0136c><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/vite-vue3-template" data-v-57f0136c>Easypicker2.0-客户端模板仓库</a></li><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ/node-server" data-v-57f0136c>Easypicker2.0-服务端模板仓库</a></li></ul><h2 data-v-57f0136c>作者 <span style="color:grey;font-size:0.8rem;" data-v-57f0136c>(夹带私货)</span></h2><ul data-v-57f0136c><li data-v-57f0136c><a target="_blank" href="https://sugarat.top" data-v-57f0136c>博客</a></li><li data-v-57f0136c><a target="_blank" href="https://github.com/ATQQ" data-v-57f0136c>GitHub</a></li><li data-v-57f0136c><a target="_blank" href="https://juejin.cn/user/1028798615918983" data-v-57f0136c>掘金</a></li></ul></div>',2);function _(a,k,b,m,y,Q){const E=F("router-link");return i(),f("div",v,[u("main",null,[u("div",p,[c(E,{to:"/"},{default:e(()=>[B]),_:1})]),D,u("div",h,[g,u("p",null,[t("如有私有化的需求,可自行部署使用(也可 "),c(E,{to:"/author"},{default:e(()=>[t("联系作者")]),_:1}),t(" 提供帮助)")])]),C])])}const x=d(A,[["render",_],["__scopeId","data-v-57f0136c"]]);export{x as default};
|
|
2
|
+
//# sourceMappingURL=index-0SN-qZs5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-0SN-qZs5.js","sources":["../../src/pages/about/index.vue"],"sourcesContent":["<template>\n <div class=\"about\">\n <main>\n <div class=\"panel\">\n <router-link to=\"/\">\n <img class=\"logo\" src=\"https://img.cdn.sugarat.top/easypicker/EasyPicker.png\">\n </router-link>\n </div>\n <div class=\"panel\">\n <h1>简介</h1>\n <p>在线文件收取助手,帮助用户快速的完成一对多的文件收取</p>\n </div>\n <div class=\"panel\">\n <h1>诞生背景</h1>\n <p>校园学习或者工作场景中会有以下几个场景:</p>\n <ul>\n <li><strong>电子文件:</strong> 班委向同学收取各种实验电子报告</li>\n <li><strong>图片:</strong> 收取各种截图证明/活动照片</li>\n <li>...</li>\n </ul>\n <p>目前最广泛的收取方式为,通过邮箱,QQ,微信等通讯工具传递</p>\n <p>弊端显而易见,不方便整理统计。还占用电脑/手机内存</p>\n <p>为了解决这个问题,此项目应运而生</p>\n <p>当然<span><strong>市面上也有几款类似的办公工具</strong></span> ,功能及使用方式都差不多</p>\n <p>本项目<strong>是 <a href=\"https://github.com/ATQQ/easypicker2-client\">开源</a> 的</strong> </p>\n <p>如有私有化的需求,可自行部署使用(也可 <router-link to=\"/author\">联系作者</router-link> 提供帮助)</p>\n </div>\n <div class=\"panel\">\n <h1>现有功能 <span style=\"color:grey;font-size:0.8rem;\">(用户关心的)</span></h1>\n <h2>收集任务</h2>\n <ul>\n <li><strong>分类管理: </strong> 收集任务支持分类管理</li>\n <li><strong>设置DDL(截止日期): </strong> 任务截止后不可再提交文件</li>\n <li><strong>限制提交人员: </strong> 非指定的人员(姓名),无法提交文件</li>\n <li><strong>设置模板文件: </strong> 提交者可直接在提交页面下载此文件</li>\n <li><strong>自动重命名: </strong> 提交的文件按填写表单信息进行自动重名(如:姓名-工号.后缀)</li>\n </ul>\n <h2>文件相关</h2>\n <ul>\n <li><strong>上传(提交): </strong>单个/多个</li>\n <li><strong>下载: </strong>单个/多个/按收集任务</li>\n <li><strong>撤回: </strong>用户可以撤回自己提交的文件</li>\n <li><strong>分享: </strong>用户可以将文件下载链接分享给朋友</li>\n <li><strong>模板下载: </strong> 下载任务发布者设置的模板文件</li>\n <li><strong>导出: </strong> 导出提交记录</li>\n </ul>\n </div>\n <div class=\"panel\">\n <h1>相关链接</h1>\n <h2>应用链接相关</h2>\n <ul>\n <li><a href=\"https://docs.ep.sugarat.top\" target=\"_blank\" rel=\"noopener noreferrer\">私有化部署</a></li>\n <li><a target=\"_blank\" href=\"https://ep.sugarat.top\">Easypicker1.0</a></li>\n <li><a target=\"_blank\" href=\"https://ep2.sugarat.top\">Easypicker2.0</a></li>\n </ul>\n <h2>应用源代码 <span style=\"color:grey;font-size:0.8rem;\">(开发者需要的)</span></h2>\n <ul>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/EasyPicker-webpack\">Easypicker1.0-客户端</a></li>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/easypicker-server\">Easypicker1.0-服务端</a></li>\n </ul>\n <ul>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/easypicker2-client\">Easypicker2.0-客户端</a></li>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/easypicker2-server\">Easypicker2.0-服务端</a></li>\n </ul>\n <ul>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/vite-vue3-template\">Easypicker2.0-客户端模板仓库</a></li>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ/node-server\">Easypicker2.0-服务端模板仓库</a></li>\n </ul>\n <h2>作者 <span style=\"color:grey;font-size:0.8rem;\">(夹带私货)</span></h2>\n <ul>\n <li><a target=\"_blank\" href=\"https://sugarat.top\">博客</a></li>\n <li><a target=\"_blank\" href=\"https://github.com/ATQQ\">GitHub</a></li>\n <li><a target=\"_blank\" href=\"https://juejin.cn/user/1028798615918983\">掘金</a></li>\n </ul>\n </div>\n <!-- <div class=\"panel\">\n <h1>开发计划</h1>\n <h2>...未完待续</h2>\n </div>\n <div class=\"panel\">\n <h1>涉及技术</h1>\n <h2>...未完待续</h2>\n </div> -->\n </main>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n setup() {\n return {\n\n }\n },\n})\n</script>\n<style lang=\"scss\" scoped>\nh1,\nh2,\nh3,\nh4 {\n font-weight: 500;\n}\n.about {\n background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);\n min-height: 100vh;\n}\nmain {\n max-width: 860px;\n margin: 0 auto;\n padding: 20px;\n .panel {\n position: relative;\n margin: 0 auto 10px;\n padding: 16px 20px;\n width: 100%;\n overflow: hidden;\n border-radius: 0.25rem;\n box-shadow: #eee;\n box-sizing: border-box;\n transition: all 0.3s;\n background-color: #fff;\n }\n .logo{\n width: 100%;\n max-width: 520px;\n margin: 0 auto;\n display: block;\n }\n h1 {\n font-size: 1.6rem;\n margin-bottom: 10px;\n }\n h2{\n font-size: 1.3rem;\n margin-bottom: 12px;\n }\n ul,ol{\n margin-left: 20px;\n font-size: 15px;\n margin-bottom: 1em;\n }\n p{\n font-size: 15px;\n margin-bottom: 1em;\n }\n a{\n color: #409eff;\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_2","_hoisted_3","_createElementVNode","_hoisted_4","_hoisted_5","_resolveComponent","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_component_router_link","_withCtx","_hoisted_6","_createTextVNode"],"mappings":"qHAyFA,MAAAA,EAAeC,EAAgB,CAC7B,OAAQ,CACN,MAAO,EAGT,CACF,CAAC,EA5FgBC,EAAAC,IAAKC,EAAQ,iBAAA,EAAAD,EAAAA,IAAAE,IAAAF,qBAELG,EAAY,CAAA,MAAA,SAAIC,EAAwDL,EAAA,IAAAM,EAAA,MAAA,CAAA,MAAA,8EAKjFC,EAAAP,EAAG,IAA0BM,EAAA,MAAA,CAAA,MAAA,SAAA,CAAAA,EAAA,KAAA,KAAA,IAAA,EAEfA,EAAA,IAAA,KAAA,4BAAA,QAZ9BE,EAAA,CAAA,MAAA,uoHACIC,EAmFM,aAAA,SAjFEC,EAIM,EAAAC,EAAA,MAAAC,EAAA,CADYN,EAAA,OAAA,KAAA,CAAAA,EAN9B,MAKkGF,EAAA,CAAAS,EAA9EC,EAA8E,CAAA,GAAA,GAAA,EAAA,CAAA,QAAAC,EAAA,IAAA,CALlGV,CAAA,CAAA,KAQY,CAAA,CAAA,CAIA,EAAAE,IAaI,MAA6EC,EAAA,CAAAQ,EAAVV,EAAA,IAAA,KAAA,CAAAW,EAzBnF,sBAyBqE,EAAAJ,EAzBrEC,EAyBqE,CAAA,GAAA,SAAA,EAAA,CAAA,QAAAC,EAAA,IAAA,CAzBrEE,EAAA,MAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,aA2BY,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.warnColor[data-v-818ac36f]{color:#f56c6c}.files[data-v-818ac36f]{max-width:1024px;margin:0 auto;padding-bottom:2em}@media screen and (max-width: 700px){.files[data-v-818ac36f]{margin-top:70px}.text-btns[data-v-818ac36f]{display:flex;flex-direction:column}.text-btns[data-v-818ac36f] .el-button{margin-left:0;margin-bottom:0}.header[data-v-818ac36f]{justify-content:center}.export-btns[data-v-818ac36f]{display:flex;flex-wrap:wrap;justify-content:space-around}}.panel[data-v-818ac36f]{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-818ac36f]{font-size:12px;margin-right:10px}.header[data-v-818ac36f]{display:flex;flex-wrap:wrap}.header .item[data-v-818ac36f]{margin-right:10px;margin-bottom:10px}.el-button[data-v-818ac36f]{margin-left:10px;margin-bottom:10px}.control-item[data-v-818ac36f]{margin-left:10px;margin-bottom:10px;font-size:14px}.imageLoading[data-v-818ac36f]{display:flex;align-items:center;justify-content:center;height:100%}.imageDes[data-v-818ac36f]{position:absolute;bottom:80px;color:#fff;left:50%;transform:translate(-50%)}.progress-list[data-v-818ac36f]{margin-top:10px}.progress-list .progress-item[data-v-818ac36f]{margin-bottom:10px;text-align:center}.progress-list .progress-item .progress[data-v-818ac36f]{display:flex;justify-content:center;align-items:center;margin-bottom:6px}.progress-list .progress-item .progress .el-progress--line[data-v-818ac36f]{min-width:200px;width:260px}.progress-list .progress-item .progress .el-button[data-v-818ac36f]{margin:0 6px}.progress-list .progress-item .des[data-v-818ac36f]{font-size:12px}.progress-list .progress-item .des .filename[data-v-818ac36f]{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-818ac36f]{width:60px;color:#409eff}.money-detail[data-v-818ac36f]{color:#409eff;cursor:pointer}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,a as c,c as t,b as n}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{_ as e,a as c,c as t,b as n}from"./index-C0ZXXBCX.js";const o={},s=n("h1",null,"反馈页",-1),_=[s];function a(r,d){return c(),t("div",null,_)}const i=e(o,[["render",a]]);export{i as default};
|
|
2
|
+
//# sourceMappingURL=index-BMhqAx1_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BMhqAx1_.js","sources":["../../src/pages/feedback/index.vue"],"sourcesContent":["<template>\n <div>\n <h1>反馈页</h1>\n </div>\n</template>\n"],"names":["_hoisted_2","_sfc_render","_ctx","_cache"],"mappings":"gGAEoBA,EAAA,IADhB,SAAAC,EAAAC,EAAAC,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as a,a1 as c,a as n,c as p,b as o,t as d,k as r,p as _,f as i,_ as l}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{d as a,a1 as c,a as n,c as p,b as o,t as d,k as r,p as _,f as i,_ as l}from"./index-C0ZXXBCX.js";const u=e=>(_("data-v-bb4c1a74"),e=e(),i(),e),h={class:"not-found"},f=u(()=>o("h1",null,"EasyPicker | 轻取",-1)),m=a({__name:"index",setup(e){const t=c(),s=()=>{window.location.href="https://docs.ep.sugarat.top/"};return(b,k)=>(n(),p("div",h,[f,o("h2",null,d(r(t).query.title)+":已被网站管理员禁用",1),o("h3",null,[o("a",{onClick:s},"查看应用介绍")])]))}}),I=l(m,[["__scopeId","data-v-bb4c1a74"]]);export{I as default};
|
|
2
|
+
//# sourceMappingURL=index-BjPgOd_H.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BjPgOd_H.js","sources":["../../src/pages/disabled/index.vue"],"sourcesContent":["<template>\n <div class=\"not-found\">\n <h1>EasyPicker | 轻取</h1>\n <h2>{{ $route.query.title }}:已被网站管理员禁用</h2>\n <h3><a @click=\"handleToHome\">查看应用介绍</a></h3>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { useRoute } from 'vue-router'\n\nconst $route = useRoute()\nconst handleToHome = () => {\n window.location.href = 'https://docs.ep.sugarat.top/'\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 cursor: pointer;\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":["$route","useRoute","handleToHome"],"mappings":"oPAUA,MAAMA,EAASC,IACTC,EAAe,IAAM,CACzB,OAAO,SAAS,KAAO,8BAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as f,d as r,a as o,c as n,b as t,i as $,F as m,C as h,j as u,w as g,D as w,G as T,H as k,t as x,e as I,I as z,p as N,f as C,_ as M}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{g as f,d as r,a as o,c as n,b as t,i as $,F as m,C as h,j as u,w as g,D as w,G as T,H as k,t as x,e as I,I as z,p as N,f as C,_ as M}from"./index-C0ZXXBCX.js";const E=r({name:"Promotion"}),B={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},O=t("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472 64 448zm256 512V657.024L512 768 320 960z"},null,-1),Q=[O];function y(e,a,c,d,p,i){return o(),n("svg",B,Q)}var Y=f(E,[["render",y]]);const b=r({name:"UserFilled"}),j={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},D=t("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0zm544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"},null,-1),F=[D];function S(e,a,c,d,p,i){return o(),n("svg",j,F)}var V=f(b,[["render",S]]);const _=e=>(N("data-v-a235cdd8"),e=e(),C(),e),L={class:"callme"},q={class:"panel"},A=_(()=>t("h1",null,"联系作者",-1)),H={class:"baseinfo"},G=["href"],P=_(()=>t("hr",null,null,-1)),U={class:"qq-wechat"},J={class:"title"},K={class:"content"},R=["src"],W=_(()=>t("div",{class:"description"},[t("p",null,"如遇无法解决的账号/使用问题,欢迎小窗联系我")],-1)),X={class:"links"},Z=r({__name:"index",setup(e){const a=[{icon:V,text:"粥里有勺糖",href:"https://sugarat.top"},{icon:Y,text:"engineerzjl@foxmail.com",href:"mailto:engineerzjl@foxmail.com"}],c=[{text:"微信",img:"https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTk3MTkyNA==619155971925"},{text:"公众号",img:"https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTYwNzQ5MQ==619155607491"},{text:"QQ",img:"https://img.cdn.sugarat.top/mdImg/MTYxOTE1NjQ5ODczOQ==619156498739"},{text:"交流群",img:"https://img.cdn.sugarat.top/mdImg/MTY0Nzc2MTE2MTE2NA==ep-group.png"}];return(d,p)=>{const i=z,v=$("router-link");return o(),n("div",L,[t("main",null,[t("div",q,[A,t("div",H,[(o(),n(m,null,h(a,(s,l)=>t("span",{key:l,class:"info-item"},[u(i,null,{default:g(()=>[(o(),w(T(s.icon)))]),_:2},1024),t("i",{class:k(s.icon)},null,2),t("a",{target:"_blank",href:s.href},x(s.text),9,G)])),64))]),P,t("div",U,[t("ul",null,[(o(),n(m,null,h(c,(s,l)=>t("li",{key:l},[t("div",J,x(s.text),1),t("div",K,[t("img",{src:s.img},null,8,R)])])),64))])]),W,t("div",X,[u(v,{to:"/"},{default:g(()=>[I("回到首页")]),_:1})])])])])}}}),st=M(Z,[["__scopeId","data-v-a235cdd8"]]);export{st as default};
|
|
2
|
+
//# sourceMappingURL=index-BjdYG4YE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BjdYG4YE.js","sources":["../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/promotion.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/user-filled.mjs","../../src/pages/callme/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: \"Promotion\"\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: \"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472 64 448zm256 512V657.024L512 768 320 960z\"\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 promotion = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { promotion 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: \"UserFilled\"\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: \"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0zm544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z\"\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 userFilled = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { userFilled as default };\n","<template>\n <div class=\"callme\">\n <main>\n <div class=\"panel\">\n <h1>联系作者</h1>\n <!-- 基本信息 -->\n <div class=\"baseinfo\">\n <span v-for=\"(info, idx) in baseInfo\" :key=\"idx\" class=\"info-item\">\n <el-icon>\n <component :is=\"info.icon\" />\n </el-icon>\n <i :class=\"info.icon\"></i>\n <a target=\"_blank\" :href=\"info.href\">{{ info.text }}</a>\n </span>\n </div>\n <hr />\n <!-- 一堆二维码 -->\n <div class=\"qq-wechat\">\n <ul>\n <li v-for=\"(qrcode, idx) in qrCOdes\" :key=\"idx\">\n <div class=\"title\">{{ qrcode.text }}</div>\n <div class=\"content\">\n <img :src=\"qrcode.img\" />\n </div>\n </li>\n </ul>\n </div>\n <div class=\"description\">\n <p>如遇无法解决的账号/使用问题,欢迎小窗联系我</p>\n </div>\n <div class=\"links\">\n <router-link to=\"/\">回到首页</router-link>\n </div>\n </div>\n </main>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { UserFilled, Promotion } from '@element-plus/icons-vue'\n\nconst baseInfo = [\n {\n icon: UserFilled,\n text: '粥里有勺糖',\n href: 'https://sugarat.top',\n },\n {\n icon: Promotion,\n text: 'engineerzjl@foxmail.com',\n href: 'mailto:engineerzjl@foxmail.com',\n },\n]\n\nconst qrCOdes = [\n {\n text: '微信',\n img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTk3MTkyNA==619155971925',\n },\n {\n text: '公众号',\n img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTYwNzQ5MQ==619155607491',\n },\n {\n text: 'QQ',\n img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NjQ5ODczOQ==619156498739',\n },\n {\n text: '交流群',\n img: 'https://img.cdn.sugarat.top/mdImg/MTY0Nzc2MTE2MTE2NA==ep-group.png',\n },\n]\n\n</script>\n<style lang=\"scss\" scoped>\nh1,\nh2,\nh3,\nh4 {\n font-weight: 500;\n}\n.callme {\n background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);\n min-height: 100vh;\n}\nmain {\n max-width: 860px;\n margin: 0 auto;\n padding: 20px;\n .panel {\n position: relative;\n margin: 0 auto 20px;\n padding: 16px 20px;\n width: 100%;\n overflow: hidden;\n border-radius: 0.25rem;\n box-shadow: #eee;\n box-sizing: border-box;\n transition: all 0.3s;\n background-color: #fff;\n }\n h1 {\n font-size: 1.6rem;\n font-weight: 500;\n margin-bottom: 10px;\n }\n .baseinfo {\n color: #7f7f7f;\n font-size: 1rem;\n display: flex;\n flex-wrap: wrap;\n a {\n color: #7f7f7f;\n font-size: 1rem;\n margin-left: 10px;\n }\n .info-item {\n margin-right: 20px;\n }\n margin-bottom: 10px;\n }\n hr {\n margin-bottom: 10px;\n }\n .qq-wechat ul {\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 10px;\n li {\n text-align: center;\n .title {\n font-weight: 600;\n }\n .content {\n padding: 0.5em;\n }\n img {\n width: 150px;\n }\n }\n }\n .description {\n color: #242424;\n font-size: 15px;\n margin-bottom: 10px;\n text-align: center;\n }\n .links {\n text-align: center;\n a {\n color: #409eff;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","promotion","_export_sfc","userFilled","baseInfo","UserFilled","Promotion","qrCOdes"],"mappings":"sKAGA,MAAMA,EAAYC,EAAgB,CAChC,KAAM,WACR,CAAC,EACKC,EAAa,CACjB,QAAS,gBACT,MAAO,4BACT,EACMC,EAA6BC,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,yGACL,EAAG,KAAM,EAAE,EACLC,EAAa,CACjBF,CACF,EACA,SAASG,EAAYC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAW,EAAEC,EAAmB,MAAOZ,EAAYG,CAAU,CACtE,CACA,IAAIU,EAA4BC,EAAYhB,EAAW,CAAC,CAAC,SAAUM,CAAW,CAAC,CAAC,ECjBhF,MAAMN,EAAYC,EAAgB,CAChC,KAAM,YACR,CAAC,EACKC,EAAa,CACjB,QAAS,gBACT,MAAO,4BACT,EACMC,EAA6BC,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,2JACL,EAAG,KAAM,EAAE,EACLC,EAAa,CACjBF,CACF,EACA,SAASG,EAAYC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAW,EAAEC,EAAmB,MAAOZ,EAAYG,CAAU,CACtE,CACA,IAAIY,EAA6BD,EAAYhB,EAAW,CAAC,CAAC,SAAUM,CAAW,CAAC,CAAC,0XCoBjF,MAAMY,EAAW,CACf,CACE,KAAMC,EACN,KAAM,QACN,KAAM,qBACR,EACA,CACE,KAAMC,EACN,KAAM,0BACN,KAAM,gCACR,CAAA,EAGIC,EAAU,CACd,CACE,KAAM,KACN,IAAK,oEACP,EACA,CACE,KAAM,MACN,IAAK,oEACP,EACA,CACE,KAAM,KACN,IAAK,oEACP,EACA,CACE,KAAM,MACN,IAAK,oEACP,CAAA","x_google_ignoreList":[0,1]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a4 as b,g as D,d as S,a as s,c as a,b as e,Z as Y,r as z,O as F,o as Q,j as r,w as n,k as E,H as j,a8 as N,a9 as T,e as _,F as k,C as M,t as g,D as m,S as q,E as O,I as U,x as H,v as P,p as R,f as Z,_ as G}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{a4 as b,g as D,d as S,a as s,c as a,b as e,Z as Y,r as z,O as F,o as Q,j as r,w as n,k as E,H as j,a8 as N,a9 as T,e as _,F as k,C as M,t as g,D as m,S as q,E as O,I as U,x as H,v as P,p as R,f as Z,_ as G}from"./index-C0ZXXBCX.js";import{E as J,a as K}from"./el-form-item-CtSEmj9z.js";import{T as w}from"./tip-CrU2GCmD.js";import{r as W}from"./refresh-BA55HwKz.js";import"./isEqual-Cecwc716.js";import"./index-BxLy8VN3.js";function X(){return b.get("/config/service/overview")}function ee(){return b.get("/config/service/config")}function te(i){return b.put("/config/service/config",i)}const $={getServiceOverview:X,getServiceConfig:ee,updateCfg:te},se=S({name:"CloseBold"}),ae={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oe=e("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),ne=[oe];function le(i,p,c,h,f,v){return s(),a("svg",ae,ne)}var re=D(se,[["render",le]]);const ie=S({name:"Select"}),ce={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},de=e("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),ue=[de];function _e(i,p,c,h,f,v){return s(),a("svg",ce,ue)}var pe=D(ie,[["render",_e]]);const B=i=>(R("data-v-9638922a"),i=i(),Z(),i),fe={class:"user"},ge={class:"panel"},me=B(()=>e("span",null,"服务概况",-1)),he={class:"service-list"},ve=["src","alt"],ye={key:2},ke={class:"error-panel"},Me=B(()=>e("h1",null,"错误信息",-1)),we={class:"error"},xe=B(()=>e("h1",null,"服务相关配置",-1)),Ce={href:"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE"},Ee={class:"config-container"},$e={class:"flex",style:{flex:"1"}},be=S({__name:"index",setup(i){const p=Y([{name:"MySQL",key:"mysql",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204",status:!1,des:"存储用户数据",errMsg:""},{name:"七牛云",key:"qiniu",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342",status:!1,des:"文件存储"},{name:"MongoDB",key:"mongodb",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777",status:!1,des:"用户数据与日志"},{name:"Redis",key:"redis",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350",status:!1,des:"持久化缓存数据",error:"确保安装redis,且监听端口6379"},{name:"腾讯云",key:"tx",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439",status:!1,des:"短信服务"}]),c=z(!1),h=F(()=>p.filter(o=>o.errMsg));function f(){c.value||(c.value=!0,$.getServiceOverview().then(o=>{const{data:y}=o;p.forEach(d=>{const{status:u,errMsg:x}=y[d.key];d.status=u,d.errMsg=x}),O.success("服务状态刷新完成"),c.value=!1}))}const v=z([]);function L(){$.getServiceConfig().then(o=>{o.data.forEach(y=>{y.data.forEach(d=>{d.disabled=!0})}),v.value=o.data})}function V(o){$.updateCfg(o).then(()=>{o.disabled=!0,O.success("更新成功"),f()})}return Q(()=>{f(),L()}),(o,y)=>{const d=U,u=H,x=P,A=J,I=K;return s(),a("div",fe,[e("div",ge,[e("div",null,[e("h1",null,[me,r(d,{class:j({loading:c.value}),style:{cursor:"pointer","margin-left":"10px"},onClick:f},{default:n(()=>[r(E(W))]),_:1},8,["class"]),N(e("span",null,"数据加载中...",512),[[T,c.value]])]),r(w,null,{default:n(()=>[_("查看各个服务的运行情况")]),_:1}),e("div",he,[(s(!0),a(k,null,M(p,t=>(s(),a("div",{key:t.key,class:"service-item"},[e("img",{src:t.logo,alt:t.name},null,8,ve),e("p",null,[r(w,null,{default:n(()=>[_(g(t.des),1)]),_:2},1024)]),t.status?(s(),m(u,{key:0,type:"success",size:"small",icon:E(pe),circle:""},null,8,["icon"])):(s(),m(u,{key:1,type:"danger",size:"small",icon:E(re),circle:""},null,8,["icon"])),!t.status&&t.error?(s(),a("p",ye,[r(w,null,{default:n(()=>[_(g(t.error),1)]),_:2},1024)])):q("",!0)]))),128))])]),N(e("div",ke,[Me,(s(!0),a(k,null,M(h.value,t=>(s(),a("p",{key:t.key},[e("strong",null,g(t.name)+":",1),e("span",we,g(t.errMsg),1)]))),128))],512),[[T,h.value.length]]),e("div",null,[xe,r(w,null,{default:n(()=>[_(" 在此面板,配置服务器运行相关参数 "),e("a",Ce,[r(u,{type:"primary",link:""},{default:n(()=>[_("配置手册?")]),_:1})])]),_:1})]),e("div",Ee,[(s(!0),a(k,null,M(v.value,t=>(s(),a("div",{key:t.title,class:"config-panel"},[e("h2",null,g(t.title),1),r(I,{"label-position":"right","label-width":"100px",style:{"max-width":"400px",margin:"0 auto"}},{default:n(()=>[(s(!0),a(k,null,M(t.data,l=>(s(),m(A,{key:l.key,"label-width":"auto",label:l.label||l.key},{default:n(()=>[e("div",$e,[r(x,{modelValue:l.value,"onUpdate:modelValue":C=>l.value=C,disabled:l.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"]),l.disabled?(s(),m(u,{key:0,type:"primary",text:"",onClick:C=>l.disabled=!1},{default:n(()=>[_(" 更新 ")]),_:2},1032,["onClick"])):(s(),m(u,{key:1,type:"success",text:"",onClick:C=>V(l)},{default:n(()=>[_(" 完成 ")]),_:2},1032,["onClick"]))])]),_:2},1032,["label"]))),128))]),_:2},1024)]))),128))])])])}}}),De=G(be,[["__scopeId","data-v-9638922a"]]);export{De as default};
|
|
2
|
+
//# sourceMappingURL=index-BkLqrfrW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-bD-fr3vy.js","sources":["../../src/apis/modules/config.ts","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/close-bold.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/select.mjs","../../src/pages/dashboard/config/index.vue"],"sourcesContent":["import ajax from '../ajax'\n\nfunction getServiceOverview(): ConfigServiceAPITypes.getServiceOverview {\n return ajax.get('/config/service/overview')\n}\n\nfunction getServiceConfig(): ConfigServiceAPITypes.getServiceConfig {\n return ajax.get('/config/service/config')\n}\n\nfunction updateCfg(data: ConfigServiceAPITypes.ServiceConfigItem) {\n return ajax.put('/config/service/config', data)\n}\n\nexport default {\n getServiceOverview,\n getServiceConfig,\n updateCfg\n}\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: \"CloseBold\"\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: \"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\"\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 closeBold = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { closeBold 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: \"Select\"\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: \"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z\"\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 select = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { select as default };\n","<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { CloseBold, Refresh, Select } from '@element-plus/icons-vue'\nimport Tip from '../tasks/components/infoPanel/tip.vue'\nimport { ConfigServiceAPI } from '@/apis'\n\nconst serviceList = reactive([\n {\n name: 'MySQL',\n key: 'mysql',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204',\n status: false,\n des: '存储用户数据',\n errMsg: '',\n },\n {\n name: '七牛云',\n key: 'qiniu',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342',\n status: false,\n des: '文件存储',\n },\n {\n name: 'MongoDB',\n key: 'mongodb',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777',\n status: false,\n des: '用户数据与日志',\n },\n {\n name: 'Redis',\n key: 'redis',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350',\n status: false,\n des: '持久化缓存数据',\n error: '确保安装redis,且监听端口6379',\n },\n {\n name: '腾讯云',\n key: 'tx',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439',\n status: false,\n des: '短信服务',\n },\n])\n\nconst loading = ref(false)\nconst showErrorList = computed(() => serviceList.filter(item => item.errMsg))\nfunction refreshStatus() {\n if (loading.value)\n return\n loading.value = true\n ConfigServiceAPI.getServiceOverview().then((v) => {\n const { data } = v\n serviceList.forEach((item) => {\n const { status, errMsg } = data[item.key]\n item.status = status\n item.errMsg = errMsg\n })\n ElMessage.success('服务状态刷新完成')\n loading.value = false\n })\n}\n\nconst serverConfig = ref([])\nfunction getServiceConfig() {\n ConfigServiceAPI.getServiceConfig().then((v) => {\n // console.log(v.data)\n v.data.forEach((v) => {\n v.data.forEach((v) => {\n v.disabled = true\n })\n })\n serverConfig.value = v.data\n })\n}\nfunction updateCfg(item: ConfigServiceAPITypes.ServiceConfigItem) {\n ConfigServiceAPI.updateCfg(item).then(() => {\n item.disabled = true\n ElMessage.success('更新成功')\n refreshStatus()\n })\n}\nonMounted(() => {\n refreshStatus()\n getServiceConfig()\n})\n</script>\n\n<template>\n <div class=\"user\">\n <div class=\"panel\">\n <!-- 服务概况 -->\n <div>\n <h1>\n <span>服务概况</span>\n <el-icon\n :class=\"{\n loading,\n }\"\n style=\"cursor: pointer; margin-left: 10px\"\n @click=\"refreshStatus\"\n >\n <Refresh />\n </el-icon>\n <span v-show=\"loading\">数据加载中...</span>\n </h1>\n <Tip>查看各个服务的运行情况</Tip>\n <div class=\"service-list\">\n <div\n v-for=\"service in serviceList\"\n :key=\"service.key\"\n class=\"service-item\"\n >\n <img :src=\"service.logo\" :alt=\"service.name\">\n <!-- <p>{{ service.name }}</p> -->\n <p>\n <Tip>{{ service.des }}</Tip>\n </p>\n <el-button\n v-if=\"service.status\"\n type=\"success\"\n size=\"small\"\n :icon=\"Select\"\n circle\n />\n <el-button\n v-else\n type=\"danger\"\n size=\"small\"\n :icon=\"CloseBold\"\n circle\n />\n <p v-if=\"!service.status && service.error\">\n <Tip>{{ service.error }}</Tip>\n </p>\n </div>\n </div>\n </div>\n <div v-show=\"showErrorList.length\" class=\"error-panel\">\n <h1>错误信息</h1>\n <p v-for=\"err in showErrorList\" :key=\"err.key\">\n <strong>{{ err.name }}:</strong>\n <span class=\"error\">{{ err.errMsg }}</span>\n </p>\n </div>\n <div>\n <h1>服务相关配置</h1>\n <Tip>\n 在此面板,配置服务器运行相关参数\n <a\n href=\"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE\"\n >\n <el-button type=\"primary\" link>配置手册?</el-button></a>\n </Tip>\n </div>\n <div class=\"config-container\">\n <div\n v-for=\"serverItem in serverConfig\"\n :key=\"serverItem.title\"\n class=\"config-panel\"\n >\n <h2>\n {{ serverItem.title }}\n </h2>\n <el-form\n label-position=\"right\"\n label-width=\"100px\"\n style=\"max-width: 400px; margin: 0 auto\"\n >\n <el-form-item\n v-for=\"cfgItem in serverItem.data\"\n :key=\"cfgItem.key\"\n label-width=\"auto\"\n :label=\"cfgItem.label || cfgItem.key\"\n >\n <div class=\"flex\" style=\"flex: 1\">\n <el-input\n v-model=\"cfgItem.value\"\n :disabled=\"cfgItem.disabled\"\n />\n <el-button\n v-if=\"cfgItem.disabled\"\n type=\"primary\"\n text\n @click=\"cfgItem.disabled = false\"\n >\n 更新\n </el-button>\n <el-button\n v-else\n type=\"success\"\n text\n @click=\"updateCfg(cfgItem)\"\n >\n 完成\n </el-button>\n </div>\n </el-form-item>\n </el-form>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .user {\n margin-top: 40px !important;\n }\n}\n\n.user {\n margin: 0 auto;\n}\n\n.panel {\n max-width: 1256px;\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\nh1 {\n margin: 0;\n padding: 10px 0;\n font-size: 20px;\n font-weight: bold;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.service-list {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n}\n\n.service-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 10px;\n min-width: 120px;\n\n img {\n width: 80px;\n }\n\n p {\n text-align: center;\n padding-top: 10px;\n font-size: 14px;\n }\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.loading {\n margin-left: 10px;\n animation: rotate 1s linear infinite;\n}\n\n.error-panel {\n padding: 0 20px;\n\n p {\n .error {\n color: red;\n }\n\n margin-bottom: 10px;\n }\n}\n\n.config-container {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n}\n\n.config-panel {\n h2 {\n text-align: center;\n font-size: 16px;\n margin-bottom: 10px;\n }\n}\n</style>\n"],"names":["getServiceOverview","ajax","getServiceConfig","updateCfg","data","ConfigServiceAPI","_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","closeBold","_export_sfc","select","serviceList","reactive","loading","ref","showErrorList","computed","item","refreshStatus","v","status","errMsg","ElMessage","serverConfig","onMounted"],"mappings":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"index-BkLqrfrW.js","sources":["../../src/apis/modules/config.ts","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/close-bold.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/select.mjs","../../src/pages/dashboard/config/index.vue"],"sourcesContent":["import ajax from '../ajax'\n\nfunction getServiceOverview(): ConfigServiceAPITypes.getServiceOverview {\n return ajax.get('/config/service/overview')\n}\n\nfunction getServiceConfig(): ConfigServiceAPITypes.getServiceConfig {\n return ajax.get('/config/service/config')\n}\n\nfunction updateCfg(data: ConfigServiceAPITypes.ServiceConfigItem) {\n return ajax.put('/config/service/config', data)\n}\n\nexport default {\n getServiceOverview,\n getServiceConfig,\n updateCfg\n}\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: \"CloseBold\"\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: \"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\"\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 closeBold = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { closeBold 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: \"Select\"\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: \"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z\"\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 select = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { select as default };\n","<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { CloseBold, Refresh, Select } from '@element-plus/icons-vue'\nimport Tip from '../tasks/components/infoPanel/tip.vue'\nimport { ConfigServiceAPI } from '@/apis'\n\nconst serviceList = reactive([\n {\n name: 'MySQL',\n key: 'mysql',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204',\n status: false,\n des: '存储用户数据',\n errMsg: '',\n },\n {\n name: '七牛云',\n key: 'qiniu',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342',\n status: false,\n des: '文件存储',\n },\n {\n name: 'MongoDB',\n key: 'mongodb',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777',\n status: false,\n des: '用户数据与日志',\n },\n {\n name: 'Redis',\n key: 'redis',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350',\n status: false,\n des: '持久化缓存数据',\n error: '确保安装redis,且监听端口6379',\n },\n {\n name: '腾讯云',\n key: 'tx',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439',\n status: false,\n des: '短信服务',\n },\n])\n\nconst loading = ref(false)\nconst showErrorList = computed(() => serviceList.filter(item => item.errMsg))\nfunction refreshStatus() {\n if (loading.value)\n return\n loading.value = true\n ConfigServiceAPI.getServiceOverview().then((v) => {\n const { data } = v\n serviceList.forEach((item) => {\n const { status, errMsg } = data[item.key]\n item.status = status\n item.errMsg = errMsg\n })\n ElMessage.success('服务状态刷新完成')\n loading.value = false\n })\n}\n\nconst serverConfig = ref([])\nfunction getServiceConfig() {\n ConfigServiceAPI.getServiceConfig().then((v) => {\n // console.log(v.data)\n v.data.forEach((v) => {\n v.data.forEach((v) => {\n v.disabled = true\n })\n })\n serverConfig.value = v.data\n })\n}\nfunction updateCfg(item: ConfigServiceAPITypes.ServiceConfigItem) {\n ConfigServiceAPI.updateCfg(item).then(() => {\n item.disabled = true\n ElMessage.success('更新成功')\n refreshStatus()\n })\n}\nonMounted(() => {\n refreshStatus()\n getServiceConfig()\n})\n</script>\n\n<template>\n <div class=\"user\">\n <div class=\"panel\">\n <!-- 服务概况 -->\n <div>\n <h1>\n <span>服务概况</span>\n <el-icon\n :class=\"{\n loading,\n }\"\n style=\"cursor: pointer; margin-left: 10px\"\n @click=\"refreshStatus\"\n >\n <Refresh />\n </el-icon>\n <span v-show=\"loading\">数据加载中...</span>\n </h1>\n <Tip>查看各个服务的运行情况</Tip>\n <div class=\"service-list\">\n <div\n v-for=\"service in serviceList\"\n :key=\"service.key\"\n class=\"service-item\"\n >\n <img :src=\"service.logo\" :alt=\"service.name\">\n <!-- <p>{{ service.name }}</p> -->\n <p>\n <Tip>{{ service.des }}</Tip>\n </p>\n <el-button\n v-if=\"service.status\"\n type=\"success\"\n size=\"small\"\n :icon=\"Select\"\n circle\n />\n <el-button\n v-else\n type=\"danger\"\n size=\"small\"\n :icon=\"CloseBold\"\n circle\n />\n <p v-if=\"!service.status && service.error\">\n <Tip>{{ service.error }}</Tip>\n </p>\n </div>\n </div>\n </div>\n <div v-show=\"showErrorList.length\" class=\"error-panel\">\n <h1>错误信息</h1>\n <p v-for=\"err in showErrorList\" :key=\"err.key\">\n <strong>{{ err.name }}:</strong>\n <span class=\"error\">{{ err.errMsg }}</span>\n </p>\n </div>\n <div>\n <h1>服务相关配置</h1>\n <Tip>\n 在此面板,配置服务器运行相关参数\n <a\n href=\"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE\"\n >\n <el-button type=\"primary\" link>配置手册?</el-button></a>\n </Tip>\n </div>\n <div class=\"config-container\">\n <div\n v-for=\"serverItem in serverConfig\"\n :key=\"serverItem.title\"\n class=\"config-panel\"\n >\n <h2>\n {{ serverItem.title }}\n </h2>\n <el-form\n label-position=\"right\"\n label-width=\"100px\"\n style=\"max-width: 400px; margin: 0 auto\"\n >\n <el-form-item\n v-for=\"cfgItem in serverItem.data\"\n :key=\"cfgItem.key\"\n label-width=\"auto\"\n :label=\"cfgItem.label || cfgItem.key\"\n >\n <div class=\"flex\" style=\"flex: 1\">\n <el-input\n v-model=\"cfgItem.value\"\n :disabled=\"cfgItem.disabled\"\n />\n <el-button\n v-if=\"cfgItem.disabled\"\n type=\"primary\"\n text\n @click=\"cfgItem.disabled = false\"\n >\n 更新\n </el-button>\n <el-button\n v-else\n type=\"success\"\n text\n @click=\"updateCfg(cfgItem)\"\n >\n 完成\n </el-button>\n </div>\n </el-form-item>\n </el-form>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .user {\n margin-top: 40px !important;\n }\n}\n\n.user {\n margin: 0 auto;\n}\n\n.panel {\n max-width: 1256px;\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\nh1 {\n margin: 0;\n padding: 10px 0;\n font-size: 20px;\n font-weight: bold;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.service-list {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n}\n\n.service-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 10px;\n min-width: 120px;\n\n img {\n width: 80px;\n }\n\n p {\n text-align: center;\n padding-top: 10px;\n font-size: 14px;\n }\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.loading {\n margin-left: 10px;\n animation: rotate 1s linear infinite;\n}\n\n.error-panel {\n padding: 0 20px;\n\n p {\n .error {\n color: red;\n }\n\n margin-bottom: 10px;\n }\n}\n\n.config-container {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n}\n\n.config-panel {\n h2 {\n text-align: center;\n font-size: 16px;\n margin-bottom: 10px;\n }\n}\n</style>\n"],"names":["getServiceOverview","ajax","getServiceConfig","updateCfg","data","ConfigServiceAPI","_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","closeBold","_export_sfc","select","serviceList","reactive","loading","ref","showErrorList","computed","item","refreshStatus","v","status","errMsg","ElMessage","serverConfig","onMounted"],"mappings":"+aAEA,SAASA,GAA+D,CAC/D,OAAAC,EAAK,IAAI,0BAA0B,CAC5C,CAEA,SAASC,IAA2D,CAC3D,OAAAD,EAAK,IAAI,wBAAwB,CAC1C,CAEA,SAASE,GAAUC,EAA+C,CACzD,OAAAH,EAAK,IAAI,yBAA0BG,CAAI,CAChD,CAEA,MAAeC,EAAA,CACb,mBAAAL,EACA,iBAAAE,GACA,UAAAC,EACF,ECfMG,GAAYC,EAAgB,CAChC,KAAM,WACR,CAAC,EACKC,GAAa,CACjB,QAAS,gBACT,MAAO,4BACT,EACMC,GAA6BC,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,+OACL,EAAG,KAAM,EAAE,EACLC,GAAa,CACjBF,EACF,EACA,SAASG,GAAYC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAW,EAAEC,EAAmB,MAAOZ,GAAYG,EAAU,CACtE,CACA,IAAIU,GAA4BC,EAAYhB,GAAW,CAAC,CAAC,SAAUM,EAAW,CAAC,CAAC,ECjBhF,MAAMN,GAAYC,EAAgB,CAChC,KAAM,QACR,CAAC,EACKC,GAAa,CACjB,QAAS,gBACT,MAAO,4BACT,EACMC,GAA6BC,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,6IACL,EAAG,KAAM,EAAE,EACLC,GAAa,CACjBF,EACF,EACA,SAASG,GAAYC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAW,EAAEC,EAAmB,MAAOZ,GAAYG,EAAU,CACtE,CACA,IAAIY,GAAyBD,EAAYhB,GAAW,CAAC,CAAC,SAAUM,EAAW,CAAC,CAAC,sfCb7E,MAAMY,EAAcC,EAAS,CAC3B,CACE,KAAM,QACN,IAAK,QACL,KAAM,qEACN,OAAQ,GACR,IAAK,SACL,OAAQ,EACV,EACA,CACE,KAAM,MACN,IAAK,QACL,KAAM,qEACN,OAAQ,GACR,IAAK,MACP,EACA,CACE,KAAM,UACN,IAAK,UACL,KAAM,qEACN,OAAQ,GACR,IAAK,SACP,EACA,CACE,KAAM,QACN,IAAK,QACL,KAAM,qEACN,OAAQ,GACR,IAAK,UACL,MAAO,qBACT,EACA,CACE,KAAM,MACN,IAAK,KACL,KAAM,qEACN,OAAQ,GACR,IAAK,MACP,CAAA,CACD,EAEKC,EAAUC,EAAI,EAAK,EACnBC,EAAgBC,EAAS,IAAML,EAAY,OAAeM,GAAAA,EAAK,MAAM,CAAC,EAC5E,SAASC,GAAgB,CACnBL,EAAQ,QAEZA,EAAQ,MAAQ,GAChBrB,EAAiB,mBAAmB,EAAE,KAAM2B,GAAM,CAC1C,KAAA,CAAE,KAAA5B,CAAS,EAAA4B,EACLR,EAAA,QAASM,GAAS,CAC5B,KAAM,CAAE,OAAAG,EAAQ,OAAAC,CAAA,EAAW9B,EAAK0B,EAAK,GAAG,EACxCA,EAAK,OAASG,EACdH,EAAK,OAASI,CAAA,CACf,EACDC,EAAU,QAAQ,UAAU,EAC5BT,EAAQ,MAAQ,EAAA,CACjB,EACH,CAEM,MAAAU,EAAeT,EAAI,CAAA,CAAE,EAC3B,SAASzB,GAAmB,CAC1BG,EAAiB,iBAAiB,EAAE,KAAM2B,GAAM,CAE5CA,EAAA,KAAK,QAASA,GAAM,CACpBA,EAAE,KAAK,QAASA,GAAM,CACpBA,EAAE,SAAW,EAAA,CACd,CAAA,CACF,EACDI,EAAa,MAAQJ,EAAE,IAAA,CACxB,CACH,CACA,SAAS7B,EAAU2B,EAA+C,CAChEzB,EAAiB,UAAUyB,CAAI,EAAE,KAAK,IAAM,CAC1CA,EAAK,SAAW,GAChBK,EAAU,QAAQ,MAAM,EACVJ,GAAA,CACf,CACH,CACA,OAAAM,EAAU,IAAM,CACAN,IACG7B,GAAA,CAClB","x_google_ignoreList":[1,2]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as U,d as $,a as b,c as k,b as o,r as u,h as A,u as M,i as S,j as t,w as d,k as v,l as q,e as h,t as H,m as g,n as N,q as V,E as n,P as I,U as j,s as F,v as L,x as R,y as G,z as J,A as K,_ as O}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{g as U,d as $,a as b,c as k,b as o,r as u,h as A,u as M,i as S,j as t,w as d,k as v,l as q,e as h,t as H,m as g,n as N,q as V,E as n,P as I,U as j,s as F,v as L,x as R,y as G,z as J,A as K,_ as O}from"./index-C0ZXXBCX.js";const Q=$({name:"ChatDotSquare"}),W={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},X=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),Y=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),Z=[X,Y];function ee(C,l,i,r,p,x){return b(),k("svg",W,Z)}var ae=U(Q,[["render",ee]]);const te={class:"login"},oe={class:"inputArea"},ne={class:"tc"},le={class:"links"},se=$({__name:"index",setup(C){const l=u(""),i=u(""),r=u(""),p=u(""),x=A(),y=M(),D=()=>{y.replace({name:"dashboard"})},T=()=>V.test(l.value)?J.test(r.value)?r.value!==p.value?(n.warning("两次输入的密码不一致"),!1):K.test(i.value)?!0:(n.warning("验证码不正确(4位 数字)"),!1):(n.warning("密码格式不正确(6-16位 支持字母/数字/下划线)"),!1):(n.warning("手机号格式不正确"),!1),f=u("获取验证码"),c=u(0),w=()=>{if(c.value===0){f.value="获取验证码";return}f.value="".concat(c.value,"s"),c.value-=1,setTimeout(w,1e3)},z=()=>{if(!V.test(l.value)){n.warning("手机号格式不正确");return}I.getCode(l.value).then(()=>{c.value=120,w(),n.success("获取成功,请注意查看手机短信")})},B=()=>{T()&&j.resetPwd(l.value,i.value,r.value).then(m=>{n.success("密码重置成功");const{token:e}=m.data;x.commit("user/setToken",e),D()}).catch(m=>{const{code:e,data:a}=m,_={1008:"该手机号未绑定任何账号",1003:"验证码不正确",1004:"密码格式不正确",1010:"账号已被封禁,有疑问请联系管理员",1009:"账号已被冻结,解冻时间".concat((a==null?void 0:a.openTime)&&F(new Date(a.openTime)))};n.error(_[e]||"重置失败,未知错误")})};return(m,e)=>{const a=L,_=R,E=G,P=S("router-link");return b(),k("div",te,[t(N,null,{default:d(()=>[o("div",oe,[o("div",null,[t(a,{maxlength:"11",placeholder:"手机号","prefix-icon":v(q),modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=s=>l.value=s),clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",null,[t(a,{maxlength:"4",type:"number",placeholder:"请输入验证码","prefix-icon":v(ae),modelValue:i.value,"onUpdate:modelValue":e[1]||(e[1]=s=>i.value=s),clearable:""},{append:d(()=>[t(_,{disabled:c.value!==0,onClick:z},{default:d(()=>[h(H(f.value),1)]),_:1},8,["disabled"])]),_:1},8,["prefix-icon","modelValue"])]),o("div",null,[t(a,{maxlength:"16",minlength:"6",type:"password",placeholder:"请输入新密码","prefix-icon":v(g),modelValue:r.value,"onUpdate:modelValue":e[2]||(e[2]=s=>r.value=s),"show-password":"",clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",null,[t(a,{maxlength:"16",minlength:"6",type:"password",placeholder:"请再次输入新密码","prefix-icon":v(g),modelValue:p.value,"onUpdate:modelValue":e[3]||(e[3]=s=>p.value=s),"show-password":"",clearable:""},null,8,["prefix-icon","modelValue"])]),o("div",ne,[t(_,{onClick:B,type:"primary",class:"fw-w100"},{default:d(()=>[h("确认重置")]),_:1})]),t(E),o("div",le,[t(P,{to:"/login"},{default:d(()=>[h("去登陆")]),_:1})])])]),_:1})])}}}),ue=O(se,[["__scopeId","data-v-4e645608"]]);export{ue as default};
|
|
2
|
+
//# sourceMappingURL=index-BvTJrWND.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BvTJrWND.js","sources":["../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.4.31_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/chat-dot-square.mjs","../../src/pages/reset/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: \"ChatDotSquare\"\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: \"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\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n 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\"\n}, null, -1);\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_4);\n}\nvar chatDotSquare = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { chatDotSquare as default };\n","<template>\n <div class=\"login\">\n <login-panel>\n <!-- 表单输入区域 -->\n <div class=\"inputArea\">\n <div>\n <el-input\n maxlength=\"11\"\n placeholder=\"手机号\"\n :prefix-icon=\"Phone\"\n v-model=\"account\"\n clearable\n ></el-input>\n </div>\n <div>\n <el-input\n maxlength=\"4\"\n type=\"number\"\n placeholder=\"请输入验证码\"\n :prefix-icon=\"ChatDotSquare\"\n v-model=\"code\"\n clearable\n >\n <template #append>\n <!-- 获取验证码 -->\n <el-button :disabled=\"time !== 0\" @click=\"getCode\">{{ codeText }}</el-button>\n </template>\n </el-input>\n </div>\n <div>\n <el-input\n maxlength=\"16\"\n minlength=\"6\"\n type=\"password\"\n placeholder=\"请输入新密码\"\n :prefix-icon=\"Lock\"\n v-model=\"pwd1\"\n show-password\n clearable\n ></el-input>\n </div>\n <div>\n <el-input\n maxlength=\"16\"\n minlength=\"6\"\n type=\"password\"\n placeholder=\"请再次输入新密码\"\n :prefix-icon=\"Lock\"\n v-model=\"pwd2\"\n show-password\n clearable\n ></el-input>\n </div>\n <div class=\"tc\">\n <el-button @click=\"reset\" type=\"primary\" class=\"fw-w100\">确认重置</el-button>\n </div>\n <el-divider></el-divider>\n <div class=\"links\">\n <router-link to=\"/login\">去登陆</router-link>\n </div>\n </div>\n </login-panel>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport {\n Lock, Phone, ChatDotSquare,\n} from '@element-plus/icons-vue'\nimport {\n ref,\n} from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport loginPanel from '@components/loginPanel.vue'\nimport { PublicApi, UserApi } from '@/apis'\nimport {\n rMobilePhone, rPassword, rVerCode,\n} from '@/utils/regExp'\nimport { formatDate } from '@/utils/stringUtil'\n\nconst account = ref('')\nconst code = ref('')\nconst pwd1 = ref('')\nconst pwd2 = ref('')\nconst $store = useStore()\nconst $router = useRouter()\nconst redirectDashBoard = () => {\n $router.replace({\n name: 'dashboard',\n })\n}\nconst checkForm = () => {\n if (!rMobilePhone.test(account.value)) {\n ElMessage.warning('手机号格式不正确')\n return false\n }\n\n if (!rPassword.test(pwd1.value)) {\n ElMessage.warning('密码格式不正确(6-16位 支持字母/数字/下划线)')\n return false\n }\n if (pwd1.value !== pwd2.value) {\n ElMessage.warning('两次输入的密码不一致')\n return false\n }\n\n if (!rVerCode.test(code.value)) {\n ElMessage.warning('验证码不正确(4位 数字)')\n return false\n }\n return true\n}\nconst codeText = ref('获取验证码')\nconst time = ref(0)\nconst refreshCodeText = () => {\n if (time.value === 0) {\n codeText.value = '获取验证码'\n return\n }\n codeText.value = `${time.value}s`\n time.value -= 1\n setTimeout(refreshCodeText, 1000)\n}\nconst getCode = () => {\n if (!rMobilePhone.test(account.value)) {\n ElMessage.warning('手机号格式不正确')\n return\n }\n PublicApi.getCode(account.value).then(() => {\n time.value = 120\n refreshCodeText()\n ElMessage.success('获取成功,请注意查看手机短信')\n })\n}\nconst reset = () => {\n if (!checkForm()) {\n return\n }\n UserApi\n .resetPwd(account.value, code.value, pwd1.value)\n .then((res) => {\n ElMessage.success('密码重置成功')\n const { token } = res.data\n $store.commit('user/setToken', token)\n redirectDashBoard()\n })\n .catch((err) => {\n const { code: c, data } = err\n const options: any = {\n 1008: '该手机号未绑定任何账号',\n 1003: '验证码不正确',\n 1004: '密码格式不正确',\n 1010: '账号已被封禁,有疑问请联系管理员',\n 1009: `账号已被冻结,解冻时间${data?.openTime && formatDate(new Date(data.openTime))}`,\n }\n ElMessage.error(options[c] || '重置失败,未知错误')\n })\n}\n\n</script>\n\n<style scoped lang=\"scss\">\n.login {\n background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);\n min-height: 100vh;\n}\n\n.inputArea {\n // padding: 1rem;\n margin: 0 auto;\n max-width: 320px;\n div {\n margin-top: 10px;\n }\n}\n// 登录按钮下方链接\n.links {\n display: flex;\n justify-content: center;\n a {\n color: #409eff;\n margin-left: 10px;\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_hoisted_4","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","chatDotSquare","_export_sfc","account","ref","code","pwd1","pwd2","$store","useStore","$router","useRouter","redirectDashBoard","checkForm","rMobilePhone","rPassword","ElMessage","rVerCode","codeText","time","refreshCodeText","getCode","PublicApi","reset","UserApi","res","token","err","c","data","options","formatDate"],"mappings":"qOAGA,MAAMA,EAAYC,EAAgB,CAChC,KAAM,eACR,CAAC,EACKC,EAAa,CACjB,QAAS,gBACT,MAAO,4BACT,EACMC,EAA6BC,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,mOACL,EAAG,KAAM,EAAE,EACLC,EAA6BD,EAAmB,OAAQ,CAC5D,KAAM,eACN,EAAG,4KACL,EAAG,KAAM,EAAE,EACLE,EAAa,CACjBH,EACAE,CACF,EACA,SAASE,GAAYC,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAClE,OAAOC,EAAW,EAAEC,EAAmB,MAAOb,EAAYI,CAAU,CACtE,CACA,IAAIU,GAAgCC,EAAYjB,EAAW,CAAC,CAAC,SAAUO,EAAW,CAAC,CAAC,mHCwD9E,MAAAW,EAAUC,EAAI,EAAE,EAChBC,EAAOD,EAAI,EAAE,EACbE,EAAOF,EAAI,EAAE,EACbG,EAAOH,EAAI,EAAE,EACbI,EAASC,IACTC,EAAUC,IACVC,EAAoB,IAAM,CAC9BF,EAAQ,QAAQ,CACd,KAAM,WAAA,CACP,CAAA,EAEGG,EAAY,IACXC,EAAa,KAAKX,EAAQ,KAAK,EAK/BY,EAAU,KAAKT,EAAK,KAAK,EAI1BA,EAAK,QAAUC,EAAK,OACtBS,EAAU,QAAQ,YAAY,EACvB,IAGJC,EAAS,KAAKZ,EAAK,KAAK,EAItB,IAHLW,EAAU,QAAQ,eAAe,EAC1B,KAVPA,EAAU,QAAQ,4BAA4B,EACvC,KANPA,EAAU,QAAQ,UAAU,EACrB,IAkBLE,EAAWd,EAAI,OAAO,EACtBe,EAAOf,EAAI,CAAC,EACZgB,EAAkB,IAAM,CACxB,GAAAD,EAAK,QAAU,EAAG,CACpBD,EAAS,MAAQ,QACjB,MACF,CACSA,EAAA,MAAQ,GAAG,OAAAC,EAAK,MAAK,KAC9BA,EAAK,OAAS,EACd,WAAWC,EAAiB,GAAI,CAAA,EAE5BC,EAAU,IAAM,CACpB,GAAI,CAACP,EAAa,KAAKX,EAAQ,KAAK,EAAG,CACrCa,EAAU,QAAQ,UAAU,EAC5B,MACF,CACAM,EAAU,QAAQnB,EAAQ,KAAK,EAAE,KAAK,IAAM,CAC1CgB,EAAK,MAAQ,IACGC,IAChBJ,EAAU,QAAQ,gBAAgB,CAAA,CACnC,CAAA,EAEGO,EAAQ,IAAM,CACbV,KAIFW,EAAA,SAASrB,EAAQ,MAAOE,EAAK,MAAOC,EAAK,KAAK,EAC9C,KAAMmB,GAAQ,CACbT,EAAU,QAAQ,QAAQ,EACpB,KAAA,CAAE,MAAAU,CAAM,EAAID,EAAI,KACfjB,EAAA,OAAO,gBAAiBkB,CAAK,EAClBd,GAAA,CACnB,EACA,MAAOe,GAAQ,CACd,KAAM,CAAE,KAAMC,EAAG,KAAAC,CAAA,EAASF,EACpBG,EAAe,CACnB,KAAM,cACN,KAAM,SACN,KAAM,UACN,KAAM,mBACN,KAAM,cAAc,QAAAD,GAAA,YAAAA,EAAM,WAAYE,EAAW,IAAI,KAAKF,EAAK,QAAQ,CAAC,EAAC,EAE3Eb,EAAU,MAAMc,EAAQF,CAAC,GAAK,WAAW,CAAA,CAC1C,CAAA","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{bP as s,bT as p,cM as f,O as c,k as d,bu as g,r as w,bN as y}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{bP as s,bT as p,cM as f,O as c,k as d,bu as g,r as w,bN as y}from"./index-C0ZXXBCX.js";const b=(t,o)=>{if(!s)return!1;const e={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(o)],r=p(t,e);return["scroll","auto","overlay"].some(a=>r.includes(a))},C=(t,o)=>{if(!s)return;let e=t;for(;e;){if([window,document,document.documentElement].includes(e))return window;if(b(e,o))return e;e=e.parentNode}return e};let l;const D=t=>{var o;if(!s)return 0;if(l!==void 0)return l;const e=document.createElement("div");e.className="".concat(t,"-scrollbar__wrap"),e.style.visibility="hidden",e.style.width="100px",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);const r=e.offsetWidth;e.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",e.appendChild(a);const n=a.offsetWidth;return(o=e.parentNode)==null||o.removeChild(e),l=r-n,l};function x(t,o){if(!s)return;if(!o){t.scrollTop=0;return}const e=[];let r=o.offsetParent;for(;r!==null&&t!==r&&t.contains(r);)e.push(r),r=r.offsetParent;const a=o.offsetTop+e.reduce((m,h)=>m+h.offsetTop,0),n=a+o.offsetHeight,i=t.scrollTop,u=i+t.clientHeight;a<i?t.scrollTop=a:n>u&&(t.scrollTop=n-t.clientHeight)}var v={name:"en",el:{colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"}}};const T=t=>(o,e)=>S(o,e,d(t)),S=(t,o,e)=>y(e,t,t).replace(/\{(\w+)\}/g,(r,a)=>{var n;return"".concat((n=o==null?void 0:o[a])!=null?n:"{".concat(a,"}"))}),N=t=>{const o=c(()=>d(t).name),e=g(t)?t:w(t);return{lang:o,locale:e,t:T(t)}},M=()=>{const t=f("locale");return N(c(()=>t.value||v))};export{D as a,C as g,x as s,M as u};
|
|
2
|
+
//# sourceMappingURL=index-BxLy8VN3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-BUF8Xxid.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/utils/dom/scroll.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/locale/lang/en.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/hooks/use-locale/index.mjs"],"sourcesContent":["import { isClient } from '@vueuse/core';\nimport { getStyle } from './style.mjs';\n\nconst isScroll = (el, isVertical) => {\n if (!isClient)\n return false;\n const key = {\n undefined: \"overflow\",\n true: \"overflow-y\",\n false: \"overflow-x\"\n }[String(isVertical)];\n const overflow = getStyle(el, key);\n return [\"scroll\", \"auto\", \"overlay\"].some((s) => overflow.includes(s));\n};\nconst getScrollContainer = (el, isVertical) => {\n if (!isClient)\n return;\n let parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent))\n return window;\n if (isScroll(parent, isVertical))\n return parent;\n parent = parent.parentNode;\n }\n return parent;\n};\nlet scrollBarWidth;\nconst getScrollBarWidth = (namespace) => {\n var _a;\n if (!isClient)\n return 0;\n if (scrollBarWidth !== void 0)\n return scrollBarWidth;\n const outer = document.createElement(\"div\");\n outer.className = `${namespace}-scrollbar__wrap`;\n outer.style.visibility = \"hidden\";\n outer.style.width = \"100px\";\n outer.style.position = \"absolute\";\n outer.style.top = \"-9999px\";\n document.body.appendChild(outer);\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = \"scroll\";\n const inner = document.createElement(\"div\");\n inner.style.width = \"100%\";\n outer.appendChild(inner);\n const widthWithScroll = inner.offsetWidth;\n (_a = outer.parentNode) == null ? void 0 : _a.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n return scrollBarWidth;\n};\nfunction scrollIntoView(container, selected) {\n if (!isClient)\n return;\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n const offsetParents = [];\n let pointer = selected.offsetParent;\n while (pointer !== null && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n const top = selected.offsetTop + offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0);\n const bottom = top + selected.offsetHeight;\n const viewRectTop = container.scrollTop;\n const viewRectBottom = viewRectTop + container.clientHeight;\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}\n\nexport { getScrollBarWidth, getScrollContainer, isScroll, scrollIntoView };\n//# sourceMappingURL=scroll.mjs.map\n","var English = {\n name: \"en\",\n el: {\n colorpicker: {\n confirm: \"OK\",\n clear: \"Clear\",\n defaultLabel: \"color picker\",\n description: \"current color is {color}. press enter to select a new color.\"\n },\n datepicker: {\n now: \"Now\",\n today: \"Today\",\n cancel: \"Cancel\",\n clear: \"Clear\",\n confirm: \"OK\",\n dateTablePrompt: \"Use the arrow keys and enter to select the day of the month\",\n monthTablePrompt: \"Use the arrow keys and enter to select the month\",\n yearTablePrompt: \"Use the arrow keys and enter to select the year\",\n selectedDate: \"Selected date\",\n selectDate: \"Select date\",\n selectTime: \"Select time\",\n startDate: \"Start Date\",\n startTime: \"Start Time\",\n endDate: \"End Date\",\n endTime: \"End Time\",\n prevYear: \"Previous Year\",\n nextYear: \"Next Year\",\n prevMonth: \"Previous Month\",\n nextMonth: \"Next Month\",\n year: \"\",\n month1: \"January\",\n month2: \"February\",\n month3: \"March\",\n month4: \"April\",\n month5: \"May\",\n month6: \"June\",\n month7: \"July\",\n month8: \"August\",\n month9: \"September\",\n month10: \"October\",\n month11: \"November\",\n month12: \"December\",\n week: \"week\",\n weeks: {\n sun: \"Sun\",\n mon: \"Mon\",\n tue: \"Tue\",\n wed: \"Wed\",\n thu: \"Thu\",\n fri: \"Fri\",\n sat: \"Sat\"\n },\n weeksFull: {\n sun: \"Sunday\",\n mon: \"Monday\",\n tue: \"Tuesday\",\n wed: \"Wednesday\",\n thu: \"Thursday\",\n fri: \"Friday\",\n sat: \"Saturday\"\n },\n months: {\n jan: \"Jan\",\n feb: \"Feb\",\n mar: \"Mar\",\n apr: \"Apr\",\n may: \"May\",\n jun: \"Jun\",\n jul: \"Jul\",\n aug: \"Aug\",\n sep: \"Sep\",\n oct: \"Oct\",\n nov: \"Nov\",\n dec: \"Dec\"\n }\n },\n inputNumber: {\n decrease: \"decrease number\",\n increase: \"increase number\"\n },\n select: {\n loading: \"Loading\",\n noMatch: \"No matching data\",\n noData: \"No data\",\n placeholder: \"Select\"\n },\n dropdown: {\n toggleDropdown: \"Toggle Dropdown\"\n },\n cascader: {\n noMatch: \"No matching data\",\n loading: \"Loading\",\n placeholder: \"Select\",\n noData: \"No data\"\n },\n pagination: {\n goto: \"Go to\",\n pagesize: \"/page\",\n total: \"Total {total}\",\n pageClassifier: \"\",\n deprecationWarning: \"Deprecated usages detected, please refer to the el-pagination documentation for more details\"\n },\n dialog: {\n close: \"Close this dialog\"\n },\n drawer: {\n close: \"Close this dialog\"\n },\n messagebox: {\n title: \"Message\",\n confirm: \"OK\",\n cancel: \"Cancel\",\n error: \"Illegal input\",\n close: \"Close this dialog\"\n },\n upload: {\n deleteTip: \"press delete to remove\",\n delete: \"Delete\",\n preview: \"Preview\",\n continue: \"Continue\"\n },\n slider: {\n defaultLabel: \"slider between {min} and {max}\",\n defaultRangeStartLabel: \"pick start value\",\n defaultRangeEndLabel: \"pick end value\"\n },\n table: {\n emptyText: \"No Data\",\n confirmFilter: \"Confirm\",\n resetFilter: \"Reset\",\n clearFilter: \"All\",\n sumText: \"Sum\"\n },\n tree: {\n emptyText: \"No Data\"\n },\n transfer: {\n noMatch: \"No matching data\",\n noData: \"No data\",\n titles: [\"List 1\", \"List 2\"],\n filterPlaceholder: \"Enter keyword\",\n noCheckedFormat: \"{total} items\",\n hasCheckedFormat: \"{checked}/{total} checked\"\n },\n image: {\n error: \"FAILED\"\n },\n pageHeader: {\n title: \"Back\"\n },\n popconfirm: {\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\"\n }\n }\n};\n\nexport { English as default };\n//# sourceMappingURL=en.mjs.map\n","import { unref, computed, isRef, ref } from 'vue';\nimport { get } from 'lodash-unified';\nimport English from '../../locale/lang/en.mjs';\nimport { useGlobalConfig } from '../use-global-config/index.mjs';\n\nconst buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));\nconst translate = (path, option, locale) => get(locale, path, path).replace(/\\{(\\w+)\\}/g, (_, key) => {\n var _a;\n return `${(_a = option == null ? void 0 : option[key]) != null ? _a : `{${key}}`}`;\n});\nconst buildLocaleContext = (locale) => {\n const lang = computed(() => unref(locale).name);\n const localeRef = isRef(locale) ? locale : ref(locale);\n return {\n lang,\n locale: localeRef,\n t: buildTranslator(locale)\n };\n};\nconst useLocale = () => {\n const locale = useGlobalConfig(\"locale\");\n return buildLocaleContext(computed(() => locale.value || English));\n};\n\nexport { buildLocaleContext, buildTranslator, translate, useLocale };\n//# sourceMappingURL=index.mjs.map\n"],"names":["isScroll","el","isVertical","isClient","key","overflow","getStyle","s","getScrollContainer","parent","scrollBarWidth","getScrollBarWidth","namespace","_a","outer","widthNoScroll","inner","widthWithScroll","scrollIntoView","container","selected","offsetParents","pointer","top","prev","curr","bottom","viewRectTop","viewRectBottom","English","buildTranslator","locale","path","option","translate","unref","get","_","buildLocaleContext","lang","computed","localeRef","isRef","ref","useLocale","useGlobalConfig"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index-BxLy8VN3.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/utils/dom/scroll.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/locale/lang/en.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/hooks/use-locale/index.mjs"],"sourcesContent":["import { isClient } from '@vueuse/core';\nimport { getStyle } from './style.mjs';\n\nconst isScroll = (el, isVertical) => {\n if (!isClient)\n return false;\n const key = {\n undefined: \"overflow\",\n true: \"overflow-y\",\n false: \"overflow-x\"\n }[String(isVertical)];\n const overflow = getStyle(el, key);\n return [\"scroll\", \"auto\", \"overlay\"].some((s) => overflow.includes(s));\n};\nconst getScrollContainer = (el, isVertical) => {\n if (!isClient)\n return;\n let parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent))\n return window;\n if (isScroll(parent, isVertical))\n return parent;\n parent = parent.parentNode;\n }\n return parent;\n};\nlet scrollBarWidth;\nconst getScrollBarWidth = (namespace) => {\n var _a;\n if (!isClient)\n return 0;\n if (scrollBarWidth !== void 0)\n return scrollBarWidth;\n const outer = document.createElement(\"div\");\n outer.className = `${namespace}-scrollbar__wrap`;\n outer.style.visibility = \"hidden\";\n outer.style.width = \"100px\";\n outer.style.position = \"absolute\";\n outer.style.top = \"-9999px\";\n document.body.appendChild(outer);\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = \"scroll\";\n const inner = document.createElement(\"div\");\n inner.style.width = \"100%\";\n outer.appendChild(inner);\n const widthWithScroll = inner.offsetWidth;\n (_a = outer.parentNode) == null ? void 0 : _a.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n return scrollBarWidth;\n};\nfunction scrollIntoView(container, selected) {\n if (!isClient)\n return;\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n const offsetParents = [];\n let pointer = selected.offsetParent;\n while (pointer !== null && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n const top = selected.offsetTop + offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0);\n const bottom = top + selected.offsetHeight;\n const viewRectTop = container.scrollTop;\n const viewRectBottom = viewRectTop + container.clientHeight;\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}\n\nexport { getScrollBarWidth, getScrollContainer, isScroll, scrollIntoView };\n//# sourceMappingURL=scroll.mjs.map\n","var English = {\n name: \"en\",\n el: {\n colorpicker: {\n confirm: \"OK\",\n clear: \"Clear\",\n defaultLabel: \"color picker\",\n description: \"current color is {color}. press enter to select a new color.\"\n },\n datepicker: {\n now: \"Now\",\n today: \"Today\",\n cancel: \"Cancel\",\n clear: \"Clear\",\n confirm: \"OK\",\n dateTablePrompt: \"Use the arrow keys and enter to select the day of the month\",\n monthTablePrompt: \"Use the arrow keys and enter to select the month\",\n yearTablePrompt: \"Use the arrow keys and enter to select the year\",\n selectedDate: \"Selected date\",\n selectDate: \"Select date\",\n selectTime: \"Select time\",\n startDate: \"Start Date\",\n startTime: \"Start Time\",\n endDate: \"End Date\",\n endTime: \"End Time\",\n prevYear: \"Previous Year\",\n nextYear: \"Next Year\",\n prevMonth: \"Previous Month\",\n nextMonth: \"Next Month\",\n year: \"\",\n month1: \"January\",\n month2: \"February\",\n month3: \"March\",\n month4: \"April\",\n month5: \"May\",\n month6: \"June\",\n month7: \"July\",\n month8: \"August\",\n month9: \"September\",\n month10: \"October\",\n month11: \"November\",\n month12: \"December\",\n week: \"week\",\n weeks: {\n sun: \"Sun\",\n mon: \"Mon\",\n tue: \"Tue\",\n wed: \"Wed\",\n thu: \"Thu\",\n fri: \"Fri\",\n sat: \"Sat\"\n },\n weeksFull: {\n sun: \"Sunday\",\n mon: \"Monday\",\n tue: \"Tuesday\",\n wed: \"Wednesday\",\n thu: \"Thursday\",\n fri: \"Friday\",\n sat: \"Saturday\"\n },\n months: {\n jan: \"Jan\",\n feb: \"Feb\",\n mar: \"Mar\",\n apr: \"Apr\",\n may: \"May\",\n jun: \"Jun\",\n jul: \"Jul\",\n aug: \"Aug\",\n sep: \"Sep\",\n oct: \"Oct\",\n nov: \"Nov\",\n dec: \"Dec\"\n }\n },\n inputNumber: {\n decrease: \"decrease number\",\n increase: \"increase number\"\n },\n select: {\n loading: \"Loading\",\n noMatch: \"No matching data\",\n noData: \"No data\",\n placeholder: \"Select\"\n },\n dropdown: {\n toggleDropdown: \"Toggle Dropdown\"\n },\n cascader: {\n noMatch: \"No matching data\",\n loading: \"Loading\",\n placeholder: \"Select\",\n noData: \"No data\"\n },\n pagination: {\n goto: \"Go to\",\n pagesize: \"/page\",\n total: \"Total {total}\",\n pageClassifier: \"\",\n deprecationWarning: \"Deprecated usages detected, please refer to the el-pagination documentation for more details\"\n },\n dialog: {\n close: \"Close this dialog\"\n },\n drawer: {\n close: \"Close this dialog\"\n },\n messagebox: {\n title: \"Message\",\n confirm: \"OK\",\n cancel: \"Cancel\",\n error: \"Illegal input\",\n close: \"Close this dialog\"\n },\n upload: {\n deleteTip: \"press delete to remove\",\n delete: \"Delete\",\n preview: \"Preview\",\n continue: \"Continue\"\n },\n slider: {\n defaultLabel: \"slider between {min} and {max}\",\n defaultRangeStartLabel: \"pick start value\",\n defaultRangeEndLabel: \"pick end value\"\n },\n table: {\n emptyText: \"No Data\",\n confirmFilter: \"Confirm\",\n resetFilter: \"Reset\",\n clearFilter: \"All\",\n sumText: \"Sum\"\n },\n tree: {\n emptyText: \"No Data\"\n },\n transfer: {\n noMatch: \"No matching data\",\n noData: \"No data\",\n titles: [\"List 1\", \"List 2\"],\n filterPlaceholder: \"Enter keyword\",\n noCheckedFormat: \"{total} items\",\n hasCheckedFormat: \"{checked}/{total} checked\"\n },\n image: {\n error: \"FAILED\"\n },\n pageHeader: {\n title: \"Back\"\n },\n popconfirm: {\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\"\n }\n }\n};\n\nexport { English as default };\n//# sourceMappingURL=en.mjs.map\n","import { unref, computed, isRef, ref } from 'vue';\nimport { get } from 'lodash-unified';\nimport English from '../../locale/lang/en.mjs';\nimport { useGlobalConfig } from '../use-global-config/index.mjs';\n\nconst buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));\nconst translate = (path, option, locale) => get(locale, path, path).replace(/\\{(\\w+)\\}/g, (_, key) => {\n var _a;\n return `${(_a = option == null ? void 0 : option[key]) != null ? _a : `{${key}}`}`;\n});\nconst buildLocaleContext = (locale) => {\n const lang = computed(() => unref(locale).name);\n const localeRef = isRef(locale) ? locale : ref(locale);\n return {\n lang,\n locale: localeRef,\n t: buildTranslator(locale)\n };\n};\nconst useLocale = () => {\n const locale = useGlobalConfig(\"locale\");\n return buildLocaleContext(computed(() => locale.value || English));\n};\n\nexport { buildLocaleContext, buildTranslator, translate, useLocale };\n//# sourceMappingURL=index.mjs.map\n"],"names":["isScroll","el","isVertical","isClient","key","overflow","getStyle","s","getScrollContainer","parent","scrollBarWidth","getScrollBarWidth","namespace","_a","outer","widthNoScroll","inner","widthWithScroll","scrollIntoView","container","selected","offsetParents","pointer","top","prev","curr","bottom","viewRectTop","viewRectBottom","English","buildTranslator","locale","path","option","translate","unref","get","_","buildLocaleContext","lang","computed","localeRef","isRef","ref","useLocale","useGlobalConfig"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|