From 663bbeb2a644e3d2cab6655ed8d888298d063df2 Mon Sep 17 00:00:00 2001 From: JINGYJ <1458671527@qq.com> Date: Fri, 11 Apr 2025 14:38:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=82=B9=E4=BA=91=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Data.bundled_1744248881266_ux47rphq2u8.mjs | 1 + ...iMock.bundled_1744248880889_3kpl4mqm58.mjs | 49 +++ .../_is.bundled_1744248880889_bs1pugk682m.mjs | 27 ++ ...oment.bundled_1744248880889_qf9hpn2ffp.mjs | 20 + package-lock.json | 302 ++++++++++++++- package.json | 2 + pnpm-lock.yaml | 8 + src/assets/common/amplify_btn.png | Bin 0 -> 1197 bytes src/assets/common/pointModalBg.png | Bin 0 -> 30054 bytes src/assets/common/reduce_btn.png | Bin 0 -> 1148 bytes src/assets/common/reset_btn.png | Bin 0 -> 1154 bytes src/views/dashboard/AppearanceMonitor.scss | 9 +- src/views/dashboard/AppearanceMonitor.vue | 47 ++- src/views/dashboard/components/PointModal.vue | 365 ++++++++++++++++++ .../dashboard/components/densityWorker.js | 21 + 15 files changed, 840 insertions(+), 11 deletions(-) create mode 100644 mock/pools/_monitorDetailData.bundled_1744248881266_ux47rphq2u8.mjs create mode 100644 mock/utils/_apiMock.bundled_1744248880889_3kpl4mqm58.mjs create mode 100644 mock/utils/_is.bundled_1744248880889_bs1pugk682m.mjs create mode 100644 mock/utils/_mockMoment.bundled_1744248880889_qf9hpn2ffp.mjs create mode 100644 src/assets/common/amplify_btn.png create mode 100644 src/assets/common/pointModalBg.png create mode 100644 src/assets/common/reduce_btn.png create mode 100644 src/assets/common/reset_btn.png create mode 100644 src/views/dashboard/components/PointModal.vue create mode 100644 src/views/dashboard/components/densityWorker.js diff --git a/mock/pools/_monitorDetailData.bundled_1744248881266_ux47rphq2u8.mjs b/mock/pools/_monitorDetailData.bundled_1744248881266_ux47rphq2u8.mjs new file mode 100644 index 0000000..38d4cc9 --- /dev/null +++ b/mock/pools/_monitorDetailData.bundled_1744248881266_ux47rphq2u8.mjs @@ -0,0 +1 @@ +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K diff --git a/mock/utils/_apiMock.bundled_1744248880889_3kpl4mqm58.mjs b/mock/utils/_apiMock.bundled_1744248880889_3kpl4mqm58.mjs new file mode 100644 index 0000000..23990b7 --- /dev/null +++ b/mock/utils/_apiMock.bundled_1744248880889_3kpl4mqm58.mjs @@ -0,0 +1,49 @@ +// mock/utils/apiMock.ts +function fetchMockSuccessFullByOther({ + data, + msg +}) { + const result = { + code: 200, + // 200 成功 + success: true, + // true 成功 + data: data || null, + // mock业务层数据 + msg, + // 成功提示 + isMock: true + // true 标识当前是模拟数据 + }; + return result; +} +function fetchMockFailFullByOther({ data, msg }) { + const result = { + code: 599, + // 200 成功 + success: false, + // true 成功 + data: data || null, + // mock业务层数据 + msg, + // 成功提示 + isMock: true + // true 标识当前是模拟数据 + }; + return result; +} +function fetchCurrPageByList({ data }) { + const { current, pageSize } = data; + const prevPage = current - 1; + const currPageData = { + ...data, + data: data.data.slice(prevPage * pageSize, current * pageSize) + }; + return fetchMockSuccessFullByOther({ data: currPageData }); +} +export { + fetchCurrPageByList, + fetchMockFailFullByOther, + fetchMockSuccessFullByOther +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9hcGlNb2NrLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1xcXFxhcGlNb2NrLnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1wiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vRToveWF4aW5fd2ViLzVHLUxvYWRpbmctQmF5LVdlYi9tb2NrL3V0aWxzL2FwaU1vY2sudHNcIjsvKlxyXG4gKiBAQXV0aG9yOiBkb25naGFvIGRvbmdoYW9Ac3VwZXJ2aXNpb24ubHRkXHJcbiAqIEBEYXRlOiAyMDI1LTAzLTA3IDE0OjU4OjM5XHJcbiAqIEBMYXN0RWRpdG9yczogZG9uZ2hhbyBkb25naGFvQHN1cGVydmlzaW9uLmx0ZFxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDI1LTAzLTEzIDE0OjI5OjI2XHJcbiAqIEBGaWxlUGF0aDogXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXG1vY2tcXHV0aWxzXFxhcGlNb2NrLnRzXHJcbiAqIEBEZXNjcmlwdGlvbjogXHU4RkQ5XHU2NjJGXHU5RUQ4XHU4QkE0XHU4QkJFXHU3RjZFLFx1OEJGN1x1OEJCRVx1N0Y2RWBjdXN0b21NYWRlYCwgXHU2MjUzXHU1RjAwa29yb0ZpbGVIZWFkZXJcdTY3RTVcdTc3MEJcdTkxNERcdTdGNkUgXHU4RkRCXHU4ODRDXHU4QkJFXHU3RjZFOiBodHRwczovL2dpdGh1Yi5jb20vT0JLb3JvMS9rb3JvMUZpbGVIZWFkZXIvd2lraS8lRTklODUlOEQlRTclQkQlQUVcclxuICovXHJcbmltcG9ydCB7IGZhaWxNb2NrQXBpUHJvcHMsIHN1Y2Nlc3NNb2NrQXBpUHJvcHMgfSBmcm9tIFwiLi4vdHlwaW5nXCI7XHJcbmV4cG9ydCBmdW5jdGlvbiBmZXRjaE1vY2tTdWNjZXNzRnVsbEJ5T3RoZXIoe1xyXG4gIGRhdGEsXHJcbiAgbXNnLFxyXG59KTogc3VjY2Vzc01vY2tBcGlQcm9wcyB7XHJcbiAgLy8gcmV0dXJuIHtcclxuICAvLyAgIGNvZGU6IDIwMCwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gIC8vICAgc3VjY2VzczogdHJ1ZSwgLy8gdHJ1ZSBcdTYyMTBcdTUyOUZcclxuICAvLyAgIGRhdGE6IGRhdGEgfHwgbnVsbCwgLy8gbW9ja1x1NEUxQVx1NTJBMVx1NUM0Mlx1NjU3MFx1NjM2RVxyXG4gIC8vICAgbXNnOiBtc2cgfCBcIm9rXCIsIC8vIFx1NjIxMFx1NTI5Rlx1NjNEMFx1NzkzQVxyXG4gIC8vICAgaXNNb2NrOiB0cnVlIC8vIHRydWUgXHU2ODA3XHU4QkM2XHU1RjUzXHU1MjREXHU2NjJGXHU2QTIxXHU2MkRGXHU2NTcwXHU2MzZFXHJcbiAgLy8gfSBhcyBzdWNjZXNzTW9ja0FwaVByb3BzO1xyXG4gIGNvbnN0IHJlc3VsdDogc3VjY2Vzc01vY2tBcGlQcm9wcyA9IHtcclxuICAgIGNvZGU6IDIwMCwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gICAgc3VjY2VzczogdHJ1ZSwgLy8gdHJ1ZSBcdTYyMTBcdTUyOUZcclxuICAgIGRhdGE6IGRhdGEgfHwgbnVsbCwgLy8gbW9ja1x1NEUxQVx1NTJBMVx1NUM0Mlx1NjU3MFx1NjM2RVxyXG4gICAgbXNnOiBtc2cgYXMgc3RyaW5nIHwgXCJva1wiLCAvLyBcdTYyMTBcdTUyOUZcdTYzRDBcdTc5M0FcclxuICAgIGlzTW9jazogdHJ1ZSwgLy8gdHJ1ZSBcdTY4MDdcdThCQzZcdTVGNTNcdTUyNERcdTY2MkZcdTZBMjFcdTYyREZcdTY1NzBcdTYzNkVcclxuICB9O1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmZXRjaE1vY2tGYWlsRnVsbEJ5T3RoZXIoeyBkYXRhLCBtc2cgfSk6IGZhaWxNb2NrQXBpUHJvcHMge1xyXG4gIC8vIHJldHVybiB7XHJcbiAgLy8gICBjb2RlOiA1OTksIC8vIDIwMCBcdTYyMTBcdTUyOUZcclxuICAvLyAgIHN1Y2Nlc3M6IHRydWUsIC8vIHRydWUgXHU2MjEwXHU1MjlGXHJcbiAgLy8gICBkYXRhOiBkYXRhIHx8IG51bGwsIC8vIG1vY2tcdTRFMUFcdTUyQTFcdTVDNDJcdTY1NzBcdTYzNkVcclxuICAvLyAgIG1zZzogbXNnIHwgXCJmYWlsXCIsIC8vIFx1NjIxMFx1NTI5Rlx1NjNEMFx1NzkzQVxyXG4gIC8vICAgaXNNb2NrOiB0cnVlIC8vIHRydWUgXHU2ODA3XHU4QkM2XHU1RjUzXHU1MjREXHU2NjJGXHU2QTIxXHU2MkRGXHU2NTcwXHU2MzZFXHJcbiAgLy8gfSBhcyBmYWlsTW9ja0FwaVByb3BzO1xyXG4gIGNvbnN0IHJlc3VsdDogZmFpbE1vY2tBcGlQcm9wcyA9IHtcclxuICAgIGNvZGU6IDU5OSwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gICAgc3VjY2VzczogZmFsc2UsIC8vIHRydWUgXHU2MjEwXHU1MjlGXHJcbiAgICBkYXRhOiBkYXRhIHx8IG51bGwsIC8vIG1vY2tcdTRFMUFcdTUyQTFcdTVDNDJcdTY1NzBcdTYzNkVcclxuICAgIG1zZzogbXNnIGFzIHN0cmluZyB8IFwiZmFpbFwiLCAvLyBcdTYyMTBcdTUyOUZcdTYzRDBcdTc5M0FcclxuICAgIGlzTW9jazogdHJ1ZSwgLy8gdHJ1ZSBcdTY4MDdcdThCQzZcdTVGNTNcdTUyNERcdTY2MkZcdTZBMjFcdTYyREZcdTY1NzBcdTYzNkVcclxuICB9O1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8vIFx1NTIwNlx1OTg3NVx1NUM1NVx1NzkzQVxyXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hDdXJyUGFnZUJ5TGlzdCh7IGRhdGEgfSk6IHN1Y2Nlc3NNb2NrQXBpUHJvcHMge1xyXG4gIC8vIGNvbnNvbGUubG9nKFwiZmV0Y2hDdXJyUGFnZUJ5TGlzdF9kYXRhXCIsIGRhdGEpO1xyXG4gIGNvbnN0IHsgY3VycmVudCwgcGFnZVNpemUgfSA9IGRhdGE7XHJcbiAgY29uc3QgcHJldlBhZ2UgPSBjdXJyZW50IC0gMTtcclxuICBjb25zdCBjdXJyUGFnZURhdGEgPSB7XHJcbiAgICAuLi5kYXRhLFxyXG4gICAgZGF0YTogZGF0YS5kYXRhLnNsaWNlKHByZXZQYWdlICogcGFnZVNpemUsIGN1cnJlbnQgKiBwYWdlU2l6ZSksXHJcbiAgfTtcclxuICByZXR1cm4gZmV0Y2hNb2NrU3VjY2Vzc0Z1bGxCeU90aGVyKHsgZGF0YTogY3VyclBhZ2VEYXRhIH0pO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFTTyxTQUFTLDRCQUE0QjtBQUFBLEVBQzFDO0FBQUEsRUFDQTtBQUNGLEdBQXdCO0FBUXRCLFFBQU0sU0FBOEI7QUFBQSxJQUNsQyxNQUFNO0FBQUE7QUFBQSxJQUNOLFNBQVM7QUFBQTtBQUFBLElBQ1QsTUFBTSxRQUFRO0FBQUE7QUFBQSxJQUNkO0FBQUE7QUFBQSxJQUNBLFFBQVE7QUFBQTtBQUFBLEVBQ1Y7QUFDQSxTQUFPO0FBQ1Q7QUFFTyxTQUFTLHlCQUF5QixFQUFFLE1BQU0sSUFBSSxHQUFxQjtBQVF4RSxRQUFNLFNBQTJCO0FBQUEsSUFDL0IsTUFBTTtBQUFBO0FBQUEsSUFDTixTQUFTO0FBQUE7QUFBQSxJQUNULE1BQU0sUUFBUTtBQUFBO0FBQUEsSUFDZDtBQUFBO0FBQUEsSUFDQSxRQUFRO0FBQUE7QUFBQSxFQUNWO0FBQ0EsU0FBTztBQUNUO0FBR08sU0FBUyxvQkFBb0IsRUFBRSxLQUFLLEdBQXdCO0FBRWpFLFFBQU0sRUFBRSxTQUFTLFNBQVMsSUFBSTtBQUM5QixRQUFNLFdBQVcsVUFBVTtBQUMzQixRQUFNLGVBQWU7QUFBQSxJQUNuQixHQUFHO0FBQUEsSUFDSCxNQUFNLEtBQUssS0FBSyxNQUFNLFdBQVcsVUFBVSxVQUFVLFFBQVE7QUFBQSxFQUMvRDtBQUNBLFNBQU8sNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0Q7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/mock/utils/_is.bundled_1744248880889_bs1pugk682m.mjs b/mock/utils/_is.bundled_1744248880889_bs1pugk682m.mjs new file mode 100644 index 0000000..fb4499e --- /dev/null +++ b/mock/utils/_is.bundled_1744248880889_bs1pugk682m.mjs @@ -0,0 +1,27 @@ +// mock/utils/is.ts +var IMAGE_EXTENSIONS = /* @__PURE__ */ new Set([ + "jpg", + "jpeg", + "png", + "gif", + "bmp", + "svg", + "webp", + "tiff", + "psd", + "ico", + "jfif", + "apng", + "avif" +]); +function isImage(filename) { + const baseName = filename.split("/").pop().split("\\").pop(); + if (!baseName) return false; + const ext = baseName.split(".").pop()?.toLowerCase(); + if (!ext || ext.length < 2) return false; + return IMAGE_EXTENSIONS.has(ext); +} +export { + isImage +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9pcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCJFOlxcXFx5YXhpbl93ZWJcXFxcNUctTG9hZGluZy1CYXktV2ViXFxcXG1vY2tcXFxcdXRpbHNcXFxcaXMudHNcIjtjb25zdCBfX2luamVjdGVkX2Rpcm5hbWVfXyA9IFwiRTpcXFxceWF4aW5fd2ViXFxcXDVHLUxvYWRpbmctQmF5LVdlYlxcXFxtb2NrXFxcXHV0aWxzXCI7Y29uc3QgX19pbmplY3RlZF9pbXBvcnRfbWV0YV91cmxfXyA9IFwiZmlsZTovLy9FOi95YXhpbl93ZWIvNUctTG9hZGluZy1CYXktV2ViL21vY2svdXRpbHMvaXMudHNcIjsvKipcclxuICogXHU1MjI0XHU2NUFEXHU2NTg3XHU0RUY2XHU1NDBEXHU2NjJGXHU1NDI2XHU0RTNBXHU1NkZFXHU3MjQ3XHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBcdTVCOENcdTY1NzRcdTY1ODdcdTRFRjZcdTU0MERcdUZGMDhcdTU0MkJcdThERUZcdTVGODRcdTU0OENcdTYyNjlcdTVDNTVcdTU0MERcdUZGMDlcclxuICogQHJldHVybnMge2Jvb2xlYW59IFx1NjYyRlx1NTQyNlx1NEUzQVx1NTZGRVx1NzI0N1xyXG4gKi9cclxuXHJcbmNvbnN0IElNQUdFX0VYVEVOU0lPTlMgPSBuZXcgU2V0KFtcclxuICBcImpwZ1wiLFxyXG4gIFwianBlZ1wiLFxyXG4gIFwicG5nXCIsXHJcbiAgXCJnaWZcIixcclxuICBcImJtcFwiLFxyXG4gIFwic3ZnXCIsXHJcbiAgXCJ3ZWJwXCIsXHJcbiAgXCJ0aWZmXCIsXHJcbiAgXCJwc2RcIixcclxuICBcImljb1wiLFxyXG4gIFwiamZpZlwiLFxyXG4gIFwiYXBuZ1wiLFxyXG4gIFwiYXZpZlwiLFxyXG5dKTtcclxuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2UoZmlsZW5hbWUpIHtcclxuICAvLyAxLiBcdTUzQkJcdTk2NjRcdThERUZcdTVGODRcdUZGMENcdTUzRUFcdTRGRERcdTc1NTlcdTY1ODdcdTRFRjZcdTU0MERcclxuICBjb25zdCBiYXNlTmFtZSA9IGZpbGVuYW1lLnNwbGl0KFwiL1wiKS5wb3AoKS5zcGxpdChcIlxcXFxcIikucG9wKCk7XHJcbiAgaWYgKCFiYXNlTmFtZSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAvLyAyLiBcdTYzRDBcdTUzRDZcdTYyNjlcdTVDNTVcdTU0MERcdUZGMDhcdTU5MDRcdTc0MDZcdTU5MUFcdTYyNjlcdTVDNTVcdTU0MERcdUZGMENcdTUzRDZcdTY3MDBcdTU0MEVcdTRFMDBcdTRFMkFcdUZGMDlcclxuICBjb25zdCBleHQgPSBiYXNlTmFtZS5zcGxpdChcIi5cIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTsgLy8gXHU2MjY5XHU1QzU1XHU1NDBEXHU5NTdGXHU1RUE2XHU4MUYzXHU1QzExMlx1NEY0RFx1RkYwOFx1NTk4Mi5qcGdcdUZGMDlcclxuXHJcbiAgLy8gMy4gXHU2OEMwXHU2N0U1XHU2NjJGXHU1NDI2XHU1NzI4XHU1NkZFXHU3MjQ3XHU2MjY5XHU1QzU1XHU1NDBEXHU3NjdEXHU1NDBEXHU1MzU1XHJcbiAgcmV0dXJuIElNQUdFX0VYVEVOU0lPTlMuaGFzKGV4dCk7XHJcbn1cclxuXHJcbi8vIFx1NzkzQVx1NEY4Qlx1NkQ0Qlx1OEJENVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ3Bob3RvLmpwZycpKTsgICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdpbWFnZS5wbmcnKSk7ICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdsb2dvLnN2ZycpKTsgICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdjb3Zlci50YXIuZ3onKSk7IC8vIGZhbHNlXHVGRjA4XHU5NzVFXHU1NkZFXHU3MjQ3XHU2MjY5XHU1QzU1XHU1NDBEXHVGRjA5XHJcbi8vICAgY29uc29sZS5sb2coaXNJbWFnZSgnZmlsZScpKTsgICAgICAgICAvLyBmYWxzZVx1RkYwOFx1NjVFMFx1NjI2OVx1NUM1NVx1NTQwRFx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJy5oaWRkZW4ucG5nJykpOyAgLy8gdHJ1ZVx1RkYwOFx1OTY5MFx1ODVDRlx1NjU4N1x1NEVGNlx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ2ljb24uSlBFRycpKTsgICAgLy8gdHJ1ZVx1RkYwOFx1NTkyN1x1NUMwRlx1NTE5OVx1NEUwRFx1NjU0Rlx1NjExRlx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ3ZpZGVvLm1wNCcpKTsgICAgLy8gZmFsc2VcdUZGMDhcdTg5QzZcdTk4OTFcdUZGMDlcclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQU1BLElBQU0sbUJBQW1CLG9CQUFJLElBQUk7QUFBQSxFQUMvQjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGLENBQUM7QUFDTSxTQUFTLFFBQVEsVUFBVTtBQUVoQyxRQUFNLFdBQVcsU0FBUyxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSTtBQUMzRCxNQUFJLENBQUMsU0FBVSxRQUFPO0FBR3RCLFFBQU0sTUFBTSxTQUFTLE1BQU0sR0FBRyxFQUFFLElBQUksR0FBRyxZQUFZO0FBQ25ELE1BQUksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFHLFFBQU87QUFHbkMsU0FBTyxpQkFBaUIsSUFBSSxHQUFHO0FBQ2pDOyIsCiAgIm5hbWVzIjogW10KfQo= diff --git a/mock/utils/_mockMoment.bundled_1744248880889_qf9hpn2ffp.mjs b/mock/utils/_mockMoment.bundled_1744248880889_qf9hpn2ffp.mjs new file mode 100644 index 0000000..734182e --- /dev/null +++ b/mock/utils/_mockMoment.bundled_1744248880889_qf9hpn2ffp.mjs @@ -0,0 +1,20 @@ +// mock/utils/mockMoment.ts +function generateRandomDateTimeByYear(year) { + const month = Math.floor(Math.random() * 12) + 1; + const day = Math.floor(Math.random() * 31) + 1; + const hour = Math.floor(Math.random() * 24); + const minute = Math.floor(Math.random() * 60); + const second = Math.floor(Math.random() * 60); + return `${year}-${month < 10 ? "0" : ""}${month}-${day < 10 ? "0" : ""}${day} ${hour < 10 ? "0" : ""}${hour}:${minute < 10 ? "0" : ""}${minute}:${second < 10 ? "0" : ""}${second}`; +} +function generateRandomMoment(date = /* @__PURE__ */ new Date(), type = "HH:mm:ss") { + const hour = Math.floor(Math.random() * 24); + const minute = Math.floor(Math.random() * 60); + const second = Math.floor(Math.random() * 60); + return `${hour < 10 ? "0" : ""}${hour}:${minute < 10 ? "0" : ""}${minute}:${second < 10 ? "0" : ""}${second}`; +} +export { + generateRandomDateTimeByYear, + generateRandomMoment +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9tb2NrTW9tZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1xcXFxtb2NrTW9tZW50LnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1wiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vRToveWF4aW5fd2ViLzVHLUxvYWRpbmctQmF5LVdlYi9tb2NrL3V0aWxzL21vY2tNb21lbnQudHNcIjtleHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21EYXRlVGltZUJ5WWVhcih5ZWFyKSB7XHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU2NzA4XHU0RUZEXHVGRjA4MS0xMlx1RkYwOVxyXG4gIGNvbnN0IG1vbnRoID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTIpICsgMTtcclxuXHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU2NUU1XHU2NzFGXHVGRjA4MS0zMVx1RkYwOVxyXG4gIGNvbnN0IGRheSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDMxKSArIDE7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NUMwRlx1NjVGNlx1RkYwODAtMjNcdUZGMDlcclxuICBjb25zdCBob3VyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjQpO1xyXG5cclxuICAvLyBcdTc1MUZcdTYyMTBcdTk2OEZcdTY3M0FcdTUyMDZcdTk0OUZcdUZGMDgwLTU5XHVGRjA5XHJcbiAgY29uc3QgbWludXRlID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApO1xyXG5cclxuICAvLyBcdTc1MUZcdTYyMTBcdTk2OEZcdTY3M0FcdTc5RDJcdTk0OUZcdUZGMDgwLTU5XHVGRjA5XHJcbiAgY29uc3Qgc2Vjb25kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApO1xyXG5cclxuICAvLyBcdThGRDRcdTU2REVcdTk2OEZcdTY3M0FcdTY1RTVcdTY3MUZcdTU0OENcdTY1RjZcdTk1RjRcdTc2ODRcdTVCNTdcdTdCMjZcdTRFMzJcclxuICByZXR1cm4gYCR7eWVhcn0tJHttb250aCA8IDEwID8gXCIwXCIgOiBcIlwifSR7bW9udGh9LSR7XHJcbiAgICBkYXkgPCAxMCA/IFwiMFwiIDogXCJcIlxyXG4gIH0ke2RheX0gJHtob3VyIDwgMTAgPyBcIjBcIiA6IFwiXCJ9JHtob3VyfToke21pbnV0ZSA8IDEwID8gXCIwXCIgOiBcIlwifSR7bWludXRlfToke1xyXG4gICAgc2Vjb25kIDwgMTAgPyBcIjBcIiA6IFwiXCJcclxuICB9JHtzZWNvbmR9YDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUmFuZG9tTW9tZW50KGRhdGUgPSBuZXcgRGF0ZSgpLCB0eXBlID0gXCJISDptbTpzc1wiKSB7XHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU1QzBGXHU2NUY2XHVGRjA4MC0yM1x1RkYwOVxyXG4gIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNCk7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NTIwNlx1OTQ5Rlx1RkYwODAtNTlcdUZGMDlcclxuICBjb25zdCBtaW51dGUgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA2MCk7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NzlEMlx1OTQ5Rlx1RkYwODAtNTlcdUZGMDlcclxuICBjb25zdCBzZWNvbmQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA2MCk7XHJcbiAgLy8gXHU4RkQ0XHU1NkRFXHU5NjhGXHU2NzNBXHU2NUU1XHU2NzFGXHU1NDhDXHU2NUY2XHU5NUY0XHU3Njg0XHU1QjU3XHU3QjI2XHU0RTMyXHJcbiAgcmV0dXJuIGAke2hvdXIgPCAxMCA/IFwiMFwiIDogXCJcIn0ke2hvdXJ9OiR7bWludXRlIDwgMTAgPyBcIjBcIiA6IFwiXCJ9JHttaW51dGV9OiR7XHJcbiAgICBzZWNvbmQgPCAxMCA/IFwiMFwiIDogXCJcIlxyXG4gIH0ke3NlY29uZH1gO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBMlIsU0FBUyw2QkFBNkIsTUFBTTtBQUVyVSxRQUFNLFFBQVEsS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUUsSUFBSTtBQUcvQyxRQUFNLE1BQU0sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUUsSUFBSTtBQUc3QyxRQUFNLE9BQU8sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUU7QUFHMUMsUUFBTSxTQUFTLEtBQUssTUFBTSxLQUFLLE9BQU8sSUFBSSxFQUFFO0FBRzVDLFFBQU0sU0FBUyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksRUFBRTtBQUc1QyxTQUFPLEdBQUcsSUFBSSxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsR0FBRyxLQUFLLElBQzdDLE1BQU0sS0FBSyxNQUFNLEVBQ25CLEdBQUcsR0FBRyxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFDdEUsU0FBUyxLQUFLLE1BQU0sRUFDdEIsR0FBRyxNQUFNO0FBQ1g7QUFFTyxTQUFTLHFCQUFxQixPQUFPLG9CQUFJLEtBQUssR0FBRyxPQUFPLFlBQVk7QUFFekUsUUFBTSxPQUFPLEtBQUssTUFBTSxLQUFLLE9BQU8sSUFBSSxFQUFFO0FBRzFDLFFBQU0sU0FBUyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksRUFBRTtBQUc1QyxRQUFNLFNBQVMsS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUU7QUFFNUMsU0FBTyxHQUFHLE9BQU8sS0FBSyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFDdEUsU0FBUyxLQUFLLE1BQU0sRUFDdEIsR0FBRyxNQUFNO0FBQ1g7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/package-lock.json b/package-lock.json index ad5064d..37e52d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,15 @@ "name": "data-dashboard", "version": "0.0.0", "dependencies": { + "@types/three": "^0.175.0", + "axios": "^1.8.3", "echarts": "^5.6.0", + "lodash": "^4.17.21", + "moment": "^2.30.1", "postcss-scss": "^4.0.9", "sass": "^1.85.1", "swiper": "^11.2.5", + "three": "^0.175.0", "unplugin-auto-import": "^19.1.1", "video.js": "^8.22.0", "vue": "^3.5.13" @@ -1794,6 +1799,11 @@ "integrity": "sha512-Z8U/6E2BWSdDkt3IWPiphoV+8V6aNzRmu2SriSbuhm6i3QIcY3TdUJzUP5NX8M8MZuIl+v4/77Rer8u4YSrSsg==", "dev": true }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==" + }, "node_modules/@types/echarts": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/@types/echarts/-/echarts-5.0.0.tgz", @@ -1824,12 +1834,35 @@ "@types/lodash": "*" } }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "resolved": "https://registry.npmmirror.com/@types/stats.js/-/stats.js-0.17.3.tgz", + "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==" + }, + "node_modules/@types/three": { + "version": "0.175.0", + "resolved": "https://registry.npmmirror.com/@types/three/-/three-0.175.0.tgz", + "integrity": "sha512-ldMSBgtZOZ3g9kJ3kOZSEtZIEITmJOzu8eKVpkhf036GuNkM4mt0NXecrjCn5tMm1OblOF7dZehlaDypBfNokw==", + "dependencies": { + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, "node_modules/@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", "devOptional": true }, + "node_modules/@types/webxr": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/@types/webxr/-/webxr-0.5.21.tgz", + "integrity": "sha512-geZIAtLzjGmgY2JUi6VxXdCrTb99A7yP49lxLr2Nm/uIK0PkkxcEi4OGhoGDO4pxCf3JwGz2GiJL2Ej4K2bKaA==" + }, "node_modules/@videojs/http-streaming": { "version": "3.17.0", "resolved": "https://registry.npmmirror.com/@videojs/http-streaming/-/http-streaming-3.17.0.tgz", @@ -2246,6 +2279,11 @@ } } }, + "node_modules/@webgpu/types": { + "version": "0.1.60", + "resolved": "https://registry.npmmirror.com/@webgpu/types/-/types-0.1.60.tgz", + "integrity": "sha512-8B/tdfRFKdrnejqmvq95ogp8tf52oZ51p3f4QD5m5Paey/qlX4Rhhy5Y8tgFMi7Ms70HzcMMw3EQjH/jdhTwlA==" + }, "node_modules/@xmldom/xmldom": { "version": "0.8.10", "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz", @@ -2337,6 +2375,11 @@ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", "dev": true }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/autoprefixer": { "version": "10.4.20", "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz", @@ -2374,6 +2417,16 @@ "postcss": "^8.1.0" } }, + "node_modules/axios": { + "version": "1.8.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2469,6 +2522,18 @@ "esbuild": ">=0.17" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -2540,6 +2605,17 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "13.1.0", "resolved": "https://registry.npmmirror.com/commander/-/commander-13.1.0.tgz", @@ -2683,6 +2759,14 @@ } } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz", @@ -2712,6 +2796,19 @@ "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -2804,6 +2901,47 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.25.0", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.0.tgz", @@ -2905,6 +3043,11 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", @@ -2950,6 +3093,25 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz", @@ -2966,6 +3128,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", @@ -2997,7 +3173,6 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3011,6 +3186,41 @@ "node": ">=6.9.0" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz", @@ -3061,17 +3271,52 @@ "node": ">=4" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -3524,8 +3769,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", @@ -3568,6 +3812,14 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/memoize-one": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", @@ -3583,6 +3835,11 @@ "node": ">= 8" } }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", @@ -3596,6 +3853,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/min-document": { "version": "2.19.0", "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", @@ -3681,6 +3957,14 @@ "random": "bin/random" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, "node_modules/mpd-parser": { "version": "1.3.1", "resolved": "https://registry.npmmirror.com/mpd-parser/-/mpd-parser-1.3.1.tgz", @@ -4138,6 +4422,11 @@ "node": ">= 0.6.0" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/quansync": { "version": "0.2.8", "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.8.tgz", @@ -4673,6 +4962,11 @@ "node": ">=0.8" } }, + "node_modules/three": { + "version": "0.175.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.175.0.tgz", + "integrity": "sha512-nNE3pnTHxXN/Phw768u0Grr7W4+rumGg/H6PgeseNJojkJtmeHJfZWi41Gp2mpXl1pg1pf1zjwR4McM1jTqkpg==" + }, "node_modules/tinyglobby": { "version": "0.2.12", "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.12.tgz", diff --git a/package.json b/package.json index 32dde1c..b8658cc 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "preview:prod": "vite preview --port 6060 --mode production" }, "dependencies": { + "@types/three": "^0.175.0", "axios": "^1.8.3", "echarts": "^5.6.0", "lodash": "^4.17.21", @@ -20,6 +21,7 @@ "postcss-scss": "^4.0.9", "sass": "^1.85.1", "swiper": "^11.2.5", + "three": "^0.175.0", "unplugin-auto-import": "^19.1.1", "video.js": "^8.22.0", "vue": "^3.5.13" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6404fb0..c877b02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: swiper: specifier: ^11.2.5 version: 11.2.5 + three: + specifier: ^0.175.0 + version: 0.175.0 unplugin-auto-import: specifier: ^19.1.1 version: 19.1.1(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.7.3))) @@ -1772,6 +1775,9 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + three@0.175.0: + resolution: {integrity: sha512-nNE3pnTHxXN/Phw768u0Grr7W4+rumGg/H6PgeseNJojkJtmeHJfZWi41Gp2mpXl1pg1pf1zjwR4McM1jTqkpg==} + tinyglobby@0.2.12: resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} @@ -3541,6 +3547,8 @@ snapshots: dependencies: any-promise: 1.3.0 + three@0.175.0: {} + tinyglobby@0.2.12: dependencies: fdir: 6.4.3(picomatch@4.0.2) diff --git a/src/assets/common/amplify_btn.png b/src/assets/common/amplify_btn.png new file mode 100644 index 0000000000000000000000000000000000000000..624216ca17e8c5f007a31ed6f79b7df288679d78 GIT binary patch literal 1197 zcmV;e1XBBnP)Y+0{<5kngO@Bw;?W#N~N-m)))?lbv)PA@Bl60hW;zG zcyn{JPbI^fK(E)UzrDTf;kJ!M1>}bWbB|tMU*oNz`y zfIZRl*%MV$CtTf65{pM)r>w;@_+22-5#4p{qYLuD6anQb1HF$Wk02CL$$%S;_}!wr z0qu0j5h)X5(_!fg0uk)8LvsZ78*6q?>l$F6t-9>9lm@W)P%NJPv~#dwuZ8vp?YHt^ zPGF}%BX>FmyWoA7xzdCV^#_nS_t{Xe=`M}-PC%pB;RKd6yJhh%Cjm?d+}zwWr0qir z5qUt&_ewW7rchc7fl3xLF(ClPp;*k1vJx&AD0`RLYHsSHn@}jmV)|gP&_q|5H%HgN z7co|P?w$wEr}Ss6>1*Dcnsy(g25L1c0hMN)QI4JCcSF&YpmlBO0w;sW0Q9cheN?sm zILimC6rjkNAfOEIWca2R0cWVAV^I`J0&S?;Ud;KtZ4xwafR>Oy27IKn4H~|gOIF_l zkEE##5jY^rM&=xb4Ce%C^RRWVBP$<(AQ-(X$(u9L0L&t_SQ!^S2r0jhH9h1_&`l`T z2QrR;^F%0~B2?E3mTpn_nhfXc_Qp(e!OvdT7j zAT!kCLtH{XGYq{~m!F=VoNaYnmUpafJDaOZaW^mb=fdt4u6;g3=*3;mr#K~10jgnn z$H3C>M8dheZm1WPfj&s?uB@zt7ER}p@X8jsVwO=|_QAWmM)dEFJ2K2QlSGlfm{=Pj zZVw9(dEjVoE6W!lG1H%XTuV}EH`{rDD;EazKlvV2njWL|Rlb!8UlKDBm=|m$(6=Ln zQ0PoNZ*Wd!D7`bL0_mqDz_5^*O0Peq3F+WCq=H|pd#wc)SYU*|N+C%~2^+QN00000 LNkvXXu0mjfrdc3x literal 0 HcmV?d00001 diff --git a/src/assets/common/pointModalBg.png b/src/assets/common/pointModalBg.png new file mode 100644 index 0000000000000000000000000000000000000000..d67056c4a1d85a9244c7ee1e99840e3677164194 GIT binary patch literal 30054 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 JvJbdj|37<{K`8(L literal 0 HcmV?d00001 diff --git a/src/assets/common/reduce_btn.png b/src/assets/common/reduce_btn.png new file mode 100644 index 0000000000000000000000000000000000000000..7f72d545252a0977f40f081c85f04f68094ddc32 GIT binary patch literal 1148 zcmV-?1cUpDP)<{9jb403IG5LYx|vN@X8MV>BAoabFkBLmUYokl*5n zcXxLOR5H8?^!xq#=jZ1UF54JXKz>Nj_w?iABi`HFOQ-~R5qNrf>SEBx^iRuqk-%cn z*4EZ36@(K3Xgz?|u5sC*a*@2fy&V*>hLynM<6{e_bJA;l2#fr|`G$RbeSJM?Hk<7G zV^@2Be`mscgwXg8!zcLp&i3~94V6tm3_c?Lz%OdG+WB3 zgpmLS{}ZQcP1D8N+FH+b;3|YW_HfzKG<%b%WPGGgirYYQCp$Yk=Trg^f{)==XNq`; zInnf)6IGoMq3$;+gNLkB*5DcZE)eJ_;yUKhHF;o;fC!a=EMv`M5sIi}AdE)*ZbjUH zb$aB8lnb%zu=W)K5&W`43k2pHTlPp24KdF)UFKQJ0vLR#44&h3;l;)V4hl30r&DkU zK6dG=x=>fX0hz0^mi#QRra3IjGR%*bOWzrR`}_Nb>if__L`wp%DU`NCAdS2)iwG8b~A^cs_VZ^7Soc!N>fCkt&ePhZ%SL~xw{RVPs#Tf(|22+nsgnc z8frBo0g+~0l7CvA;OLps1x^N$0mvfj`>UphvtqDF0rKn#0-9vDT4=uMMZg(i>zEh0 zl0XxxrWbQQZ|VdKoZv{vA4A?!ni@6Vw33zQzzazx!wMXbVIp%5L;8I}A@BwWijhT$ ztNX31O>DksncA;2q$k+ld5}|S*+d9Yu=2pS1c~CYu6IPX`t_wQM z2w;Q356dQV&Iro@CbycrB`$@qR2T*0NWO;cS(X*8WTXgaGD5Dxb!oxi zO}@Gh;p&}B-xL8|Ue1*`-hk7BAl}_lzUjOV(N-mp>u^OvO=WY{ZL(mfJ0;RHh}wyCOx*Wt9W+fR+GUiHomlwP2jYL2H+HcXt8h1P29FKF%~XAqJOK z_Q?a8rA2&*OX!!Hrg3%o_4U=+SEprp$LhATySfy2ZMi=ec5iVW@E$@g?s7iGDT!F1 z8isca4RR+E&gFGYy{HTfK=N>7V8@D{=KOn!(B5;Vv{*o>vgV!Ok_{DP6T49A1Cin}*11I#$xD_%0 O0000)Sd#U)SGqd7x>jn5B?=)>72*E=K74t38NI%~s>jF2z1`j2L{)&Ast8X{ zPi+VvA{o}}^|q=Al_{_&lx9L#S67_r{U8X|@kE&Y28tW{^8`=A2j!PooncufRak+$ zyE~dn3&}|NA;uo*@9gXhQ~}Jbz|GA~RIAm_w4E100!4cBD&nmG*rkC1I}rRR^=X2# zA9xS(9z(e{(uew6A7w+lH}FI-v9Es#5(KAc(`z=H6XgLf1xSt0&(9ZH5Gi;c_J1k| z#|m{JREKGN?`>~ycV$0hDG1z3tzhCyxy~$Pcs(V2e`RH5jl%iN9O@=)0|oYwJr|$C z)z#Gz3Bk25Ck3?GjO1(~eY~}`b>zF`5>y0zkOYoJF_pOBm@a)dDWGjW6!`%XiajYK~2wPNJ=D z-QLZNb2e6UfJ&%2!AYZ6%QQV)TRrOvpwSnRjn#rde@bK{TfG@y$oMF4AA*1z*qnxR z#wIxfCa$JJc7th!S#>Zz$2KG~-PqiV(wu`-#}7r^V;6hZ)SS!j8KC>IW-_1tN;$KM z=^a*WLfqI`1y#g^X6o5GxV^ni@Os{rB9R{3Dp?i4={FSF4c7~Xfngh7{C$-moy$pM z7{*rDssL|G>Rs~&Iyq7vked|3gr04s0~cqxF_|=qfzL(y(03K)fp#L>CePSWR{cx` zv_qEYY{T`MR|JT9bmbi+kD7B2GM=s`t*?1rrsM+n!VBXaODqt-0Wvvd UV|lHktN;K207*qoM6N<$f>AFI4*&oF literal 0 HcmV?d00001 diff --git a/src/views/dashboard/AppearanceMonitor.scss b/src/views/dashboard/AppearanceMonitor.scss index d2c4203..e870a5f 100644 --- a/src/views/dashboard/AppearanceMonitor.scss +++ b/src/views/dashboard/AppearanceMonitor.scss @@ -9,7 +9,7 @@ // align-items: center; .appearance-monitor-right { box-sizing: border-box; - width: 44%; + width:970px; // display: flex; background-image: url("@/assets/common/carbtmBg.png"); background-size: 100% 100%; @@ -35,7 +35,7 @@ .appearance-monitor-left { - width: 55%; + width: 48%; background-image: url("@/assets/common/boderBg.png"); background-size: 100% 100%; background-position: center; @@ -65,7 +65,7 @@ .monitor-left-bottom { width: 100%; padding: 0 16px; - margin-bottom: 16px; + margin-bottom: 29px; overflow: visible; .swiper { width: 100%; @@ -109,7 +109,8 @@ } } .empty-bg { - width: 100%; + box-sizing: border-box; + width: 892px; height: 815px; background-image: url("@/assets/common/emptyBg.png"); background-size: 156px 102px; diff --git a/src/views/dashboard/AppearanceMonitor.vue b/src/views/dashboard/AppearanceMonitor.vue index c3b5e17..752493d 100644 --- a/src/views/dashboard/AppearanceMonitor.vue +++ b/src/views/dashboard/AppearanceMonitor.vue @@ -70,6 +70,9 @@ + @@ -77,6 +80,7 @@ + + + \ No newline at end of file diff --git a/src/views/dashboard/components/densityWorker.js b/src/views/dashboard/components/densityWorker.js new file mode 100644 index 0000000..a8c792c --- /dev/null +++ b/src/views/dashboard/components/densityWorker.js @@ -0,0 +1,21 @@ +self.onmessage = function (e) { + console.log('Received message:', e.data); + const { positions, gridSize, grid } = e.data; + const numPoints = positions.length / 3; + console.log('Number of points:', numPoints); + + // 计算每个点的密度 + const densities = []; + for (let i = 0; i < numPoints; i++) { + const x = positions[i * 3]; + const y = positions[i * 3 + 1]; + const z = positions[i * 3 + 2]; + const gridX = Math.floor(x / gridSize); + const gridY = Math.floor(y / gridSize); + const gridZ = Math.floor(z / gridSize); + const key = `${gridX},${gridY},${gridZ}`; + densities.push(grid[key] || 0); + } + + self.postMessage(densities); +}; \ No newline at end of file