@sugarat/easypicker2-client 2.7.0 → 2.7.1
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-CVdTnsNg.js → data-analysis-B61f8OZD.js} +2 -2
- package/dist/assets/{data-analysis-CVdTnsNg.js.map → data-analysis-B61f8OZD.js.map} +1 -1
- package/dist/assets/{data-analysis-legacy-CrjrJgyN.js → data-analysis-legacy-sXkPNcPD.js} +2 -2
- package/dist/assets/{data-analysis-legacy-CrjrJgyN.js.map → data-analysis-legacy-sXkPNcPD.js.map} +1 -1
- package/dist/assets/{data-board-CKaKy1IB.js → data-board-BIN3HXKE.js} +2 -2
- package/dist/assets/{data-board-CKaKy1IB.js.map → data-board-BIN3HXKE.js.map} +1 -1
- package/dist/assets/{data-board-legacy-DfESxuEd.js → data-board-legacy-mqcredpF.js} +2 -2
- package/dist/assets/{data-board-legacy-DfESxuEd.js.map → data-board-legacy-mqcredpF.js.map} +1 -1
- package/dist/assets/{el-date-picker-cVKa-X4K.js → el-date-picker-B-cvGosU.js} +2 -2
- package/dist/assets/{el-date-picker-cVKa-X4K.js.map → el-date-picker-B-cvGosU.js.map} +1 -1
- package/dist/assets/{el-date-picker-legacy-CJ2heCkq.js → el-date-picker-legacy-CACCtxzL.js} +2 -2
- package/dist/assets/{el-date-picker-legacy-CJ2heCkq.js.map → el-date-picker-legacy-CACCtxzL.js.map} +1 -1
- package/dist/assets/{el-dialog-U5Zmt3t3.js → el-dialog-C9wNxcPt.js} +2 -2
- package/dist/assets/{el-dialog-U5Zmt3t3.js.map → el-dialog-C9wNxcPt.js.map} +1 -1
- package/dist/assets/{el-dialog-legacy-u4KST5yo.js → el-dialog-legacy-CX7a77_4.js} +2 -2
- package/dist/assets/{el-dialog-legacy-u4KST5yo.js.map → el-dialog-legacy-CX7a77_4.js.map} +1 -1
- package/dist/assets/{el-dropdown-item-flwUs2cH.js → el-dropdown-item-jbdZL0Yj.js} +2 -2
- package/dist/assets/{el-dropdown-item-flwUs2cH.js.map → el-dropdown-item-jbdZL0Yj.js.map} +1 -1
- package/dist/assets/{el-dropdown-item-legacy-B2fmSGnI.js → el-dropdown-item-legacy-ChoB2YAN.js} +2 -2
- package/dist/assets/{el-dropdown-item-legacy-B2fmSGnI.js.map → el-dropdown-item-legacy-ChoB2YAN.js.map} +1 -1
- package/dist/assets/{el-form-item-B08Ira7l.js → el-form-item-BhAyaXPT.js} +2 -2
- package/dist/assets/{el-form-item-B08Ira7l.js.map → el-form-item-BhAyaXPT.js.map} +1 -1
- package/dist/assets/{el-form-item-legacy-CcX_hnMk.js → el-form-item-legacy-DNwgpXzk.js} +2 -2
- package/dist/assets/{el-form-item-legacy-CcX_hnMk.js.map → el-form-item-legacy-DNwgpXzk.js.map} +1 -1
- package/dist/assets/{el-loading-BMbhg8vq.js → el-loading-D5D_2rI_.js} +2 -2
- package/dist/assets/{el-loading-BMbhg8vq.js.map → el-loading-D5D_2rI_.js.map} +1 -1
- package/dist/assets/{el-loading-legacy-CRJF51cp.js → el-loading-legacy-CCDpn-BT.js} +2 -2
- package/dist/assets/{el-loading-legacy-CRJF51cp.js.map → el-loading-legacy-CCDpn-BT.js.map} +1 -1
- package/dist/assets/{el-pagination-D4Wuvfl8.js → el-pagination-DRV4WevC.js} +2 -2
- package/dist/assets/{el-pagination-D4Wuvfl8.js.map → el-pagination-DRV4WevC.js.map} +1 -1
- package/dist/assets/{el-pagination-legacy-C2E-fHif.js → el-pagination-legacy-CAxn6D5y.js} +2 -2
- package/dist/assets/{el-pagination-legacy-C2E-fHif.js.map → el-pagination-legacy-CAxn6D5y.js.map} +1 -1
- package/dist/assets/{el-progress-ChbdZpVl.js → el-progress-GDfl1hgb.js} +2 -2
- package/dist/assets/{el-progress-ChbdZpVl.js.map → el-progress-GDfl1hgb.js.map} +1 -1
- package/dist/assets/{el-progress-legacy-zjlCtRh2.js → el-progress-legacy-C5K3FqLs.js} +2 -2
- package/dist/assets/{el-progress-legacy-zjlCtRh2.js.map → el-progress-legacy-C5K3FqLs.js.map} +1 -1
- package/dist/assets/{el-select-DP5UYxt3.js → el-select-B9z8VvNb.js} +2 -2
- package/dist/assets/{el-select-DP5UYxt3.js.map → el-select-B9z8VvNb.js.map} +1 -1
- package/dist/assets/{el-select-legacy-D4o92tvp.js → el-select-legacy-BI1YK9Jv.js} +2 -2
- package/dist/assets/{el-select-legacy-D4o92tvp.js.map → el-select-legacy-BI1YK9Jv.js.map} +1 -1
- package/dist/assets/{el-switch-legacy-D1AVOg2z.js → el-switch-legacy-CG_sT4XS.js} +2 -2
- package/dist/assets/{el-switch-legacy-D1AVOg2z.js.map → el-switch-legacy-CG_sT4XS.js.map} +1 -1
- package/dist/assets/{el-switch-DAReoFaC.js → el-switch-oOC_byJv.js} +2 -2
- package/dist/assets/{el-switch-DAReoFaC.js.map → el-switch-oOC_byJv.js.map} +1 -1
- package/dist/assets/{el-tab-pane-6kk7HB4E.js → el-tab-pane-NvGl_NI0.js} +2 -2
- package/dist/assets/{el-tab-pane-6kk7HB4E.js.map → el-tab-pane-NvGl_NI0.js.map} +1 -1
- package/dist/assets/{el-tab-pane-legacy-7aEB8qvn.js → el-tab-pane-legacy-usarmKVQ.js} +2 -2
- package/dist/assets/{el-tab-pane-legacy-7aEB8qvn.js.map → el-tab-pane-legacy-usarmKVQ.js.map} +1 -1
- package/dist/assets/{el-table-column-DsGlAuX3.js → el-table-column-JBAymLKS.js} +2 -2
- package/dist/assets/{el-table-column-DsGlAuX3.js.map → el-table-column-JBAymLKS.js.map} +1 -1
- package/dist/assets/{el-table-column-legacy-C8A33Lav.js → el-table-column-legacy-BWpnrxZl.js} +2 -2
- package/dist/assets/{el-table-column-legacy-C8A33Lav.js.map → el-table-column-legacy-BWpnrxZl.js.map} +1 -1
- package/dist/assets/{index-ggQcjFPK.js → index-B0mV367i.js} +2 -2
- package/dist/assets/{index-ggQcjFPK.js.map → index-B0mV367i.js.map} +1 -1
- package/dist/assets/{index-ShzTlShR.css → index-BOep9MOB.css} +1 -1
- package/dist/assets/{index-DjTj_2YG.js → index-BUF8Xxid.js} +2 -2
- package/dist/assets/{index-DjTj_2YG.js.map → index-BUF8Xxid.js.map} +1 -1
- package/dist/assets/index-BxsJs6HZ.js +2 -0
- package/dist/assets/index-BxsJs6HZ.js.map +1 -0
- package/dist/assets/{index-Dczz94WX.js → index-Byzqqd86.js} +2 -2
- package/dist/assets/{index-Dczz94WX.js.map → index-Byzqqd86.js.map} +1 -1
- package/dist/assets/{index-my4zFbcM.js → index-C0niS8Vv.js} +2 -2
- package/dist/assets/{index-my4zFbcM.js.map → index-C0niS8Vv.js.map} +1 -1
- package/dist/assets/{index-BdVQjSN6.js → index-CHIrZkSk.js} +2 -2
- package/dist/assets/{index-BdVQjSN6.js.map → index-CHIrZkSk.js.map} +1 -1
- package/dist/assets/{index-CeKw5v7N.js → index-CKIiHmIf.js} +2 -2
- package/dist/assets/{index-CeKw5v7N.js.map → index-CKIiHmIf.js.map} +1 -1
- package/dist/assets/{index-mKO4gpWB.js → index-Cno4i6lg.js} +2 -2
- package/dist/assets/{index-mKO4gpWB.js.map → index-Cno4i6lg.js.map} +1 -1
- package/dist/assets/{index-yrncPnXk.js → index-D80lTVeV.js} +3 -3
- package/dist/assets/{index-yrncPnXk.js.map → index-D80lTVeV.js.map} +1 -1
- package/dist/assets/{index-Caxtv5sl.js → index-DCwrZmag.js} +2 -2
- package/dist/assets/{index-Caxtv5sl.js.map → index-DCwrZmag.js.map} +1 -1
- package/dist/assets/{index-BK3KKBAN.js → index-DDGYm9L-.js} +2 -2
- package/dist/assets/{index-BK3KKBAN.js.map → index-DDGYm9L-.js.map} +1 -1
- package/dist/assets/{index-BVM3WMNO.js → index-DEiWe2Bk.js} +2 -2
- package/dist/assets/{index-BVM3WMNO.js.map → index-DEiWe2Bk.js.map} +1 -1
- package/dist/assets/{index-DkbS1z1O.js → index-DJnltRnr.js} +2 -2
- package/dist/assets/{index-DkbS1z1O.js.map → index-DJnltRnr.js.map} +1 -1
- package/dist/assets/{index-BMZu8UZ6.js → index-DMIqQLOE.js} +2 -2
- package/dist/assets/{index-BMZu8UZ6.js.map → index-DMIqQLOE.js.map} +1 -1
- package/dist/assets/{index-BnQi1XPn.js → index-DRHl9KU8.js} +2 -2
- package/dist/assets/{index-BnQi1XPn.js.map → index-DRHl9KU8.js.map} +1 -1
- package/dist/assets/{index-jSHW6lhR.js → index-Dj5caLYF.js} +2 -2
- package/dist/assets/{index-jSHW6lhR.js.map → index-Dj5caLYF.js.map} +1 -1
- package/dist/assets/{index-D-JYypPJ.js → index-Dxy6ycv8.js} +2 -2
- package/dist/assets/{index-D-JYypPJ.js.map → index-Dxy6ycv8.js.map} +1 -1
- package/dist/assets/{index-D6LMez3u.js → index-MTuc20rr.js} +2 -2
- package/dist/assets/{index-D6LMez3u.js.map → index-MTuc20rr.js.map} +1 -1
- package/dist/assets/{index-q94vR-7W.js → index-bD-fr3vy.js} +2 -2
- package/dist/assets/{index-q94vR-7W.js.map → index-bD-fr3vy.js.map} +1 -1
- package/dist/assets/{index-DcmA3tsY.js → index-fb67TYJ8.js} +2 -2
- package/dist/assets/{index-DcmA3tsY.js.map → index-fb67TYJ8.js.map} +1 -1
- package/dist/assets/{index-legacy-DVOM8HaY.js → index-legacy-2G5G7SiF.js} +2 -2
- package/dist/assets/index-legacy-2G5G7SiF.js.map +1 -0
- package/dist/assets/{index-legacy-DcKfHHls.js → index-legacy-B1WwgC0S.js} +2 -2
- package/dist/assets/{index-legacy-DcKfHHls.js.map → index-legacy-B1WwgC0S.js.map} +1 -1
- package/dist/assets/{index-legacy-CRq_O11N.js → index-legacy-BN-W2P7-.js} +2 -2
- package/dist/assets/{index-legacy-CRq_O11N.js.map → index-legacy-BN-W2P7-.js.map} +1 -1
- package/dist/assets/{index-legacy-DasH54g3.js → index-legacy-BZb5uhBF.js} +2 -2
- package/dist/assets/{index-legacy-DasH54g3.js.map → index-legacy-BZb5uhBF.js.map} +1 -1
- package/dist/assets/{index-legacy-BFfoAOF1.js → index-legacy-BdJHr4yN.js} +2 -2
- package/dist/assets/{index-legacy-BFfoAOF1.js.map → index-legacy-BdJHr4yN.js.map} +1 -1
- package/dist/assets/{index-legacy-CW0OHQkF.js → index-legacy-BwpR0DP9.js} +2 -2
- package/dist/assets/{index-legacy-CW0OHQkF.js.map → index-legacy-BwpR0DP9.js.map} +1 -1
- package/dist/assets/{index-legacy-BqL3XK76.js → index-legacy-Cbyz8WHA.js} +2 -2
- package/dist/assets/{index-legacy-BqL3XK76.js.map → index-legacy-Cbyz8WHA.js.map} +1 -1
- package/dist/assets/{index-legacy-DD6zMGGT.js → index-legacy-Chw6iyCz.js} +2 -2
- package/dist/assets/{index-legacy-DD6zMGGT.js.map → index-legacy-Chw6iyCz.js.map} +1 -1
- package/dist/assets/{index-legacy-BLKO-78a.js → index-legacy-DC5-MYgp.js} +2 -2
- package/dist/assets/{index-legacy-BLKO-78a.js.map → index-legacy-DC5-MYgp.js.map} +1 -1
- package/dist/assets/{index-legacy-pP3Pmgbs.js → index-legacy-DM_G6GXF.js} +2 -2
- package/dist/assets/{index-legacy-pP3Pmgbs.js.map → index-legacy-DM_G6GXF.js.map} +1 -1
- package/dist/assets/{index-legacy-Dt4Eky4l.js → index-legacy-DP3Q6cDA.js} +2 -2
- package/dist/assets/{index-legacy-Dt4Eky4l.js.map → index-legacy-DP3Q6cDA.js.map} +1 -1
- package/dist/assets/{index-legacy-B4s89tRC.js → index-legacy-DUrsbgNe.js} +2 -2
- package/dist/assets/{index-legacy-B4s89tRC.js.map → index-legacy-DUrsbgNe.js.map} +1 -1
- package/dist/assets/{index-legacy-BezkAR3b.js → index-legacy-DV-KwU0c.js} +2 -2
- package/dist/assets/{index-legacy-BezkAR3b.js.map → index-legacy-DV-KwU0c.js.map} +1 -1
- package/dist/assets/{index-legacy-6cMsZS3c.js → index-legacy-DiNZXmUs.js} +2 -2
- package/dist/assets/{index-legacy-6cMsZS3c.js.map → index-legacy-DiNZXmUs.js.map} +1 -1
- package/dist/assets/{index-legacy-2f3kE3Xe.js → index-legacy-DmJc-LaA.js} +2 -2
- package/dist/assets/{index-legacy-2f3kE3Xe.js.map → index-legacy-DmJc-LaA.js.map} +1 -1
- package/dist/assets/{index-legacy-CqVgmAMA.js → index-legacy-Dmi-DBK0.js} +2 -2
- package/dist/assets/{index-legacy-CqVgmAMA.js.map → index-legacy-Dmi-DBK0.js.map} +1 -1
- package/dist/assets/{index-legacy-CslCZVZ0.js → index-legacy-K0GPuvtR.js} +2 -2
- package/dist/assets/{index-legacy-CslCZVZ0.js.map → index-legacy-K0GPuvtR.js.map} +1 -1
- package/dist/assets/{index-legacy-CUZgiMNa.js → index-legacy-Qibh5ehq.js} +2 -2
- package/dist/assets/{index-legacy-CUZgiMNa.js.map → index-legacy-Qibh5ehq.js.map} +1 -1
- package/dist/assets/{index-legacy-bElvuK5I.js → index-legacy-gQf30T09.js} +2 -2
- package/dist/assets/{index-legacy-bElvuK5I.js.map → index-legacy-gQf30T09.js.map} +1 -1
- package/dist/assets/{index-legacy-8BA9X4aO.js → index-legacy-l7TP3X8w.js} +2 -2
- package/dist/assets/{index-legacy-8BA9X4aO.js.map → index-legacy-l7TP3X8w.js.map} +1 -1
- package/dist/assets/{isEqual-legacy-4dmPHJnc.js → isEqual-legacy-DVLZyo95.js} +2 -2
- package/dist/assets/{isEqual-legacy-4dmPHJnc.js.map → isEqual-legacy-DVLZyo95.js.map} +1 -1
- package/dist/assets/{isEqual-DdkrQbjH.js → isEqual-pN6Ih18F.js} +2 -2
- package/dist/assets/{isEqual-DdkrQbjH.js.map → isEqual-pN6Ih18F.js.map} +1 -1
- package/dist/assets/{refresh-CCIG6-IB.js → refresh-BTQLK-UW.js} +2 -2
- package/dist/assets/{refresh-CCIG6-IB.js.map → refresh-BTQLK-UW.js.map} +1 -1
- package/dist/assets/{refresh-legacy-CchIU9Mh.js → refresh-legacy-Cv7RM_sm.js} +2 -2
- package/dist/assets/{refresh-legacy-CchIU9Mh.js.map → refresh-legacy-Cv7RM_sm.js.map} +1 -1
- package/dist/assets/{tip-BM0xMiq8.js → tip-DQo-E_Pu.js} +2 -2
- package/dist/assets/{tip-BM0xMiq8.js.map → tip-DQo-E_Pu.js.map} +1 -1
- package/dist/assets/{tip-legacy-DpAPUNpm.js → tip-legacy-Ci60OMi9.js} +2 -2
- package/dist/assets/{tip-legacy-DpAPUNpm.js.map → tip-legacy-Ci60OMi9.js.map} +1 -1
- package/dist/assets/validator-CZlzBDi2.js +2 -0
- package/dist/assets/{validator-DG4_rB-x.js.map → validator-CZlzBDi2.js.map} +1 -1
- package/dist/assets/validator-legacy-D-pC1hkO.js +2 -0
- package/dist/assets/{validator-legacy-CN5REdqi.js.map → validator-legacy-D-pC1hkO.js.map} +1 -1
- package/dist/index.html +2 -2
- package/package.json +4 -3
- package/dist/assets/index-ITkwOdUc.js +0 -2
- package/dist/assets/index-ITkwOdUc.js.map +0 -1
- package/dist/assets/index-legacy-DVOM8HaY.js.map +0 -1
- package/dist/assets/validator-DG4_rB-x.js +0 -2
- package/dist/assets/validator-legacy-CN5REdqi.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-legacy-CUZgiMNa.js","sources":["../../src/apis/modules/wish.ts","../../src/pages/dashboard/manage/wish/index.vue"],"sourcesContent":["import { WishStatus } from '@/constants'\nimport ajax from '../ajax'\n\nfunction addWish(wish: Partial<WishApiTypes.Wish>): WishApiTypes.addWish {\n return ajax.post('/wish/add', wish)\n}\n\nfunction findAllWish(): WishApiTypes.allWishData {\n return ajax.get('/wish/all')\n}\n\nfunction updateWishStatus(\n id: string,\n status: WishStatus\n): WishApiTypes.updateWish {\n return ajax.put('/wish/update', { id, status })\n}\n\nfunction updateWishDes(\n id: string,\n title: string,\n des: string\n): WishApiTypes.updateWish {\n return ajax.put(`/wish/update/${id}`, { title, des })\n}\nexport default {\n addWish,\n findAllWish,\n updateWishStatus,\n updateWishDes\n}\n","<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport {\n computed,\n onMounted,\n reactive,\n ref,\n} from 'vue'\nimport { Search } from '@element-plus/icons-vue'\nimport { WishApi } from '@/apis'\nimport { formatDate } from '@/utils/stringUtil'\nimport { WishStatus } from '@/constants'\nimport { useIsMobile } from '@/composables'\n\nconst wishes = reactive<WishApiTypes.WishItem[]>([])\nfunction refreshWishes() {\n WishApi.findAllWish().then((v) => {\n wishes.splice(0, wishes.length, ...v.data)\n })\n}\n\n// 筛选状态\nconst filterLogType = ref(-1)\nconst searchWord = ref('')\nconst logTypeList = reactive([\n {\n label: '待审核',\n type: WishStatus.REVIEW,\n },\n {\n label: '待开始',\n type: WishStatus.WAIT,\n },\n {\n label: '关闭',\n type: WishStatus.CLOSE,\n },\n {\n label: '已上线',\n type: WishStatus.END,\n },\n {\n label: '开发中',\n type: WishStatus.START,\n },\n])\n\nconst filterWishes = computed(() => wishes\n .filter(v => v.status === filterLogType.value || filterLogType.value === -1)\n .filter((v) => {\n const {\n createDate,\n title,\n des,\n contact,\n } = v\n if (searchWord.value.length === 0)\n return true\n return `${formatDate(new Date(createDate))} ${title} ${des} ${contact}`.includes(searchWord.value)\n }))\n\n// 分页\nconst pageSize = ref(10)\nfunction handleSizeChange(v: number) {\n pageSize.value = v\n}\nconst pageCount = computed(() => {\n const t = Math.ceil(filterWishes.value.length / pageSize.value)\n return t\n})\nconst pageCurrent = ref(1)\nconst pageWishes = computed(() => {\n const start = (pageCurrent.value - 1) * pageSize.value\n const end = (pageCurrent.value) * pageSize.value\n return filterWishes.value.slice(start, end)\n})\nfunction handlePageChange(idx: number) {\n pageCurrent.value = idx\n}\n\n// 状态修改\nconst showWishStatusDialog = ref(false)\nconst selectWishId = ref('')\nconst selectStatus = ref(WishStatus.REVIEW)\nconst wishStatusList = logTypeList\nfunction handleChangeStatus(wishId: string, status: WishStatus) {\n selectWishId.value = wishId\n selectStatus.value = status\n showWishStatusDialog.value = true\n}\nfunction handleSaveStatus() {\n const wish = wishes.find(v => v.id === selectWishId.value)\n wish.status = selectStatus.value\n showWishStatusDialog.value = false\n WishApi\n .updateWishStatus(selectWishId.value, selectStatus.value)\n .then(() => {\n ElMessage.success('修改成功')\n })\n}\n\n// 描述信息修改\nconst formLabelWidth = '80px'\nconst desVisible = ref(false)\nconst formData = reactive({\n title: '',\n des: '',\n})\nfunction handleRewriteDes(id: string, title: string, des: string) {\n selectWishId.value = id\n formData.title = title\n formData.des = des\n desVisible.value = true\n}\nfunction handleUpdateWish() {\n const wish = wishes.find(v => v.id === selectWishId.value)\n WishApi\n .updateWishDes(selectWishId.value, formData.title, formData.des)\n .then(() => {\n desVisible.value = false\n wish.title = formData.title\n wish.des = formData.des\n ElMessage.success('修改成功')\n })\n}\nonMounted(() => {\n refreshWishes()\n})\n\nconst isMobile = useIsMobile()\n</script>\n\n<template>\n <div class=\"user\">\n <div class=\"panel\">\n <div class=\"p10 log-filter\">\n <span class=\"item\">\n <span class=\"label\">状态</span>\n <el-select v-model=\"filterLogType\" size=\"default\" placeholder=\"请选择筛选状态\">\n <el-option label=\"全部\" :value=\"-1\" />\n <el-option v-for=\"(item, idx) in logTypeList\" :key=\"idx\" :label=\"item.label\" :value=\"item.type\" />\n </el-select>\n </span>\n <span class=\"item\">\n <el-input v-model=\"searchWord\" size=\"default\" clearable placeholder=\"请输入要检索的内容\" :prefix-icon=\"Search\" />\n </span>\n </div>\n <el-table\n height=\"550\" stripe border :default-sort=\"{ prop: 'date', order: 'descending' }\" :data=\"pageWishes\"\n style=\"width: 100%\"\n >\n <el-table-column sortable prop=\"createDate\" label=\"提交时间\" width=\"190\">\n <template #default=\"scope\">\n {{ scope.row.createDate && formatDate(new Date(scope.row.createDate)) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"title\" label=\"标题\" width=\"120\" />\n <el-table-column prop=\"des\" label=\"详细描述\" />\n <el-table-column prop=\"contact\" label=\"联系方式\" />\n <el-table-column prop=\"status\" label=\"状态\">\n <template #default=\"scope\">\n {{ logTypeList.find(v => v.type === scope.row.status).label }}\n </template>\n </el-table-column>\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\n <template #default=\"scope\">\n <div class=\"text-btn-list\">\n <el-button type=\"primary\" text size=\"small\" @click=\"handleChangeStatus(scope.row.id, scope.row.status)\">\n 修改状态\n </el-button>\n <el-button\n type=\"primary\" text size=\"small\"\n @click=\"handleRewriteDes(scope.row.id, scope.row.title, scope.row.des)\"\n >\n 修改描述\n </el-button>\n </div>\n </template>\n </el-table-column>\n </el-table>\n <div class=\"flex fc p10\">\n <el-pagination\n :current-page=\"pageCurrent\" background :page-count=\"pageCount\" :page-sizes=\"[10, 50, 100, 200]\"\n :page-size=\"pageSize\" :total=\"filterWishes.length\" layout=\"total, sizes, prev, pager, next, jumper\"\n @current-change=\"handlePageChange\" @size-change=\"handleSizeChange\"\n />\n </div>\n </div>\n <!-- 状态修改弹窗 -->\n <el-dialog v-model=\"showWishStatusDialog\" :fullscreen=\"isMobile\" center title=\"状态修改\">\n <div class=\"tc\">\n <el-select v-model=\"selectStatus\" placeholder=\"请选择新状态\">\n <el-option v-for=\"s in wishStatusList\" :key=\"s.type\" :label=\"s.label\" :value=\"s.type\" />\n </el-select>\n </div>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"showWishStatusDialog = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"handleSaveStatus\">确 定</el-button>\n </span>\n </template>\n </el-dialog>\n\n <!-- 需求描述更新弹窗 -->\n <el-dialog v-model=\"desVisible\" title=\"需求信息\" :fullscreen=\"isMobile\">\n <el-form :model=\"formData\">\n <el-form-item label=\"需求\" :label-width=\"formLabelWidth\">\n <el-input v-model=\"formData.title\" placeholder=\"一句简单明了的话概括一下\" />\n </el-form-item>\n <el-form-item label=\"详细描述\" :label-width=\"formLabelWidth\">\n <el-input v-model=\"formData.des\" placeholder=\"用朴素的话语进一步描述你的需求\" type=\"textarea\" />\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"desVisible = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"handleUpdateWish\">确 定</el-button>\n </span>\n </template>\n </el-dialog>\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 .log-filter {\n justify-content: center;\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\n.log-filter {\n display: flex;\n flex-wrap: wrap;\n\n .item {\n margin-right: 10px;\n margin-bottom: 10px;\n\n .label {\n margin-right: 10px;\n font-size: 12px;\n }\n }\n}\n\n.text-btn-list {\n display: flex;\n flex-wrap: wrap;\n\n button {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["WishApi","addWish","wish","ajax","post","findAllWish","get","updateWishStatus","id","status","put","updateWishDes","title","des","formLabelWidth","wishes","reactive","filterLogType","ref","searchWord","logTypeList","label","type","WishStatus","REVIEW","WAIT","CLOSE","END","START","filterWishes","computed","filter","v","value","createDate","contact","length","formatDate","Date","includes","pageSize","handleSizeChange","pageCount","Math","ceil","pageCurrent","pageWishes","start","end","slice","handlePageChange","idx","showWishStatusDialog","selectWishId","selectStatus","wishStatusList","handleSaveStatus","find","then","ElMessage","success","desVisible","formData","handleUpdateWish","onMounted","splice","data","isMobile","useIsMobile","wishId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-legacy-Qibh5ehq.js","sources":["../../src/apis/modules/wish.ts","../../src/pages/dashboard/manage/wish/index.vue"],"sourcesContent":["import { WishStatus } from '@/constants'\nimport ajax from '../ajax'\n\nfunction addWish(wish: Partial<WishApiTypes.Wish>): WishApiTypes.addWish {\n return ajax.post('/wish/add', wish)\n}\n\nfunction findAllWish(): WishApiTypes.allWishData {\n return ajax.get('/wish/all')\n}\n\nfunction updateWishStatus(\n id: string,\n status: WishStatus\n): WishApiTypes.updateWish {\n return ajax.put('/wish/update', { id, status })\n}\n\nfunction updateWishDes(\n id: string,\n title: string,\n des: string\n): WishApiTypes.updateWish {\n return ajax.put(`/wish/update/${id}`, { title, des })\n}\nexport default {\n addWish,\n findAllWish,\n updateWishStatus,\n updateWishDes\n}\n","<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport {\n computed,\n onMounted,\n reactive,\n ref,\n} from 'vue'\nimport { Search } from '@element-plus/icons-vue'\nimport { WishApi } from '@/apis'\nimport { formatDate } from '@/utils/stringUtil'\nimport { WishStatus } from '@/constants'\nimport { useIsMobile } from '@/composables'\n\nconst wishes = reactive<WishApiTypes.WishItem[]>([])\nfunction refreshWishes() {\n WishApi.findAllWish().then((v) => {\n wishes.splice(0, wishes.length, ...v.data)\n })\n}\n\n// 筛选状态\nconst filterLogType = ref(-1)\nconst searchWord = ref('')\nconst logTypeList = reactive([\n {\n label: '待审核',\n type: WishStatus.REVIEW,\n },\n {\n label: '待开始',\n type: WishStatus.WAIT,\n },\n {\n label: '关闭',\n type: WishStatus.CLOSE,\n },\n {\n label: '已上线',\n type: WishStatus.END,\n },\n {\n label: '开发中',\n type: WishStatus.START,\n },\n])\n\nconst filterWishes = computed(() => wishes\n .filter(v => v.status === filterLogType.value || filterLogType.value === -1)\n .filter((v) => {\n const {\n createDate,\n title,\n des,\n contact,\n } = v\n if (searchWord.value.length === 0)\n return true\n return `${formatDate(new Date(createDate))} ${title} ${des} ${contact}`.includes(searchWord.value)\n }))\n\n// 分页\nconst pageSize = ref(10)\nfunction handleSizeChange(v: number) {\n pageSize.value = v\n}\nconst pageCount = computed(() => {\n const t = Math.ceil(filterWishes.value.length / pageSize.value)\n return t\n})\nconst pageCurrent = ref(1)\nconst pageWishes = computed(() => {\n const start = (pageCurrent.value - 1) * pageSize.value\n const end = (pageCurrent.value) * pageSize.value\n return filterWishes.value.slice(start, end)\n})\nfunction handlePageChange(idx: number) {\n pageCurrent.value = idx\n}\n\n// 状态修改\nconst showWishStatusDialog = ref(false)\nconst selectWishId = ref('')\nconst selectStatus = ref(WishStatus.REVIEW)\nconst wishStatusList = logTypeList\nfunction handleChangeStatus(wishId: string, status: WishStatus) {\n selectWishId.value = wishId\n selectStatus.value = status\n showWishStatusDialog.value = true\n}\nfunction handleSaveStatus() {\n const wish = wishes.find(v => v.id === selectWishId.value)\n wish.status = selectStatus.value\n showWishStatusDialog.value = false\n WishApi\n .updateWishStatus(selectWishId.value, selectStatus.value)\n .then(() => {\n ElMessage.success('修改成功')\n })\n}\n\n// 描述信息修改\nconst formLabelWidth = '80px'\nconst desVisible = ref(false)\nconst formData = reactive({\n title: '',\n des: '',\n})\nfunction handleRewriteDes(id: string, title: string, des: string) {\n selectWishId.value = id\n formData.title = title\n formData.des = des\n desVisible.value = true\n}\nfunction handleUpdateWish() {\n const wish = wishes.find(v => v.id === selectWishId.value)\n WishApi\n .updateWishDes(selectWishId.value, formData.title, formData.des)\n .then(() => {\n desVisible.value = false\n wish.title = formData.title\n wish.des = formData.des\n ElMessage.success('修改成功')\n })\n}\nonMounted(() => {\n refreshWishes()\n})\n\nconst isMobile = useIsMobile()\n</script>\n\n<template>\n <div class=\"user\">\n <div class=\"panel\">\n <div class=\"p10 log-filter\">\n <span class=\"item\">\n <span class=\"label\">状态</span>\n <el-select v-model=\"filterLogType\" size=\"default\" placeholder=\"请选择筛选状态\">\n <el-option label=\"全部\" :value=\"-1\" />\n <el-option v-for=\"(item, idx) in logTypeList\" :key=\"idx\" :label=\"item.label\" :value=\"item.type\" />\n </el-select>\n </span>\n <span class=\"item\">\n <el-input v-model=\"searchWord\" size=\"default\" clearable placeholder=\"请输入要检索的内容\" :prefix-icon=\"Search\" />\n </span>\n </div>\n <el-table\n height=\"550\" stripe border :default-sort=\"{ prop: 'date', order: 'descending' }\" :data=\"pageWishes\"\n style=\"width: 100%\"\n >\n <el-table-column sortable prop=\"createDate\" label=\"提交时间\" width=\"190\">\n <template #default=\"scope\">\n {{ scope.row.createDate && formatDate(new Date(scope.row.createDate)) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"title\" label=\"标题\" width=\"120\" />\n <el-table-column prop=\"des\" label=\"详细描述\" />\n <el-table-column prop=\"contact\" label=\"联系方式\" />\n <el-table-column prop=\"status\" label=\"状态\">\n <template #default=\"scope\">\n {{ logTypeList.find(v => v.type === scope.row.status).label }}\n </template>\n </el-table-column>\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\n <template #default=\"scope\">\n <div class=\"text-btn-list\">\n <el-button type=\"primary\" text size=\"small\" @click=\"handleChangeStatus(scope.row.id, scope.row.status)\">\n 修改状态\n </el-button>\n <el-button\n type=\"primary\" text size=\"small\"\n @click=\"handleRewriteDes(scope.row.id, scope.row.title, scope.row.des)\"\n >\n 修改描述\n </el-button>\n </div>\n </template>\n </el-table-column>\n </el-table>\n <div class=\"flex fc p10\">\n <el-pagination\n :current-page=\"pageCurrent\" background :page-count=\"pageCount\" :page-sizes=\"[10, 50, 100, 200]\"\n :page-size=\"pageSize\" :total=\"filterWishes.length\" layout=\"total, sizes, prev, pager, next, jumper\"\n @current-change=\"handlePageChange\" @size-change=\"handleSizeChange\"\n />\n </div>\n </div>\n <!-- 状态修改弹窗 -->\n <el-dialog v-model=\"showWishStatusDialog\" :fullscreen=\"isMobile\" center title=\"状态修改\">\n <div class=\"tc\">\n <el-select v-model=\"selectStatus\" placeholder=\"请选择新状态\">\n <el-option v-for=\"s in wishStatusList\" :key=\"s.type\" :label=\"s.label\" :value=\"s.type\" />\n </el-select>\n </div>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"showWishStatusDialog = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"handleSaveStatus\">确 定</el-button>\n </span>\n </template>\n </el-dialog>\n\n <!-- 需求描述更新弹窗 -->\n <el-dialog v-model=\"desVisible\" title=\"需求信息\" :fullscreen=\"isMobile\">\n <el-form :model=\"formData\">\n <el-form-item label=\"需求\" :label-width=\"formLabelWidth\">\n <el-input v-model=\"formData.title\" placeholder=\"一句简单明了的话概括一下\" />\n </el-form-item>\n <el-form-item label=\"详细描述\" :label-width=\"formLabelWidth\">\n <el-input v-model=\"formData.des\" placeholder=\"用朴素的话语进一步描述你的需求\" type=\"textarea\" />\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"desVisible = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"handleUpdateWish\">确 定</el-button>\n </span>\n </template>\n </el-dialog>\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 .log-filter {\n justify-content: center;\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\n.log-filter {\n display: flex;\n flex-wrap: wrap;\n\n .item {\n margin-right: 10px;\n margin-bottom: 10px;\n\n .label {\n margin-right: 10px;\n font-size: 12px;\n }\n }\n}\n\n.text-btn-list {\n display: flex;\n flex-wrap: wrap;\n\n button {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["WishApi","addWish","wish","ajax","post","findAllWish","get","updateWishStatus","id","status","put","updateWishDes","title","des","formLabelWidth","wishes","reactive","filterLogType","ref","searchWord","logTypeList","label","type","WishStatus","REVIEW","WAIT","CLOSE","END","START","filterWishes","computed","filter","v","value","createDate","contact","length","formatDate","Date","includes","pageSize","handleSizeChange","pageCount","Math","ceil","pageCurrent","pageWishes","start","end","slice","handlePageChange","idx","showWishStatusDialog","selectWishId","selectStatus","wishStatusList","handleSaveStatus","find","then","ElMessage","success","desVisible","formData","handleUpdateWish","onMounted","splice","data","isMobile","useIsMobile","wishId"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./index-legacy-BLKO-78a.js","./el-loading-legacy-CRJF51cp.js","./el-dialog-legacy-u4KST5yo.js","./el-pagination-legacy-C2E-fHif.js","./el-select-legacy-D4o92tvp.js","./el-table-column-legacy-C8A33Lav.js","./other-legacy-DjiCmSH4.js","./data-board-legacy-DfESxuEd.js","./refresh-legacy-CchIU9Mh.js","./data-analysis-legacy-CrjrJgyN.js","./index-legacy-6cMsZS3c.js","./isEqual-legacy-4dmPHJnc.js","./validator-legacy-CN5REdqi.js"],(function(e,a){"use strict";var l,t,n,o,r,s,i,c,u,d,p,v,g,m,f,h,x,b,y,w,z,C,V,j,k,$,_,H,M,S,E,D,B,I,L,O,U,P,T,q,F,J,N,A,G,K;return{setters:[e=>{l=e.g,t=e.d,n=e.a,o=e.c,r=e.b,s=e.r,i=e.Z,c=e.br,u=e.O,d=e.a7,p=e.o,v=e.i,g=e.a8,m=e.F,f=e.C,h=e.j,x=e.w,b=e.D,y=e.G,w=e.t,z=e.k,C=e.e,V=e.s,j=e.bs,k=e.E,$=e.ab,_=e.ad,H=e.I,M=e.v,S=e.x,E=e.p,D=e.f,B=e._},e=>{I=e.v},e=>{L=e.u,O=e.E},e=>{U=e.s,P=e.E},e=>{T=e.E,q=e.a},e=>{F=e.E,J=e.a},e=>{N=e.d},e=>{A=e.d},e=>{G=e.r},e=>{K=e.d},null,null,null],execute:function(){var a=ae.createElement("style");a.textContent="@media screen and (max-width: 700px){.card-list[data-v-2d96ccb5]{margin-top:40px}.card[data-v-2d96ccb5]{min-width:300px}.log-filter[data-v-2d96ccb5]{justify-content:center}}.overview[data-v-2d96ccb5]{margin:0 auto}.card-list[data-v-2d96ccb5]{display:flex;margin-top:20px;justify-content:center;flex-wrap:wrap}.card[data-v-2d96ccb5]{margin:10px;cursor:pointer;font-size:12px;position:relative;overflow:hidden;color:#666;background:#fff;box-shadow:4px 4px 40px rgba(0,0,0,.05);border-color:rgba(0,0,0,.05);min-width:300px}.card .logo[data-v-2d96ccb5]{float:left;margin:4px 10px 0;-webkit-transition:all .38s ease-out;transition:all .38s ease-out;border-radius:6px;font-size:48px}.card .logo i[data-v-2d96ccb5]{padding:10px}.card .content[data-v-2d96ccb5]{float:right;font-weight:700;margin:10px 10px 10px 0}.card .content .title[data-v-2d96ccb5]{line-height:18px;color:rgba(0,0,0,.45);font-size:14px;text-align:right}.card .content .text[data-v-2d96ccb5]{font-size:16px;text-align:right}.card .content .supplement[data-v-2d96ccb5]{font-size:12px;font-weight:lighter;text-align:right}.panel[data-v-2d96ccb5]{max-width:1024px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.log-filter[data-v-2d96ccb5]{display:flex;flex-wrap:wrap}.log-filter .item[data-v-2d96ccb5]{margin-right:10px;margin-bottom:10px}.log-filter .item .label[data-v-2d96ccb5]{margin-right:10px;font-size:12px}\n",ae.head.appendChild(a);const Z=t({name:"Coin"}),Q={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},R=[r("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),r("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),r("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1)];var W=l(Z,[["render",function(e,a,l,t,r,s){return n(),o("svg",Q,R)}]]);const X=t({name:"Document"}),Y={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ee=[r("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1)];var ae=l(X,[["render",function(e,a,l,t,r,s){return n(),o("svg",Y,ee)}]]);const le=t({name:"TakeawayBox"}),te={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ne=[r("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1)];var oe=l(le,[["render",function(e,a,l,t,r,s){return n(),o("svg",te,ne)}]]);const re=t({name:"Tickets"}),se={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ie=[r("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1)];var ce=l(re,[["render",function(e,a,l,t,r,s){return n(),o("svg",se,ie)}]]);const ue={class:"overview"},de={class:"card-list","element-loading-text":"Loading..."},pe={class:"logo"},ve={class:"content"},ge={class:"title"},me={class:"text"},fe={class:"supplement"},he={class:"panel"},xe={class:"p10 log-filter"},be={class:"item"},ye=(e=>(E("data-v-2d96ccb5"),e=e(),D(),e))((()=>r("span",{class:"label"},"类型",-1))),we={class:"item"},ze={class:"item"},Ce={class:"item"},Ve={class:"item"},je={class:"flex fc p10"},ke={class:"dialog-footer"},$e=t({__name:"index",setup(e){const a=L(),l=s(!1),t=i([{type:"user",title:"用户数量",value:"0",supplement:"较昨日 +0",icon:c,color:"#40c9c6"},{type:"file",title:"记录/OSS",value:"0",supplement:"记录较昨日 +0",icon:ae,color:"#36a3f7"},{type:"log",title:"日志数量",value:"0",supplement:"较昨日 +0",icon:ce,color:"#f4516c"},{type:"pv",title:"PV/UV",value:"0/0",supplement:"",icon:A,color:"#34bfa3"},{type:"compress",title:"归档&无效文件",value:"0/0KB",supplement:"已失效0个",icon:W,color:"#e38013"}]);function E(){l.value=!0,j.getCount().then((e=>{const{user:a,file:n,log:o,pv:r,compress:s}=e.data;t[0].value=`${a.sum}`,t[0].supplement=`较昨日 +${a.recent}`,t[1].value=`${n.server.sum}/${n.oss.sum} (${n.oss.size})`,t[1].supplement=`记录较昨日 +${n.server.recent}`,t[2].value=`${o.sum}`,t[2].supplement=`较昨日 +${o.recent}`,t[3].value=`${r.today.sum}/${r.today.uv}`,t[3].supplement=`历史: ${r.all.sum}/${r.all.uv}`,t[4].value=`${s.all.sum}/${s.all.size}`,t[4].supplement=`已失效 ${s.expired.sum}/${s.expired.size}`,l.value=!1}))}const D=s(!1);function B(){D.value=!0,j.clearExpiredCompressFile().then((()=>{setTimeout((()=>{k.success("清理成功,数据同步可能有延迟"),D.value=!1,E()}),2e3)}))}const Z=i([]),Q=s("behavior"),R=s(""),X=i([{label:"用户行为",type:"behavior"},{label:"网络请求",type:"request"},{label:"服务端错误",type:"error"},{label:"页面访问",type:"pv"}]),Y=s(10);function ee(e){Y.value=e}const le=s(0),te=u((()=>Math.ceil(le.value/Y.value))),ne=s(1);function re(e){ne.value=e}const se=N((()=>{j.getLogMsg(Y.value,ne.value,Q.value,R.value).then((e=>{Z.splice(0,Z.length),Z.push(...e.data.logs),le.value=e.data.sum}))}),100,!1);d((()=>{Q.value&&(ne.value=1)})),d((()=>{void 0!==R.value&&se()})),d((()=>{Q.value&&se()})),d((()=>{(ne.value||Y.value)&&se()}));const ie=s(!1),$e=s(""),_e=u((()=>{try{return JSON.parse($e.value)}catch(e){return{}}}));function He(){$($e.value)}function Me(){if(0===Z.length)return;const e=Z.map((e=>{const{date:a,ip:l,msg:t}=e;return[V(new Date(a)),l,t]}));_(["日期","IP","内容"],e,`导出日志_${Z.length}条${V(new Date,"yyyy年MM月日hh时mm分ss秒")}.xlsx`),k.success("导出成功")}return p((()=>{E()})),(e,s)=>{const i=H,c=T,u=q,d=M,p=S,k=F,$=J,_=P,E=v("json-viewer"),L=O,N=I;return n(),o("div",ue,[g((n(),o("div",de,[(n(!0),o(m,null,f(t,(e=>(n(),o("div",{key:e.type,class:"card"},[r("div",pe,[h(i,{color:e.color},{default:x((()=>[(n(),b(y(e.icon)))])),_:2},1032,["color"])]),r("div",ve,[r("div",ge,w(e.title),1),r("div",me,w(e.value),1),r("div",fe,w(e.supplement),1)])])))),128))])),[[N,l.value]]),r("div",he,[r("div",xe,[r("span",be,[ye,h(u,{modelValue:Q.value,"onUpdate:modelValue":s[0]||(s[0]=e=>Q.value=e),size:"default",placeholder:"请选择日志类型"},{default:x((()=>[(n(!0),o(m,null,f(X,((e,a)=>(n(),b(c,{key:a,label:e.label,value:e.type},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])]),r("span",we,[h(d,{modelValue:R.value,"onUpdate:modelValue":s[1]||(s[1]=e=>R.value=e),size:"default",clearable:"",placeholder:"请输入要检索的内容","prefix-icon":z(U)},null,8,["modelValue","prefix-icon"])]),r("span",ze,[h(p,{size:"default",icon:z(G),onClick:z(se)},{default:x((()=>[C("刷新")])),_:1},8,["icon","onClick"])]),r("span",Ce,[h(p,{size:"default",type:"primary",icon:z(K),onClick:Me},{default:x((()=>[C("导出日志 "+w(Z.length)+" 条",1)])),_:1},8,["icon"])]),r("span",Ve,[g((n(),b(p,{size:"default",type:"danger",icon:z(oe),disabled:D.value,onClick:B},{default:x((()=>[C("清理无效文件")])),_:1},8,["icon","disabled"])),[[N,D.value]])])]),h($,{"tooltip-effect":"dark",height:"400",stripe:"",border:"","default-sort":{prop:"date",order:"descending"},data:Z,style:{width:"100%"}},{default:x((()=>[h(k,{sortable:"",prop:"date",label:"日期",width:"180"},{default:x((e=>[C(w(z(V)(new Date(e.row.date))),1)])),_:1}),h(k,{sortable:"",prop:"ip",label:"IP",width:"100"}),h(k,{"min-width":"160",prop:"msg",label:"内容"}),h(k,{fixed:"right",label:"操作",width:"100"},{default:x((e=>[h(p,{type:"primary",text:"",size:"small",onClick:a=>{return l=e.row.id,void j.getLogMsgDetail(l).then((e=>{ie.value=!0,$e.value=JSON.stringify(e.data,null,2)}));var l}},{default:x((()=>[C(" 查看详情 ")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),r("div",je,[h(_,{"current-page":ne.value,background:"","page-count":te.value,"page-sizes":[10,50,100,200,500,1e3],"page-size":Y.value,total:le.value,layout:"total, sizes, prev, pager, next, jumper",onCurrentChange:re,onSizeChange:ee},null,8,["current-page","page-count","page-size","total"])])]),h(L,{modelValue:ie.value,"onUpdate:modelValue":s[3]||(s[3]=e=>ie.value=e),title:"详细信息",width:"50%",center:"",fullscreen:z(a)},{footer:x((()=>[r("span",ke,[h(p,{type:"default",onClick:He},{default:x((()=>[C("复制")])),_:1}),h(p,{type:"primary",onClick:s[2]||(s[2]=e=>ie.value=!1)},{default:x((()=>[C("确定")])),_:1})])])),default:x((()=>[h(E,{value:_e.value,"expand-depth":5,copyable:"",boxed:"",sort:""},null,8,["value"])])),_:1},8,["modelValue","fullscreen"])])}}});e("default",B($e,[["__scopeId","data-v-2d96ccb5"]]))}}}));
|
|
2
|
-
//# sourceMappingURL=index-legacy-
|
|
1
|
+
System.register(["./index-legacy-DC5-MYgp.js","./el-loading-legacy-CCDpn-BT.js","./el-dialog-legacy-CX7a77_4.js","./el-pagination-legacy-CAxn6D5y.js","./el-select-legacy-BI1YK9Jv.js","./el-table-column-legacy-BWpnrxZl.js","./other-legacy-DjiCmSH4.js","./data-board-legacy-mqcredpF.js","./refresh-legacy-Cv7RM_sm.js","./data-analysis-legacy-sXkPNcPD.js","./index-legacy-DiNZXmUs.js","./isEqual-legacy-DVLZyo95.js","./validator-legacy-D-pC1hkO.js"],(function(e,a){"use strict";var l,t,n,o,r,s,i,c,u,d,p,v,g,m,f,h,x,b,y,w,z,C,V,j,k,$,_,H,M,S,E,D,B,I,L,O,U,P,T,q,F,J,N,A,G,K;return{setters:[e=>{l=e.g,t=e.d,n=e.a,o=e.c,r=e.b,s=e.r,i=e.Z,c=e.br,u=e.O,d=e.a7,p=e.o,v=e.i,g=e.a8,m=e.F,f=e.C,h=e.j,x=e.w,b=e.D,y=e.G,w=e.t,z=e.k,C=e.e,V=e.s,j=e.bs,k=e.E,$=e.ab,_=e.ad,H=e.I,M=e.v,S=e.x,E=e.p,D=e.f,B=e._},e=>{I=e.v},e=>{L=e.u,O=e.E},e=>{U=e.s,P=e.E},e=>{T=e.E,q=e.a},e=>{F=e.E,J=e.a},e=>{N=e.d},e=>{A=e.d},e=>{G=e.r},e=>{K=e.d},null,null,null],execute:function(){var a=ae.createElement("style");a.textContent="@media screen and (max-width: 700px){.card-list[data-v-2d96ccb5]{margin-top:40px}.card[data-v-2d96ccb5]{min-width:300px}.log-filter[data-v-2d96ccb5]{justify-content:center}}.overview[data-v-2d96ccb5]{margin:0 auto}.card-list[data-v-2d96ccb5]{display:flex;margin-top:20px;justify-content:center;flex-wrap:wrap}.card[data-v-2d96ccb5]{margin:10px;cursor:pointer;font-size:12px;position:relative;overflow:hidden;color:#666;background:#fff;box-shadow:4px 4px 40px rgba(0,0,0,.05);border-color:rgba(0,0,0,.05);min-width:300px}.card .logo[data-v-2d96ccb5]{float:left;margin:4px 10px 0;-webkit-transition:all .38s ease-out;transition:all .38s ease-out;border-radius:6px;font-size:48px}.card .logo i[data-v-2d96ccb5]{padding:10px}.card .content[data-v-2d96ccb5]{float:right;font-weight:700;margin:10px 10px 10px 0}.card .content .title[data-v-2d96ccb5]{line-height:18px;color:rgba(0,0,0,.45);font-size:14px;text-align:right}.card .content .text[data-v-2d96ccb5]{font-size:16px;text-align:right}.card .content .supplement[data-v-2d96ccb5]{font-size:12px;font-weight:lighter;text-align:right}.panel[data-v-2d96ccb5]{max-width:1024px;padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.log-filter[data-v-2d96ccb5]{display:flex;flex-wrap:wrap}.log-filter .item[data-v-2d96ccb5]{margin-right:10px;margin-bottom:10px}.log-filter .item .label[data-v-2d96ccb5]{margin-right:10px;font-size:12px}\n",ae.head.appendChild(a);const Z=t({name:"Coin"}),Q={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},R=[r("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),r("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),r("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1)];var W=l(Z,[["render",function(e,a,l,t,r,s){return n(),o("svg",Q,R)}]]);const X=t({name:"Document"}),Y={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ee=[r("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1)];var ae=l(X,[["render",function(e,a,l,t,r,s){return n(),o("svg",Y,ee)}]]);const le=t({name:"TakeawayBox"}),te={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ne=[r("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1)];var oe=l(le,[["render",function(e,a,l,t,r,s){return n(),o("svg",te,ne)}]]);const re=t({name:"Tickets"}),se={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ie=[r("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1)];var ce=l(re,[["render",function(e,a,l,t,r,s){return n(),o("svg",se,ie)}]]);const ue={class:"overview"},de={class:"card-list","element-loading-text":"Loading..."},pe={class:"logo"},ve={class:"content"},ge={class:"title"},me={class:"text"},fe={class:"supplement"},he={class:"panel"},xe={class:"p10 log-filter"},be={class:"item"},ye=(e=>(E("data-v-2d96ccb5"),e=e(),D(),e))((()=>r("span",{class:"label"},"类型",-1))),we={class:"item"},ze={class:"item"},Ce={class:"item"},Ve={class:"item"},je={class:"flex fc p10"},ke={class:"dialog-footer"},$e=t({__name:"index",setup(e){const a=L(),l=s(!1),t=i([{type:"user",title:"用户数量",value:"0",supplement:"较昨日 +0",icon:c,color:"#40c9c6"},{type:"file",title:"记录/OSS",value:"0",supplement:"记录较昨日 +0",icon:ae,color:"#36a3f7"},{type:"log",title:"日志数量",value:"0",supplement:"较昨日 +0",icon:ce,color:"#f4516c"},{type:"pv",title:"PV/UV",value:"0/0",supplement:"",icon:A,color:"#34bfa3"},{type:"compress",title:"归档&无效文件",value:"0/0KB",supplement:"已失效0个",icon:W,color:"#e38013"}]);function E(){l.value=!0,j.getCount().then((e=>{const{user:a,file:n,log:o,pv:r,compress:s}=e.data;t[0].value=`${a.sum}`,t[0].supplement=`较昨日 +${a.recent}`,t[1].value=`${n.server.sum}/${n.oss.sum} (${n.oss.size})`,t[1].supplement=`记录较昨日 +${n.server.recent}`,t[2].value=`${o.sum}`,t[2].supplement=`较昨日 +${o.recent}`,t[3].value=`${r.today.sum}/${r.today.uv}`,t[3].supplement=`历史: ${r.all.sum}/${r.all.uv}`,t[4].value=`${s.all.sum}/${s.all.size}`,t[4].supplement=`已失效 ${s.expired.sum}/${s.expired.size}`,l.value=!1}))}const D=s(!1);function B(){D.value=!0,j.clearExpiredCompressFile().then((()=>{setTimeout((()=>{k.success("清理成功,数据同步可能有延迟"),D.value=!1,E()}),2e3)}))}const Z=i([]),Q=s("behavior"),R=s(""),X=i([{label:"用户行为",type:"behavior"},{label:"网络请求",type:"request"},{label:"服务端错误",type:"error"},{label:"页面访问",type:"pv"}]),Y=s(10);function ee(e){Y.value=e}const le=s(0),te=u((()=>Math.ceil(le.value/Y.value))),ne=s(1);function re(e){ne.value=e}const se=N((()=>{j.getLogMsg(Y.value,ne.value,Q.value,R.value).then((e=>{Z.splice(0,Z.length),Z.push(...e.data.logs),le.value=e.data.sum}))}),100,!1);d((()=>{Q.value&&(ne.value=1)})),d((()=>{void 0!==R.value&&se()})),d((()=>{Q.value&&se()})),d((()=>{(ne.value||Y.value)&&se()}));const ie=s(!1),$e=s(""),_e=u((()=>{try{return JSON.parse($e.value)}catch(e){return{}}}));function He(){$($e.value)}function Me(){if(0===Z.length)return;const e=Z.map((e=>{const{date:a,ip:l,msg:t}=e;return[V(new Date(a)),l,t]}));_(["日期","IP","内容"],e,`导出日志_${Z.length}条${V(new Date,"yyyy年MM月日hh时mm分ss秒")}.xlsx`),k.success("导出成功")}return p((()=>{E()})),(e,s)=>{const i=H,c=T,u=q,d=M,p=S,k=F,$=J,_=P,E=v("json-viewer"),L=O,N=I;return n(),o("div",ue,[g((n(),o("div",de,[(n(!0),o(m,null,f(t,(e=>(n(),o("div",{key:e.type,class:"card"},[r("div",pe,[h(i,{color:e.color},{default:x((()=>[(n(),b(y(e.icon)))])),_:2},1032,["color"])]),r("div",ve,[r("div",ge,w(e.title),1),r("div",me,w(e.value),1),r("div",fe,w(e.supplement),1)])])))),128))])),[[N,l.value]]),r("div",he,[r("div",xe,[r("span",be,[ye,h(u,{modelValue:Q.value,"onUpdate:modelValue":s[0]||(s[0]=e=>Q.value=e),size:"default",placeholder:"请选择日志类型"},{default:x((()=>[(n(!0),o(m,null,f(X,((e,a)=>(n(),b(c,{key:a,label:e.label,value:e.type},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])]),r("span",we,[h(d,{modelValue:R.value,"onUpdate:modelValue":s[1]||(s[1]=e=>R.value=e),size:"default",clearable:"",placeholder:"请输入要检索的内容","prefix-icon":z(U)},null,8,["modelValue","prefix-icon"])]),r("span",ze,[h(p,{size:"default",icon:z(G),onClick:z(se)},{default:x((()=>[C("刷新")])),_:1},8,["icon","onClick"])]),r("span",Ce,[h(p,{size:"default",type:"primary",icon:z(K),onClick:Me},{default:x((()=>[C("导出日志 "+w(Z.length)+" 条",1)])),_:1},8,["icon"])]),r("span",Ve,[g((n(),b(p,{size:"default",type:"danger",icon:z(oe),disabled:D.value,onClick:B},{default:x((()=>[C("清理无效文件")])),_:1},8,["icon","disabled"])),[[N,D.value]])])]),h($,{"tooltip-effect":"dark",height:"400",stripe:"",border:"","default-sort":{prop:"date",order:"descending"},data:Z,style:{width:"100%"}},{default:x((()=>[h(k,{sortable:"",prop:"date",label:"日期",width:"180"},{default:x((e=>[C(w(z(V)(new Date(e.row.date))),1)])),_:1}),h(k,{sortable:"",prop:"ip",label:"IP",width:"100"}),h(k,{"min-width":"160",prop:"msg",label:"内容"}),h(k,{fixed:"right",label:"操作",width:"100"},{default:x((e=>[h(p,{type:"primary",text:"",size:"small",onClick:a=>{return l=e.row.id,void j.getLogMsgDetail(l).then((e=>{ie.value=!0,$e.value=JSON.stringify(e.data,null,2)}));var l}},{default:x((()=>[C(" 查看详情 ")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),r("div",je,[h(_,{"current-page":ne.value,background:"","page-count":te.value,"page-sizes":[10,50,100,200,500,1e3],"page-size":Y.value,total:le.value,layout:"total, sizes, prev, pager, next, jumper",onCurrentChange:re,onSizeChange:ee},null,8,["current-page","page-count","page-size","total"])])]),h(L,{modelValue:ie.value,"onUpdate:modelValue":s[3]||(s[3]=e=>ie.value=e),title:"详细信息",width:"50%",center:"",fullscreen:z(a)},{footer:x((()=>[r("span",ke,[h(p,{type:"default",onClick:He},{default:x((()=>[C("复制")])),_:1}),h(p,{type:"primary",onClick:s[2]||(s[2]=e=>ie.value=!1)},{default:x((()=>[C("确定")])),_:1})])])),default:x((()=>[h(E,{value:_e.value,"expand-depth":5,copyable:"",boxed:"",sort:""},null,8,["value"])])),_:1},8,["modelValue","fullscreen"])])}}});e("default",B($e,[["__scopeId","data-v-2d96ccb5"]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy-gQf30T09.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-legacy-bElvuK5I.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/coin.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/document.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/takeaway-box.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/tickets.mjs","../../src/pages/dashboard/manage/overview/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Coin\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar coin = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { coin as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Document\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar document = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { document as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"TakeawayBox\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar takeawayBox = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { takeawayBox as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Tickets\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar tickets = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { tickets as default };\n","<script lang=\"ts\" setup>\nimport { computed, onMounted, reactive, ref, watchEffect } from 'vue'\nimport {\n Coin,\n DataAnalysis,\n DataBoard,\n Document,\n Refresh,\n Search,\n TakeawayBox,\n Tickets,\n User,\n} from '@element-plus/icons-vue'\nimport { ElMessage } from 'element-plus'\nimport { SuperOverviewApi } from '@/apis'\nimport { copyRes, formatDate } from '@/utils/stringUtil'\nimport { tableToExcel } from '@/utils/networkUtil'\nimport { debounce } from '@/utils/other'\nimport { useIsMobile } from '@/composables'\n\nconst isMobile = useIsMobile()\n\nconst isLoadingOverview = ref(false)\nconst cardList = reactive([\n {\n type: 'user',\n title: '用户数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: User,\n color: '#40c9c6',\n },\n {\n type: 'file',\n title: '记录/OSS',\n value: '0',\n supplement: '记录较昨日 +0',\n icon: Document,\n color: '#36a3f7',\n },\n {\n type: 'log',\n title: '日志数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: Tickets,\n color: '#f4516c',\n },\n {\n type: 'pv',\n title: 'PV/UV',\n value: '0/0',\n supplement: '',\n icon: DataBoard,\n color: '#34bfa3',\n },\n {\n type: 'compress',\n title: '归档&无效文件',\n value: '0/0KB',\n supplement: '已失效0个',\n icon: Coin,\n color: '#e38013',\n },\n])\n// 刷新记录条数\nfunction refreshCount() {\n isLoadingOverview.value = true\n SuperOverviewApi.getCount().then((res) => {\n const { user, file, log, pv, compress } = res.data\n cardList[0].value = `${user.sum}`\n cardList[0].supplement = `较昨日 +${user.recent}`\n cardList[1].value = `${file.server.sum}/${file.oss.sum} (${file.oss.size})`\n cardList[1].supplement = `记录较昨日 +${file.server.recent}`\n cardList[2].value = `${log.sum}`\n cardList[2].supplement = `较昨日 +${log.recent}`\n cardList[3].value = `${pv.today.sum}/${pv.today.uv}`\n cardList[3].supplement = `历史: ${pv.all.sum}/${pv.all.uv}`\n cardList[4].value = `${compress.all.sum}/${compress.all.size}`\n cardList[4].supplement = `已失效 ${compress.expired.sum}/${compress.expired.size}`\n isLoadingOverview.value = false\n })\n}\n\nconst disableDelete = ref(false)\nfunction clearExpiredCompressFile() {\n disableDelete.value = true\n SuperOverviewApi.clearExpiredCompressFile().then(() => {\n setTimeout(() => {\n ElMessage.success('清理成功,数据同步可能有延迟')\n disableDelete.value = false\n refreshCount()\n }, 2000)\n })\n}\n\n// 日志\nconst logs: any[] = reactive([])\n\n// function getLogsTypeText(type: string) {\n// const logsTypeText: any = {\n// request: '网络请求',\n// behavior: '用户行为',\n// error: '错误',\n// pv: '页面访问',\n// }\n// return logsTypeText[type]\n// }\n// 筛选的日志\nconst filterLogType = ref('behavior')\nconst searchWord = ref('')\nconst logTypeList = reactive([\n {\n label: '用户行为',\n type: 'behavior',\n },\n {\n label: '网络请求',\n type: 'request',\n },\n {\n label: '服务端错误',\n type: 'error',\n },\n {\n label: '页面访问',\n type: 'pv',\n },\n])\n\n// 分页\n// 页大小\nconst pageSize = ref(10)\nfunction handleSizeChange(v: number) {\n pageSize.value = v\n}\n// 总条数\nconst logSumCount = ref(0)\nconst pageCount = computed(() => {\n const t = Math.ceil(logSumCount.value / pageSize.value)\n return t\n})\nconst pageCurrent = ref(1)\nfunction handlePageChange(idx: number) {\n pageCurrent.value = idx\n}\n\nconst refreshLogs = debounce(\n () => {\n SuperOverviewApi.getLogMsg(\n pageSize.value,\n pageCurrent.value,\n filterLogType.value,\n searchWord.value,\n ).then((res) => {\n logs.splice(0, logs.length)\n logs.push(...res.data.logs)\n logSumCount.value = res.data.sum\n })\n },\n 100,\n false,\n)\n\nwatchEffect(() => {\n if (filterLogType.value) {\n pageCurrent.value = 1\n }\n})\n\nwatchEffect(() => {\n if (searchWord.value !== undefined) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (filterLogType.value) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (pageCurrent.value || pageSize.value) {\n refreshLogs()\n }\n})\n\nconst showDetail = ref(false)\nconst showData = ref('')\nfunction handleDetail(id) {\n SuperOverviewApi.getLogMsgDetail(id).then((res) => {\n showDetail.value = true\n showData.value = JSON.stringify(res.data, null, 2)\n })\n}\nconst jsonData = computed(() => {\n try {\n return JSON.parse(showData.value)\n }\n catch (e) {\n return {}\n }\n})\nfunction handleCopyDetail() {\n copyRes(showData.value)\n}\n\nfunction exportLogData() {\n if (logs.length === 0) {\n return\n }\n const headers = ['日期', 'IP', '内容']\n const body = logs.map((v) => {\n const { date, ip, msg } = v\n return [formatDate(new Date(date)), ip, msg]\n })\n tableToExcel(\n headers,\n body,\n `导出日志_${logs.length}条${formatDate(\n new Date(),\n 'yyyy年MM月日hh时mm分ss秒',\n )}.xlsx`,\n )\n ElMessage.success('导出成功')\n}\nonMounted(() => {\n refreshCount()\n})\n</script>\n\n<template>\n <div class=\"overview\">\n <div\n v-loading=\"isLoadingOverview\"\n class=\"card-list\"\n element-loading-text=\"Loading...\"\n >\n <div v-for=\"c in cardList\" :key=\"c.type\" class=\"card\">\n <div class=\"logo\">\n <el-icon :color=\"c.color\">\n <component :is=\"c.icon\" />\n </el-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">\n {{ c.title }}\n </div>\n <div class=\"text\">\n {{ c.value }}\n </div>\n <div class=\"supplement\">\n {{ c.supplement }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"panel\">\n <div class=\"p10 log-filter\">\n <span class=\"item\">\n <span class=\"label\">类型</span>\n <el-select\n v-model=\"filterLogType\"\n size=\"default\"\n placeholder=\"请选择日志类型\"\n >\n <el-option\n v-for=\"(item, idx) in logTypeList\"\n :key=\"idx\"\n :label=\"item.label\"\n :value=\"item.type\"\n />\n </el-select>\n </span>\n <span class=\"item\">\n <el-input\n v-model=\"searchWord\"\n size=\"default\"\n clearable\n placeholder=\"请输入要检索的内容\"\n :prefix-icon=\"Search\"\n />\n </span>\n <span class=\"item\">\n <el-button size=\"default\" :icon=\"Refresh\" @click=\"refreshLogs\">刷新</el-button>\n </span>\n <span class=\"item\">\n <el-button\n size=\"default\"\n type=\"primary\"\n :icon=\"DataAnalysis\"\n @click=\"exportLogData\"\n >导出日志 {{ logs.length }} 条</el-button>\n </span>\n <span class=\"item\">\n <el-button\n v-loading=\"disableDelete\"\n size=\"default\"\n type=\"danger\"\n :icon=\"TakeawayBox\"\n :disabled=\"disableDelete\"\n @click=\"clearExpiredCompressFile\"\n >清理无效文件</el-button>\n </span>\n </div>\n <el-table\n tooltip-effect=\"dark\"\n height=\"400\"\n stripe\n border\n :default-sort=\"{ prop: 'date', order: 'descending' }\"\n :data=\"logs\"\n style=\"width: 100%\"\n >\n <el-table-column sortable prop=\"date\" label=\"日期\" width=\"180\">\n <template #default=\"scope\">\n {{\n formatDate(new Date(scope.row.date))\n }}\n </template>\n </el-table-column>\n <!-- <el-table-column prop=\"type\" label=\"类型\" width=\"100\">\n <template #default=\"scope\">{{ getLogsTypeText(scope.row.type) }}</template>\n </el-table-column> -->\n <el-table-column\n sortable\n prop=\"ip\"\n label=\"IP\"\n width=\"100\"\n />\n <el-table-column\n min-width=\"160\"\n prop=\"msg\"\n label=\"内容\"\n />\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\n <template #default=\"scope\">\n <el-button\n type=\"primary\"\n text\n size=\"small\"\n @click=\"handleDetail(scope.row.id)\"\n >\n 查看详情\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n\n <div class=\"flex fc p10\">\n <el-pagination\n :current-page=\"pageCurrent\"\n background\n :page-count=\"pageCount\"\n :page-sizes=\"[10, 50, 100, 200, 500, 1000]\"\n :page-size=\"pageSize\"\n :total=\"logSumCount\"\n layout=\"total, sizes, prev, pager, next, jumper\"\n @current-change=\"handlePageChange\"\n @size-change=\"handleSizeChange\"\n />\n </div>\n </div>\n <el-dialog\n v-model=\"showDetail\"\n title=\"详细信息\"\n width=\"50%\"\n center\n :fullscreen=\"isMobile\"\n >\n <json-viewer\n :value=\"jsonData\"\n :expand-depth=\"5\"\n copyable\n boxed\n sort\n />\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button type=\"default\" @click=\"handleCopyDetail\">复制</el-button>\n <el-button type=\"primary\" @click=\"showDetail = false\">确定</el-button>\n </span>\n </template>\n </el-dialog>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .card-list {\n margin-top: 40px;\n }\n\n .card {\n min-width: 300px;\n }\n\n .log-filter {\n justify-content: center;\n }\n}\n\n.overview {\n margin: 0 auto;\n}\n\n.card-list {\n display: flex;\n margin-top: 20px;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.card {\n margin: 10px;\n cursor: pointer;\n font-size: 12px;\n position: relative;\n overflow: hidden;\n color: #666;\n background: #fff;\n box-shadow: 4px 4px 40px rgb(0 0 0 / 5%);\n border-color: rgba(0, 0, 0, 0.05);\n min-width: 300px;\n\n .logo {\n float: left;\n margin: 4px 10px 0 10px;\n -webkit-transition: all 0.38s ease-out;\n transition: all 0.38s ease-out;\n border-radius: 6px;\n font-size: 48px;\n\n i {\n padding: 10px;\n }\n }\n\n .content {\n float: right;\n font-weight: 700;\n margin: 10px;\n margin-left: 0;\n\n .title {\n line-height: 18px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n text-align: right;\n }\n\n .text {\n font-size: 16px;\n text-align: right;\n }\n\n .supplement {\n font-size: 12px;\n font-weight: lighter;\n text-align: right;\n }\n }\n}\n\n.panel {\n max-width: 1024px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n}\n\n.log-filter {\n display: flex;\n flex-wrap: wrap;\n\n .item {\n margin-right: 10px;\n margin-bottom: 10px;\n\n .label {\n margin-right: 10px;\n font-size: 12px;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","name","_hoisted_1","viewBox","xmlns","_hoisted_5","createElementVNode","fill","d","coin","_export_sfc","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","_hoisted_3","document","takeawayBox","tickets","isMobile","useIsMobile","isLoadingOverview","ref","cardList","reactive","type","title","value","supplement","icon","User","color","Document","Tickets","DataBoard","Coin","refreshCount","SuperOverviewApi","getCount","then","res","user","file","log","pv","compress","data","sum","recent","server","oss","size","today","uv","all","expired","disableDelete","clearExpiredCompressFile","setTimeout","ElMessage","success","logs","filterLogType","searchWord","logTypeList","label","pageSize","handleSizeChange","v","logSumCount","pageCount","computed","Math","ceil","pageCurrent","handlePageChange","idx","refreshLogs","debounce","getLogMsg","splice","length","push","watchEffect","showDetail","showData","jsonData","JSON","parse","e","handleCopyDetail","copyRes","exportLogData","body","map","date","ip","msg","formatDate","Date","tableToExcel","onMounted","id","getLogMsgDetail","stringify"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"index-legacy-gQf30T09.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/coin.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/document.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/takeaway-box.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/tickets.mjs","../../src/pages/dashboard/manage/overview/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Coin\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar coin = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { coin as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Document\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar document = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { document as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"TakeawayBox\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar takeawayBox = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { takeawayBox as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Tickets\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar tickets = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { tickets as default };\n","<script lang=\"ts\" setup>\nimport { computed, onMounted, reactive, ref, watchEffect } from 'vue'\nimport {\n Coin,\n DataAnalysis,\n DataBoard,\n Document,\n Refresh,\n Search,\n TakeawayBox,\n Tickets,\n User,\n} from '@element-plus/icons-vue'\nimport { ElMessage } from 'element-plus'\nimport { SuperOverviewApi } from '@/apis'\nimport { copyRes, formatDate } from '@/utils/stringUtil'\nimport { tableToExcel } from '@/utils/networkUtil'\nimport { debounce } from '@/utils/other'\nimport { useIsMobile } from '@/composables'\n\nconst isMobile = useIsMobile()\n\nconst isLoadingOverview = ref(false)\nconst cardList = reactive([\n {\n type: 'user',\n title: '用户数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: User,\n color: '#40c9c6',\n },\n {\n type: 'file',\n title: '记录/OSS',\n value: '0',\n supplement: '记录较昨日 +0',\n icon: Document,\n color: '#36a3f7',\n },\n {\n type: 'log',\n title: '日志数量',\n value: '0',\n supplement: '较昨日 +0',\n icon: Tickets,\n color: '#f4516c',\n },\n {\n type: 'pv',\n title: 'PV/UV',\n value: '0/0',\n supplement: '',\n icon: DataBoard,\n color: '#34bfa3',\n },\n {\n type: 'compress',\n title: '归档&无效文件',\n value: '0/0KB',\n supplement: '已失效0个',\n icon: Coin,\n color: '#e38013',\n },\n])\n// 刷新记录条数\nfunction refreshCount() {\n isLoadingOverview.value = true\n SuperOverviewApi.getCount().then((res) => {\n const { user, file, log, pv, compress } = res.data\n cardList[0].value = `${user.sum}`\n cardList[0].supplement = `较昨日 +${user.recent}`\n cardList[1].value = `${file.server.sum}/${file.oss.sum} (${file.oss.size})`\n cardList[1].supplement = `记录较昨日 +${file.server.recent}`\n cardList[2].value = `${log.sum}`\n cardList[2].supplement = `较昨日 +${log.recent}`\n cardList[3].value = `${pv.today.sum}/${pv.today.uv}`\n cardList[3].supplement = `历史: ${pv.all.sum}/${pv.all.uv}`\n cardList[4].value = `${compress.all.sum}/${compress.all.size}`\n cardList[4].supplement = `已失效 ${compress.expired.sum}/${compress.expired.size}`\n isLoadingOverview.value = false\n })\n}\n\nconst disableDelete = ref(false)\nfunction clearExpiredCompressFile() {\n disableDelete.value = true\n SuperOverviewApi.clearExpiredCompressFile().then(() => {\n setTimeout(() => {\n ElMessage.success('清理成功,数据同步可能有延迟')\n disableDelete.value = false\n refreshCount()\n }, 2000)\n })\n}\n\n// 日志\nconst logs: any[] = reactive([])\n\n// function getLogsTypeText(type: string) {\n// const logsTypeText: any = {\n// request: '网络请求',\n// behavior: '用户行为',\n// error: '错误',\n// pv: '页面访问',\n// }\n// return logsTypeText[type]\n// }\n// 筛选的日志\nconst filterLogType = ref('behavior')\nconst searchWord = ref('')\nconst logTypeList = reactive([\n {\n label: '用户行为',\n type: 'behavior',\n },\n {\n label: '网络请求',\n type: 'request',\n },\n {\n label: '服务端错误',\n type: 'error',\n },\n {\n label: '页面访问',\n type: 'pv',\n },\n])\n\n// 分页\n// 页大小\nconst pageSize = ref(10)\nfunction handleSizeChange(v: number) {\n pageSize.value = v\n}\n// 总条数\nconst logSumCount = ref(0)\nconst pageCount = computed(() => {\n const t = Math.ceil(logSumCount.value / pageSize.value)\n return t\n})\nconst pageCurrent = ref(1)\nfunction handlePageChange(idx: number) {\n pageCurrent.value = idx\n}\n\nconst refreshLogs = debounce(\n () => {\n SuperOverviewApi.getLogMsg(\n pageSize.value,\n pageCurrent.value,\n filterLogType.value,\n searchWord.value,\n ).then((res) => {\n logs.splice(0, logs.length)\n logs.push(...res.data.logs)\n logSumCount.value = res.data.sum\n })\n },\n 100,\n false,\n)\n\nwatchEffect(() => {\n if (filterLogType.value) {\n pageCurrent.value = 1\n }\n})\n\nwatchEffect(() => {\n if (searchWord.value !== undefined) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (filterLogType.value) {\n refreshLogs()\n }\n})\n\nwatchEffect(() => {\n if (pageCurrent.value || pageSize.value) {\n refreshLogs()\n }\n})\n\nconst showDetail = ref(false)\nconst showData = ref('')\nfunction handleDetail(id) {\n SuperOverviewApi.getLogMsgDetail(id).then((res) => {\n showDetail.value = true\n showData.value = JSON.stringify(res.data, null, 2)\n })\n}\nconst jsonData = computed(() => {\n try {\n return JSON.parse(showData.value)\n }\n catch (e) {\n return {}\n }\n})\nfunction handleCopyDetail() {\n copyRes(showData.value)\n}\n\nfunction exportLogData() {\n if (logs.length === 0) {\n return\n }\n const headers = ['日期', 'IP', '内容']\n const body = logs.map((v) => {\n const { date, ip, msg } = v\n return [formatDate(new Date(date)), ip, msg]\n })\n tableToExcel(\n headers,\n body,\n `导出日志_${logs.length}条${formatDate(\n new Date(),\n 'yyyy年MM月日hh时mm分ss秒',\n )}.xlsx`,\n )\n ElMessage.success('导出成功')\n}\nonMounted(() => {\n refreshCount()\n})\n</script>\n\n<template>\n <div class=\"overview\">\n <div\n v-loading=\"isLoadingOverview\"\n class=\"card-list\"\n element-loading-text=\"Loading...\"\n >\n <div v-for=\"c in cardList\" :key=\"c.type\" class=\"card\">\n <div class=\"logo\">\n <el-icon :color=\"c.color\">\n <component :is=\"c.icon\" />\n </el-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">\n {{ c.title }}\n </div>\n <div class=\"text\">\n {{ c.value }}\n </div>\n <div class=\"supplement\">\n {{ c.supplement }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"panel\">\n <div class=\"p10 log-filter\">\n <span class=\"item\">\n <span class=\"label\">类型</span>\n <el-select\n v-model=\"filterLogType\"\n size=\"default\"\n placeholder=\"请选择日志类型\"\n >\n <el-option\n v-for=\"(item, idx) in logTypeList\"\n :key=\"idx\"\n :label=\"item.label\"\n :value=\"item.type\"\n />\n </el-select>\n </span>\n <span class=\"item\">\n <el-input\n v-model=\"searchWord\"\n size=\"default\"\n clearable\n placeholder=\"请输入要检索的内容\"\n :prefix-icon=\"Search\"\n />\n </span>\n <span class=\"item\">\n <el-button size=\"default\" :icon=\"Refresh\" @click=\"refreshLogs\">刷新</el-button>\n </span>\n <span class=\"item\">\n <el-button\n size=\"default\"\n type=\"primary\"\n :icon=\"DataAnalysis\"\n @click=\"exportLogData\"\n >导出日志 {{ logs.length }} 条</el-button>\n </span>\n <span class=\"item\">\n <el-button\n v-loading=\"disableDelete\"\n size=\"default\"\n type=\"danger\"\n :icon=\"TakeawayBox\"\n :disabled=\"disableDelete\"\n @click=\"clearExpiredCompressFile\"\n >清理无效文件</el-button>\n </span>\n </div>\n <el-table\n tooltip-effect=\"dark\"\n height=\"400\"\n stripe\n border\n :default-sort=\"{ prop: 'date', order: 'descending' }\"\n :data=\"logs\"\n style=\"width: 100%\"\n >\n <el-table-column sortable prop=\"date\" label=\"日期\" width=\"180\">\n <template #default=\"scope\">\n {{\n formatDate(new Date(scope.row.date))\n }}\n </template>\n </el-table-column>\n <!-- <el-table-column prop=\"type\" label=\"类型\" width=\"100\">\n <template #default=\"scope\">{{ getLogsTypeText(scope.row.type) }}</template>\n </el-table-column> -->\n <el-table-column\n sortable\n prop=\"ip\"\n label=\"IP\"\n width=\"100\"\n />\n <el-table-column\n min-width=\"160\"\n prop=\"msg\"\n label=\"内容\"\n />\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\n <template #default=\"scope\">\n <el-button\n type=\"primary\"\n text\n size=\"small\"\n @click=\"handleDetail(scope.row.id)\"\n >\n 查看详情\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n\n <div class=\"flex fc p10\">\n <el-pagination\n :current-page=\"pageCurrent\"\n background\n :page-count=\"pageCount\"\n :page-sizes=\"[10, 50, 100, 200, 500, 1000]\"\n :page-size=\"pageSize\"\n :total=\"logSumCount\"\n layout=\"total, sizes, prev, pager, next, jumper\"\n @current-change=\"handlePageChange\"\n @size-change=\"handleSizeChange\"\n />\n </div>\n </div>\n <el-dialog\n v-model=\"showDetail\"\n title=\"详细信息\"\n width=\"50%\"\n center\n :fullscreen=\"isMobile\"\n >\n <json-viewer\n :value=\"jsonData\"\n :expand-depth=\"5\"\n copyable\n boxed\n sort\n />\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button type=\"default\" @click=\"handleCopyDetail\">复制</el-button>\n <el-button type=\"primary\" @click=\"showDetail = false\">确定</el-button>\n </span>\n </template>\n </el-dialog>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .card-list {\n margin-top: 40px;\n }\n\n .card {\n min-width: 300px;\n }\n\n .log-filter {\n justify-content: center;\n }\n}\n\n.overview {\n margin: 0 auto;\n}\n\n.card-list {\n display: flex;\n margin-top: 20px;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.card {\n margin: 10px;\n cursor: pointer;\n font-size: 12px;\n position: relative;\n overflow: hidden;\n color: #666;\n background: #fff;\n box-shadow: 4px 4px 40px rgb(0 0 0 / 5%);\n border-color: rgba(0, 0, 0, 0.05);\n min-width: 300px;\n\n .logo {\n float: left;\n margin: 4px 10px 0 10px;\n -webkit-transition: all 0.38s ease-out;\n transition: all 0.38s ease-out;\n border-radius: 6px;\n font-size: 48px;\n\n i {\n padding: 10px;\n }\n }\n\n .content {\n float: right;\n font-weight: 700;\n margin: 10px;\n margin-left: 0;\n\n .title {\n line-height: 18px;\n color: rgba(0, 0, 0, 0.45);\n font-size: 14px;\n text-align: right;\n }\n\n .text {\n font-size: 16px;\n text-align: right;\n }\n\n .supplement {\n font-size: 12px;\n font-weight: lighter;\n text-align: right;\n }\n }\n}\n\n.panel {\n max-width: 1024px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n}\n\n.log-filter {\n display: flex;\n flex-wrap: wrap;\n\n .item {\n margin-right: 10px;\n margin-bottom: 10px;\n\n .label {\n margin-right: 10px;\n font-size: 12px;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","name","_hoisted_1","viewBox","xmlns","_hoisted_5","createElementVNode","fill","d","coin","_export_sfc","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","_hoisted_3","document","takeawayBox","tickets","isMobile","useIsMobile","isLoadingOverview","ref","cardList","reactive","type","title","value","supplement","icon","User","color","Document","Tickets","DataBoard","Coin","refreshCount","SuperOverviewApi","getCount","then","res","user","file","log","pv","compress","data","sum","recent","server","oss","size","today","uv","all","expired","disableDelete","clearExpiredCompressFile","setTimeout","ElMessage","success","logs","filterLogType","searchWord","logTypeList","label","pageSize","handleSizeChange","v","logSumCount","pageCount","computed","Math","ceil","pageCurrent","handlePageChange","idx","refreshLogs","debounce","getLogMsg","splice","length","push","watchEffect","showDetail","showData","jsonData","JSON","parse","e","handleCopyDetail","copyRes","exportLogData","body","map","date","ip","msg","formatDate","Date","tableToExcel","onMounted","id","getLogMsgDetail","stringify"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./index-legacy-BLKO-78a.js","./el-dialog-legacy-u4KST5yo.js","./el-dropdown-item-legacy-B2fmSGnI.js","./el-tab-pane-legacy-7aEB8qvn.js","./index-legacy-2f3kE3Xe.js","./index-legacy-6cMsZS3c.js","./aria-legacy-B70JmEZA.js","./validator-legacy-CN5REdqi.js"],(function(e,a){"use strict";var t,l,o,n,i,r,p,s,d,c,v,f,u,g,h,m,x,b,w,y,k,_,C,z,A,V,j,H,M,E,S,B,L,U,$,I,N,R,O,T,W,D,P,Z,q,F,J,K,Q,X,Y,G,ee,ae,te,le,oe;return{setters:[e=>{t=e.J,l=e.K,o=e.L,n=e.M,i=e.N,r=e.d,p=e.O,s=e.Q,d=e.r,c=e.k,v=e.R,f=e.a,u=e.D,g=e.w,h=e.c,m=e.H,x=e.t,b=e.S,w=e.T,y=e.e,k=e.V,_=e.W,C=e.X,z=e.Y,A=e.g,V=e.b,j=e.Z,H=e.$,M=e.F,E=e.C,S=e.s,B=e.j,L=e.a0,U=e.x,$=e._,I=e.a1,N=e.o,R=e.a2,O=e.u,T=e.h,W=e.U,D=e.i,P=e.a3,Z=e.E,q=e.I,F=e.p,J=e.f},e=>{K=e.u,Q=e.E},e=>{X=e.d,Y=e.a,G=e.E,ee=e.b,ae=e.c},e=>{te=e.E,le=e.a},e=>{oe=e.E},null,null,null],execute:function(){var a=document.createElement("style");a.textContent=".el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.message-list[data-v-7988765c]{list-style:none;max-height:500px;overflow-y:scroll}.message-list li[data-v-7988765c]{border-bottom:1px solid #ddd;padding:10px;cursor:pointer}.message-list li.read[data-v-7988765c]{opacity:.5}.message-list li.read[data-v-7988765c]:hover{opacity:.9}.message-list li[data-v-7988765c]:last-child{border-bottom:none}.message-list li p.text[data-v-7988765c]{font-size:16px;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.message-list li p.date[data-v-7988765c]{font-size:14px;margin-top:4px}.empty[data-v-7988765c]{text-align:center;padding:10px}.dialog-date[data-v-7988765c]{font-size:14px;text-align:right;padding:10px;color:gray}.message-text{overflow-y:scroll;max-height:500px}.message-text ul,.message-text ol{list-style:none}.message-panel[data-v-9de070a6]{margin-right:10px}.dashboard[data-v-a61daf72]{background-color:#fafafa}.pc-nav[data-v-a61daf72]{background-color:#fff;display:flex;padding:10px;justify-content:space-between;align-items:center}.pc-nav .exit[data-v-a61daf72]{cursor:pointer;display:flex;align-items:center}.pc-nav .exit .exit-info[data-v-a61daf72]{display:flex;justify-content:center;align-items:center}.pc-nav .exit .exit-info>span[data-v-a61daf72]{margin-right:5px;display:block;max-width:70px}.pc-nav .nav[data-v-a61daf72]{display:flex}.pc-nav .nav nav[data-v-a61daf72]{display:flex;align-items:center}.pc-nav .nav nav .nav-item[data-v-a61daf72]{font-size:1rem;color:#595959;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pc-nav .nav nav .nav-item.active[data-v-a61daf72]{color:#409eff!important;font-weight:600}.pc-nav .nav .exit[data-v-a61daf72]{color:#595959}.pc-nav .logo[data-v-a61daf72]{width:180px;margin:0 10px}.pc-nav .logo img[data-v-a61daf72]{height:40px}#navActive[data-v-a61daf72]{display:none;opacity:0}#navMenu[data-v-a61daf72]{display:none}.mobile-message-bell[data-v-a61daf72]{display:none;position:fixed;right:0;top:0}@media screen and (max-width: 700px){#navActive[data-v-a61daf72]{display:block;position:fixed;left:0;top:0}.mobile-message-bell[data-v-a61daf72]{display:block}#navMenu[data-v-a61daf72]{cursor:pointer;display:block;position:absolute;left:10px;top:5px;font-size:2rem}.pc-nav[data-v-a61daf72]{position:fixed;left:0;right:0;top:0;z-index:6}.pc-nav .nav[data-v-a61daf72]{flex-wrap:wrap;width:100%}.pc-nav .nav .logo[data-v-a61daf72]{width:100%;text-align:center}.pc-nav #navActive+nav[data-v-a61daf72]{display:none}.pc-nav #navActive:checked+nav[data-v-a61daf72]{display:flex;flex-direction:column;width:100%;position:absolute;z-index:1;background:#fff;left:0;top:50px}.pc-nav #navActive:checked+nav+.mask[data-v-a61daf72]{display:block;position:fixed;left:0;right:0;bottom:0;top:50px;background-color:rgba(0,0,0,.5)}.pc-nav .exit[data-v-a61daf72]{position:absolute;right:10px;top:20px}}\n",document.head.appendChild(a);const ne=t({trigger:l.trigger,placement:X.placement,disabled:l.disabled,visible:o.visible,transition:o.transition,popperOptions:X.popperOptions,tabindex:X.tabindex,content:o.content,popperStyle:o.popperStyle,popperClass:o.popperClass,enterable:{...o.enterable,default:!0},effect:{...o.effect,default:"light"},teleported:o.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}});var ie=i(r({name:"ElPopover",props:ne,emits:{"update:visible":e=>n(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},setup(e,{expose:a,emit:t}){const l=e,o=p((()=>l["onUpdate:visible"])),n=s("popover"),i=d(),r=p((()=>{var e;return null==(e=c(i))?void 0:e.popperRef})),C=p((()=>[{width:v(l.width)},l.popperStyle])),z=p((()=>[n.b(),l.popperClass,{[n.m("plain")]:!!l.content}])),A=p((()=>"el-fade-in-linear"===l.transition)),V=()=>{t("before-enter")},j=()=>{t("before-leave")},H=()=>{t("after-enter")},M=()=>{t("update:visible",!1),t("after-leave")};return a({popperRef:r,hide:()=>{var e;null==(e=i.value)||e.hide()}}),(e,a)=>(f(),u(c(_),k({ref_key:"tooltipRef",ref:i},e.$attrs,{trigger:e.trigger,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":c(z),"popper-style":c(C),teleported:e.teleported,persistent:e.persistent,"gpu-acceleration":c(A),"onUpdate:visible":c(o),onBeforeShow:V,onBeforeHide:j,onShow:H,onHide:M}),{content:g((()=>[e.title?(f(),h("div",{key:0,class:m(c(n).e("title")),role:"title"},x(e.title),3)):b("v-if",!0),w(e.$slots,"default",{},(()=>[y(x(e.content),1)]))])),default:g((()=>[e.$slots.reference?w(e.$slots,"reference",{key:0}):b("v-if",!0)])),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue"]]);const re=(e,a)=>{const t=a.arg||a.value,l=null==t?void 0:t.popperRef;l&&(l.triggerRef=e)},pe=C({mounted(e,a){re(e,a)},updated(e,a){re(e,a)}},"popover"),se=z(ie,{directive:pe}),de=r({name:"Bell"}),ce={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ve=[V("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),V("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),V("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1)];var fe=A(de,[["render",function(e,a,t,l,o,n){return f(),h("svg",ce,ve)}]]);const ue=r({name:"Close"}),ge={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},he=[V("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1)];var me=A(ue,[["render",function(e,a,t,l,o,n){return f(),h("svg",ge,he)}]]);const xe=r({name:"Expand"}),be={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},we=[V("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1)];var ye=A(xe,[["render",function(e,a,t,l,o,n){return f(),h("svg",be,we)}]]);const ke={key:0,class:"empty"},_e={class:"message-list"},Ce=["onClick"],ze={class:"text"},Ae={class:"date"},Ve=["innerHTML"],je={class:"dialog-date"},He=r({__name:"index",props:{data:{},autoShow:{type:Boolean}},setup(e){const a=e,t=j({show:!1,title:"系统消息",text:"内容"}),l=d(null);function o(e){l.value=e,t.text=e.text,t.title=0===e.type?"【系统消息】":"【私信】",t.show=!0}function n(){l.value.read?t.show=!1:L.readMessage(l.value.id).then((()=>{l.value.read=!0,t.show=!1}))}H((()=>a.data.length),(()=>{if(!a.autoShow)return;const e=a.data.find((e=>!e.read));e&&o(e)}));const i=K();return(e,a)=>{const r=U,p=Q;return f(),h(M,null,[e.data.length?b("",!0):(f(),h("div",ke," 暂无更多消息 ღ( ´・ᴗ・` )比心 ")),V("ul",_e,[(f(!0),h(M,null,E(e.data,(e=>(f(),h("li",{key:e.id,class:m({read:e.read}),onClick:a=>o(e)},[V("p",ze,x(e.text),1),V("p",Ae,x(c(S)(new Date(e.date))),1)],10,Ce)))),128))]),B(p,{modelValue:t.show,"onUpdate:modelValue":a[1]||(a[1]=e=>t.show=e),center:"","show-close":"","append-to-body":"","close-on-click-modal":!1,title:t.title,width:"30%",fullscreen:c(i)},{footer:g((()=>[V("p",je," 时间:"+x(c(S)(new Date(l.value.date))),1),V("span",null,[B(r,{type:"default",onClick:a[0]||(a[0]=()=>{t.show=!1})},{default:g((()=>[y(" 下次提醒 ")])),_:1}),B(r,{type:"primary",onClick:n},{default:g((()=>[y(" 确定 ")])),_:1})])])),default:g((()=>[V("div",{class:"message-text",innerHTML:t.text},null,8,Ve)])),_:1},8,["modelValue","title","fullscreen"])],64)}}}),Me=$(He,[["__scopeId","data-v-7988765c"]]),Ee={class:"message-panel"},Se=$(r({__name:"index",setup(e){const a=d("all"),t=j([]),l=p((()=>t.filter((e=>!e.read)))),o=I();return N((()=>{"config"!==o.name&&L.getMessageList().then((e=>{t.push(...e.data)}))})),(e,o)=>{const n=U,i=R,r=te,p=le,s=se;return f(),h("div",Ee,[B(s,{placement:"bottom-end",width:375,trigger:"hover"},{reference:g((()=>[B(i,{value:l.value.length||"",max:99},{default:g((()=>[B(n,{icon:c(fe),circle:""},null,8,["icon"])])),_:1},8,["value"])])),default:g((()=>[V("div",null,[B(p,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=e=>a.value=e)},{default:g((()=>[B(r,{label:`未读 ${l.value.length||""}`,name:"no"},{default:g((()=>[B(Me,{"auto-show":"",data:l.value},null,8,["data"])])),_:1},8,["label"]),B(r,{label:`全部 ${t.length||""}`,name:"all"},{default:g((()=>[B(Me,{data:t},null,8,["data"])])),_:1},8,["label"])])),_:1},8,["modelValue"])])])),_:1})])}}}),[["__scopeId","data-v-9de070a6"]]),Be=e=>(F("data-v-a61daf72"),e=e(),J(),e),Le={class:"dashboard"},Ue={class:"pc-nav"},$e={class:"nav"},Ie={class:"logo"},Ne=Be((()=>V("img",{src:"https://img.cdn.sugarat.top/easypicker/EasyPicker.png",alt:"logo"},null,-1))),Re={key:0,id:"navActive",type:"checkbox"},Oe={key:0,for:"navActive",class:"nav-item"},Te=Be((()=>V("span",null,"Hello💐,",-1))),We=["onClick"],De=Be((()=>V("span",{style:{"margin-right":"6px"}},"退出",-1))),Pe=Be((()=>V("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-v-53d86618":""},[V("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z",fill:"#86909C","data-v-53d86618":""})],-1))),Ze=Be((()=>V("div",{class:"mask"},null,-1))),qe={id:"navMenu"},Fe={for:"navActive"},Je={key:0,class:"flex fac"},Ke=Be((()=>V("span",null,"Hello 💐,",-1))),Qe={class:"exit-info"},Xe={class:"ellipsis"};e("default",$(r({__name:"index",setup(e){const a=K(),t=O(),l=T(),o=I(),n=j([{title:"文件管理",path:"/dashboard/files"},{title:"任务管理",path:"/dashboard/tasks"}]),i=d(0);function r(){oe.confirm("确认退出登录?","登出提示",{draggable:!0}).then((()=>{W.logout().finally((()=>{l.commit("user/setToken",null),t.replace({name:"home"})}))})).catch((()=>{Z.info("取消")}))}H((()=>o.path),(e=>{const a=n.findIndex((a=>e.startsWith(a.path)));-1!==a&&(i.value=a)}));const p=d("World");return N((()=>{W.checkPower().then((e=>{const a=e.data?.power;if(p.value=e.data?.name,l.commit("user/setSuperAdmin",a),a){const e=[{title:"应用管理",path:"/dashboard/manage"},{title:"网站监控",path:"https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78",isExternal:!0}];n.push(...e)}const t=e.data?.system;t&&(n.splice(0,n.length),n.push({title:"系统管理",path:"/dashboard/config"})),i.value=n.findIndex((e=>o.path.startsWith(e.path)))}))})),(e,l)=>{const o=D("router-link"),s=q,d=G,v=ee,w=ae,k=D("router-view");return f(),h("div",Le,[V("div",Ue,[V("div",$e,[V("div",Ie,[B(o,{to:"/"},{default:g((()=>[Ne])),_:1})]),c(a)?(f(),h("input",Re)):b("",!0),V("nav",null,[c(a)?(f(),h("label",Oe,[Te,y(" "+x(p.value),1)])):b("",!0),(f(!0),h(M,null,E(n,((e,a)=>(f(),h("label",{key:a,for:"navActive",class:m(["nav-item",{active:i.value===a}]),onClick:e=>function(e){const a=n[e];a.isExternal||e===i.value||t.push({path:a.path}),a.isExternal&&window.open(a.path,"_blank")}(a)},x(e.title),11,We)))),128)),c(a)?(f(),h("label",{key:1,for:"navActive",class:"nav-item",onClick:r},[De,B(s,{size:"16"},{default:g((()=>[Pe])),_:1})])):b("",!0)]),Ze]),V("span",qe,[c(a)?(f(),u(Se,{key:0,class:"mobile-message-bell"})):b("",!0),V("label",Fe,[B(s,{size:"32"},{default:g((()=>[B(c(ye))])),_:1})])]),c(a)?b("",!0):(f(),h("div",Je,[B(Se),Ke,B(w,{class:"exit"},{dropdown:g((()=>[B(v,null,{default:g((()=>[B(d,{icon:c(me),onClick:r},{default:g((()=>[y(" 退出 ")])),_:1},8,["icon"])])),_:1})])),default:g((()=>[V("span",Qe,[V("span",Xe,x(p.value),1),B(s,null,{default:g((()=>[B(c(Y))])),_:1})])])),_:1})]))]),B(k),V("div",null,[B(P,{type:"dashboard"})])])}}}),[["__scopeId","data-v-a61daf72"]]))}}}));
|
|
2
|
-
//# sourceMappingURL=index-legacy-
|
|
1
|
+
System.register(["./index-legacy-DC5-MYgp.js","./el-dialog-legacy-CX7a77_4.js","./el-dropdown-item-legacy-ChoB2YAN.js","./el-tab-pane-legacy-usarmKVQ.js","./index-legacy-DmJc-LaA.js","./index-legacy-DiNZXmUs.js","./aria-legacy-B70JmEZA.js","./validator-legacy-D-pC1hkO.js"],(function(e,a){"use strict";var t,l,o,n,i,r,p,s,d,c,v,f,u,g,h,m,x,b,w,y,k,_,C,z,A,V,j,H,M,E,S,B,L,U,$,I,N,R,O,T,W,D,P,Z,q,F,J,K,Q,X,Y,G,ee,ae,te,le,oe;return{setters:[e=>{t=e.J,l=e.K,o=e.L,n=e.M,i=e.N,r=e.d,p=e.O,s=e.Q,d=e.r,c=e.k,v=e.R,f=e.a,u=e.D,g=e.w,h=e.c,m=e.H,x=e.t,b=e.S,w=e.T,y=e.e,k=e.V,_=e.W,C=e.X,z=e.Y,A=e.g,V=e.b,j=e.Z,H=e.$,M=e.F,E=e.C,S=e.s,B=e.j,L=e.a0,U=e.x,$=e._,I=e.a1,N=e.o,R=e.a2,O=e.u,T=e.h,W=e.U,D=e.i,P=e.a3,Z=e.E,q=e.I,F=e.p,J=e.f},e=>{K=e.u,Q=e.E},e=>{X=e.d,Y=e.a,G=e.E,ee=e.b,ae=e.c},e=>{te=e.E,le=e.a},e=>{oe=e.E},null,null,null],execute:function(){var a=document.createElement("style");a.textContent=".el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.message-list[data-v-7988765c]{list-style:none;max-height:500px;overflow-y:scroll}.message-list li[data-v-7988765c]{border-bottom:1px solid #ddd;padding:10px;cursor:pointer}.message-list li.read[data-v-7988765c]{opacity:.5}.message-list li.read[data-v-7988765c]:hover{opacity:.9}.message-list li[data-v-7988765c]:last-child{border-bottom:none}.message-list li p.text[data-v-7988765c]{font-size:16px;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.message-list li p.date[data-v-7988765c]{font-size:14px;margin-top:4px}.empty[data-v-7988765c]{text-align:center;padding:10px}.dialog-date[data-v-7988765c]{font-size:14px;text-align:right;padding:10px;color:gray}.message-text{overflow-y:scroll;max-height:500px}.message-text ul,.message-text ol{list-style:none}.message-panel[data-v-9de070a6]{margin-right:10px}.dashboard[data-v-a61daf72]{background-color:#fafafa}.pc-nav[data-v-a61daf72]{background-color:#fff;display:flex;padding:10px;justify-content:space-between;align-items:center}.pc-nav .exit[data-v-a61daf72]{cursor:pointer;display:flex;align-items:center}.pc-nav .exit .exit-info[data-v-a61daf72]{display:flex;justify-content:center;align-items:center}.pc-nav .exit .exit-info>span[data-v-a61daf72]{margin-right:5px;display:block;max-width:70px}.pc-nav .nav[data-v-a61daf72]{display:flex}.pc-nav .nav nav[data-v-a61daf72]{display:flex;align-items:center}.pc-nav .nav nav .nav-item[data-v-a61daf72]{font-size:1rem;color:#595959;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pc-nav .nav nav .nav-item.active[data-v-a61daf72]{color:#409eff!important;font-weight:600}.pc-nav .nav .exit[data-v-a61daf72]{color:#595959}.pc-nav .logo[data-v-a61daf72]{width:180px;margin:0 10px}.pc-nav .logo img[data-v-a61daf72]{height:40px}#navActive[data-v-a61daf72]{display:none;opacity:0}#navMenu[data-v-a61daf72]{display:none}.mobile-message-bell[data-v-a61daf72]{display:none;position:fixed;right:0;top:0}@media screen and (max-width: 700px){#navActive[data-v-a61daf72]{display:block;position:fixed;left:0;top:0}.mobile-message-bell[data-v-a61daf72]{display:block}#navMenu[data-v-a61daf72]{cursor:pointer;display:block;position:absolute;left:10px;top:5px;font-size:2rem}.pc-nav[data-v-a61daf72]{position:fixed;left:0;right:0;top:0;z-index:6}.pc-nav .nav[data-v-a61daf72]{flex-wrap:wrap;width:100%}.pc-nav .nav .logo[data-v-a61daf72]{width:100%;text-align:center}.pc-nav #navActive+nav[data-v-a61daf72]{display:none}.pc-nav #navActive:checked+nav[data-v-a61daf72]{display:flex;flex-direction:column;width:100%;position:absolute;z-index:1;background:#fff;left:0;top:50px}.pc-nav #navActive:checked+nav+.mask[data-v-a61daf72]{display:block;position:fixed;left:0;right:0;bottom:0;top:50px;background-color:rgba(0,0,0,.5)}.pc-nav .exit[data-v-a61daf72]{position:absolute;right:10px;top:20px}}\n",document.head.appendChild(a);const ne=t({trigger:l.trigger,placement:X.placement,disabled:l.disabled,visible:o.visible,transition:o.transition,popperOptions:X.popperOptions,tabindex:X.tabindex,content:o.content,popperStyle:o.popperStyle,popperClass:o.popperClass,enterable:{...o.enterable,default:!0},effect:{...o.effect,default:"light"},teleported:o.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}});var ie=i(r({name:"ElPopover",props:ne,emits:{"update:visible":e=>n(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},setup(e,{expose:a,emit:t}){const l=e,o=p((()=>l["onUpdate:visible"])),n=s("popover"),i=d(),r=p((()=>{var e;return null==(e=c(i))?void 0:e.popperRef})),C=p((()=>[{width:v(l.width)},l.popperStyle])),z=p((()=>[n.b(),l.popperClass,{[n.m("plain")]:!!l.content}])),A=p((()=>"el-fade-in-linear"===l.transition)),V=()=>{t("before-enter")},j=()=>{t("before-leave")},H=()=>{t("after-enter")},M=()=>{t("update:visible",!1),t("after-leave")};return a({popperRef:r,hide:()=>{var e;null==(e=i.value)||e.hide()}}),(e,a)=>(f(),u(c(_),k({ref_key:"tooltipRef",ref:i},e.$attrs,{trigger:e.trigger,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":c(z),"popper-style":c(C),teleported:e.teleported,persistent:e.persistent,"gpu-acceleration":c(A),"onUpdate:visible":c(o),onBeforeShow:V,onBeforeHide:j,onShow:H,onHide:M}),{content:g((()=>[e.title?(f(),h("div",{key:0,class:m(c(n).e("title")),role:"title"},x(e.title),3)):b("v-if",!0),w(e.$slots,"default",{},(()=>[y(x(e.content),1)]))])),default:g((()=>[e.$slots.reference?w(e.$slots,"reference",{key:0}):b("v-if",!0)])),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue"]]);const re=(e,a)=>{const t=a.arg||a.value,l=null==t?void 0:t.popperRef;l&&(l.triggerRef=e)},pe=C({mounted(e,a){re(e,a)},updated(e,a){re(e,a)}},"popover"),se=z(ie,{directive:pe}),de=r({name:"Bell"}),ce={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ve=[V("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),V("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),V("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1)];var fe=A(de,[["render",function(e,a,t,l,o,n){return f(),h("svg",ce,ve)}]]);const ue=r({name:"Close"}),ge={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},he=[V("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1)];var me=A(ue,[["render",function(e,a,t,l,o,n){return f(),h("svg",ge,he)}]]);const xe=r({name:"Expand"}),be={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},we=[V("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1)];var ye=A(xe,[["render",function(e,a,t,l,o,n){return f(),h("svg",be,we)}]]);const ke={key:0,class:"empty"},_e={class:"message-list"},Ce=["onClick"],ze={class:"text"},Ae={class:"date"},Ve=["innerHTML"],je={class:"dialog-date"},He=r({__name:"index",props:{data:{},autoShow:{type:Boolean}},setup(e){const a=e,t=j({show:!1,title:"系统消息",text:"内容"}),l=d(null);function o(e){l.value=e,t.text=e.text,t.title=0===e.type?"【系统消息】":"【私信】",t.show=!0}function n(){l.value.read?t.show=!1:L.readMessage(l.value.id).then((()=>{l.value.read=!0,t.show=!1}))}H((()=>a.data.length),(()=>{if(!a.autoShow)return;const e=a.data.find((e=>!e.read));e&&o(e)}));const i=K();return(e,a)=>{const r=U,p=Q;return f(),h(M,null,[e.data.length?b("",!0):(f(),h("div",ke," 暂无更多消息 ღ( ´・ᴗ・` )比心 ")),V("ul",_e,[(f(!0),h(M,null,E(e.data,(e=>(f(),h("li",{key:e.id,class:m({read:e.read}),onClick:a=>o(e)},[V("p",ze,x(e.text),1),V("p",Ae,x(c(S)(new Date(e.date))),1)],10,Ce)))),128))]),B(p,{modelValue:t.show,"onUpdate:modelValue":a[1]||(a[1]=e=>t.show=e),center:"","show-close":"","append-to-body":"","close-on-click-modal":!1,title:t.title,width:"30%",fullscreen:c(i)},{footer:g((()=>[V("p",je," 时间:"+x(c(S)(new Date(l.value.date))),1),V("span",null,[B(r,{type:"default",onClick:a[0]||(a[0]=()=>{t.show=!1})},{default:g((()=>[y(" 下次提醒 ")])),_:1}),B(r,{type:"primary",onClick:n},{default:g((()=>[y(" 确定 ")])),_:1})])])),default:g((()=>[V("div",{class:"message-text",innerHTML:t.text},null,8,Ve)])),_:1},8,["modelValue","title","fullscreen"])],64)}}}),Me=$(He,[["__scopeId","data-v-7988765c"]]),Ee={class:"message-panel"},Se=$(r({__name:"index",setup(e){const a=d("all"),t=j([]),l=p((()=>t.filter((e=>!e.read)))),o=I();return N((()=>{"config"!==o.name&&L.getMessageList().then((e=>{t.push(...e.data)}))})),(e,o)=>{const n=U,i=R,r=te,p=le,s=se;return f(),h("div",Ee,[B(s,{placement:"bottom-end",width:375,trigger:"hover"},{reference:g((()=>[B(i,{value:l.value.length||"",max:99},{default:g((()=>[B(n,{icon:c(fe),circle:""},null,8,["icon"])])),_:1},8,["value"])])),default:g((()=>[V("div",null,[B(p,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=e=>a.value=e)},{default:g((()=>[B(r,{label:`未读 ${l.value.length||""}`,name:"no"},{default:g((()=>[B(Me,{"auto-show":"",data:l.value},null,8,["data"])])),_:1},8,["label"]),B(r,{label:`全部 ${t.length||""}`,name:"all"},{default:g((()=>[B(Me,{data:t},null,8,["data"])])),_:1},8,["label"])])),_:1},8,["modelValue"])])])),_:1})])}}}),[["__scopeId","data-v-9de070a6"]]),Be=e=>(F("data-v-a61daf72"),e=e(),J(),e),Le={class:"dashboard"},Ue={class:"pc-nav"},$e={class:"nav"},Ie={class:"logo"},Ne=Be((()=>V("img",{src:"https://img.cdn.sugarat.top/easypicker/EasyPicker.png",alt:"logo"},null,-1))),Re={key:0,id:"navActive",type:"checkbox"},Oe={key:0,for:"navActive",class:"nav-item"},Te=Be((()=>V("span",null,"Hello💐,",-1))),We=["onClick"],De=Be((()=>V("span",{style:{"margin-right":"6px"}},"退出",-1))),Pe=Be((()=>V("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-v-53d86618":""},[V("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z",fill:"#86909C","data-v-53d86618":""})],-1))),Ze=Be((()=>V("div",{class:"mask"},null,-1))),qe={id:"navMenu"},Fe={for:"navActive"},Je={key:0,class:"flex fac"},Ke=Be((()=>V("span",null,"Hello 💐,",-1))),Qe={class:"exit-info"},Xe={class:"ellipsis"};e("default",$(r({__name:"index",setup(e){const a=K(),t=O(),l=T(),o=I(),n=j([{title:"文件管理",path:"/dashboard/files"},{title:"任务管理",path:"/dashboard/tasks"}]),i=d(0);function r(){oe.confirm("确认退出登录?","登出提示",{draggable:!0}).then((()=>{W.logout().finally((()=>{l.commit("user/setToken",null),t.replace({name:"home"})}))})).catch((()=>{Z.info("取消")}))}H((()=>o.path),(e=>{const a=n.findIndex((a=>e.startsWith(a.path)));-1!==a&&(i.value=a)}));const p=d("World");return N((()=>{W.checkPower().then((e=>{const a=e.data?.power;if(p.value=e.data?.name,l.commit("user/setSuperAdmin",a),a){const e=[{title:"应用管理",path:"/dashboard/manage"},{title:"网站监控",path:"https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78",isExternal:!0}];n.push(...e)}const t=e.data?.system;t&&(n.splice(0,n.length),n.push({title:"系统管理",path:"/dashboard/config"})),i.value=n.findIndex((e=>o.path.startsWith(e.path)))}))})),(e,l)=>{const o=D("router-link"),s=q,d=G,v=ee,w=ae,k=D("router-view");return f(),h("div",Le,[V("div",Ue,[V("div",$e,[V("div",Ie,[B(o,{to:"/"},{default:g((()=>[Ne])),_:1})]),c(a)?(f(),h("input",Re)):b("",!0),V("nav",null,[c(a)?(f(),h("label",Oe,[Te,y(" "+x(p.value),1)])):b("",!0),(f(!0),h(M,null,E(n,((e,a)=>(f(),h("label",{key:a,for:"navActive",class:m(["nav-item",{active:i.value===a}]),onClick:e=>function(e){const a=n[e];a.isExternal||e===i.value||t.push({path:a.path}),a.isExternal&&window.open(a.path,"_blank")}(a)},x(e.title),11,We)))),128)),c(a)?(f(),h("label",{key:1,for:"navActive",class:"nav-item",onClick:r},[De,B(s,{size:"16"},{default:g((()=>[Pe])),_:1})])):b("",!0)]),Ze]),V("span",qe,[c(a)?(f(),u(Se,{key:0,class:"mobile-message-bell"})):b("",!0),V("label",Fe,[B(s,{size:"32"},{default:g((()=>[B(c(ye))])),_:1})])]),c(a)?b("",!0):(f(),h("div",Je,[B(Se),Ke,B(w,{class:"exit"},{dropdown:g((()=>[B(v,null,{default:g((()=>[B(d,{icon:c(me),onClick:r},{default:g((()=>[y(" 退出 ")])),_:1},8,["icon"])])),_:1})])),default:g((()=>[V("span",Qe,[V("span",Xe,x(p.value),1),B(s,null,{default:g((()=>[B(c(Y))])),_:1})])])),_:1})]))]),B(k),V("div",null,[B(P,{type:"dashboard"})])])}}}),[["__scopeId","data-v-a61daf72"]]))}}}));
|
|
2
|
+
//# sourceMappingURL=index-legacy-l7TP3X8w.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-legacy-8BA9X4aO.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/popover.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/popover2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/directive.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/index.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/bell.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/close.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/expand.mjs","../../src/components/MessageList/index.vue","../../src/components/MessagePanel/index.vue","../../src/pages/dashboard/index.vue"],"sourcesContent":["import '../../../utils/index.mjs';\nimport '../../tooltip/index.mjs';\nimport '../../dropdown/index.mjs';\nimport { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { useTooltipTriggerProps, useTooltipContentProps } from '../../tooltip/src/tooltip.mjs';\nimport { dropdownProps } from '../../dropdown/src/dropdown.mjs';\nimport { isBoolean } from '@vueuse/core';\n\nconst popoverProps = buildProps({\n trigger: useTooltipTriggerProps.trigger,\n placement: dropdownProps.placement,\n disabled: useTooltipTriggerProps.disabled,\n visible: useTooltipContentProps.visible,\n transition: useTooltipContentProps.transition,\n popperOptions: dropdownProps.popperOptions,\n tabindex: dropdownProps.tabindex,\n content: useTooltipContentProps.content,\n popperStyle: useTooltipContentProps.popperStyle,\n popperClass: useTooltipContentProps.popperClass,\n enterable: {\n ...useTooltipContentProps.enterable,\n default: true\n },\n effect: {\n ...useTooltipContentProps.effect,\n default: \"light\"\n },\n teleported: useTooltipContentProps.teleported,\n title: String,\n width: {\n type: [String, Number],\n default: 150\n },\n offset: {\n type: Number,\n default: void 0\n },\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n },\n showArrow: {\n type: Boolean,\n default: true\n },\n persistent: {\n type: Boolean,\n default: true\n },\n \"onUpdate:visible\": {\n type: Function\n }\n});\nconst popoverEmits = {\n \"update:visible\": (value) => isBoolean(value),\n \"before-enter\": () => true,\n \"before-leave\": () => true,\n \"after-enter\": () => true,\n \"after-leave\": () => true\n};\n\nexport { popoverEmits, popoverProps };\n//# sourceMappingURL=popover.mjs.map\n","import { defineComponent, computed, ref, unref, openBlock, createBlock, mergeProps, withCtx, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, renderSlot, createTextVNode } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { popoverProps, popoverEmits } from './popover.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addUnit } from '../../../utils/dom/style.mjs';\n\nconst __default__ = {\n name: \"ElPopover\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n props: popoverProps,\n emits: popoverEmits,\n setup(__props, { expose, emit }) {\n const props = __props;\n const updateEventKeyRaw = `onUpdate:visible`;\n const onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw];\n });\n const ns = useNamespace(\"popover\");\n const tooltipRef = ref();\n const popperRef = computed(() => {\n var _a;\n return (_a = unref(tooltipRef)) == null ? void 0 : _a.popperRef;\n });\n const style = computed(() => {\n return [\n {\n width: addUnit(props.width)\n },\n props.popperStyle\n ];\n });\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m(\"plain\")]: !!props.content }];\n });\n const gpuAcceleration = computed(() => {\n return props.transition === \"el-fade-in-linear\";\n });\n const hide = () => {\n var _a;\n (_a = tooltipRef.value) == null ? void 0 : _a.hide();\n };\n const beforeEnter = () => {\n emit(\"before-enter\");\n };\n const beforeLeave = () => {\n emit(\"before-leave\");\n };\n const afterEnter = () => {\n emit(\"after-enter\");\n };\n const afterLeave = () => {\n emit(\"update:visible\", false);\n emit(\"after-leave\");\n };\n expose({\n popperRef,\n hide\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ElTooltip), mergeProps({\n ref_key: \"tooltipRef\",\n ref: tooltipRef\n }, _ctx.$attrs, {\n trigger: _ctx.trigger,\n placement: _ctx.placement,\n disabled: _ctx.disabled,\n visible: _ctx.visible,\n transition: _ctx.transition,\n \"popper-options\": _ctx.popperOptions,\n tabindex: _ctx.tabindex,\n content: _ctx.content,\n offset: _ctx.offset,\n \"show-after\": _ctx.showAfter,\n \"hide-after\": _ctx.hideAfter,\n \"auto-close\": _ctx.autoClose,\n \"show-arrow\": _ctx.showArrow,\n \"aria-label\": _ctx.title,\n effect: _ctx.effect,\n enterable: _ctx.enterable,\n \"popper-class\": unref(kls),\n \"popper-style\": unref(style),\n teleported: _ctx.teleported,\n persistent: _ctx.persistent,\n \"gpu-acceleration\": unref(gpuAcceleration),\n \"onUpdate:visible\": unref(onUpdateVisible),\n onBeforeShow: beforeEnter,\n onBeforeHide: beforeLeave,\n onShow: afterEnter,\n onHide: afterLeave\n }), {\n content: withCtx(() => [\n _ctx.title ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"title\")),\n role: \"title\"\n }, toDisplayString(_ctx.title), 3)) : createCommentVNode(\"v-if\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.content), 1)\n ])\n ]),\n default: withCtx(() => [\n _ctx.$slots.reference ? renderSlot(_ctx.$slots, \"reference\", { key: 0 }) : createCommentVNode(\"v-if\", true)\n ]),\n _: 3\n }, 16, [\"trigger\", \"placement\", \"disabled\", \"visible\", \"transition\", \"popper-options\", \"tabindex\", \"content\", \"offset\", \"show-after\", \"hide-after\", \"auto-close\", \"show-arrow\", \"aria-label\", \"effect\", \"enterable\", \"popper-class\", \"popper-style\", \"teleported\", \"persistent\", \"gpu-acceleration\", \"onUpdate:visible\"]);\n };\n }\n});\nvar Popover = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue\"]]);\n\nexport { Popover as default };\n//# sourceMappingURL=popover2.mjs.map\n","const attachEvents = (el, binding) => {\n const popperComponent = binding.arg || binding.value;\n const popover = popperComponent == null ? void 0 : popperComponent.popperRef;\n if (popover) {\n popover.triggerRef = el;\n }\n};\nvar PopoverDirective = {\n mounted(el, binding) {\n attachEvents(el, binding);\n },\n updated(el, binding) {\n attachEvents(el, binding);\n }\n};\nconst VPopover = \"popover\";\n\nexport { VPopover, PopoverDirective as default };\n//# sourceMappingURL=directive.mjs.map\n","import '../../utils/index.mjs';\nimport Popover from './src/popover2.mjs';\nimport PopoverDirective, { VPopover } from './src/directive.mjs';\nexport { popoverEmits, popoverProps } from './src/popover.mjs';\nimport { withInstallDirective, withInstall } from '../../utils/vue/install.mjs';\n\nconst ElPopoverDirective = withInstallDirective(PopoverDirective, VPopover);\nconst ElPopover = withInstall(Popover, {\n directive: ElPopoverDirective\n});\n\nexport { ElPopover, ElPopoverDirective, ElPopover as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Bell\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar bell = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { bell as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Close\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar close = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { close as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Expand\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar expand = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { expand as default };\n","<script lang=\"ts\" setup>\nimport { reactive, ref, watch } from 'vue'\nimport { formatDate } from '@/utils/stringUtil'\nimport { SuperUserApi } from '@/apis'\nimport { useIsMobile } from '@/composables'\n\nconst props = defineProps<{\n data: SuperUserApiTypes.MessageItem[]\n autoShow?: boolean\n}>()\n\nconst dialogMessage = reactive({\n show: false,\n title: '系统消息',\n text: '内容',\n})\nconst activeMessage = ref<SuperUserApiTypes.MessageItem>(null)\nfunction handleViewDialogMessage(v: SuperUserApiTypes.MessageItem) {\n activeMessage.value = v\n dialogMessage.text = v.text\n // TODO: 魔法数字问题\n // TODO:支持更多的消息类型\n dialogMessage.title = v.type === 0 ? '【系统消息】' : '【私信】'\n dialogMessage.show = true\n}\n\nfunction readMessage() {\n if (activeMessage.value.read) {\n dialogMessage.show = false\n return\n }\n SuperUserApi.readMessage(activeMessage.value.id).then(() => {\n activeMessage.value.read = true\n dialogMessage.show = false\n })\n}\n\nwatch(\n () => props.data.length,\n () => {\n if (!props.autoShow) {\n return\n }\n const showItem = props.data.find(v => !v.read)\n if (showItem) {\n handleViewDialogMessage(showItem)\n }\n },\n)\n\nconst isMobile = useIsMobile()\n</script>\n\n<template>\n <div v-if=\"!data.length\" class=\"empty\">\n 暂无更多消息 ღ( ´・ᴗ・` )比心\n </div>\n <ul class=\"message-list\">\n <li\n v-for=\"d in data\"\n :key=\"d.id\"\n :class=\"{\n read: d.read,\n }\"\n @click=\"handleViewDialogMessage(d)\"\n >\n <p class=\"text\">\n {{ d.text }}\n </p>\n <p class=\"date\">\n {{ formatDate(new Date(d.date)) }}\n </p>\n </li>\n </ul>\n <el-dialog\n v-model=\"dialogMessage.show\"\n center\n show-close\n append-to-body\n :close-on-click-modal=\"false\"\n :title=\"dialogMessage.title\"\n width=\"30%\"\n :fullscreen=\"isMobile\"\n >\n <div class=\"message-text\" v-html=\"dialogMessage.text\" />\n <template #footer>\n <p class=\"dialog-date\">\n 时间:{{ formatDate(new Date(activeMessage.date)) }}\n </p>\n <span>\n <el-button\n type=\"default\"\n @click=\"\n () => {\n dialogMessage.show = false\n }\n \"\n >\n 下次提醒\n </el-button>\n <el-button type=\"primary\" @click=\"readMessage\"> 确定 </el-button>\n </span>\n </template>\n </el-dialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.message-list {\n list-style: none;\n max-height: 500px;\n overflow-y: scroll;\n li {\n border-bottom: 1px solid #ddd;\n padding: 10px;\n cursor: pointer;\n &.read {\n opacity: 0.5;\n &:hover {\n opacity: 0.9;\n }\n }\n &:last-child {\n border-bottom: none;\n }\n\n p.text {\n font-size: 16px;\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n p.date {\n font-size: 14px;\n margin-top: 4px;\n }\n }\n}\n.empty {\n text-align: center;\n padding: 10px;\n}\n\n.dialog-date {\n font-size: 14px;\n text-align: right;\n padding: 10px;\n color: grey;\n}\n</style>\n\n<style lang=\"scss\">\n.message-text {\n overflow-y: scroll;\n max-height: 500px;\n ul,\n ol {\n list-style: none;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { Bell } from '@element-plus/icons-vue'\nimport { computed, reactive, onMounted, ref } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SuperUserApi } from '@/apis'\nimport MessageList from '@/components/MessageList/index.vue'\n\nconst activeTab = ref<'all' | 'no'>('all')\nconst messageData = reactive<SuperUserApiTypes.MessageItem[]>([])\n\nconst noReadMessage = computed(() => messageData.filter((v) => !v.read))\nconst route = useRoute()\nonMounted(() => {\n if (route.name !== 'config') {\n SuperUserApi.getMessageList().then((v) => {\n messageData.push(...v.data)\n })\n }\n})\n</script>\n<template>\n <div class=\"message-panel\">\n <el-popover placement=\"bottom-end\" :width=\"375\" trigger=\"hover\">\n <template #reference>\n <el-badge :value=\"noReadMessage.length || ''\" :max=\"99\">\n <el-button :icon=\"Bell\" circle />\n </el-badge>\n </template>\n <div>\n <el-tabs v-model=\"activeTab\">\n <el-tab-pane :label=\"`未读 ${noReadMessage.length || ''}`\" name=\"no\">\n <message-list auto-show :data=\"noReadMessage\" />\n </el-tab-pane>\n <el-tab-pane :label=\"`全部 ${messageData.length || ''}`\" name=\"all\">\n <message-list :data=\"messageData\" />\n </el-tab-pane>\n </el-tabs>\n </div>\n </el-popover>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n.message-panel {\n margin-right: 10px;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { ArrowDown, Close, Expand } from '@element-plus/icons-vue'\nimport HomeFooter from '@components/HomeFooter/index.vue'\n\nimport { onMounted, reactive, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport MessagePanel from '@/components/MessagePanel/index.vue'\nimport { UserApi } from '@/apis'\nimport { useIsMobile } from '@/composables'\n\nconst isMobile = useIsMobile()\n\nconst $router = useRouter()\nconst $store = useStore()\nconst $route = useRoute()\nconst navList = reactive<\n { title: string, path: string, isExternal?: boolean }[]\n>([\n {\n title: '文件管理',\n path: '/dashboard/files',\n },\n {\n title: '任务管理',\n path: '/dashboard/tasks',\n },\n])\nconst navActiveIdx = ref(0)\nfunction handleNav(idx: number) {\n const n = navList[idx]\n if (!n.isExternal && idx !== navActiveIdx.value) {\n $router.push({\n path: n.path,\n })\n }\n if (n.isExternal) {\n window.open(n.path, '_blank')\n }\n}\n\n// 自动切换激活的标题栏\nwatch(\n () => $route.path,\n (path: string) => {\n const idx = navList.findIndex(n => path.startsWith(n.path))\n if (idx !== -1) {\n navActiveIdx.value = idx\n }\n },\n)\n\nfunction handleLogout() {\n ElMessageBox.confirm('确认退出登录?', '登出提示', {\n draggable: true,\n })\n .then(() => {\n // 登出接口\n UserApi.logout().finally(() => {\n $store.commit('user/setToken', null)\n $router.replace({\n name: 'home',\n })\n })\n })\n .catch(() => {\n ElMessage.info('取消')\n })\n}\nconst userName = ref('World')\n\nfunction refreshActiveTab() {\n // 动态修改active的项\n navActiveIdx.value = navList.findIndex(v => $route.path.startsWith(v.path))\n}\nonMounted(() => {\n // 动态添加管理页面入口\n UserApi.checkPower().then((r) => {\n const isSuperAdmin = r.data?.power\n userName.value = r.data?.name\n $store.commit('user/setSuperAdmin', isSuperAdmin)\n if (isSuperAdmin) {\n const superNavList = [\n {\n title: '应用管理',\n path: '/dashboard/manage',\n },\n {\n title: '网站监控',\n path: 'https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78',\n isExternal: true,\n },\n ]\n navList.push(...superNavList)\n }\n const isSystem = r.data?.system\n if (isSystem) {\n navList.splice(0, navList.length)\n navList.push({\n title: '系统管理',\n path: '/dashboard/config',\n })\n }\n refreshActiveTab()\n })\n})\n</script>\n\n<template>\n <div class=\"dashboard\">\n <div class=\"pc-nav\">\n <div class=\"nav\">\n <!-- LOGO -->\n <div class=\"logo\">\n <router-link to=\"/\">\n <img\n src=\"https://img.cdn.sugarat.top/easypicker/EasyPicker.png\"\n alt=\"logo\"\n >\n </router-link>\n </div>\n <input v-if=\"isMobile\" id=\"navActive\" type=\"checkbox\">\n <nav>\n <label v-if=\"isMobile\" for=\"navActive\" class=\"nav-item\">\n <span>Hello💐,</span>\n {{ userName }}\n </label>\n <label\n v-for=\"(n, idx) in navList\"\n :key=\"idx\"\n for=\"navActive\"\n class=\"nav-item\"\n :class=\"{\n active: navActiveIdx === idx,\n }\"\n @click=\"handleNav(idx)\"\n >{{ n.title }}</label>\n <label\n v-if=\"isMobile\"\n for=\"navActive\"\n class=\"nav-item\"\n @click=\"handleLogout\"\n >\n <span style=\"margin-right: 6px\">退出</span>\n <el-icon size=\"16\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-v-53d86618\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z\"\n fill=\"#86909C\"\n data-v-53d86618\n />\n </svg>\n </el-icon>\n </label>\n </nav>\n <div class=\"mask\" />\n </div>\n <!-- 移动端展示 -->\n <span id=\"navMenu\">\n <MessagePanel v-if=\"isMobile\" class=\"mobile-message-bell\" />\n <label for=\"navActive\">\n <el-icon size=\"32\">\n <Expand />\n </el-icon>\n </label>\n </span>\n <div v-if=\"!isMobile\" class=\"flex fac\">\n <MessagePanel />\n <span>Hello 💐,</span>\n <el-dropdown class=\"exit\">\n <span class=\"exit-info\">\n <span class=\"ellipsis\">{{ userName }}</span>\n <el-icon>\n <ArrowDown />\n </el-icon>\n </span>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item :icon=\"Close\" @click=\"handleLogout\">\n 退出\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n </div>\n <router-view />\n <div>\n <HomeFooter type=\"dashboard\" />\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.dashboard {\n background-color: #fafafa;\n}\n.pc-nav {\n background-color: #fff;\n display: flex;\n padding: 10px;\n justify-content: space-between;\n align-items: center;\n .exit {\n cursor: pointer;\n display: flex;\n align-items: center;\n .exit-info {\n display: flex;\n justify-content: center;\n align-items: center;\n > span {\n margin-right: 5px;\n display: block;\n max-width: 70px;\n }\n }\n }\n .nav {\n display: flex;\n nav {\n display: flex;\n align-items: center;\n .nav-item {\n font-size: 1rem;\n color: #595959;\n padding: 10px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n &.active {\n color: #409eff !important;\n font-weight: 600;\n }\n }\n }\n .exit {\n color: #595959;\n }\n }\n .logo {\n width: 180px;\n margin: 0 10px;\n img {\n height: 40px;\n }\n }\n}\n#navActive {\n display: none;\n opacity: 0;\n}\n#navMenu {\n display: none;\n}\n.mobile-message-bell {\n display: none;\n position: fixed;\n right: 0;\n top: 0;\n}\n@media screen and (max-width: 700px) {\n #navActive {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n }\n .mobile-message-bell {\n display: block;\n }\n #navMenu {\n cursor: pointer;\n display: block;\n position: absolute;\n left: 10px;\n top: 5px;\n font-size: 2rem;\n }\n .pc-nav {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n z-index: 6;\n .nav {\n flex-wrap: wrap;\n width: 100%;\n .logo {\n width: 100%;\n text-align: center;\n }\n }\n #navActive {\n & + nav {\n display: none;\n }\n }\n #navActive:checked {\n & + nav {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: absolute;\n z-index: 1;\n background: #fff;\n left: 0;\n top: 50px;\n + .mask {\n display: block;\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 50px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n }\n }\n .exit {\n position: absolute;\n right: 10px;\n top: 20px;\n }\n }\n}\n</style>\n"],"names":["popoverProps","buildProps","trigger","useTooltipTriggerProps","placement","dropdownProps","disabled","visible","useTooltipContentProps","transition","popperOptions","tabindex","content","popperStyle","popperClass","enterable","default","effect","teleported","title","String","width","type","Number","offset","showAfter","hideAfter","autoClose","showArrow","Boolean","persistent","Function","Popover","_export_sfc","defineComponent","name","props","emits","value","isBoolean","before-enter","before-leave","after-enter","after-leave","setup","__props","expose","emit","onUpdateVisible","computed","ns","useNamespace","tooltipRef","ref","popperRef","_a","unref","style","addUnit","kls","b","m","gpuAcceleration","beforeEnter","beforeLeave","afterEnter","afterLeave","hide","_ctx","_cache","openBlock","createBlock","ElTooltip","mergeProps","ref_key","$attrs","onBeforeShow","onBeforeHide","onShow","onHide","withCtx","createElementBlock","key","class","normalizeClass","e","role","toDisplayString","createCommentVNode","renderSlot","$slots","createTextVNode","reference","_","attachEvents","el","binding","popperComponent","arg","popover","triggerRef","ElPopoverDirective","withInstallDirective","mounted","updated","ElPopover","withInstall","directive","_sfc_main","_hoisted_1","viewBox","xmlns","_hoisted_5","createElementVNode","fill","d","bell","$props","$setup","$data","$options","_hoisted_3","close","expand","dialogMessage","reactive","show","text","activeMessage","handleViewDialogMessage","v","readMessage","read","SuperUserApi","id","then","watch","data","length","autoShow","showItem","find","isMobile","useIsMobile","activeTab","messageData","noReadMessage","filter","route","useRoute","onMounted","getMessageList","push","$router","useRouter","$store","useStore","$route","navList","path","navActiveIdx","handleLogout","ElMessageBox","confirm","draggable","UserApi","logout","finally","commit","replace","catch","ElMessage","info","idx","findIndex","n","startsWith","userName","checkPower","r","isSuperAdmin","power","superNavList","isExternal","isSystem","system","splice","window","open"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"index-legacy-l7TP3X8w.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/popover.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/popover2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/src/directive.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.4.31_typescript@4.9.5_/node_modules/element-plus/es/components/popover/index.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/bell.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/close.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/expand.mjs","../../src/components/MessageList/index.vue","../../src/components/MessagePanel/index.vue","../../src/pages/dashboard/index.vue"],"sourcesContent":["import '../../../utils/index.mjs';\nimport '../../tooltip/index.mjs';\nimport '../../dropdown/index.mjs';\nimport { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { useTooltipTriggerProps, useTooltipContentProps } from '../../tooltip/src/tooltip.mjs';\nimport { dropdownProps } from '../../dropdown/src/dropdown.mjs';\nimport { isBoolean } from '@vueuse/core';\n\nconst popoverProps = buildProps({\n trigger: useTooltipTriggerProps.trigger,\n placement: dropdownProps.placement,\n disabled: useTooltipTriggerProps.disabled,\n visible: useTooltipContentProps.visible,\n transition: useTooltipContentProps.transition,\n popperOptions: dropdownProps.popperOptions,\n tabindex: dropdownProps.tabindex,\n content: useTooltipContentProps.content,\n popperStyle: useTooltipContentProps.popperStyle,\n popperClass: useTooltipContentProps.popperClass,\n enterable: {\n ...useTooltipContentProps.enterable,\n default: true\n },\n effect: {\n ...useTooltipContentProps.effect,\n default: \"light\"\n },\n teleported: useTooltipContentProps.teleported,\n title: String,\n width: {\n type: [String, Number],\n default: 150\n },\n offset: {\n type: Number,\n default: void 0\n },\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n },\n showArrow: {\n type: Boolean,\n default: true\n },\n persistent: {\n type: Boolean,\n default: true\n },\n \"onUpdate:visible\": {\n type: Function\n }\n});\nconst popoverEmits = {\n \"update:visible\": (value) => isBoolean(value),\n \"before-enter\": () => true,\n \"before-leave\": () => true,\n \"after-enter\": () => true,\n \"after-leave\": () => true\n};\n\nexport { popoverEmits, popoverProps };\n//# sourceMappingURL=popover.mjs.map\n","import { defineComponent, computed, ref, unref, openBlock, createBlock, mergeProps, withCtx, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, renderSlot, createTextVNode } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { popoverProps, popoverEmits } from './popover.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addUnit } from '../../../utils/dom/style.mjs';\n\nconst __default__ = {\n name: \"ElPopover\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n props: popoverProps,\n emits: popoverEmits,\n setup(__props, { expose, emit }) {\n const props = __props;\n const updateEventKeyRaw = `onUpdate:visible`;\n const onUpdateVisible = computed(() => {\n return props[updateEventKeyRaw];\n });\n const ns = useNamespace(\"popover\");\n const tooltipRef = ref();\n const popperRef = computed(() => {\n var _a;\n return (_a = unref(tooltipRef)) == null ? void 0 : _a.popperRef;\n });\n const style = computed(() => {\n return [\n {\n width: addUnit(props.width)\n },\n props.popperStyle\n ];\n });\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m(\"plain\")]: !!props.content }];\n });\n const gpuAcceleration = computed(() => {\n return props.transition === \"el-fade-in-linear\";\n });\n const hide = () => {\n var _a;\n (_a = tooltipRef.value) == null ? void 0 : _a.hide();\n };\n const beforeEnter = () => {\n emit(\"before-enter\");\n };\n const beforeLeave = () => {\n emit(\"before-leave\");\n };\n const afterEnter = () => {\n emit(\"after-enter\");\n };\n const afterLeave = () => {\n emit(\"update:visible\", false);\n emit(\"after-leave\");\n };\n expose({\n popperRef,\n hide\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(ElTooltip), mergeProps({\n ref_key: \"tooltipRef\",\n ref: tooltipRef\n }, _ctx.$attrs, {\n trigger: _ctx.trigger,\n placement: _ctx.placement,\n disabled: _ctx.disabled,\n visible: _ctx.visible,\n transition: _ctx.transition,\n \"popper-options\": _ctx.popperOptions,\n tabindex: _ctx.tabindex,\n content: _ctx.content,\n offset: _ctx.offset,\n \"show-after\": _ctx.showAfter,\n \"hide-after\": _ctx.hideAfter,\n \"auto-close\": _ctx.autoClose,\n \"show-arrow\": _ctx.showArrow,\n \"aria-label\": _ctx.title,\n effect: _ctx.effect,\n enterable: _ctx.enterable,\n \"popper-class\": unref(kls),\n \"popper-style\": unref(style),\n teleported: _ctx.teleported,\n persistent: _ctx.persistent,\n \"gpu-acceleration\": unref(gpuAcceleration),\n \"onUpdate:visible\": unref(onUpdateVisible),\n onBeforeShow: beforeEnter,\n onBeforeHide: beforeLeave,\n onShow: afterEnter,\n onHide: afterLeave\n }), {\n content: withCtx(() => [\n _ctx.title ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"title\")),\n role: \"title\"\n }, toDisplayString(_ctx.title), 3)) : createCommentVNode(\"v-if\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.content), 1)\n ])\n ]),\n default: withCtx(() => [\n _ctx.$slots.reference ? renderSlot(_ctx.$slots, \"reference\", { key: 0 }) : createCommentVNode(\"v-if\", true)\n ]),\n _: 3\n }, 16, [\"trigger\", \"placement\", \"disabled\", \"visible\", \"transition\", \"popper-options\", \"tabindex\", \"content\", \"offset\", \"show-after\", \"hide-after\", \"auto-close\", \"show-arrow\", \"aria-label\", \"effect\", \"enterable\", \"popper-class\", \"popper-style\", \"teleported\", \"persistent\", \"gpu-acceleration\", \"onUpdate:visible\"]);\n };\n }\n});\nvar Popover = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/popover/src/popover.vue\"]]);\n\nexport { Popover as default };\n//# sourceMappingURL=popover2.mjs.map\n","const attachEvents = (el, binding) => {\n const popperComponent = binding.arg || binding.value;\n const popover = popperComponent == null ? void 0 : popperComponent.popperRef;\n if (popover) {\n popover.triggerRef = el;\n }\n};\nvar PopoverDirective = {\n mounted(el, binding) {\n attachEvents(el, binding);\n },\n updated(el, binding) {\n attachEvents(el, binding);\n }\n};\nconst VPopover = \"popover\";\n\nexport { VPopover, PopoverDirective as default };\n//# sourceMappingURL=directive.mjs.map\n","import '../../utils/index.mjs';\nimport Popover from './src/popover2.mjs';\nimport PopoverDirective, { VPopover } from './src/directive.mjs';\nexport { popoverEmits, popoverProps } from './src/popover.mjs';\nimport { withInstallDirective, withInstall } from '../../utils/vue/install.mjs';\n\nconst ElPopoverDirective = withInstallDirective(PopoverDirective, VPopover);\nconst ElPopover = withInstall(Popover, {\n directive: ElPopoverDirective\n});\n\nexport { ElPopover, ElPopoverDirective, ElPopover as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Bell\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z\"\n}, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z\"\n}, null, -1);\nconst _hoisted_5 = [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_5);\n}\nvar bell = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { bell as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Close\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar close = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { close as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Expand\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar expand = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { expand as default };\n","<script lang=\"ts\" setup>\nimport { reactive, ref, watch } from 'vue'\nimport { formatDate } from '@/utils/stringUtil'\nimport { SuperUserApi } from '@/apis'\nimport { useIsMobile } from '@/composables'\n\nconst props = defineProps<{\n data: SuperUserApiTypes.MessageItem[]\n autoShow?: boolean\n}>()\n\nconst dialogMessage = reactive({\n show: false,\n title: '系统消息',\n text: '内容',\n})\nconst activeMessage = ref<SuperUserApiTypes.MessageItem>(null)\nfunction handleViewDialogMessage(v: SuperUserApiTypes.MessageItem) {\n activeMessage.value = v\n dialogMessage.text = v.text\n // TODO: 魔法数字问题\n // TODO:支持更多的消息类型\n dialogMessage.title = v.type === 0 ? '【系统消息】' : '【私信】'\n dialogMessage.show = true\n}\n\nfunction readMessage() {\n if (activeMessage.value.read) {\n dialogMessage.show = false\n return\n }\n SuperUserApi.readMessage(activeMessage.value.id).then(() => {\n activeMessage.value.read = true\n dialogMessage.show = false\n })\n}\n\nwatch(\n () => props.data.length,\n () => {\n if (!props.autoShow) {\n return\n }\n const showItem = props.data.find(v => !v.read)\n if (showItem) {\n handleViewDialogMessage(showItem)\n }\n },\n)\n\nconst isMobile = useIsMobile()\n</script>\n\n<template>\n <div v-if=\"!data.length\" class=\"empty\">\n 暂无更多消息 ღ( ´・ᴗ・` )比心\n </div>\n <ul class=\"message-list\">\n <li\n v-for=\"d in data\"\n :key=\"d.id\"\n :class=\"{\n read: d.read,\n }\"\n @click=\"handleViewDialogMessage(d)\"\n >\n <p class=\"text\">\n {{ d.text }}\n </p>\n <p class=\"date\">\n {{ formatDate(new Date(d.date)) }}\n </p>\n </li>\n </ul>\n <el-dialog\n v-model=\"dialogMessage.show\"\n center\n show-close\n append-to-body\n :close-on-click-modal=\"false\"\n :title=\"dialogMessage.title\"\n width=\"30%\"\n :fullscreen=\"isMobile\"\n >\n <div class=\"message-text\" v-html=\"dialogMessage.text\" />\n <template #footer>\n <p class=\"dialog-date\">\n 时间:{{ formatDate(new Date(activeMessage.date)) }}\n </p>\n <span>\n <el-button\n type=\"default\"\n @click=\"\n () => {\n dialogMessage.show = false\n }\n \"\n >\n 下次提醒\n </el-button>\n <el-button type=\"primary\" @click=\"readMessage\"> 确定 </el-button>\n </span>\n </template>\n </el-dialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.message-list {\n list-style: none;\n max-height: 500px;\n overflow-y: scroll;\n li {\n border-bottom: 1px solid #ddd;\n padding: 10px;\n cursor: pointer;\n &.read {\n opacity: 0.5;\n &:hover {\n opacity: 0.9;\n }\n }\n &:last-child {\n border-bottom: none;\n }\n\n p.text {\n font-size: 16px;\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n p.date {\n font-size: 14px;\n margin-top: 4px;\n }\n }\n}\n.empty {\n text-align: center;\n padding: 10px;\n}\n\n.dialog-date {\n font-size: 14px;\n text-align: right;\n padding: 10px;\n color: grey;\n}\n</style>\n\n<style lang=\"scss\">\n.message-text {\n overflow-y: scroll;\n max-height: 500px;\n ul,\n ol {\n list-style: none;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { Bell } from '@element-plus/icons-vue'\nimport { computed, reactive, onMounted, ref } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SuperUserApi } from '@/apis'\nimport MessageList from '@/components/MessageList/index.vue'\n\nconst activeTab = ref<'all' | 'no'>('all')\nconst messageData = reactive<SuperUserApiTypes.MessageItem[]>([])\n\nconst noReadMessage = computed(() => messageData.filter((v) => !v.read))\nconst route = useRoute()\nonMounted(() => {\n if (route.name !== 'config') {\n SuperUserApi.getMessageList().then((v) => {\n messageData.push(...v.data)\n })\n }\n})\n</script>\n<template>\n <div class=\"message-panel\">\n <el-popover placement=\"bottom-end\" :width=\"375\" trigger=\"hover\">\n <template #reference>\n <el-badge :value=\"noReadMessage.length || ''\" :max=\"99\">\n <el-button :icon=\"Bell\" circle />\n </el-badge>\n </template>\n <div>\n <el-tabs v-model=\"activeTab\">\n <el-tab-pane :label=\"`未读 ${noReadMessage.length || ''}`\" name=\"no\">\n <message-list auto-show :data=\"noReadMessage\" />\n </el-tab-pane>\n <el-tab-pane :label=\"`全部 ${messageData.length || ''}`\" name=\"all\">\n <message-list :data=\"messageData\" />\n </el-tab-pane>\n </el-tabs>\n </div>\n </el-popover>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n.message-panel {\n margin-right: 10px;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { ArrowDown, Close, Expand } from '@element-plus/icons-vue'\nimport HomeFooter from '@components/HomeFooter/index.vue'\n\nimport { onMounted, reactive, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport MessagePanel from '@/components/MessagePanel/index.vue'\nimport { UserApi } from '@/apis'\nimport { useIsMobile } from '@/composables'\n\nconst isMobile = useIsMobile()\n\nconst $router = useRouter()\nconst $store = useStore()\nconst $route = useRoute()\nconst navList = reactive<\n { title: string, path: string, isExternal?: boolean }[]\n>([\n {\n title: '文件管理',\n path: '/dashboard/files',\n },\n {\n title: '任务管理',\n path: '/dashboard/tasks',\n },\n])\nconst navActiveIdx = ref(0)\nfunction handleNav(idx: number) {\n const n = navList[idx]\n if (!n.isExternal && idx !== navActiveIdx.value) {\n $router.push({\n path: n.path,\n })\n }\n if (n.isExternal) {\n window.open(n.path, '_blank')\n }\n}\n\n// 自动切换激活的标题栏\nwatch(\n () => $route.path,\n (path: string) => {\n const idx = navList.findIndex(n => path.startsWith(n.path))\n if (idx !== -1) {\n navActiveIdx.value = idx\n }\n },\n)\n\nfunction handleLogout() {\n ElMessageBox.confirm('确认退出登录?', '登出提示', {\n draggable: true,\n })\n .then(() => {\n // 登出接口\n UserApi.logout().finally(() => {\n $store.commit('user/setToken', null)\n $router.replace({\n name: 'home',\n })\n })\n })\n .catch(() => {\n ElMessage.info('取消')\n })\n}\nconst userName = ref('World')\n\nfunction refreshActiveTab() {\n // 动态修改active的项\n navActiveIdx.value = navList.findIndex(v => $route.path.startsWith(v.path))\n}\nonMounted(() => {\n // 动态添加管理页面入口\n UserApi.checkPower().then((r) => {\n const isSuperAdmin = r.data?.power\n userName.value = r.data?.name\n $store.commit('user/setSuperAdmin', isSuperAdmin)\n if (isSuperAdmin) {\n const superNavList = [\n {\n title: '应用管理',\n path: '/dashboard/manage',\n },\n {\n title: '网站监控',\n path: 'https://www.frontjs.com/app/87c1ef7667a513f313b4abb22a88dc78',\n isExternal: true,\n },\n ]\n navList.push(...superNavList)\n }\n const isSystem = r.data?.system\n if (isSystem) {\n navList.splice(0, navList.length)\n navList.push({\n title: '系统管理',\n path: '/dashboard/config',\n })\n }\n refreshActiveTab()\n })\n})\n</script>\n\n<template>\n <div class=\"dashboard\">\n <div class=\"pc-nav\">\n <div class=\"nav\">\n <!-- LOGO -->\n <div class=\"logo\">\n <router-link to=\"/\">\n <img\n src=\"https://img.cdn.sugarat.top/easypicker/EasyPicker.png\"\n alt=\"logo\"\n >\n </router-link>\n </div>\n <input v-if=\"isMobile\" id=\"navActive\" type=\"checkbox\">\n <nav>\n <label v-if=\"isMobile\" for=\"navActive\" class=\"nav-item\">\n <span>Hello💐,</span>\n {{ userName }}\n </label>\n <label\n v-for=\"(n, idx) in navList\"\n :key=\"idx\"\n for=\"navActive\"\n class=\"nav-item\"\n :class=\"{\n active: navActiveIdx === idx,\n }\"\n @click=\"handleNav(idx)\"\n >{{ n.title }}</label>\n <label\n v-if=\"isMobile\"\n for=\"navActive\"\n class=\"nav-item\"\n @click=\"handleLogout\"\n >\n <span style=\"margin-right: 6px\">退出</span>\n <el-icon size=\"16\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-v-53d86618\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.6667 2.55473C13.0212 3.58347 14.6667 5.93291 14.6667 8.66667C14.6667 12.3486 11.6819 15.3333 8 15.3333C4.3181 15.3333 1.33333 12.3486 1.33333 8.66667C1.33333 5.93291 2.97879 3.58347 5.33333 2.55473V4.04684C3.7392 4.969 2.66667 6.69259 2.66667 8.66667C2.66667 11.6122 5.05448 14 8 14C10.9455 14 13.3333 11.6122 13.3333 8.66667C13.3333 6.69259 12.2608 4.969 10.6667 4.04684V2.55473ZM7.33333 8.66667V1.33333C7.33333 1.14924 7.48257 1 7.66667 1H8.33333C8.51743 1 8.66667 1.14924 8.66667 1.33333V8.66667C8.66667 8.85076 8.51743 9 8.33333 9H7.66667C7.48257 9 7.33333 8.85076 7.33333 8.66667Z\"\n fill=\"#86909C\"\n data-v-53d86618\n />\n </svg>\n </el-icon>\n </label>\n </nav>\n <div class=\"mask\" />\n </div>\n <!-- 移动端展示 -->\n <span id=\"navMenu\">\n <MessagePanel v-if=\"isMobile\" class=\"mobile-message-bell\" />\n <label for=\"navActive\">\n <el-icon size=\"32\">\n <Expand />\n </el-icon>\n </label>\n </span>\n <div v-if=\"!isMobile\" class=\"flex fac\">\n <MessagePanel />\n <span>Hello 💐,</span>\n <el-dropdown class=\"exit\">\n <span class=\"exit-info\">\n <span class=\"ellipsis\">{{ userName }}</span>\n <el-icon>\n <ArrowDown />\n </el-icon>\n </span>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item :icon=\"Close\" @click=\"handleLogout\">\n 退出\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n </div>\n <router-view />\n <div>\n <HomeFooter type=\"dashboard\" />\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.dashboard {\n background-color: #fafafa;\n}\n.pc-nav {\n background-color: #fff;\n display: flex;\n padding: 10px;\n justify-content: space-between;\n align-items: center;\n .exit {\n cursor: pointer;\n display: flex;\n align-items: center;\n .exit-info {\n display: flex;\n justify-content: center;\n align-items: center;\n > span {\n margin-right: 5px;\n display: block;\n max-width: 70px;\n }\n }\n }\n .nav {\n display: flex;\n nav {\n display: flex;\n align-items: center;\n .nav-item {\n font-size: 1rem;\n color: #595959;\n padding: 10px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n &.active {\n color: #409eff !important;\n font-weight: 600;\n }\n }\n }\n .exit {\n color: #595959;\n }\n }\n .logo {\n width: 180px;\n margin: 0 10px;\n img {\n height: 40px;\n }\n }\n}\n#navActive {\n display: none;\n opacity: 0;\n}\n#navMenu {\n display: none;\n}\n.mobile-message-bell {\n display: none;\n position: fixed;\n right: 0;\n top: 0;\n}\n@media screen and (max-width: 700px) {\n #navActive {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n }\n .mobile-message-bell {\n display: block;\n }\n #navMenu {\n cursor: pointer;\n display: block;\n position: absolute;\n left: 10px;\n top: 5px;\n font-size: 2rem;\n }\n .pc-nav {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n z-index: 6;\n .nav {\n flex-wrap: wrap;\n width: 100%;\n .logo {\n width: 100%;\n text-align: center;\n }\n }\n #navActive {\n & + nav {\n display: none;\n }\n }\n #navActive:checked {\n & + nav {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: absolute;\n z-index: 1;\n background: #fff;\n left: 0;\n top: 50px;\n + .mask {\n display: block;\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 50px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n }\n }\n .exit {\n position: absolute;\n right: 10px;\n top: 20px;\n }\n }\n}\n</style>\n"],"names":["popoverProps","buildProps","trigger","useTooltipTriggerProps","placement","dropdownProps","disabled","visible","useTooltipContentProps","transition","popperOptions","tabindex","content","popperStyle","popperClass","enterable","default","effect","teleported","title","String","width","type","Number","offset","showAfter","hideAfter","autoClose","showArrow","Boolean","persistent","Function","Popover","_export_sfc","defineComponent","name","props","emits","value","isBoolean","before-enter","before-leave","after-enter","after-leave","setup","__props","expose","emit","onUpdateVisible","computed","ns","useNamespace","tooltipRef","ref","popperRef","_a","unref","style","addUnit","kls","b","m","gpuAcceleration","beforeEnter","beforeLeave","afterEnter","afterLeave","hide","_ctx","_cache","openBlock","createBlock","ElTooltip","mergeProps","ref_key","$attrs","onBeforeShow","onBeforeHide","onShow","onHide","withCtx","createElementBlock","key","class","normalizeClass","e","role","toDisplayString","createCommentVNode","renderSlot","$slots","createTextVNode","reference","_","attachEvents","el","binding","popperComponent","arg","popover","triggerRef","ElPopoverDirective","withInstallDirective","mounted","updated","ElPopover","withInstall","directive","_sfc_main","_hoisted_1","viewBox","xmlns","_hoisted_5","createElementVNode","fill","d","bell","$props","$setup","$data","$options","_hoisted_3","close","expand","dialogMessage","reactive","show","text","activeMessage","handleViewDialogMessage","v","readMessage","read","SuperUserApi","id","then","watch","data","length","autoShow","showItem","find","isMobile","useIsMobile","activeTab","messageData","noReadMessage","filter","route","useRoute","onMounted","getMessageList","push","$router","useRouter","$store","useStore","$route","navList","path","navActiveIdx","handleLogout","ElMessageBox","confirm","draggable","UserApi","logout","finally","commit","replace","catch","ElMessage","info","idx","findIndex","n","startsWith","userName","checkPower","r","isSuperAdmin","power","superNavList","isExternal","isSystem","system","splice","window","open"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./index-legacy-
|
|
2
|
-
//# sourceMappingURL=isEqual-legacy-
|
|
1
|
+
System.register(["./index-legacy-DC5-MYgp.js"],(function(t,e){"use strict";var r,n,o,a,c,i,u,f,s,l,b,p,v,y,h,j;return{setters:[t=>{r=t.cP,n=t.cg,o=t.cQ,a=t.cw,c=t.cR,i=t.cy,u=t.cS,f=t.cT,s=t.cU,l=t.cv,b=t.cV,p=t.cW,v=t.cX,y=t.cY,h=t.cx,j=t.cZ}],execute:function(){t({S:ot,a:M,b:k,c:J,d:function(t,e,r){var o,a,c,i,u,f,s=0,l=!1,b=!1,p=!0;if("function"!=typeof t)throw new TypeError(ce);function v(e){var r=o,n=a;return o=a=void 0,s=e,i=t.apply(n,r)}function y(t){var r=t-f;return void 0===f||r>=e||r<0||b&&t-s>=c}function h(){var t=ae();if(y(t))return j(t);u=setTimeout(h,function(t){var r=e-(t-f);return b?ue(r,c-(t-s)):r}(t))}function j(t){return u=void 0,p&&o?v(t):(o=a=void 0,i)}function _(){var t=ae(),r=y(t);if(o=arguments,a=this,f=t,r){if(void 0===u)return function(t){return s=t,u=setTimeout(h,e),l?v(t):i}(f);if(b)return clearTimeout(u),u=setTimeout(h,e),v(f)}return void 0===u&&(u=setTimeout(h,e)),i}return e=T(e)||0,n(r)&&(l=!!r.leading,c=(b="maxWait"in r)?ie(T(r.maxWait)||0,e):c,p="trailing"in r?!!r.trailing:p),_.cancel=function(){void 0!==u&&clearTimeout(u),s=0,o=f=a=u=void 0},_.flush=function(){return void 0===u?i:j(ae())},_},e:nt,f:ft,i:function(t,e){return oe(t,e)},j:q,k:rt,m:st,o:K,s:at});var _=/\s/,d=/^\s+/;function g(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&_.test(t.charAt(e)););return e}(t)+1).replace(d,""):t}var w=NaN,m=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,A=/^0o[0-7]+$/i,z=parseInt;function T(t){if("number"==typeof t)return t;if(r(t))return w;if(n(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=n(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=g(t);var o=O.test(t);return o||A.test(t)?z(t.slice(2),o?2:8):m.test(t)?w:+t}var x=o(a,"WeakMap"),S=9007199254740991;function E(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=S}function k(t){return null!=t&&E(t.length)&&!c(t)}var P=Object.prototype;function M(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||P)}function B(t){return i(t)&&"[object Arguments]"==u(t)}var D=Object.prototype,U=D.hasOwnProperty,I=D.propertyIsEnumerable,W=B(function(){return arguments}())?B:function(t){return i(t)&&U.call(t,"callee")&&!I.call(t,"callee")},L="object"==typeof t&&t&&!t.nodeType&&t,V=L&&"object"==typeof e&&e&&!e.nodeType&&e,N=V&&V.exports===L?a.Buffer:void 0,F=N?N.isBuffer:void 0,R=t("l",F||function(){return!1}),$={};function q(t){return function(e){return t(e)}}$["[object Float32Array]"]=$["[object Float64Array]"]=$["[object Int8Array]"]=$["[object Int16Array]"]=$["[object Int32Array]"]=$["[object Uint8Array]"]=$["[object Uint8ClampedArray]"]=$["[object Uint16Array]"]=$["[object Uint32Array]"]=!0,$["[object Arguments]"]=$["[object Array]"]=$["[object ArrayBuffer]"]=$["[object Boolean]"]=$["[object DataView]"]=$["[object Date]"]=$["[object Error]"]=$["[object Function]"]=$["[object Map]"]=$["[object Number]"]=$["[object Object]"]=$["[object RegExp]"]=$["[object Set]"]=$["[object String]"]=$["[object WeakMap]"]=!1;var C="object"==typeof t&&t&&!t.nodeType&&t,Q=C&&"object"==typeof e&&e&&!e.nodeType&&e,X=Q&&Q.exports===C&&f.process,Y=t("n",function(){try{var t=Q&&Q.require&&Q.require("util").types;return t||X&&X.binding&&X.binding("util")}catch(e){}}()),Z=Y&&Y.isTypedArray,G=Z?q(Z):function(t){return i(t)&&E(t.length)&&!!$[u(t)]},H=Object.prototype.hasOwnProperty;function J(t,e){var r=l(t),n=!r&&W(t),o=!r&&!n&&R(t),a=!r&&!n&&!o&&G(t),c=r||n||o||a,i=c?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],u=i.length;for(var f in t)!e&&!H.call(t,f)||c&&("length"==f||o&&("offset"==f||"parent"==f)||a&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||s(f,u))||i.push(f);return i}function K(t,e){return function(r){return t(e(r))}}var tt=K(Object.keys,Object),et=Object.prototype.hasOwnProperty;function rt(t){return k(t)?J(t):function(t){if(!M(t))return tt(t);var e=[];for(var r in Object(t))et.call(t,r)&&"constructor"!=r&&e.push(r);return e}(t)}function nt(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function ot(t){var e=this.__data__=new b(t);this.size=e.size}function at(){return[]}ot.prototype.clear=function(){this.__data__=new b,this.size=0},ot.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},ot.prototype.get=function(t){return this.__data__.get(t)},ot.prototype.has=function(t){return this.__data__.has(t)},ot.prototype.set=function(t,e){var r=this.__data__;if(r instanceof b){var n=r.__data__;if(!p||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new v(n)}return r.set(t,e),this.size=r.size,this};var ct=Object.prototype.propertyIsEnumerable,it=Object.getOwnPropertySymbols,ut=t("g",it?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,a=[];++r<n;){var c=t[r];e(c,r,t)&&(a[o++]=c)}return a}(it(t),(function(e){return ct.call(t,e)})))}:at);function ft(t,e,r){var n=e(t);return l(t)?n:nt(n,r(t))}function st(t){return ft(t,rt,ut)}var lt=o(a,"DataView"),bt=o(a,"Promise"),pt=o(a,"Set"),vt="[object Map]",yt="[object Promise]",ht="[object Set]",jt="[object WeakMap]",_t="[object DataView]",dt=y(lt),gt=y(p),wt=y(bt),mt=y(pt),Ot=y(x),At=u;(lt&&At(new lt(new ArrayBuffer(1)))!=_t||p&&At(new p)!=vt||bt&&At(bt.resolve())!=yt||pt&&At(new pt)!=ht||x&&At(new x)!=jt)&&(At=function(t){var e=u(t),r="[object Object]"==e?t.constructor:void 0,n=r?y(r):"";if(n)switch(n){case dt:return _t;case gt:return vt;case wt:return yt;case mt:return ht;case Ot:return jt}return e});const zt=t("h",At);var Tt=a.Uint8Array;const xt=t("U",Tt);function St(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new v;++e<r;)this.add(t[e])}function Et(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}St.prototype.add=St.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},St.prototype.has=function(t){return this.__data__.has(t)};var kt=1,Pt=2;function Mt(t,e,r,n,o,a){var c=r&kt,i=t.length,u=e.length;if(i!=u&&!(c&&u>i))return!1;var f=a.get(t),s=a.get(e);if(f&&s)return f==e&&s==t;var l=-1,b=!0,p=r&Pt?new St:void 0;for(a.set(t,e),a.set(e,t);++l<i;){var v=t[l],y=e[l];if(n)var h=c?n(y,v,l,e,t,a):n(v,y,l,t,e,a);if(void 0!==h){if(h)continue;b=!1;break}if(p){if(!Et(e,(function(t,e){if(c=e,!p.has(c)&&(v===t||o(v,t,r,n,a)))return p.push(e);var c}))){b=!1;break}}else if(v!==y&&!o(v,y,r,n,a)){b=!1;break}}return a.delete(t),a.delete(e),b}function Bt(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function Dt(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var Ut=1,It=2,Wt="[object Boolean]",Lt="[object Date]",Vt="[object Error]",Nt="[object Map]",Ft="[object Number]",Rt="[object RegExp]",$t="[object Set]",qt="[object String]",Ct="[object Symbol]",Qt="[object ArrayBuffer]",Xt="[object DataView]",Yt=h?h.prototype:void 0,Zt=Yt?Yt.valueOf:void 0,Gt=1,Ht=Object.prototype.hasOwnProperty,Jt=1,Kt="[object Arguments]",te="[object Array]",ee="[object Object]",re=Object.prototype.hasOwnProperty;function ne(t,e,r,n,o,a){var c=l(t),i=l(e),u=c?te:zt(t),f=i?te:zt(e),s=(u=u==Kt?ee:u)==ee,b=(f=f==Kt?ee:f)==ee,p=u==f;if(p&&R(t)){if(!R(e))return!1;c=!0,s=!1}if(p&&!s)return a||(a=new ot),c||G(t)?Mt(t,e,r,n,o,a):function(t,e,r,n,o,a,c){switch(r){case Xt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Qt:return!(t.byteLength!=e.byteLength||!a(new xt(t),new xt(e)));case Wt:case Lt:case Ft:return j(+t,+e);case Vt:return t.name==e.name&&t.message==e.message;case Rt:case qt:return t==e+"";case Nt:var i=Bt;case $t:var u=n&Ut;if(i||(i=Dt),t.size!=e.size&&!u)return!1;var f=c.get(t);if(f)return f==e;n|=It,c.set(t,e);var s=Mt(i(t),i(e),n,o,a,c);return c.delete(t),s;case Ct:if(Zt)return Zt.call(t)==Zt.call(e)}return!1}(t,e,u,r,n,o,a);if(!(r&Jt)){var v=s&&re.call(t,"__wrapped__"),y=b&&re.call(e,"__wrapped__");if(v||y){var h=v?t.value():t,_=y?e.value():e;return a||(a=new ot),o(h,_,r,n,a)}}return!!p&&(a||(a=new ot),function(t,e,r,n,o,a){var c=r&Gt,i=st(t),u=i.length;if(u!=st(e).length&&!c)return!1;for(var f=u;f--;){var s=i[f];if(!(c?s in e:Ht.call(e,s)))return!1}var l=a.get(t),b=a.get(e);if(l&&b)return l==e&&b==t;var p=!0;a.set(t,e),a.set(e,t);for(var v=c;++f<u;){var y=t[s=i[f]],h=e[s];if(n)var j=c?n(h,y,s,e,t,a):n(y,h,s,t,e,a);if(!(void 0===j?y===h||o(y,h,r,n,a):j)){p=!1;break}v||(v="constructor"==s)}if(p&&!v){var _=t.constructor,d=e.constructor;_==d||!("constructor"in t)||!("constructor"in e)||"function"==typeof _&&_ instanceof _&&"function"==typeof d&&d instanceof d||(p=!1)}return a.delete(t),a.delete(e),p}(t,e,r,n,o,a))}function oe(t,e,r,n,o){return t===e||(null==t||null==e||!i(t)&&!i(e)?t!=t&&e!=e:ne(t,e,r,n,oe,o))}var ae=function(){return a.Date.now()},ce="Expected a function",ie=Math.max,ue=Math.min}}}));
|
|
2
|
+
//# sourceMappingURL=isEqual-legacy-DVLZyo95.js.map
|