From f888fe65fe839bedf4c24239e344abc9c446bb72 Mon Sep 17 00:00:00 2001 From: inc904 Date: Fri, 31 Mar 2023 14:24:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=90=9C=E7=B4=A2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=92=8C=E7=94=A8=E6=88=B7=E8=AF=A6=E6=83=85=20=E6=90=AD?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/plugins.ts | 62 +- mock/login.ts | 34 +- mock/playerData.ts | 78 + mock/refreshToken.ts | 18 +- pnpm-lock.yaml | 1335 ++++------------- src/api/basic.ts | 77 + src/api/utils.ts | 1 + src/main.ts | 11 +- src/router/modules/basicData.ts | 43 +- src/router/utils.ts | 57 +- src/utils/http/index.ts | 61 +- src/views/basic/queryUser/index.vue | 59 +- src/views/basic/queryUser/indexHook.ts | 105 ++ src/views/basic/queryUser/infoHook.ts | 54 + src/views/basic/queryUser/queryUser.vue | 92 +- src/views/basic/queryUser/queryUserHook.ts | 74 + src/views/basic/queryUser/user/BasicInfo.vue | 20 + src/views/basic/queryUser/user/GameRecord.vue | 20 + src/views/basic/queryUser/user/chatRecord.vue | 20 + .../basic/queryUser/user/diamondRecord.vue | 20 + src/views/basic/queryUser/user/index.vue | 67 + .../basic/queryUser/user/loginRecord.vue | 20 + src/views/login/index.vue | 48 +- vite.config.ts | 57 +- 24 files changed, 1310 insertions(+), 1123 deletions(-) create mode 100644 mock/playerData.ts create mode 100644 src/api/basic.ts create mode 100644 src/api/utils.ts create mode 100644 src/views/basic/queryUser/indexHook.ts create mode 100644 src/views/basic/queryUser/infoHook.ts create mode 100644 src/views/basic/queryUser/queryUserHook.ts create mode 100644 src/views/basic/queryUser/user/BasicInfo.vue create mode 100644 src/views/basic/queryUser/user/GameRecord.vue create mode 100644 src/views/basic/queryUser/user/chatRecord.vue create mode 100644 src/views/basic/queryUser/user/diamondRecord.vue create mode 100644 src/views/basic/queryUser/user/index.vue create mode 100644 src/views/basic/queryUser/user/loginRecord.vue diff --git a/build/plugins.ts b/build/plugins.ts index 5e04ef4..3134df9 100644 --- a/build/plugins.ts +++ b/build/plugins.ts @@ -1,33 +1,33 @@ -import { cdn } from "./cdn"; -import { resolve } from "path"; -import vue from "@vitejs/plugin-vue"; -import { viteBuildInfo } from "./info"; -import svgLoader from "vite-svg-loader"; -import vueJsx from "@vitejs/plugin-vue-jsx"; -import { viteMockServe } from "vite-plugin-mock"; -import { configCompressPlugin } from "./compress"; +import { cdn } from './cdn' +import { resolve } from 'path' +import vue from '@vitejs/plugin-vue' +import { viteBuildInfo } from './info' +import svgLoader from 'vite-svg-loader' +import vueJsx from '@vitejs/plugin-vue-jsx' +// import { viteMockServe } from 'vite-plugin-mock' +import { configCompressPlugin } from './compress' // import ElementPlus from "unplugin-element-plus/vite"; -import { visualizer } from "rollup-plugin-visualizer"; -import removeConsole from "vite-plugin-remove-console"; -import themePreprocessorPlugin from "@pureadmin/theme"; -import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite"; -import DefineOptions from "unplugin-vue-define-options/vite"; -import { genScssMultipleScopeVars } from "../src/layout/theme"; +import { visualizer } from 'rollup-plugin-visualizer' +import removeConsole from 'vite-plugin-remove-console' +import themePreprocessorPlugin from '@pureadmin/theme' +import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite' +import DefineOptions from 'unplugin-vue-define-options/vite' +import { genScssMultipleScopeVars } from '../src/layout/theme' export function getPluginsList( command: string, VITE_CDN: boolean, VITE_COMPRESSION: ViteCompression ) { - const prodMock = true; - const lifecycle = process.env.npm_lifecycle_event; + const prodMock = true + const lifecycle = process.env.npm_lifecycle_event return [ vue(), // https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n VueI18nPlugin({ runtimeOnly: true, compositionOnly: true, - include: [resolve("locales/**")] + include: [resolve('locales/**')] }), // jsx、tsx语法支持 vueJsx(), @@ -35,7 +35,7 @@ export function getPluginsList( configCompressPlugin(VITE_COMPRESSION), DefineOptions(), // 线上环境删除console - removeConsole({ external: ["src/assets/iconfont/iconfont.js"] }), + removeConsole({ external: ['src/assets/iconfont/iconfont.js'] }), viteBuildInfo(), // 自定义主题 themePreprocessorPlugin({ @@ -48,19 +48,19 @@ export function getPluginsList( svgLoader(), // ElementPlus({}), // mock支持 - viteMockServe({ - mockPath: "mock", - localEnabled: command === "serve", - prodEnabled: command !== "serve" && prodMock, - injectCode: ` - import { setupProdMockServer } from './mockProdServer'; - setupProdMockServer(); - `, - logger: false - }), + // viteMockServe({ + // mockPath: 'mock', + // localEnabled: command === 'serve', + // prodEnabled: command !== 'serve' && prodMock, + // injectCode: ` + // import { setupProdMockServer } from './mockProdServer'; + // setupProdMockServer(); + // `, + // logger: false + // }), // 打包分析 - lifecycle === "report" - ? visualizer({ open: true, brotliSize: true, filename: "report.html" }) + lifecycle === 'report' + ? visualizer({ open: true, brotliSize: true, filename: 'report.html' }) : null - ]; + ] } diff --git a/mock/login.ts b/mock/login.ts index cddd4e4..c58d02f 100644 --- a/mock/login.ts +++ b/mock/login.ts @@ -1,36 +1,36 @@ // 根据角色动态生成路由 -import { MockMethod } from "vite-plugin-mock"; +import { MockMethod } from 'vite-plugin-mock' export default [ { - url: "/login", - method: "post", + url: '/login', + method: 'post', response: ({ body }) => { - if (body.username === "admin") { + if (body.username === 'admin') { return { success: true, data: { - username: "admin", + username: 'admin', // 一个用户可能有多个角色 - roles: ["admin"], - accessToken: "eyJhbGciOiJIUzUxMiJ9.admin", - refreshToken: "eyJhbGciOiJIUzUxMiJ9.adminRefresh", - expires: "2023/10/30 00:00:00" + roles: ['admin'], + accessToken: 'eyJhbGciOiJIUzUxMiJ9.admin', + refreshToken: 'eyJhbGciOiJIUzUxMiJ9.adminRefresh', + expires: '2023/10/30 00:00:00' } - }; + } } else { return { success: true, data: { - username: "common", + username: 'common', // 一个用户可能有多个角色 - roles: ["common"], - accessToken: "eyJhbGciOiJIUzUxMiJ9.common", - refreshToken: "eyJhbGciOiJIUzUxMiJ9.commonRefresh", - expires: "2023/10/30 00:00:00" + roles: ['common'], + accessToken: 'eyJhbGciOiJIUzUxMiJ9.common', + refreshToken: 'eyJhbGciOiJIUzUxMiJ9.commonRefresh', + expires: '2023/10/30 00:00:00' } - }; + } } } } -] as MockMethod[]; +] as MockMethod[] diff --git a/mock/playerData.ts b/mock/playerData.ts new file mode 100644 index 0000000..8284c80 --- /dev/null +++ b/mock/playerData.ts @@ -0,0 +1,78 @@ +import { MockMethod } from 'vite-plugin-mock' + +export default [ + { + url: '/dev-api/getCurrentDayData', + method: 'post', + response: () => { + return { + success: true, + data: [ + { + active_count: 12398, + play_count: 123, + register_count: 222, + channel: 'PC', + nlh_player: 98, + plo4_player: 715, + plo5_player: 123, + plo6_player: 123 + }, + { + active_count: 23, + play_count: 212, + register_count: 253, + channel: 'IOS', + nlh_player: 254, + plo4_player: 2213, + plo5_player: 2123, + plo6_player: 512 + } + ] + } + } + }, + { + url: '/getHistoricalData', + method: 'post', + response: () => { + return { + success: true, + data: [ + { + play_account: 2132, + register_account: 232, + active_account: 2123, + channel: 'PC' + }, + { + play_account: 21232, + register_account: 12313, + active_account: 67123, + channel: 'IOS' + } + ] + } + } + }, + { + url: '/snow/getUserData', + method: 'post', + response: () => { + return { + success: true, + data: [ + { + username: 2132, + club_name: '12123', + channel: 'PC', + mobile: 'P123123213123', + area: 'beijing', + last_login_date: '2023/12/12', + last_area: 'beijing' + } + ] + } + } + } +] as MockMethod[] diff --git a/mock/refreshToken.ts b/mock/refreshToken.ts index 87b8995..3b8b0b4 100644 --- a/mock/refreshToken.ts +++ b/mock/refreshToken.ts @@ -1,27 +1,27 @@ -import { MockMethod } from "vite-plugin-mock"; +import { MockMethod } from 'vite-plugin-mock' // 模拟刷新token接口 export default [ { - url: "/refreshToken", - method: "post", + url: '/refreshToken', + method: 'post', response: ({ body }) => { if (body.refreshToken) { return { success: true, data: { - accessToken: "eyJhbGciOiJIUzUxMiJ9.newAdmin", - refreshToken: "eyJhbGciOiJIUzUxMiJ9.newAdminRefresh", + accessToken: 'eyJhbGciOiJIUzUxMiJ9.newAdmin', + refreshToken: 'eyJhbGciOiJIUzUxMiJ9.newAdminRefresh', // `expires`选择这种日期格式是为了方便调试,后端直接设置时间戳或许更方便(每次都应该递增)。如果后端返回的是时间戳格式,前端开发请来到这个目录`src/utils/auth.ts`,把第`38`行的代码换成expires = data.expires即可。 - expires: "2023/10/30 23:59:59" + expires: '2023/10/30 23:59:59' } - }; + } } else { return { success: false, data: {} - }; + } } } } -] as MockMethod[]; +] as MockMethod[] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23fada5..e9c14df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,8 +1,6 @@ lockfileVersion: 5.4 specifiers: - '@commitlint/cli': 13.1.0 - '@commitlint/config-conventional': 13.1.0 '@iconify-icons/ep': ^1.2.10 '@iconify-icons/ri': ^1.2.4 '@iconify/vue': ^4.1.0 @@ -37,9 +35,7 @@ specifiers: eslint: ^8.8.0 eslint-plugin-prettier: ^4.0.0 eslint-plugin-vue: ^9.9.0 - husky: ^7.0.4 js-cookie: ^3.0.1 - lint-staged: 11.1.2 mitt: ^3.0.0 mockjs: ^1.1.0 nprogress: ^0.2.0 @@ -51,7 +47,6 @@ specifiers: postcss-import: ^15.1.0 postcss-scss: ^4.0.6 prettier: ^2.5.1 - pretty-quick: 3.1.1 qs: ^6.11.0 responsive-storage: ^2.2.0 rimraf: 3.0.2 @@ -108,8 +103,6 @@ dependencies: vue-types: 5.0.2_vue@3.2.47 devDependencies: - '@commitlint/cli': 13.1.0 - '@commitlint/config-conventional': 13.1.0 '@iconify-icons/ep': 1.2.10 '@iconify-icons/ri': 1.2.4 '@iconify/vue': 4.1.0_vue@3.2.47 @@ -133,15 +126,12 @@ devDependencies: eslint: 8.35.0 eslint-plugin-prettier: 4.2.1_rlq4czn2p5niyau36qwtjimf2y eslint-plugin-vue: 9.9.0_eslint@8.35.0 - husky: 7.0.4 - lint-staged: 11.1.2 picocolors: 1.0.0 postcss: 8.4.21 postcss-html: 1.5.0 postcss-import: 15.1.0_postcss@8.4.21 postcss-scss: 4.0.6_postcss@8.4.21 prettier: 2.8.4 - pretty-quick: 3.1.1_prettier@2.8.4 rimraf: 3.0.2 rollup-plugin-visualizer: 5.9.0 sass: 1.58.3 @@ -467,147 +457,6 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - /@commitlint/cli/13.1.0: - resolution: {integrity: sha512-xN/uNYWtGTva5OMSd+xA6e6/c2jk8av7MUbdd6w2cw89u6z3fAWoyiH87X0ewdSMNYmW/6B3L/2dIVGHRDID5w==} - engines: {node: '>=v12'} - hasBin: true - dependencies: - '@commitlint/format': 13.2.0 - '@commitlint/lint': 13.2.0 - '@commitlint/load': 13.2.1 - '@commitlint/read': 13.2.0 - '@commitlint/types': 13.2.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.7.1 - dev: true - - /@commitlint/config-conventional/13.1.0: - resolution: {integrity: sha512-zukJXqdr6jtMiVRy3tTHmwgKcUMGfqKDEskRigc5W3k2aYF4gBAtCEjMAJGZgSQE4DMcHeok0pEV2ANmTpb0cw==} - engines: {node: '>=v12'} - dependencies: - conventional-changelog-conventionalcommits: 4.6.3 - dev: true - - /@commitlint/ensure/13.2.0: - resolution: {integrity: sha512-rqhT62RehdLTRBu8OrPHnRCCd/7RmHEE4TiTlT4BLlr5ls5jlZhecOQWJ8np872uCNirrJ5NFjnjYYdbkNoW9Q==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - lodash: 4.17.21 - dev: true - - /@commitlint/execute-rule/13.2.0: - resolution: {integrity: sha512-6nPwpN0hwTYmsH3WM4hCdN+NrMopgRIuQ0aqZa+jnwMoS/g6ljliQNYfL+m5WO306BaIu1W3yYpbW5aI8gEr0g==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/format/13.2.0: - resolution: {integrity: sha512-yNBQJe6YFhM1pJAta4LvzQxccSKof6axJH7ALYjuhQqfT8AKlad7Y/2SuJ07ioyreNIqwOTuF2UfU8yJ7JzEIQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - chalk: 4.1.2 - dev: true - - /@commitlint/is-ignored/13.2.0: - resolution: {integrity: sha512-onnx4WctHFPPkHGFFAZBIWRSaNwuhixIIfbwPhcZ6IewwQX5n4jpjwM1GokA7vhlOnQ57W7AavbKUGjzIVtnRQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - semver: 7.3.5 - dev: true - - /@commitlint/lint/13.2.0: - resolution: {integrity: sha512-5XYkh0e9ehHjA7BxAHFpjPgr1qqbFY8OFG1wpBiAhycbYBtJnQmculA2wcwqTM40YCUBqEvWFdq86jTG8fbkMw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/is-ignored': 13.2.0 - '@commitlint/parse': 13.2.0 - '@commitlint/rules': 13.2.0 - '@commitlint/types': 13.2.0 - dev: true - - /@commitlint/load/13.2.1: - resolution: {integrity: sha512-qlaJkj0hfa9gtWRfCfbgFBTK3GYQRmjZhba4l9mUu4wV9lEZ4ICFlrLtd/8kaLXf/8xbrPhkAPkVFOAqM0YwUQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/execute-rule': 13.2.0 - '@commitlint/resolve-extends': 13.2.0 - '@commitlint/types': 13.2.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_prdn7pc7mycjsinmi5fnyv4we4 - chalk: 4.1.2 - cosmiconfig: 7.1.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - typescript: 4.9.5 - dev: true - - /@commitlint/message/13.2.0: - resolution: {integrity: sha512-+LlErJj2F2AC86xJb33VJIvSt25xqSF1I0b0GApSgoUtQBeJhx4SxIj1BLvGcLVmbRmbgTzAFq/QylwLId7EhA==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/parse/13.2.0: - resolution: {integrity: sha512-AtfKSQJQADbDhW+kuC5PxOyBANsYCuuJlZRZ2PYslOz2rvWwZ93zt+nKjM4g7C9ETbz0uq4r7/EoOsTJ2nJqfQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 13.2.0 - conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.4 - dev: true - - /@commitlint/read/13.2.0: - resolution: {integrity: sha512-7db5e1Bn3re6hQN0SqygTMF/QX6/MQauoJn3wJiUHE93lvwO6aFQxT3qAlYeyBPwfWsmDz/uSH454jtrSsv3Uw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/top-level': 13.2.0 - '@commitlint/types': 13.2.0 - fs-extra: 10.1.0 - git-raw-commits: 2.0.11 - dev: true - - /@commitlint/resolve-extends/13.2.0: - resolution: {integrity: sha512-HLCMkqMKtvl1yYLZ1Pm0UpFvd0kYjsm1meLOGZ7VkOd9G/XX+Fr1S2G5AT2zeiDw7WUVYK8lGVMNa319bnV+aw==} - engines: {node: '>=v12'} - dependencies: - import-fresh: 3.3.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - dev: true - - /@commitlint/rules/13.2.0: - resolution: {integrity: sha512-O3A9S7blOzvHfzrJrUQe9JxdtGy154ol/GXHwvd8WfMJ10y5ryBB4b6+0YZ1XhItWzrEASOfOKbD++EdLV90dQ==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/ensure': 13.2.0 - '@commitlint/message': 13.2.0 - '@commitlint/to-lines': 13.2.0 - '@commitlint/types': 13.2.0 - execa: 5.1.1 - dev: true - - /@commitlint/to-lines/13.2.0: - resolution: {integrity: sha512-ZfWZix2y/CzewReCrj5g0nKOEfj5HW9eBMDrqjJJMPApve00CWv0tYrFCGXuGlv244lW4uvWJt6J/0HLRWsfyg==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/top-level/13.2.0: - resolution: {integrity: sha512-knBvWYbIq6VV6VPHrVeDsxDiJq4Zq6cv5NIYU3iesKAsmK2KlLfsZPa+Ig96Y4AqAPU3zNJwjHxYkz9qxdBbfA==} - engines: {node: '>=v12'} - dependencies: - find-up: 5.0.0 - dev: true - - /@commitlint/types/13.2.0: - resolution: {integrity: sha512-RRVHEqmk1qn/dIaSQhvuca6k/6Z54G+r/KyimZ8gnAFielGiGUpsFRhIY3qhd5rXClVxDaa3nlcyTWckSccotQ==} - engines: {node: '>=v12'} - dependencies: - chalk: 4.1.2 - dev: true - /@csstools/selector-specificity/2.1.1_wajs5nedgkikc5pcuwett7legi: resolution: {integrity: sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==} engines: {node: ^14 || ^16 || >=18} @@ -632,219 +481,6 @@ packages: vue: 3.2.47 dev: false - /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_prdn7pc7mycjsinmi5fnyv4we4: - resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} - engines: {node: '>=10.0.0'} - peerDependencies: - cosmiconfig: '>=6' - dependencies: - cosmiconfig: 7.1.0 - lodash.get: 4.4.2 - make-error: 1.3.6 - ts-node: 9.1.1_typescript@4.9.5 - tslib: 2.5.0 - transitivePeerDependencies: - - typescript - dev: true - - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint/eslintrc/2.0.0: resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -934,8 +570,8 @@ packages: vue-i18n: optional: true dependencies: - '@intlify/message-compiler': 9.3.0-beta.16 - '@intlify/shared': 9.3.0-beta.16 + '@intlify/message-compiler': registry.npmjs.org/@intlify/message-compiler/9.3.0-beta.17 + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.3.0-beta.17 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 vue-i18n: 9.2.2_vue@3.2.47 @@ -948,39 +584,26 @@ packages: dependencies: '@intlify/devtools-if': 9.2.2 '@intlify/message-compiler': 9.2.2 - '@intlify/shared': 9.2.2 + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.2.2 '@intlify/vue-devtools': 9.2.2 /@intlify/devtools-if/9.2.2: resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} engines: {node: '>= 14'} dependencies: - '@intlify/shared': 9.2.2 + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.2.2 /@intlify/message-compiler/9.2.2: resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} engines: {node: '>= 14'} dependencies: - '@intlify/shared': 9.2.2 - source-map: 0.6.1 - - /@intlify/message-compiler/9.3.0-beta.16: - resolution: {integrity: sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw==} - engines: {node: '>= 14'} - dependencies: - '@intlify/shared': 9.3.0-beta.16 - source-map: 0.6.1 - dev: true + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.2.2 + source-map: registry.npmjs.org/source-map/0.6.1 /@intlify/shared/9.2.2: resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} engines: {node: '>= 14'} - /@intlify/shared/9.3.0-beta.16: - resolution: {integrity: sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig==} - engines: {node: '>= 14'} - dev: true - /@intlify/unplugin-vue-i18n/0.8.2_vue-i18n@9.2.2: resolution: {integrity: sha512-cRnzPqSEZQOmTD+p4pwc3RTS9HxreLqfID0keoqZDZweCy/CGRMLLTNd15S4TUf1vSBhPF03DItEFDr1F+8MDA==} engines: {node: '>= 14.16'} @@ -997,7 +620,7 @@ packages: optional: true dependencies: '@intlify/bundle-utils': 4.0.0_vue-i18n@9.2.2 - '@intlify/shared': 9.3.0-beta.16 + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.3.0-beta.17 '@rollup/pluginutils': 4.2.1 '@vue/compiler-sfc': 3.2.47 debug: 4.3.4 @@ -1018,7 +641,7 @@ packages: engines: {node: '>= 14'} dependencies: '@intlify/core-base': 9.2.2 - '@intlify/shared': 9.2.2 + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.2.2 /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} @@ -1181,10 +804,6 @@ packages: picomatch: 2.3.1 dev: true - /@sxzz/popperjs-es/2.11.7: - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} - dev: false - /@trysound/sax/0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -1220,10 +839,6 @@ packages: resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} dev: false - /@types/minimatch/3.0.5: - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - dev: true - /@types/minimist/1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true @@ -1707,14 +1322,6 @@ packages: uuid: 8.3.2 dev: true - /JSONStream/1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1756,14 +1363,6 @@ packages: hasBin: true dev: true - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - /ajv/6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -1786,18 +1385,6 @@ packages: resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==} dev: false - /ansi-colors/4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1825,10 +1412,6 @@ packages: picomatch: 2.3.1 dev: true - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true @@ -1837,15 +1420,6 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-differ/3.0.0: - resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} - engines: {node: '>=8'} - dev: true - - /array-ify/1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - dev: true - /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1856,11 +1430,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /arrify/2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} - dev: true - /ast-walker-scope/0.4.0: resolution: {integrity: sha512-THVisYmmqkcopZXJDniGgVW6BRKtjutRLytqAgw0XDabYZmxC0GfFggTFZouMhvNT7jPBkx0vOy/2Y+udCDwgg==} engines: {node: '>=14.19.0'} @@ -2032,14 +1601,6 @@ packages: supports-color: 5.5.0 dev: true - /chalk/3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -2060,27 +1621,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 - dev: true - - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - - /cli-cursor/3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-truncate/2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + fsevents: registry.npmjs.org/fsevents/2.3.2 dev: true /cliui/8.0.1: @@ -2137,10 +1678,6 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette/2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -2161,13 +1698,6 @@ packages: engines: {node: '>= 10'} dev: true - /compare-func/2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - dev: true - /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -2184,36 +1714,6 @@ packages: - supports-color dev: true - /conventional-changelog-angular/5.0.13: - resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - q: 1.5.1 - dev: true - - /conventional-changelog-conventionalcommits/4.6.3: - resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 - dev: true - - /conventional-commits-parser/3.2.4: - resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} - engines: {node: '>=10'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - /convert-source-map/1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true @@ -2229,10 +1729,6 @@ packages: yaml: 1.10.2 dev: true - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2281,7 +1777,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: mdn-data: 2.0.14 - source-map: 0.6.1 + source-map: registry.npmjs.org/source-map/0.6.1 dev: true /css-tree/2.2.1: @@ -2400,11 +1896,6 @@ packages: /csstype/2.6.21: resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - /dargs/7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - dev: true - /dayjs/1.11.7: resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: false @@ -2486,11 +1977,6 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2559,13 +2045,6 @@ packages: domhandler: 5.0.3 dev: true - /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 - dev: true - /echarts/5.4.1: resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==} dependencies: @@ -2589,7 +2068,7 @@ packages: '@ctrl/tinycolor': 3.6.0 '@element-plus/icons-vue': 2.0.10_vue@3.2.47 '@floating-ui/dom': 1.2.1 - '@popperjs/core': /@sxzz/popperjs-es/2.11.7 + '@popperjs/core': registry.npmjs.org/@sxzz/popperjs-es/2.11.7 '@types/lodash': 4.14.191 '@types/lodash-es': 4.17.6 '@vueuse/core': 9.13.0_vue@3.2.47 @@ -2621,19 +2100,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - /entities/2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -2661,28 +2127,28 @@ packages: hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': registry.npmjs.org/@esbuild/android-arm/0.16.17 + '@esbuild/android-arm64': registry.npmjs.org/@esbuild/android-arm64/0.16.17 + '@esbuild/android-x64': registry.npmjs.org/@esbuild/android-x64/0.16.17 + '@esbuild/darwin-arm64': registry.npmjs.org/@esbuild/darwin-arm64/0.16.17 + '@esbuild/darwin-x64': registry.npmjs.org/@esbuild/darwin-x64/0.16.17 + '@esbuild/freebsd-arm64': registry.npmjs.org/@esbuild/freebsd-arm64/0.16.17 + '@esbuild/freebsd-x64': registry.npmjs.org/@esbuild/freebsd-x64/0.16.17 + '@esbuild/linux-arm': registry.npmjs.org/@esbuild/linux-arm/0.16.17 + '@esbuild/linux-arm64': registry.npmjs.org/@esbuild/linux-arm64/0.16.17 + '@esbuild/linux-ia32': registry.npmjs.org/@esbuild/linux-ia32/0.16.17 + '@esbuild/linux-loong64': registry.npmjs.org/@esbuild/linux-loong64/0.16.17 + '@esbuild/linux-mips64el': registry.npmjs.org/@esbuild/linux-mips64el/0.16.17 + '@esbuild/linux-ppc64': registry.npmjs.org/@esbuild/linux-ppc64/0.16.17 + '@esbuild/linux-riscv64': registry.npmjs.org/@esbuild/linux-riscv64/0.16.17 + '@esbuild/linux-s390x': registry.npmjs.org/@esbuild/linux-s390x/0.16.17 + '@esbuild/linux-x64': registry.npmjs.org/@esbuild/linux-x64/0.16.17 + '@esbuild/netbsd-x64': registry.npmjs.org/@esbuild/netbsd-x64/0.16.17 + '@esbuild/openbsd-x64': registry.npmjs.org/@esbuild/openbsd-x64/0.16.17 + '@esbuild/sunos-x64': registry.npmjs.org/@esbuild/sunos-x64/0.16.17 + '@esbuild/win32-arm64': registry.npmjs.org/@esbuild/win32-arm64/0.16.17 + '@esbuild/win32-ia32': registry.npmjs.org/@esbuild/win32-ia32/0.16.17 + '@esbuild/win32-x64': registry.npmjs.org/@esbuild/win32-x64/0.16.17 dev: true /escalade/3.1.1: @@ -2914,36 +2380,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /execa/4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -3081,14 +2517,6 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} @@ -3110,34 +2538,6 @@ packages: has-symbols: 1.0.3 dev: false - /get-own-enumerable-property-symbols/3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true - - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /git-raw-commits/2.0.11: - resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -3163,13 +2563,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-dirs/0.1.1: - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} - engines: {node: '>=4'} - dependencies: - ini: 1.3.8 - dev: true - /global-modules/2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} @@ -3282,22 +2675,6 @@ packages: entities: 4.4.0 dev: true - /human-signals/1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /husky/7.0.4: - resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} - engines: {node: '>=12'} - hasBin: true - dev: true - /ignore/5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -3409,16 +2786,6 @@ packages: engines: {node: '>=0.12.0'} dev: true - /is-obj/1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - /is-path-inside/3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -3439,28 +2806,6 @@ packages: '@types/estree': 1.0.0 dev: true - /is-regexp/1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-text-path/1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} - dependencies: - text-extensions: 1.9.0 - dev: true - - /is-unicode-supported/0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - /is-wsl/2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3540,12 +2885,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 - dev: true - - /jsonparse/1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} + graceful-fs: registry.npmjs.org/graceful-fs/4.2.10 dev: true /kind-of/6.0.3: @@ -3579,48 +2919,6 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/11.1.2: - resolution: {integrity: sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w==} - hasBin: true - dependencies: - chalk: 4.1.2 - cli-truncate: 2.1.0 - commander: 7.2.0 - cosmiconfig: 7.1.0 - debug: 4.3.4 - enquirer: 2.3.6 - execa: 5.1.1 - listr2: 3.14.0_enquirer@2.3.6 - log-symbols: 4.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - please-upgrade-node: 3.2.0 - string-argv: 0.3.1 - stringify-object: 3.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /listr2/3.14.0_enquirer@2.3.6: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - enquirer: 2.3.6 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - /local-pkg/0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} @@ -3656,10 +2954,6 @@ packages: lodash-es: 4.17.21 dev: false - /lodash.get/4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - /lodash.memoize/4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true @@ -3679,24 +2973,6 @@ packages: /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-symbols/4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /log-update/4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - dev: true - /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -3722,10 +2998,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - /map-obj/1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -3756,23 +3028,6 @@ packages: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false - /meow/8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - dev: true - /meow/9.0.0: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} @@ -3791,10 +3046,6 @@ packages: yargs-parser: 20.2.9 dev: true - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3820,11 +3071,6 @@ packages: mime-db: 1.52.0 dev: false - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -3866,11 +3112,6 @@ packages: dependencies: commander: 10.0.0 - /mri/1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: true - /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@ -3883,17 +3124,6 @@ packages: resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} dev: true - /multimatch/4.0.0: - resolution: {integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==} - engines: {node: '>=8'} - dependencies: - '@types/minimatch': 3.0.5 - array-differ: 3.0.0 - array-union: 2.1.0 - arrify: 2.0.1 - minimatch: 3.1.2 - dev: true - /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3953,13 +3183,6 @@ packages: resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} dev: false - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - /nprogress/0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: false @@ -3992,13 +3215,6 @@ packages: wrappy: 1.0.2 dev: true - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - /open/8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -4048,13 +3264,6 @@ packages: p-limit: 3.1.0 dev: true - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true - /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -4152,12 +3361,6 @@ packages: vue-demi: 0.13.11_vue@3.2.47 dev: false - /please-upgrade-node/3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - dependencies: - semver-compare: 1.0.0 - dev: true - /popmotion/11.0.5: resolution: {integrity: sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==} dependencies: @@ -4592,22 +3795,6 @@ packages: hasBin: true dev: true - /pretty-quick/3.1.1_prettier@2.8.4: - resolution: {integrity: sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ==} - engines: {node: '>=10.13'} - hasBin: true - peerDependencies: - prettier: '>=2.0.0' - dependencies: - chalk: 3.0.0 - execa: 4.1.0 - find-up: 4.1.0 - ignore: 5.2.4 - mri: 1.2.0 - multimatch: 4.0.0 - prettier: 2.8.4 - dev: true - /process/0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -4617,23 +3804,11 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: true - /q/1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - dev: true - /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -4680,15 +3855,6 @@ packages: type-fest: 0.6.0 dev: true - /readable-stream/3.6.1: - resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -4729,13 +3895,6 @@ packages: engines: {node: '>=8'} dev: true - /resolve-global/1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - dependencies: - global-dirs: 0.1.1 - dev: true - /resolve/1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -4749,23 +3908,11 @@ packages: resolution: {integrity: sha512-94W5Chr2F5kDBT6J+OCOeJguEkSTDc3jPOUQXYmzNG64DCNl5p7hoBDF7bx7u6EXAEcpUKF64OZR4b7Nn8h/Gg==} dev: false - /restore-cursor/3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc/1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true - /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -4808,7 +3955,7 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmjs.org/fsevents/2.3.2 dev: true /run-parallel/1.2.0: @@ -4817,16 +3964,6 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs/7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - dependencies: - tslib: 2.5.0 - dev: true - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - /sass-loader/13.2.0_sass@1.58.3: resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} engines: {node: '>= 14.15.0'} @@ -4863,10 +4000,6 @@ packages: source-map-js: 1.0.2 dev: true - /semver-compare/1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -4877,14 +4010,6 @@ packages: hasBin: true dev: true - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver/7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} @@ -4928,15 +4053,6 @@ packages: engines: {node: '>=8'} dev: true - /slice-ansi/3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi/4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -4992,12 +4108,6 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true - /split2/3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - dependencies: - readable-stream: 3.6.1 - dev: true - /stable/0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' @@ -5008,11 +4118,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /string-argv/0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - dev: true - /string-hash/1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true @@ -5026,21 +4131,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /stringify-object/3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - dev: true - /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -5048,11 +4138,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -5296,25 +4381,10 @@ packages: source-map-support: 0.5.21 dev: true - /text-extensions/1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - dev: true - /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /through2/4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.1 - dev: true - /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -5331,22 +4401,6 @@ packages: engines: {node: '>=8'} dev: true - /ts-node/9.1.1_typescript@4.9.5: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.21 - typescript: 4.9.5 - yn: 3.1.1 - dev: true - /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true @@ -5359,10 +4413,6 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: false - /tslib/2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - /tsutils/3.21.0_typescript@4.9.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -5390,11 +4440,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - /type-fest/0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -5578,7 +4623,7 @@ packages: sass: 1.58.3 terser: 5.16.5 optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmjs.org/fsevents/2.3.2 dev: true /vue-demi/0.13.11_vue@3.2.47: @@ -5704,15 +4749,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -5793,11 +4829,6 @@ packages: yargs-parser: 21.1.1 dev: true - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -5808,3 +4839,297 @@ packages: dependencies: tslib: 2.3.0 dev: false + + registry.npmjs.org/@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz} + name: '@esbuild/android-arm' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz} + name: '@esbuild/android-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz} + name: '@esbuild/android-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz} + name: '@esbuild/darwin-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz} + name: '@esbuild/darwin-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz} + name: '@esbuild/freebsd-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz} + name: '@esbuild/freebsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz} + name: '@esbuild/linux-arm' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz} + name: '@esbuild/linux-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz} + name: '@esbuild/linux-ia32' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz} + name: '@esbuild/linux-loong64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz} + name: '@esbuild/linux-mips64el' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz} + name: '@esbuild/linux-ppc64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz} + name: '@esbuild/linux-riscv64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz} + name: '@esbuild/linux-s390x' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz} + name: '@esbuild/linux-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz} + name: '@esbuild/netbsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz} + name: '@esbuild/openbsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz} + name: '@esbuild/sunos-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz} + name: '@esbuild/win32-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz} + name: '@esbuild/win32-ia32' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz} + name: '@esbuild/win32-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/@intlify/message-compiler/9.3.0-beta.17: + resolution: {integrity: sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.3.0-beta.17.tgz} + name: '@intlify/message-compiler' + version: 9.3.0-beta.17 + engines: {node: '>= 14'} + dependencies: + '@intlify/shared': registry.npmjs.org/@intlify/shared/9.3.0-beta.17 + source-map: registry.npmjs.org/source-map/0.6.1 + dev: true + + registry.npmjs.org/@intlify/shared/9.2.2: + resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz} + name: '@intlify/shared' + version: 9.2.2 + engines: {node: '>= 14'} + + registry.npmjs.org/@intlify/shared/9.3.0-beta.17: + resolution: {integrity: sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@intlify/shared/-/shared-9.3.0-beta.17.tgz} + name: '@intlify/shared' + version: 9.3.0-beta.17 + engines: {node: '>= 14'} + dev: true + + registry.npmjs.org/@sxzz/popperjs-es/2.11.7: + resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz} + name: '@sxzz/popperjs-es' + version: 2.11.7 + dev: false + + registry.npmjs.org/fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz} + name: fsevents + version: 2.3.2 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmjs.org/graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz} + name: graceful-fs + version: 4.2.10 + dev: true + optional: true + + registry.npmjs.org/source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz} + name: source-map + version: 0.6.1 + engines: {node: '>=0.10.0'} diff --git a/src/api/basic.ts b/src/api/basic.ts new file mode 100644 index 0000000..56e5af3 --- /dev/null +++ b/src/api/basic.ts @@ -0,0 +1,77 @@ +import { http } from '@/utils/http' +import { baseUrlApi } from './utils' + +export type UserResult = { + success: boolean + data: { + /** 用户名 */ + username: string + /** 当前登陆用户的角色 */ + roles: Array + /** `token` */ + accessToken: string + /** 用于调用刷新`accessToken`的接口时所需的`token` */ + refreshToken: string + /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */ + expires: Date + } +} + +// 不同渠道下的各维度数据 +interface dailyData { + active_count: number + play_count: number + register_count: number + channel: string + nlh_player: number + plo4_player: number + plo5_player: number + plo6_player: number +} + +export type CurrentDayData = { + success: boolean + data: Array +} + +interface OHistoricalData { + play_account: number + register_account: number + active_account: number + channel: string +} + +export type HistoricalData = { + success: boolean + data: Array +} + +/** 当日用户数据 */ +// export const getCurrentDayData = (data?: object) => { +// return http.request('post', '/getCurrentDayData', { data }) +// } + +export const getCurrentDayData = (data?: object) => { + return http.request('post', baseUrlApi('/cms/user/dataset/today'), { + data + }) +} + +/** 历史用户数据 */ +export const getHistoricalData = (data?: object) => { + console.log('api', data) + return http.request( + 'post', + baseUrlApi('/cms/user/dataset/history'), + { + data + } + ) +} + +/** 搜索用户 */ +export const getUserData = (data?: object) => { + return http.request('post', baseUrlApi('/cms/user/list'), { + data + }) +} diff --git a/src/api/utils.ts b/src/api/utils.ts new file mode 100644 index 0000000..4ed3a38 --- /dev/null +++ b/src/api/utils.ts @@ -0,0 +1 @@ +export const baseUrlApi = (url: string) => `/dev-api${url}` diff --git a/src/main.ts b/src/main.ts index b7919ab..9d97dbb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,7 +9,7 @@ import { MotionPlugin } from '@vueuse/motion' // import { useEcharts } from "@/plugins/echarts"; import { injectResponsiveStorage } from '@/utils/responsive' -// import Table from "@pureadmin/table"; +import Table from '@pureadmin/table' // import PureDescriptions from "@pureadmin/descriptions"; // 引入重置样式 @@ -50,9 +50,12 @@ getServerConfig(app).then(async config => { await router.isReady() injectResponsiveStorage(app, config) setupStore(app) - app.use(MotionPlugin).use(useI18n).use(ElementPlus) - // .use(useEcharts); - // .use(Table); + app + .use(MotionPlugin) + .use(useI18n) + .use(ElementPlus) + // .use(useEcharts); + .use(Table) // .use(PureDescriptions); app.mount('#app') }) diff --git a/src/router/modules/basicData.ts b/src/router/modules/basicData.ts index 1784aca..6d47262 100644 --- a/src/router/modules/basicData.ts +++ b/src/router/modules/basicData.ts @@ -6,47 +6,58 @@ export default { redirect: '/basic/liveData', meta: { title: $t('menus.basicData'), - icon: 'lineChartLine' + icon: 'lineChartLine', + rank: 6 }, children: [ { path: '/basic/liveData', name: 'LiveData', - component: () => import('@/views/basicData/LiveData.vue'), + component: () => import('@/views/basic/LiveData.vue'), meta: { title: $t('menus.liveData'), roles: ['admin'] } }, - { - path: '/basic/liveData2', - name: 'LiveData2', - component: () => import('@/views/basicData/LiveData.vue'), - meta: { - title: '测试2', - roles: ['admin1'] - } - }, { path: '/basic/userData', name: 'UserData', - component: () => import('@/views/basicData/queryUser/index.vue'), + component: () => import('@/views/basic/queryUser/index.vue'), meta: { title: $t('menus.userData') } }, + { path: '/basic/queryUser', name: 'QueryUser', - component: () => import('@/views/basicData/queryUser/queryUser.vue'), + component: () => import('@/views/basic/queryUser/queryUser.vue'), meta: { title: $t('menus.searchUser') } }, + { + path: '/basic/queryUser/users/:id', + name: 'UserInfo', + component: () => import('@/views/basic/queryUser/user/index.vue'), + meta: { + title: '用户信息', + showLink: false + } + }, + { + path: '/basic/queryUser/users/:id/basicInfo', + name: 'UserBasicInfo', + component: () => import('@/views/basic/queryUser/user/basicInfo.vue'), + meta: { + title: '基础信息', + showLink: false + } + }, { path: '/basic/gameData', name: 'GameData', - component: () => import('@/views/basicData/GameData.vue'), + component: () => import('@/views/basic/GameData.vue'), meta: { title: $t('menus.gameData') } @@ -54,7 +65,7 @@ export default { { path: '/basic/clubData', name: 'ClubData', - component: () => import('@/views/basicData/queryClub/index.vue'), + component: () => import('@/views/basic/queryClub/index.vue'), meta: { title: $t('menus.clubData') } @@ -62,7 +73,7 @@ export default { { path: '/basic/queryClub', name: 'QueryData', - component: () => import('@/views/basicData/queryClub/queryClub.vue'), + component: () => import('@/views/basic/queryClub/queryClub.vue'), meta: { title: $t('menus.searchClub') } diff --git a/src/router/utils.ts b/src/router/utils.ts index 648e54c..a9e4111 100644 --- a/src/router/utils.ts +++ b/src/router/utils.ts @@ -27,7 +27,58 @@ const IFrame = () => import('@/layout/frameView.vue') const modulesRoutes = import.meta.glob('/src/views/**/*.{vue,tsx}') // 动态路由 -import { getAsyncRoutes, getAsyncPath } from '@/api/routes' +// import { getAsyncRoutes, getAsyncPath } from '@/api/routes' + +// start 只使用静态路由 +const permissionRouter = { + path: '/permission', + meta: { + title: 'menus.permission', + icon: 'informationLine', + rank: 99 + }, + children: [ + { + path: '/permission/page/index', + name: 'PermissionPage', + meta: { + title: 'menus.permissionPage', + roles: ['admin', 'common'] + } + }, + { + path: '/permission/button/index', + name: 'PermissionButton', + meta: { + title: 'menus.permissionButton', + roles: ['admin', 'common'], + auths: ['btn_add', 'btn_edit', 'btn_delete'] + } + } + ] +} +const permissionPath = { + page: [ + '/permission', + '/permission/page/index', + '/permission/button/index', + + '/finance', + '/finance/diamondData' + ], + btn: ['btn-edit', 'edit-create'] +} +function getAsyncRoutes() { + return new Promise(resolve => { + resolve({ data: [permissionRouter] }) + }) +} +function getAsyncPath() { + return new Promise(resolve => { + resolve({ data: permissionPath }) + }) +} +// end 只使用静态路由 // 本地fake的动态路由 import localFullRouter from './localRouter' @@ -390,6 +441,10 @@ function hasAuth(value: string | Array): boolean { : isIncludeAllChildren(value, metaAuths) return isAuths ? true : false } +export const baseUrlApi = (url: string) => + process.env.NODE_ENV === 'development' + ? `/api/${url}` + : `http://192.168.100.87:8000/${url}` export { hasAuth, diff --git a/src/utils/http/index.ts b/src/utils/http/index.ts index 29953b6..d711a0a 100644 --- a/src/utils/http/index.ts +++ b/src/utils/http/index.ts @@ -3,24 +3,81 @@ import Axios, { AxiosRequestConfig, CustomParamsSerializer } from 'axios' +import Qs from 'qs' import { PureHttpError, RequestMethods, PureHttpResponse, PureHttpRequestConfig } from './types.d' -import { stringify } from 'qs' + import NProgress from '../progress' import { getToken, formatToken } from '@/utils/auth' import { useUserStoreHook } from '@/store/modules/user' +function urlEncodeString(data) { + let str = data + if ( + data.indexOf('#') != -1 || + data.indexOf('+') != -1 || + data.indexOf('/') != -1 || + data.indexOf('?') != -1 || + data.indexOf('%') != -1 || + data.indexOf('&') != -1 || + data.indexOf('=') != -1 + ) { + str = data.replace(/([\#|\+|\/|\?|\%|\#|\&|\=])/g, $1 => { + return encodeURIComponent($1) + }) + } + return str +} +function stringify(data) { + let ret = '' + for (const it in data) { + ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + ret = ret.substring(0, ret.lastIndexOf('&')) + return ret +} + // 相关配置请参考:www.axios-js.com/zh-cn/docs/#axios-request-config-1 const defaultConfig: AxiosRequestConfig = { + transformRequest: [ + function (data) { + // 对 data 进行任意转换处理 + // data = http.getPostData(data) + data = { + sig: '681d66eda1b3df8b7b6641e4864452d7', + accesstoken: '', + cmd_id: 0, + extend: { + net: 'wifi', + device: 'huaweiP10', + macid: '12bb540d5f56add5c7a176c36b339ed7', + tz_name: 'Asia%2FShanghai', + tz_delta: 'GMT%2B8' + }, + request: { method: 'sysversion%23getsysversion' }, + public: { + channel: 'POKIO_H5_NORMAL', + version: 1311, + packid: 200, + lang: 'tw' + } + } + data = { postdata: urlEncodeString(JSON.stringify(data)) } + // data = { postdata: JSON.stringify(data) } + + return Qs.stringify(data) + // return stringify(data) + } + ], // 请求超时时间 timeout: 10000, headers: { Accept: 'application/json, text/plain, */*', - 'Content-Type': 'application/json', + // 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, // 数组格式参数序列化(https://github.com/axios/axios/issues/5142) diff --git a/src/views/basic/queryUser/index.vue b/src/views/basic/queryUser/index.vue index f7ee89e..6b72a0a 100644 --- a/src/views/basic/queryUser/index.vue +++ b/src/views/basic/queryUser/index.vue @@ -1,10 +1,67 @@ diff --git a/src/views/basic/queryUser/indexHook.ts b/src/views/basic/queryUser/indexHook.ts new file mode 100644 index 0000000..ef22b04 --- /dev/null +++ b/src/views/basic/queryUser/indexHook.ts @@ -0,0 +1,105 @@ +import { ref, reactive, onMounted } from 'vue' + +import { getCurrentDayData, getHistoricalData } from '@/api/basic' + +export function useUser() { + const currentDayColumns: TableColumnList = [ + { + label: '渠道', + prop: 'channel' + }, + { + label: '在线用户数量', + prop: 'active_count' + }, + { + label: '在玩用户数量', + prop: 'play_count' + }, + { + label: '当日注册', + prop: 'register_count' + }, + { + label: 'NLH在玩', + prop: 'nlh_player' + }, + { + label: 'PLO4', + prop: 'nlh_player' + }, + { + label: 'PLO4', + prop: 'nlh_player' + }, + { + label: 'PLO4', + prop: 'nlh_player' + } + ] + const historicalColumns: TableColumnList = [ + { + label: '渠道', + prop: 'channel' + }, + { + label: '在线用户数量', + prop: 'active_count' + }, + { + label: '在玩用户数量', + prop: 'play_count' + }, + { + label: '当日注册', + prop: 'register_count' + } + ] + + const form = reactive({ + dateRange: '' + }) + + const currentDayData = ref([]) + const historicalData = ref([]) + const loading = ref(true) + + function onSearchToday() { + getCurrentDayData().then(res => { + currentDayData.value = res.data + }) + } + function onSearchHistory() { + console.log('onSearchHistory1', form.dateRange) + console.log('onSearchHistory2', form.dateRange[0]) + getHistoricalData({ + start_date: form.dateRange[0], + end_date: form.dateRange[1] + }).then(res => { + historicalData.value = res.data + loading.value = false + }) + } + + // const resetHistoryForm = formEl => { + // if (!formEl) return + // formEl.resetFields() + // onSearchHistory() + // } + + onMounted(() => { + onSearchToday() + onSearchHistory() + }) + + return { + form, + currentDayData, + historicalData, + currentDayColumns, + historicalColumns, + loading, + onSearchHistory + // resetHistoryForm + } +} diff --git a/src/views/basic/queryUser/infoHook.ts b/src/views/basic/queryUser/infoHook.ts new file mode 100644 index 0000000..ade2820 --- /dev/null +++ b/src/views/basic/queryUser/infoHook.ts @@ -0,0 +1,54 @@ +import { useMultiTagsStoreHook } from '@/store/modules/multiTags' +import { useRouter, useRoute } from 'vue-router' +import { onBeforeMount } from 'vue' + +export function useDetail() { + const route = useRoute() + const router = useRouter() + const id = route.query?.id ? route.query?.id : route.params?.id + + function toDetail( + index: number | string | string[] | number[], + model: string + ) { + if (model === 'query') { + // 保存信息到标签页 + useMultiTagsStoreHook().handleTags('push', { + path: `/basic/queryUser/users/`, + name: 'UserInfo', + query: { id: String(index) }, + meta: { + title: { + zh: `No.${index} - 详情信息`, + en: `No.${index} - DetailInfo` + }, + // 最大打开标签数 + dynamicLevel: 3 + } + }) + // 路由跳转 + router.push({ name: 'TabQueryDetail', query: { id: String(index) } }) + } else { + useMultiTagsStoreHook().handleTags('push', { + path: `/basic/queryUser/users/:id`, + name: 'UserInfo', + params: { id: String(index) }, + meta: { + title: { + zh: `No.${index} - 详情信息`, + en: `No.${index} - DetailInfo` + } + } + }) + router.push({ name: 'UserInfo', params: { id: String(index) } }) + } + } + + function initToDetail(model) { + onBeforeMount(() => { + if (id) toDetail(id, model) + }) + } + + return { toDetail, initToDetail, id, router } +} diff --git a/src/views/basic/queryUser/queryUser.vue b/src/views/basic/queryUser/queryUser.vue index 387c67c..987d8cf 100644 --- a/src/views/basic/queryUser/queryUser.vue +++ b/src/views/basic/queryUser/queryUser.vue @@ -1,10 +1,100 @@ diff --git a/src/views/basic/queryUser/queryUserHook.ts b/src/views/basic/queryUser/queryUserHook.ts new file mode 100644 index 0000000..0296a41 --- /dev/null +++ b/src/views/basic/queryUser/queryUserHook.ts @@ -0,0 +1,74 @@ +import { ref, reactive, onMounted } from 'vue' + +import { getUserData } from '@/api/basic' + +export function useUser() { + const historicalColumns: TableColumnList = [ + { + label: '用户名', + prop: 'user_name' + }, + { + label: '所属俱乐部', + prop: 'club_name' + }, + { + label: '注册渠道', + prop: 'register_channel' + }, + { + label: '绑定手机/邮箱', + prop: 'mobile' + }, + { + label: '注册IP及归属地', + prop: 'reg_ip' + }, + { + label: '最后登录', + prop: 'last_login_date' + }, + { + label: '最后登录IP及归属地', + prop: 'last_area' + } + ] + + const form = reactive({ + username: '', + mobile: '', + email: '', + dateRange: '' + }) + + const historicalData = ref([]) + const loading = ref(true) + + function onSearchUser() { + console.log(form.dateRange) + console.log(form.dateRange[0]) + getUserData({ date: form }).then(res => { + historicalData.value = res.data + loading.value = false + }) + } + + // const resetHistoryForm = formEl => { + // if (!formEl) return + // formEl.resetFields() + // onSearchUser() + // } + + onMounted(() => { + onSearchUser() + }) + + return { + form, + historicalData, + historicalColumns, + loading, + onSearchUser + // resetHistoryForm + } +} diff --git a/src/views/basic/queryUser/user/BasicInfo.vue b/src/views/basic/queryUser/user/BasicInfo.vue new file mode 100644 index 0000000..e655d63 --- /dev/null +++ b/src/views/basic/queryUser/user/BasicInfo.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/views/basic/queryUser/user/GameRecord.vue b/src/views/basic/queryUser/user/GameRecord.vue new file mode 100644 index 0000000..801d8bb --- /dev/null +++ b/src/views/basic/queryUser/user/GameRecord.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/views/basic/queryUser/user/chatRecord.vue b/src/views/basic/queryUser/user/chatRecord.vue new file mode 100644 index 0000000..fec3552 --- /dev/null +++ b/src/views/basic/queryUser/user/chatRecord.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/views/basic/queryUser/user/diamondRecord.vue b/src/views/basic/queryUser/user/diamondRecord.vue new file mode 100644 index 0000000..c8f2c87 --- /dev/null +++ b/src/views/basic/queryUser/user/diamondRecord.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/views/basic/queryUser/user/index.vue b/src/views/basic/queryUser/user/index.vue new file mode 100644 index 0000000..3c12ad1 --- /dev/null +++ b/src/views/basic/queryUser/user/index.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/views/basic/queryUser/user/loginRecord.vue b/src/views/basic/queryUser/user/loginRecord.vue new file mode 100644 index 0000000..dd4f404 --- /dev/null +++ b/src/views/basic/queryUser/user/loginRecord.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue index b3cd4e7..6b3d3be 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -23,6 +23,11 @@ import Lock from '@iconify-icons/ri/lock-fill' import Check from '@iconify-icons/ep/check' import User from '@iconify-icons/ri/user-3-fill' +// 只要静态路由 +import { setToken } from '@/utils/auth' +import { addPathMatch } from '@/router/utils' +import { usePermissionStoreHook } from '@/store/modules/permission' + defineOptions({ name: 'Login' }) @@ -44,22 +49,43 @@ const ruleForm = reactive({ password: 'admin123' }) +// const onLogin = async (formEl: FormInstance | undefined) => { +// loading.value = true +// if (!formEl) return +// await formEl.validate((valid, fields) => { +// if (valid) { +// useUserStoreHook() +// .loginByUsername({ username: ruleForm.username, password: 'admin123' }) +// .then(res => { +// if (res.success) { +// // 获取后端路由 +// initRouter().then(() => { +// router.push('/') +// message('登录成功', { type: 'success' }) +// }) +// } +// }) +// } else { +// loading.value = false +// return fields +// } +// }) +// } const onLogin = async (formEl: FormInstance | undefined) => { loading.value = true if (!formEl) return await formEl.validate((valid, fields) => { if (valid) { - useUserStoreHook() - .loginByUsername({ username: ruleForm.username, password: 'admin123' }) - .then(res => { - if (res.success) { - // 获取后端路由 - initRouter().then(() => { - router.push('/') - message('登录成功', { type: 'success' }) - }) - } - }) + // 全部采取静态路由模式 + usePermissionStoreHook().handleWholeMenus([]) + addPathMatch() + setToken({ + username: 'admin', + roles: ['admin'], + accessToken: 'eyJhbGciOiJIUzUxMiJ9.admin' + } as any) + router.push('/') + message('登录成功', { type: 'success' }) } else { loading.value = false return fields diff --git a/vite.config.ts b/vite.config.ts index 8a7a336..b4b32db 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,34 +1,34 @@ -import dayjs from "dayjs"; -import { resolve } from "path"; -import pkg from "./package.json"; -import { warpperEnv } from "./build"; -import { getPluginsList } from "./build/plugins"; -import { include, exclude } from "./build/optimize"; -import { UserConfigExport, ConfigEnv, loadEnv } from "vite"; +import dayjs from 'dayjs' +import { resolve } from 'path' +import pkg from './package.json' +import { warpperEnv } from './build' +import { getPluginsList } from './build/plugins' +import { include, exclude } from './build/optimize' +import { UserConfigExport, ConfigEnv, loadEnv } from 'vite' /** 当前执行node命令时文件夹的地址(工作目录) */ -const root: string = process.cwd(); +const root: string = process.cwd() /** 路径查找 */ const pathResolve = (dir: string): string => { - return resolve(__dirname, ".", dir); -}; + return resolve(__dirname, '.', dir) +} /** 设置别名 */ const alias: Record = { - "@": pathResolve("src"), - "@build": pathResolve("build") -}; + '@': pathResolve('src'), + '@build': pathResolve('build') +} -const { dependencies, devDependencies, name, version } = pkg; +const { dependencies, devDependencies, name, version } = pkg const __APP_INFO__ = { pkg: { dependencies, devDependencies, name, version }, - lastBuildTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss") -}; + lastBuildTime: dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss') +} export default ({ command, mode }: ConfigEnv): UserConfigExport => { const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } = - warpperEnv(loadEnv(mode, root)); + warpperEnv(loadEnv(mode, root)) return { base: VITE_PUBLIC_PATH, root, @@ -41,9 +41,16 @@ export default ({ command, mode }: ConfigEnv): UserConfigExport => { https: false, // 端口号 port: VITE_PORT, - host: "0.0.0.0", + host: '0.0.0.0', // 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy - proxy: {} + proxy: { + '^/dev-api/.*': { + // 这里填写后端地址 + target: 'http://192.168.100.87:8000', + changeOrigin: true, + rewrite: path => path.replace(/^\/dev-api/, '') + } + } }, plugins: getPluginsList(command, VITE_CDN, VITE_COMPRESSION), // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options @@ -57,13 +64,13 @@ export default ({ command, mode }: ConfigEnv): UserConfigExport => { chunkSizeWarningLimit: 4000, rollupOptions: { input: { - index: pathResolve("index.html") + index: pathResolve('index.html') }, // 静态资源分类打包 output: { - chunkFileNames: "static/js/[name]-[hash].js", - entryFileNames: "static/js/[name]-[hash].js", - assetFileNames: "static/[ext]/[name]-[hash].[ext]" + chunkFileNames: 'static/js/[name]-[hash].js', + entryFileNames: 'static/js/[name]-[hash].js', + assetFileNames: 'static/[ext]/[name]-[hash].[ext]' } } }, @@ -71,5 +78,5 @@ export default ({ command, mode }: ConfigEnv): UserConfigExport => { __INTLIFY_PROD_DEVTOOLS__: false, __APP_INFO__: JSON.stringify(__APP_INFO__) } - }; -}; + } +}