diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs
new file mode 100644
index 0000000..5a9ed6d
--- /dev/null
+++ b/app/.eslintrc.cjs
@@ -0,0 +1,49 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-20 23:24:08
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-01-23 03:07:54
+ * @FilePath: \bingwu-admin\.eslintrc.cjs
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+/* eslint-env node */
+require('@rushstack/eslint-patch/modern-module-resolution')
+
+module.exports = {
+ root: true,
+ extends: [
+ 'plugin:vue/vue3-essential',
+ 'eslint:recommended',
+ '@vue/eslint-config-prettier/skip-formatting'
+ ],
+ parserOptions: {
+ ecmaVersion: 'latest'
+ },
+ rules: {
+ 'prettier/prettier': [
+ 'warn',
+ {
+ singleQuote: true, // 单引号
+ semi: false, // 无分号
+ printWidth: 80, // 每行宽度至多80字符
+ trailingComma: 'none', // 不加对象|数组最后逗号
+ endOfLine: 'auto' // 换行符号不限制(win mac 不一致)
+ }
+ ],
+ 'vue/multi-word-component-names': [
+ 'warn',
+ {
+ ignores: ['index'] // vue组件名称多单词组成(忽略index.vue)
+ }
+ ],
+ 'vue/no-setup-props-destructure': ['off'], // 关闭 props 解构的校验
+ // 💡 添加未定义变量错误提示
+ 'no-undef': 'error'
+ },
+ globals: {
+ ElMessage: 'readonly',
+ ElMessageBox: 'readonly',
+ ElLoading: 'readonly'
+ }
+}
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..8ee54e8
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1,30 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+*.tsbuildinfo
diff --git a/app/.prettierrc.json b/app/.prettierrc.json
new file mode 100644
index 0000000..66e2335
--- /dev/null
+++ b/app/.prettierrc.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/prettierrc",
+ "semi": false,
+ "tabWidth": 2,
+ "singleQuote": true,
+ "printWidth": 100,
+ "trailingComma": "none"
+}
\ No newline at end of file
diff --git a/app/.vscode/extensions.json b/app/.vscode/extensions.json
new file mode 100644
index 0000000..009a534
--- /dev/null
+++ b/app/.vscode/extensions.json
@@ -0,0 +1,8 @@
+{
+ "recommendations": [
+ "Vue.volar",
+ "Vue.vscode-typescript-vue-plugin",
+ "dbaeumer.vscode-eslint",
+ "esbenp.prettier-vscode"
+ ]
+}
diff --git a/app/README.md b/app/README.md
new file mode 100644
index 0000000..328b724
--- /dev/null
+++ b/app/README.md
@@ -0,0 +1,43 @@
+# bingwu-admin
+
+This template should help get you started developing with Vue 3 in Vite.
+
+## Recommended IDE Setup
+
+[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
+
+## Customize configuration
+
+See [Vite Configuration Reference](https://vitejs.dev/config/).
+
+## Project Setup
+
+```sh
+pnpm install
+```
+
+### Compile and Hot-Reload for Development
+
+```sh
+pnpm dev
+```
+
+### Compile and Minify for Production
+
+```sh
+pnpm build
+```
+
+### Lint with [ESLint](https://eslint.org/)
+
+```sh
+pnpm lint
+```
+
+# 参考项目
+
+vben:[GitHub地址](https://github.com/vbenjs/vue-vben-admin)
+
+vue-element-admin:[GitHub地址](https://github.com/PanJiaChen/vue-element-admin)
+
+ruo-yi:[GitHub地址](https://github.com/yangzongzhuan/RuoYi-Vue3)
diff --git a/app/components.d.ts b/app/components.d.ts
new file mode 100644
index 0000000..d3c7ebe
--- /dev/null
+++ b/app/components.d.ts
@@ -0,0 +1,61 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// Generated by unplugin-vue-components
+// Read more: https://github.com/vuejs/core/pull/3399
+export {}
+
+declare module 'vue' {
+ export interface GlobalComponents {
+ AvatarCom: typeof import('./src/components/AvatarCom.vue')['default']
+ BaseTableCom: typeof import('./src/components/table/BaseTableCom.vue')['default']
+ CollapseAsideCom: typeof import('./src/components/utils/CollapseAsideCom.vue')['default']
+ DarkSwitchCom: typeof import('./src/components/utils/DarkSwitchCom.vue')['default']
+ ElAside: typeof import('element-plus/es')['ElAside']
+ ElAvatar: typeof import('element-plus/es')['ElAvatar']
+ ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
+ ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
+ ElButton: typeof import('element-plus/es')['ElButton']
+ ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
+ ElContainer: typeof import('element-plus/es')['ElContainer']
+ ElDialog: typeof import('element-plus/es')['ElDialog']
+ ElDivider: typeof import('element-plus/es')['ElDivider']
+ ElDropdown: typeof import('element-plus/es')['ElDropdown']
+ ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+ ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+ ElEmpty: typeof import('element-plus/es')['ElEmpty']
+ ElForm: typeof import('element-plus/es')['ElForm']
+ ElFormItem: typeof import('element-plus/es')['ElFormItem']
+ ElHeader: typeof import('element-plus/es')['ElHeader']
+ ElIcon: typeof import('element-plus/es')['ElIcon']
+ ElImage: typeof import('element-plus/es')['ElImage']
+ ElInput: typeof import('element-plus/es')['ElInput']
+ ElMain: typeof import('element-plus/es')['ElMain']
+ ElMenu: typeof import('element-plus/es')['ElMenu']
+ ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+ ElOption: typeof import('element-plus/es')['ElOption']
+ ElPagination: typeof import('element-plus/es')['ElPagination']
+ ElProgress: typeof import('element-plus/es')['ElProgress']
+ ElSelect: typeof import('element-plus/es')['ElSelect']
+ ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
+ ElSwitch: typeof import('element-plus/es')['ElSwitch']
+ ElTable: typeof import('element-plus/es')['ElTable']
+ ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
+ ElTag: typeof import('element-plus/es')['ElTag']
+ ElUpload: typeof import('element-plus/es')['ElUpload']
+ ExportExcelCom: typeof import('./src/components/excel/ExportExcelCom.vue')['default']
+ ImportExcelCom: typeof import('./src/components/excel/ImportExcelCom.vue')['default']
+ MyEcharts: typeof import('./src/components/echarts/MyEcharts.vue')['default']
+ PreviewPictureCom: typeof import('./src/components/PreviewPictureCom.vue')['default']
+ ProgressCom: typeof import('./src/components/progress/ProgressCom.vue')['default']
+ ProgressLiteCom: typeof import('./src/components/progress/ProgressLiteCom.vue')['default']
+ RouterLink: typeof import('vue-router')['RouterLink']
+ RouterView: typeof import('vue-router')['RouterView']
+ SettingCom: typeof import('./src/components/SettingCom.vue')['default']
+ SwitchLanguageCom: typeof import('./src/components/utils/SwitchLanguageCom.vue')['default']
+ UploadFileCom: typeof import('./src/components/file/UploadFileCom.vue')['default']
+ }
+ export interface ComponentCustomProperties {
+ vLoading: typeof import('element-plus/es')['ElLoadingDirective']
+ }
+}
diff --git a/app/index.html b/app/index.html
new file mode 100644
index 0000000..1debcaa
--- /dev/null
+++ b/app/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+ bingwu-admin
+
+
+
+
+
+
diff --git a/app/jsconfig.json b/app/jsconfig.json
new file mode 100644
index 0000000..5a1f2d2
--- /dev/null
+++ b/app/jsconfig.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/app/package.json b/app/package.json
new file mode 100644
index 0000000..6735bd9
--- /dev/null
+++ b/app/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "bingwu-admin",
+ "version": "0.0.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview",
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
+ "format": "prettier --write src/"
+ },
+ "dependencies": {
+ "@element-plus/icons-vue": "^2.3.1",
+ "@vueuse/core": "^10.7.2",
+ "@wangeditor/editor": "^5.1.23",
+ "@wangeditor/editor-for-vue": "^5.1.12",
+ "axios": "^1.6.7",
+ "cos-js-sdk-v5": "^1.6.0",
+ "echarts": "^5.4.3",
+ "element-plus": "^2.5.3",
+ "normalize.css": "^8.0.1",
+ "pinia": "^2.1.7",
+ "pinia-plugin-persistedstate": "^3.2.1",
+ "vue": "^3.3.11",
+ "vue-i18n": "^9.9.0",
+ "vue-router": "^4.2.5",
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz"
+ },
+ "devDependencies": {
+ "@rushstack/eslint-patch": "^1.3.3",
+ "@vitejs/plugin-vue": "^4.5.2",
+ "@vue/eslint-config-prettier": "^8.0.0",
+ "eslint": "^8.49.0",
+ "eslint-plugin-vue": "^9.17.0",
+ "prettier": "^3.0.3",
+ "sass": "^1.70.0",
+ "unplugin-auto-import": "^0.17.3",
+ "unplugin-vue-components": "^0.26.0",
+ "vite": "^5.0.10"
+ }
+}
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
new file mode 100644
index 0000000..59cd27a
--- /dev/null
+++ b/app/pnpm-lock.yaml
@@ -0,0 +1,3045 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@element-plus/icons-vue':
+ specifier: ^2.3.1
+ version: 2.3.1(vue@3.4.15)
+ '@vueuse/core':
+ specifier: ^10.7.2
+ version: 10.7.2(vue@3.4.15)
+ '@wangeditor/editor':
+ specifier: ^5.1.23
+ version: 5.1.23
+ '@wangeditor/editor-for-vue':
+ specifier: ^5.1.12
+ version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.15)
+ axios:
+ specifier: ^1.6.7
+ version: 1.6.7
+ cos-js-sdk-v5:
+ specifier: ^1.6.0
+ version: 1.6.0
+ echarts:
+ specifier: ^5.4.3
+ version: 5.4.3
+ element-plus:
+ specifier: ^2.5.3
+ version: 2.5.3(vue@3.4.15)
+ normalize.css:
+ specifier: ^8.0.1
+ version: 8.0.1
+ pinia:
+ specifier: ^2.1.7
+ version: registry.npmmirror.com/pinia@2.1.7(vue@3.4.15)
+ pinia-plugin-persistedstate:
+ specifier: ^3.2.1
+ version: 3.2.1(pinia@2.1.7)
+ vue:
+ specifier: ^3.3.11
+ version: registry.npmmirror.com/vue@3.4.15
+ vue-i18n:
+ specifier: ^9.9.0
+ version: 9.9.0(vue@3.4.15)
+ vue-router:
+ specifier: ^4.2.5
+ version: registry.npmmirror.com/vue-router@4.2.5(vue@3.4.15)
+ xlsx:
+ specifier: https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz
+ version: '@cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz'
+
+devDependencies:
+ '@rushstack/eslint-patch':
+ specifier: ^1.3.3
+ version: registry.npmmirror.com/@rushstack/eslint-patch@1.7.0
+ '@vitejs/plugin-vue':
+ specifier: ^4.5.2
+ version: registry.npmmirror.com/@vitejs/plugin-vue@4.6.2(vite@5.0.12)(vue@3.4.15)
+ '@vue/eslint-config-prettier':
+ specifier: ^8.0.0
+ version: registry.npmmirror.com/@vue/eslint-config-prettier@8.0.0(eslint@8.56.0)(prettier@3.2.4)
+ eslint:
+ specifier: ^8.49.0
+ version: registry.npmmirror.com/eslint@8.56.0
+ eslint-plugin-vue:
+ specifier: ^9.17.0
+ version: registry.npmmirror.com/eslint-plugin-vue@9.20.1(eslint@8.56.0)
+ prettier:
+ specifier: ^3.0.3
+ version: registry.npmmirror.com/prettier@3.2.4
+ sass:
+ specifier: ^1.70.0
+ version: 1.70.0
+ unplugin-auto-import:
+ specifier: ^0.17.3
+ version: 0.17.3(@vueuse/core@10.7.2)
+ unplugin-vue-components:
+ specifier: ^0.26.0
+ version: 0.26.0(vue@3.4.15)
+ vite:
+ specifier: ^5.0.10
+ version: registry.npmmirror.com/vite@5.0.12(sass@1.70.0)
+
+packages:
+
+ /@antfu/utils@0.7.7:
+ resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
+ dev: true
+
+ /@babel/runtime@7.23.9:
+ resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
+ dev: false
+
+ /@ctrl/tinycolor@3.6.1:
+ resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /@element-plus/icons-vue@2.3.1(vue@3.4.15):
+ resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: false
+
+ /@esbuild/aix-ppc64@0.19.11:
+ resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.19.11:
+ resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.19.11:
+ resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.19.11:
+ resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.11:
+ resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.11:
+ resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.11:
+ resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.11:
+ resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.11:
+ resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.19.11:
+ resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.11:
+ resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.11:
+ resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.11:
+ resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.11:
+ resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.11:
+ resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.11:
+ resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.19.11:
+ resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.11:
+ resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.11:
+ resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.11:
+ resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.11:
+ resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.11:
+ resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.19.11:
+ resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@floating-ui/core@1.5.3:
+ resolution: {integrity: sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==}
+ dependencies:
+ '@floating-ui/utils': 0.2.1
+ dev: false
+
+ /@floating-ui/dom@1.5.4:
+ resolution: {integrity: sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==}
+ dependencies:
+ '@floating-ui/core': 1.5.3
+ '@floating-ui/utils': 0.2.1
+ dev: false
+
+ /@floating-ui/utils@0.2.1:
+ resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
+ dev: false
+
+ /@intlify/core-base@9.9.0:
+ resolution: {integrity: sha512-C7UXPymDIOlMGSNjAhNLtKgzITc/8BjINK5gNKXg8GiWCTwL6n3MWr55czksxn8RM5wTMz0qcLOFT+adtaVQaA==}
+ engines: {node: '>= 16'}
+ dependencies:
+ '@intlify/message-compiler': 9.9.0
+ '@intlify/shared': 9.9.0
+ dev: false
+
+ /@intlify/message-compiler@9.9.0:
+ resolution: {integrity: sha512-yDU/jdUm9KuhEzYfS+wuyja209yXgdl1XFhMlKtXEgSFTxz4COZQCRXXbbH8JrAjMsaJ7bdoPSLsKlY6mXG2iA==}
+ engines: {node: '>= 16'}
+ dependencies:
+ '@intlify/shared': 9.9.0
+ source-map-js: 1.0.2
+ dev: false
+
+ /@intlify/shared@9.9.0:
+ resolution: {integrity: sha512-1ECUyAHRrzOJbOizyGufYP2yukqGrWXtkmTu4PcswVnWbkcjzk3YQGmJ0bLkM7JZ0ZYAaohLGdYvBYnTOGYJ9g==}
+ engines: {node: '>= 16'}
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ dev: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.16.0
+ dev: true
+
+ /@rollup/pluginutils@5.1.0:
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@rollup/rollup-android-arm-eabi@4.9.5:
+ resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.9.5:
+ resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.9.5:
+ resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.9.5:
+ resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.9.5:
+ resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.9.5:
+ resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.9.5:
+ resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.9.5:
+ resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.9.5:
+ resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.9.5:
+ resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.9.5:
+ resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.9.5:
+ resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.9.5:
+ resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@sxzz/popperjs-es@2.11.7:
+ resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
+ dev: false
+
+ /@transloadit/prettier-bytes@0.0.7:
+ resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==}
+ dev: false
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
+ /@types/event-emitter@0.3.5:
+ resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==}
+ dev: false
+
+ /@types/lodash-es@4.17.12:
+ resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+ dependencies:
+ '@types/lodash': 4.14.202
+ dev: false
+
+ /@types/lodash@4.14.202:
+ resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
+ dev: false
+
+ /@types/web-bluetooth@0.0.16:
+ resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
+ dev: false
+
+ /@types/web-bluetooth@0.0.20:
+ resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+
+ /@uppy/companion-client@2.2.2:
+ resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==}
+ dependencies:
+ '@uppy/utils': 4.1.3
+ namespace-emitter: 2.0.1
+ dev: false
+
+ /@uppy/core@2.3.4:
+ resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==}
+ dependencies:
+ '@transloadit/prettier-bytes': 0.0.7
+ '@uppy/store-default': 2.1.1
+ '@uppy/utils': 4.1.3
+ lodash.throttle: 4.1.1
+ mime-match: 1.0.2
+ namespace-emitter: 2.0.1
+ nanoid: 3.3.7
+ preact: 10.19.4
+ dev: false
+
+ /@uppy/store-default@2.1.1:
+ resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==}
+ dev: false
+
+ /@uppy/utils@4.1.3:
+ resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==}
+ dependencies:
+ lodash.throttle: 4.1.1
+ dev: false
+
+ /@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4):
+ resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==}
+ peerDependencies:
+ '@uppy/core': ^2.3.3
+ dependencies:
+ '@uppy/companion-client': 2.2.2
+ '@uppy/core': 2.3.4
+ '@uppy/utils': 4.1.3
+ nanoid: 3.3.7
+ dev: false
+
+ /@vue/devtools-api@6.5.1:
+ resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
+ dev: false
+
+ /@vueuse/core@10.7.2(vue@3.4.15):
+ resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==}
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 10.7.2
+ '@vueuse/shared': 10.7.2(vue@3.4.15)
+ vue-demi: 0.14.6(vue@3.4.15)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ /@vueuse/core@9.13.0(vue@3.4.15):
+ resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+ dependencies:
+ '@types/web-bluetooth': 0.0.16
+ '@vueuse/metadata': 9.13.0
+ '@vueuse/shared': 9.13.0(vue@3.4.15)
+ vue-demi: 0.14.6(vue@3.4.15)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
+ /@vueuse/metadata@10.7.2:
+ resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==}
+
+ /@vueuse/metadata@9.13.0:
+ resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+ dev: false
+
+ /@vueuse/shared@10.7.2(vue@3.4.15):
+ resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==}
+ dependencies:
+ vue-demi: 0.14.6(vue@3.4.15)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ /@vueuse/shared@9.13.0(vue@3.4.15):
+ resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+ dependencies:
+ vue-demi: 0.14.6(vue@3.4.15)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ dev: false
+
+ /@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.throttle: ^4.1.1
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ is-url: 1.2.4
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ prismjs: 1.29.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==}
+ peerDependencies:
+ '@uppy/core': ^2.1.1
+ '@uppy/xhr-upload': ^2.0.3
+ dom7: ^3.0.0
+ is-hotkey: ^0.2.0
+ lodash.camelcase: ^4.3.0
+ lodash.clonedeep: ^4.5.0
+ lodash.debounce: ^4.0.8
+ lodash.foreach: ^4.5.0
+ lodash.isequal: ^4.5.0
+ lodash.throttle: ^4.1.1
+ lodash.toarray: ^4.4.0
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@types/event-emitter': 0.3.5
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ dom7: 3.0.0
+ event-emitter: 0.3.5
+ html-void-elements: 2.0.1
+ i18next: 20.6.1
+ is-hotkey: 0.2.0
+ lodash.camelcase: 4.3.0
+ lodash.clonedeep: 4.5.0
+ lodash.debounce: 4.0.8
+ lodash.foreach: 4.5.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ lodash.toarray: 4.4.0
+ nanoid: 3.3.7
+ scroll-into-view-if-needed: 2.2.31
+ slate: 0.72.8
+ slate-history: 0.66.0(slate@0.72.8)
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.15):
+ resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==}
+ peerDependencies:
+ '@wangeditor/editor': '>=5.1.0'
+ vue: ^3.0.5
+ dependencies:
+ '@wangeditor/editor': 5.1.23
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: false
+
+ /@wangeditor/editor@5.1.23:
+ resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==}
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/basic-modules@1.1.7)(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/core@1.1.19)(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ is-hotkey: 0.2.0
+ lodash.camelcase: 4.3.0
+ lodash.clonedeep: 4.5.0
+ lodash.debounce: 4.0.8
+ lodash.foreach: 4.5.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ lodash.toarray: 4.4.0
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19)(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.isequal: ^4.5.0
+ lodash.throttle: ^4.1.1
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/basic-modules@1.1.7)(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==}
+ peerDependencies:
+ '@uppy/core': ^2.0.3
+ '@uppy/xhr-upload': ^2.0.3
+ '@wangeditor/basic-modules': 1.x
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ lodash.foreach: ^4.5.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19)(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.foreach: 4.5.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(@wangeditor/core@1.1.19)(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2):
+ resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==}
+ peerDependencies:
+ '@uppy/core': ^2.1.4
+ '@uppy/xhr-upload': ^2.0.7
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ nanoid: ^3.2.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3)(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+ dev: false
+
+ /@xmldom/xmldom@0.8.10:
+ resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
+ engines: {node: '>=10.0.0'}
+ dev: false
+
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /async-validator@4.2.5:
+ resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+ dev: false
+
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ dev: false
+
+ /axios@1.6.7:
+ resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
+ dependencies:
+ follow-redirects: 1.15.5
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: false
+
+ /compute-scroll-into-view@1.0.20:
+ resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
+ dev: false
+
+ /cos-js-sdk-v5@1.6.0:
+ resolution: {integrity: sha512-RvjjPFz3fi1f+M8bPhpEa0wo3Od9CC+gL1ReFjxPx9fmejScFBMjiXbmFS90oXstwFq+2zweuxbi4DiuIgVC3w==}
+ dependencies:
+ '@xmldom/xmldom': 0.8.10
+ dev: false
+
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.62
+ type: 1.2.0
+ dev: false
+
+ /dayjs@1.11.10:
+ resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
+ dev: false
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /dom7@3.0.0:
+ resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==}
+ dependencies:
+ ssr-window: 3.0.0
+ dev: false
+
+ /echarts@5.4.3:
+ resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==}
+ dependencies:
+ tslib: 2.3.0
+ zrender: 5.4.4
+ dev: false
+
+ /element-plus@2.5.3(vue@3.4.15):
+ resolution: {integrity: sha512-wmtstxaMkD6UinIgD+45CjrhbRh4u0vt+/GgxfPeMLt5pDpIVwZFjkUaVcWqqxcxd5a80HP3XlDF74fW7wim9A==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@ctrl/tinycolor': 3.6.1
+ '@element-plus/icons-vue': 2.3.1(vue@3.4.15)
+ '@floating-ui/dom': 1.5.4
+ '@popperjs/core': /@sxzz/popperjs-es@2.11.7
+ '@types/lodash': 4.14.202
+ '@types/lodash-es': 4.17.12
+ '@vueuse/core': 9.13.0(vue@3.4.15)
+ async-validator: 4.2.5
+ dayjs: 1.11.10
+ escape-html: 1.0.3
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
+ memoize-one: 6.0.0
+ normalize-wheel-es: 1.2.0
+ vue: registry.npmmirror.com/vue@3.4.15
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ dev: false
+
+ /es5-ext@0.10.62:
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
+ engines: {node: '>=0.10'}
+ requiresBuild: true
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.1.0
+ dev: false
+
+ /es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-symbol: 3.1.3
+ dev: false
+
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.7.0
+ dev: false
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ dev: false
+
+ /escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: true
+
+ /event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ dev: false
+
+ /ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ dependencies:
+ type: 2.7.2
+ dev: false
+
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fastq@1.16.0:
+ resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /follow-redirects@1.15.5:
+ resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: false
+
+ /form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+ dev: false
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
+ /html-void-elements@2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+ dev: false
+
+ /i18next@20.6.1:
+ resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==}
+ dependencies:
+ '@babel/runtime': 7.23.9
+ dev: false
+
+ /immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
+ dev: false
+
+ /immutable@4.3.4:
+ resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==}
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-hotkey@0.2.0:
+ resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==}
+ dev: false
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-url@1.2.4:
+ resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
+ dev: false
+
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
+ /local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.5.0
+ pkg-types: 1.0.3
+ dev: true
+
+ /lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+ dev: false
+
+ /lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
+ resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
+ peerDependencies:
+ '@types/lodash-es': '*'
+ lodash: '*'
+ lodash-es: '*'
+ dependencies:
+ '@types/lodash-es': 4.17.12
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ dev: false
+
+ /lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+ dev: false
+
+ /lodash.clonedeep@4.5.0:
+ resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
+ dev: false
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: false
+
+ /lodash.foreach@4.5.0:
+ resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
+ dev: false
+
+ /lodash.isequal@4.5.0:
+ resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
+ dev: false
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+ dev: false
+
+ /lodash.toarray@4.4.0:
+ resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==}
+ dev: false
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: false
+
+ /magic-string@0.30.5:
+ resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /memoize-one@6.0.0:
+ resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
+ dev: false
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /mime-match@1.0.2:
+ resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==}
+ dependencies:
+ wildcard: 1.1.2
+ dev: false
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: false
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /mlly@1.5.0:
+ resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==}
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.3.2
+ dev: true
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
+
+ /namespace-emitter@2.0.1:
+ resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==}
+ dev: false
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
+ /next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ dev: false
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /normalize-wheel-es@1.2.0:
+ resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
+ dev: false
+
+ /normalize.css@8.0.1:
+ resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==}
+ dev: false
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
+
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ dev: true
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /pinia-plugin-persistedstate@3.2.1(pinia@2.1.7):
+ resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==}
+ peerDependencies:
+ pinia: ^2.0.0
+ dependencies:
+ pinia: registry.npmmirror.com/pinia@2.1.7(vue@3.4.15)
+ dev: false
+
+ /pkg-types@1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ dependencies:
+ jsonc-parser: 3.2.0
+ mlly: 1.5.0
+ pathe: 1.1.2
+ dev: true
+
+ /preact@10.19.4:
+ resolution: {integrity: sha512-dwaX5jAh0Ga8uENBX1hSOujmKWgx9RtL80KaKUFLc6jb4vCEAc3EeZ0rnQO/FO4VgjfPMfoLFWnNG8bHuZ9VLw==}
+ dev: false
+
+ /prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ dev: false
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ dev: false
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /sass@1.70.0:
+ resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ chokidar: 3.5.3
+ immutable: 4.3.4
+ source-map-js: 1.0.2
+ dev: true
+
+ /scroll-into-view-if-needed@2.2.31:
+ resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
+ dependencies:
+ compute-scroll-into-view: 1.0.20
+ dev: false
+
+ /scule@1.2.0:
+ resolution: {integrity: sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw==}
+ dev: true
+
+ /slate-history@0.66.0(slate@0.72.8):
+ resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==}
+ peerDependencies:
+ slate: '>=0.65.3'
+ dependencies:
+ is-plain-object: 5.0.0
+ slate: 0.72.8
+ dev: false
+
+ /slate@0.72.8:
+ resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==}
+ dependencies:
+ immer: 9.0.21
+ is-plain-object: 5.0.0
+ tiny-warning: 1.0.3
+ dev: false
+
+ /snabbdom@3.6.2:
+ resolution: {integrity: sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==}
+ engines: {node: '>=12.17.0'}
+ dev: false
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /ssr-window@3.0.0:
+ resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==}
+ dev: false
+
+ /strip-literal@1.3.0:
+ resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+ dev: false
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /tslib@2.3.0:
+ resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
+ dev: false
+
+ /type@1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: false
+
+ /type@2.7.2:
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
+ dev: false
+
+ /ufo@1.3.2:
+ resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==}
+ dev: true
+
+ /unimport@3.7.1:
+ resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==}
+ dependencies:
+ '@rollup/pluginutils': 5.1.0
+ acorn: 8.11.3
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.5
+ mlly: 1.5.0
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ scule: 1.2.0
+ strip-literal: 1.3.0
+ unplugin: 1.6.0
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin-auto-import@0.17.3(@vueuse/core@10.7.2):
+ resolution: {integrity: sha512-0cn0wr8X579TtdZKUAps0dDVrYzttx38ImdxZjmCeNlMDJX8UuSjO83vFqgS4ClNDIGWAute+xl9j5vRSX+vsw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+ dependencies:
+ '@antfu/utils': 0.7.7
+ '@rollup/pluginutils': 5.1.0
+ '@vueuse/core': 10.7.2(vue@3.4.15)
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.5
+ minimatch: 9.0.3
+ unimport: 3.7.1
+ unplugin: 1.6.0
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin-vue-components@0.26.0(vue@3.4.15):
+ resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/parser': ^7.15.8
+ '@nuxt/kit': ^3.2.2
+ vue: 2 || 3
+ peerDependenciesMeta:
+ '@babel/parser':
+ optional: true
+ '@nuxt/kit':
+ optional: true
+ dependencies:
+ '@antfu/utils': 0.7.7
+ '@rollup/pluginutils': 5.1.0
+ chokidar: 3.5.3
+ debug: 4.3.4
+ fast-glob: 3.3.2
+ local-pkg: 0.4.3
+ magic-string: 0.30.5
+ minimatch: 9.0.3
+ resolve: 1.22.8
+ unplugin: 1.6.0
+ vue: registry.npmmirror.com/vue@3.4.15
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /unplugin@1.6.0:
+ resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==}
+ dependencies:
+ acorn: 8.11.3
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+ dev: true
+
+ /vue-demi@0.14.6(vue@3.4.15):
+ resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ dependencies:
+ vue: registry.npmmirror.com/vue@3.4.15
+
+ /vue-i18n@9.9.0(vue@3.4.15):
+ resolution: {integrity: sha512-xQ5SxszUAqK5n84N+uUyHH/PiQl9xZ24FOxyAaNonmOQgXeN+rD9z/6DStOpOxNFQn4Cgcquot05gZc+CdOujA==}
+ engines: {node: '>= 16'}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@intlify/core-base': 9.9.0
+ '@intlify/shared': 9.9.0
+ '@vue/devtools-api': 6.5.1
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: false
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
+ /webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
+ dev: true
+
+ /wildcard@1.1.2:
+ resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==}
+ dev: false
+
+ /zrender@5.4.4:
+ resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==}
+ dependencies:
+ tslib: 2.3.0
+ dev: false
+
+ '@cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz':
+ resolution: {tarball: https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz}
+ name: xlsx
+ version: 0.20.0
+ engines: {node: '>=0.8'}
+ hasBin: true
+ dev: false
+
+ registry.npmmirror.com/@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, tarball: https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz}
+ name: '@aashutoshrathi/word-wrap'
+ version: 1.2.6
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, tarball: https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz}
+ name: '@babel/helper-string-parser'
+ version: 7.23.4
+ engines: {node: '>=6.9.0'}
+
+ registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz}
+ name: '@babel/helper-validator-identifier'
+ version: 7.22.20
+ engines: {node: '>=6.9.0'}
+
+ registry.npmmirror.com/@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz}
+ name: '@babel/parser'
+ version: 7.23.6
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': registry.npmmirror.com/@babel/types@7.23.6
+
+ registry.npmmirror.com/@babel/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz}
+ name: '@babel/types'
+ version: 7.23.6
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser@7.23.4
+ '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20
+ to-fast-properties: registry.npmmirror.com/to-fast-properties@2.0.0
+
+ registry.npmmirror.com/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, tarball: https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz}
+ id: registry.npmmirror.com/@eslint-community/eslint-utils/4.4.0
+ name: '@eslint-community/eslint-utils'
+ version: 4.4.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys@3.4.3
+ dev: true
+
+ registry.npmmirror.com/@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, tarball: https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz}
+ name: '@eslint-community/regexpp'
+ version: 4.10.0
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ registry.npmmirror.com/@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz}
+ name: '@eslint/eslintrc'
+ version: 2.1.4
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: registry.npmmirror.com/ajv@6.12.6
+ debug: registry.npmmirror.com/debug@4.3.4
+ espree: registry.npmmirror.com/espree@9.6.1
+ globals: registry.npmmirror.com/globals@13.24.0
+ ignore: registry.npmmirror.com/ignore@5.3.0
+ import-fresh: registry.npmmirror.com/import-fresh@3.3.0
+ js-yaml: registry.npmmirror.com/js-yaml@4.1.0
+ minimatch: registry.npmmirror.com/minimatch@3.1.2
+ strip-json-comments: registry.npmmirror.com/strip-json-comments@3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmmirror.com/@eslint/js@8.56.0:
+ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==, tarball: https://registry.npmmirror.com/@eslint/js/-/js-8.56.0.tgz}
+ name: '@eslint/js'
+ version: 8.56.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ registry.npmmirror.com/@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, tarball: https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz}
+ name: '@humanwhocodes/config-array'
+ version: 0.11.14
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': registry.npmmirror.com/@humanwhocodes/object-schema@2.0.2
+ debug: registry.npmmirror.com/debug@4.3.4
+ minimatch: registry.npmmirror.com/minimatch@3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmmirror.com/@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, tarball: https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz}
+ name: '@humanwhocodes/module-importer'
+ version: 1.0.1
+ engines: {node: '>=12.22'}
+ dev: true
+
+ registry.npmmirror.com/@humanwhocodes/object-schema@2.0.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, tarball: https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz}
+ name: '@humanwhocodes/object-schema'
+ version: 2.0.2
+ dev: true
+
+ registry.npmmirror.com/@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz}
+ name: '@jridgewell/sourcemap-codec'
+ version: 1.4.15
+
+ registry.npmmirror.com/@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz}
+ name: '@nodelib/fs.scandir'
+ version: 2.1.5
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat@2.0.5
+ run-parallel: registry.npmmirror.com/run-parallel@1.2.0
+ dev: true
+
+ registry.npmmirror.com/@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz}
+ name: '@nodelib/fs.stat'
+ version: 2.0.5
+ engines: {node: '>= 8'}
+ dev: true
+
+ registry.npmmirror.com/@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
+ name: '@nodelib/fs.walk'
+ version: 1.2.8
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir@2.1.5
+ fastq: registry.npmmirror.com/fastq@1.16.0
+ dev: true
+
+ registry.npmmirror.com/@pkgr/core@0.1.1:
+ resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, tarball: https://registry.npmmirror.com/@pkgr/core/-/core-0.1.1.tgz}
+ name: '@pkgr/core'
+ version: 0.1.1
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dev: true
+
+ registry.npmmirror.com/@rushstack/eslint-patch@1.7.0:
+ resolution: {integrity: sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==, tarball: https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz}
+ name: '@rushstack/eslint-patch'
+ version: 1.7.0
+ dev: true
+
+ registry.npmmirror.com/@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, tarball: https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz}
+ name: '@types/estree'
+ version: 1.0.5
+ dev: true
+
+ registry.npmmirror.com/@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, tarball: https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz}
+ name: '@ungap/structured-clone'
+ version: 1.2.0
+ dev: true
+
+ registry.npmmirror.com/@vitejs/plugin-vue@4.6.2(vite@5.0.12)(vue@3.4.15):
+ resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz}
+ id: registry.npmmirror.com/@vitejs/plugin-vue/4.6.2
+ name: '@vitejs/plugin-vue'
+ version: 4.6.2
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: registry.npmmirror.com/vite@5.0.12(sass@1.70.0)
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: true
+
+ registry.npmmirror.com/@vue/compiler-core@3.4.15:
+ resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.15.tgz}
+ name: '@vue/compiler-core'
+ version: 3.4.15
+ dependencies:
+ '@babel/parser': registry.npmmirror.com/@babel/parser@7.23.6
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+ entities: registry.npmmirror.com/entities@4.5.0
+ estree-walker: registry.npmmirror.com/estree-walker@2.0.2
+ source-map-js: registry.npmmirror.com/source-map-js@1.0.2
+
+ registry.npmmirror.com/@vue/compiler-dom@3.4.15:
+ resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz}
+ name: '@vue/compiler-dom'
+ version: 3.4.15
+ dependencies:
+ '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+
+ registry.npmmirror.com/@vue/compiler-sfc@3.4.15:
+ resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==, tarball: https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz}
+ name: '@vue/compiler-sfc'
+ version: 3.4.15
+ dependencies:
+ '@babel/parser': registry.npmmirror.com/@babel/parser@7.23.6
+ '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core@3.4.15
+ '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom@3.4.15
+ '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+ estree-walker: registry.npmmirror.com/estree-walker@2.0.2
+ magic-string: registry.npmmirror.com/magic-string@0.30.5
+ postcss: registry.npmmirror.com/postcss@8.4.33
+ source-map-js: registry.npmmirror.com/source-map-js@1.0.2
+
+ registry.npmmirror.com/@vue/compiler-ssr@3.4.15:
+ resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==, tarball: https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz}
+ name: '@vue/compiler-ssr'
+ version: 3.4.15
+ dependencies:
+ '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+
+ registry.npmmirror.com/@vue/devtools-api@6.5.1:
+ resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==, tarball: https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz}
+ name: '@vue/devtools-api'
+ version: 6.5.1
+ dev: false
+
+ registry.npmmirror.com/@vue/eslint-config-prettier@8.0.0(eslint@8.56.0)(prettier@3.2.4):
+ resolution: {integrity: sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==, tarball: https://registry.npmmirror.com/@vue/eslint-config-prettier/-/eslint-config-prettier-8.0.0.tgz}
+ id: registry.npmmirror.com/@vue/eslint-config-prettier/8.0.0
+ name: '@vue/eslint-config-prettier'
+ version: 8.0.0
+ peerDependencies:
+ eslint: '>= 8.0.0'
+ prettier: '>= 3.0.0'
+ dependencies:
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier@8.10.0(eslint@8.56.0)
+ eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.2.4)
+ prettier: registry.npmmirror.com/prettier@3.2.4
+ transitivePeerDependencies:
+ - '@types/eslint'
+ dev: true
+
+ registry.npmmirror.com/@vue/reactivity@3.4.15:
+ resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==, tarball: https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.15.tgz}
+ name: '@vue/reactivity'
+ version: 3.4.15
+ dependencies:
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+
+ registry.npmmirror.com/@vue/runtime-core@3.4.15:
+ resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==, tarball: https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.15.tgz}
+ name: '@vue/runtime-core'
+ version: 3.4.15
+ dependencies:
+ '@vue/reactivity': registry.npmmirror.com/@vue/reactivity@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+
+ registry.npmmirror.com/@vue/runtime-dom@3.4.15:
+ resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==, tarball: https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz}
+ name: '@vue/runtime-dom'
+ version: 3.4.15
+ dependencies:
+ '@vue/runtime-core': registry.npmmirror.com/@vue/runtime-core@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+ csstype: registry.npmmirror.com/csstype@3.1.3
+
+ registry.npmmirror.com/@vue/server-renderer@3.4.15(vue@3.4.15):
+ resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==, tarball: https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.15.tgz}
+ id: registry.npmmirror.com/@vue/server-renderer/3.4.15
+ name: '@vue/server-renderer'
+ version: 3.4.15
+ peerDependencies:
+ vue: 3.4.15
+ dependencies:
+ '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr@3.4.15
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+ vue: registry.npmmirror.com/vue@3.4.15
+
+ registry.npmmirror.com/@vue/shared@3.4.15:
+ resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.4.15.tgz}
+ name: '@vue/shared'
+ version: 3.4.15
+
+ registry.npmmirror.com/acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, tarball: https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz}
+ id: registry.npmmirror.com/acorn-jsx/5.3.2
+ name: acorn-jsx
+ version: 5.3.2
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: registry.npmmirror.com/acorn@8.11.3
+ dev: true
+
+ registry.npmmirror.com/acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz}
+ name: acorn
+ version: 8.11.3
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, tarball: https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz}
+ name: ajv
+ version: 6.12.6
+ dependencies:
+ fast-deep-equal: registry.npmmirror.com/fast-deep-equal@3.1.3
+ fast-json-stable-stringify: registry.npmmirror.com/fast-json-stable-stringify@2.1.0
+ json-schema-traverse: registry.npmmirror.com/json-schema-traverse@0.4.1
+ uri-js: registry.npmmirror.com/uri-js@4.4.1
+ dev: true
+
+ registry.npmmirror.com/ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz}
+ name: ansi-regex
+ version: 5.0.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz}
+ name: ansi-styles
+ version: 4.3.0
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: registry.npmmirror.com/color-convert@2.0.1
+ dev: true
+
+ registry.npmmirror.com/argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, tarball: https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz}
+ name: argparse
+ version: 2.0.1
+ dev: true
+
+ registry.npmmirror.com/balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz}
+ name: balanced-match
+ version: 1.0.2
+ dev: true
+
+ registry.npmmirror.com/boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, tarball: https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz}
+ name: boolbase
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz}
+ name: brace-expansion
+ version: 1.1.11
+ dependencies:
+ balanced-match: registry.npmmirror.com/balanced-match@1.0.2
+ concat-map: registry.npmmirror.com/concat-map@0.0.1
+ dev: true
+
+ registry.npmmirror.com/callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz}
+ name: callsites
+ version: 3.1.0
+ engines: {node: '>=6'}
+ dev: true
+
+ registry.npmmirror.com/chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, tarball: https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz}
+ name: chalk
+ version: 4.1.2
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: registry.npmmirror.com/ansi-styles@4.3.0
+ supports-color: registry.npmmirror.com/supports-color@7.2.0
+ dev: true
+
+ registry.npmmirror.com/color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz}
+ name: color-convert
+ version: 2.0.1
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: registry.npmmirror.com/color-name@1.1.4
+ dev: true
+
+ registry.npmmirror.com/color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz}
+ name: color-name
+ version: 1.1.4
+ dev: true
+
+ registry.npmmirror.com/concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, tarball: https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz}
+ name: concat-map
+ version: 0.0.1
+ dev: true
+
+ registry.npmmirror.com/cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz}
+ name: cross-spawn
+ version: 7.0.3
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: registry.npmmirror.com/path-key@3.1.1
+ shebang-command: registry.npmmirror.com/shebang-command@2.0.0
+ which: registry.npmmirror.com/which@2.0.2
+ dev: true
+
+ registry.npmmirror.com/cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, tarball: https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz}
+ name: cssesc
+ version: 3.0.0
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz}
+ name: csstype
+ version: 3.1.3
+
+ registry.npmmirror.com/debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz}
+ name: debug
+ version: 4.3.4
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: registry.npmmirror.com/ms@2.1.2
+ dev: true
+
+ registry.npmmirror.com/deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, tarball: https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz}
+ name: deep-is
+ version: 0.1.4
+ dev: true
+
+ registry.npmmirror.com/doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, tarball: https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz}
+ name: doctrine
+ version: 3.0.0
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: registry.npmmirror.com/esutils@2.0.3
+ dev: true
+
+ registry.npmmirror.com/entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, tarball: https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz}
+ name: entities
+ version: 4.5.0
+ engines: {node: '>=0.12'}
+
+ registry.npmmirror.com/esbuild@0.19.11:
+ resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.19.11.tgz}
+ name: esbuild
+ version: 0.19.11
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.11
+ '@esbuild/android-arm': 0.19.11
+ '@esbuild/android-arm64': 0.19.11
+ '@esbuild/android-x64': 0.19.11
+ '@esbuild/darwin-arm64': 0.19.11
+ '@esbuild/darwin-x64': 0.19.11
+ '@esbuild/freebsd-arm64': 0.19.11
+ '@esbuild/freebsd-x64': 0.19.11
+ '@esbuild/linux-arm': 0.19.11
+ '@esbuild/linux-arm64': 0.19.11
+ '@esbuild/linux-ia32': 0.19.11
+ '@esbuild/linux-loong64': 0.19.11
+ '@esbuild/linux-mips64el': 0.19.11
+ '@esbuild/linux-ppc64': 0.19.11
+ '@esbuild/linux-riscv64': 0.19.11
+ '@esbuild/linux-s390x': 0.19.11
+ '@esbuild/linux-x64': 0.19.11
+ '@esbuild/netbsd-x64': 0.19.11
+ '@esbuild/openbsd-x64': 0.19.11
+ '@esbuild/sunos-x64': 0.19.11
+ '@esbuild/win32-arm64': 0.19.11
+ '@esbuild/win32-ia32': 0.19.11
+ '@esbuild/win32-x64': 0.19.11
+ dev: true
+
+ registry.npmmirror.com/escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz}
+ name: escape-string-regexp
+ version: 4.0.0
+ engines: {node: '>=10'}
+ dev: true
+
+ registry.npmmirror.com/eslint-config-prettier@8.10.0(eslint@8.56.0):
+ resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==, tarball: https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz}
+ id: registry.npmmirror.com/eslint-config-prettier/8.10.0
+ name: eslint-config-prettier
+ version: 8.10.0
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ dev: true
+
+ registry.npmmirror.com/eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.2.4):
+ resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, tarball: https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz}
+ id: registry.npmmirror.com/eslint-plugin-prettier/5.1.3
+ name: eslint-plugin-prettier
+ version: 5.1.3
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
+ eslint-config-prettier: '*'
+ prettier: '>=3.0.0'
+ peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier@8.10.0(eslint@8.56.0)
+ prettier: registry.npmmirror.com/prettier@3.2.4
+ prettier-linter-helpers: registry.npmmirror.com/prettier-linter-helpers@1.0.0
+ synckit: registry.npmmirror.com/synckit@0.8.8
+ dev: true
+
+ registry.npmmirror.com/eslint-plugin-vue@9.20.1(eslint@8.56.0):
+ resolution: {integrity: sha512-GyCs8K3lkEvoyC1VV97GJhP1SvqsKCiWGHnbn0gVUYiUhaH2+nB+Dv1uekv1THFMPbBfYxukrzQdltw950k+LQ==, tarball: https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.20.1.tgz}
+ id: registry.npmmirror.com/eslint-plugin-vue/9.20.1
+ name: eslint-plugin-vue
+ version: 9.20.1
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': registry.npmmirror.com/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ natural-compare: registry.npmmirror.com/natural-compare@1.4.0
+ nth-check: registry.npmmirror.com/nth-check@2.1.1
+ postcss-selector-parser: registry.npmmirror.com/postcss-selector-parser@6.0.15
+ semver: registry.npmmirror.com/semver@7.5.4
+ vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser@9.4.0(eslint@8.56.0)
+ xml-name-validator: registry.npmmirror.com/xml-name-validator@4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmmirror.com/eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, tarball: https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz}
+ name: eslint-scope
+ version: 7.2.2
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: registry.npmmirror.com/esrecurse@4.3.0
+ estraverse: registry.npmmirror.com/estraverse@5.3.0
+ dev: true
+
+ registry.npmmirror.com/eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, tarball: https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz}
+ name: eslint-visitor-keys
+ version: 3.4.3
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ registry.npmmirror.com/eslint@8.56.0:
+ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==, tarball: https://registry.npmmirror.com/eslint/-/eslint-8.56.0.tgz}
+ name: eslint
+ version: 8.56.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': registry.npmmirror.com/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': registry.npmmirror.com/@eslint-community/regexpp@4.10.0
+ '@eslint/eslintrc': registry.npmmirror.com/@eslint/eslintrc@2.1.4
+ '@eslint/js': registry.npmmirror.com/@eslint/js@8.56.0
+ '@humanwhocodes/config-array': registry.npmmirror.com/@humanwhocodes/config-array@0.11.14
+ '@humanwhocodes/module-importer': registry.npmmirror.com/@humanwhocodes/module-importer@1.0.1
+ '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk@1.2.8
+ '@ungap/structured-clone': registry.npmmirror.com/@ungap/structured-clone@1.2.0
+ ajv: registry.npmmirror.com/ajv@6.12.6
+ chalk: registry.npmmirror.com/chalk@4.1.2
+ cross-spawn: registry.npmmirror.com/cross-spawn@7.0.3
+ debug: registry.npmmirror.com/debug@4.3.4
+ doctrine: registry.npmmirror.com/doctrine@3.0.0
+ escape-string-regexp: registry.npmmirror.com/escape-string-regexp@4.0.0
+ eslint-scope: registry.npmmirror.com/eslint-scope@7.2.2
+ eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys@3.4.3
+ espree: registry.npmmirror.com/espree@9.6.1
+ esquery: registry.npmmirror.com/esquery@1.5.0
+ esutils: registry.npmmirror.com/esutils@2.0.3
+ fast-deep-equal: registry.npmmirror.com/fast-deep-equal@3.1.3
+ file-entry-cache: registry.npmmirror.com/file-entry-cache@6.0.1
+ find-up: registry.npmmirror.com/find-up@5.0.0
+ glob-parent: registry.npmmirror.com/glob-parent@6.0.2
+ globals: registry.npmmirror.com/globals@13.24.0
+ graphemer: registry.npmmirror.com/graphemer@1.4.0
+ ignore: registry.npmmirror.com/ignore@5.3.0
+ imurmurhash: registry.npmmirror.com/imurmurhash@0.1.4
+ is-glob: registry.npmmirror.com/is-glob@4.0.3
+ is-path-inside: registry.npmmirror.com/is-path-inside@3.0.3
+ js-yaml: registry.npmmirror.com/js-yaml@4.1.0
+ json-stable-stringify-without-jsonify: registry.npmmirror.com/json-stable-stringify-without-jsonify@1.0.1
+ levn: registry.npmmirror.com/levn@0.4.1
+ lodash.merge: registry.npmmirror.com/lodash.merge@4.6.2
+ minimatch: registry.npmmirror.com/minimatch@3.1.2
+ natural-compare: registry.npmmirror.com/natural-compare@1.4.0
+ optionator: registry.npmmirror.com/optionator@0.9.3
+ strip-ansi: registry.npmmirror.com/strip-ansi@6.0.1
+ text-table: registry.npmmirror.com/text-table@0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmmirror.com/espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, tarball: https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz}
+ name: espree
+ version: 9.6.1
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: registry.npmmirror.com/acorn@8.11.3
+ acorn-jsx: registry.npmmirror.com/acorn-jsx@5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys@3.4.3
+ dev: true
+
+ registry.npmmirror.com/esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, tarball: https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz}
+ name: esquery
+ version: 1.5.0
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: registry.npmmirror.com/estraverse@5.3.0
+ dev: true
+
+ registry.npmmirror.com/esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, tarball: https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz}
+ name: esrecurse
+ version: 4.3.0
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: registry.npmmirror.com/estraverse@5.3.0
+ dev: true
+
+ registry.npmmirror.com/estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, tarball: https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz}
+ name: estraverse
+ version: 5.3.0
+ engines: {node: '>=4.0'}
+ dev: true
+
+ registry.npmmirror.com/estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz}
+ name: estree-walker
+ version: 2.0.2
+
+ registry.npmmirror.com/esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz}
+ name: esutils
+ version: 2.0.3
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, tarball: https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
+ name: fast-deep-equal
+ version: 3.1.3
+ dev: true
+
+ registry.npmmirror.com/fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz}
+ name: fast-diff
+ version: 1.3.0
+ dev: true
+
+ registry.npmmirror.com/fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz}
+ name: fast-json-stable-stringify
+ version: 2.1.0
+ dev: true
+
+ registry.npmmirror.com/fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, tarball: https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz}
+ name: fast-levenshtein
+ version: 2.0.6
+ dev: true
+
+ registry.npmmirror.com/fastq@1.16.0:
+ resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.16.0.tgz}
+ name: fastq
+ version: 1.16.0
+ dependencies:
+ reusify: registry.npmmirror.com/reusify@1.0.4
+ dev: true
+
+ registry.npmmirror.com/file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, tarball: https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz}
+ name: file-entry-cache
+ version: 6.0.1
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: registry.npmmirror.com/flat-cache@3.2.0
+ dev: true
+
+ registry.npmmirror.com/find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, tarball: https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz}
+ name: find-up
+ version: 5.0.0
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: registry.npmmirror.com/locate-path@6.0.0
+ path-exists: registry.npmmirror.com/path-exists@4.0.0
+ dev: true
+
+ registry.npmmirror.com/flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, tarball: https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz}
+ name: flat-cache
+ version: 3.2.0
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: registry.npmmirror.com/flatted@3.2.9
+ keyv: registry.npmmirror.com/keyv@4.5.4
+ rimraf: registry.npmmirror.com/rimraf@3.0.2
+ dev: true
+
+ registry.npmmirror.com/flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==, tarball: https://registry.npmmirror.com/flatted/-/flatted-3.2.9.tgz}
+ name: flatted
+ version: 3.2.9
+ dev: true
+
+ registry.npmmirror.com/fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz}
+ name: fs.realpath
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz}
+ name: glob-parent
+ version: 6.0.2
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: registry.npmmirror.com/is-glob@4.0.3
+ dev: true
+
+ registry.npmmirror.com/glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, tarball: https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz}
+ name: glob
+ version: 7.2.3
+ dependencies:
+ fs.realpath: registry.npmmirror.com/fs.realpath@1.0.0
+ inflight: registry.npmmirror.com/inflight@1.0.6
+ inherits: registry.npmmirror.com/inherits@2.0.4
+ minimatch: registry.npmmirror.com/minimatch@3.1.2
+ once: registry.npmmirror.com/once@1.4.0
+ path-is-absolute: registry.npmmirror.com/path-is-absolute@1.0.1
+ dev: true
+
+ registry.npmmirror.com/globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, tarball: https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz}
+ name: globals
+ version: 13.24.0
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: registry.npmmirror.com/type-fest@0.20.2
+ dev: true
+
+ registry.npmmirror.com/graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, tarball: https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz}
+ name: graphemer
+ version: 1.4.0
+ dev: true
+
+ registry.npmmirror.com/has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz}
+ name: has-flag
+ version: 4.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/ignore@5.3.0:
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==, tarball: https://registry.npmmirror.com/ignore/-/ignore-5.3.0.tgz}
+ name: ignore
+ version: 5.3.0
+ engines: {node: '>= 4'}
+ dev: true
+
+ registry.npmmirror.com/import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz}
+ name: import-fresh
+ version: 3.3.0
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: registry.npmmirror.com/parent-module@1.0.1
+ resolve-from: registry.npmmirror.com/resolve-from@4.0.0
+ dev: true
+
+ registry.npmmirror.com/imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, tarball: https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz}
+ name: imurmurhash
+ version: 0.1.4
+ engines: {node: '>=0.8.19'}
+ dev: true
+
+ registry.npmmirror.com/inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, tarball: https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz}
+ name: inflight
+ version: 1.0.6
+ dependencies:
+ once: registry.npmmirror.com/once@1.4.0
+ wrappy: registry.npmmirror.com/wrappy@1.0.2
+ dev: true
+
+ registry.npmmirror.com/inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz}
+ name: inherits
+ version: 2.0.4
+ dev: true
+
+ registry.npmmirror.com/is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz}
+ name: is-extglob
+ version: 2.1.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, tarball: https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz}
+ name: is-glob
+ version: 4.0.3
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: registry.npmmirror.com/is-extglob@2.1.1
+ dev: true
+
+ registry.npmmirror.com/is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, tarball: https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz}
+ name: is-path-inside
+ version: 3.0.3
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz}
+ name: isexe
+ version: 2.0.0
+ dev: true
+
+ registry.npmmirror.com/js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, tarball: https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz}
+ name: js-yaml
+ version: 4.1.0
+ hasBin: true
+ dependencies:
+ argparse: registry.npmmirror.com/argparse@2.0.1
+ dev: true
+
+ registry.npmmirror.com/json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, tarball: https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz}
+ name: json-buffer
+ version: 3.0.1
+ dev: true
+
+ registry.npmmirror.com/json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, tarball: https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz}
+ name: json-schema-traverse
+ version: 0.4.1
+ dev: true
+
+ registry.npmmirror.com/json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, tarball: https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz}
+ name: json-stable-stringify-without-jsonify
+ version: 1.0.1
+ dev: true
+
+ registry.npmmirror.com/keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, tarball: https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz}
+ name: keyv
+ version: 4.5.4
+ dependencies:
+ json-buffer: registry.npmmirror.com/json-buffer@3.0.1
+ dev: true
+
+ registry.npmmirror.com/levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, tarball: https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz}
+ name: levn
+ version: 0.4.1
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: registry.npmmirror.com/prelude-ls@1.2.1
+ type-check: registry.npmmirror.com/type-check@0.4.0
+ dev: true
+
+ registry.npmmirror.com/locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, tarball: https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz}
+ name: locate-path
+ version: 6.0.0
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: registry.npmmirror.com/p-locate@5.0.0
+ dev: true
+
+ registry.npmmirror.com/lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, tarball: https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz}
+ name: lodash.merge
+ version: 4.6.2
+ dev: true
+
+ registry.npmmirror.com/lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz}
+ name: lodash
+ version: 4.17.21
+ dev: true
+
+ registry.npmmirror.com/lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz}
+ name: lru-cache
+ version: 6.0.0
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: registry.npmmirror.com/yallist@4.0.0
+ dev: true
+
+ registry.npmmirror.com/magic-string@0.30.5:
+ resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz}
+ name: magic-string
+ version: 0.30.5
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec@1.4.15
+
+ registry.npmmirror.com/minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz}
+ name: minimatch
+ version: 3.1.2
+ dependencies:
+ brace-expansion: registry.npmmirror.com/brace-expansion@1.1.11
+ dev: true
+
+ registry.npmmirror.com/ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz}
+ name: ms
+ version: 2.1.2
+ dev: true
+
+ registry.npmmirror.com/nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz}
+ name: nanoid
+ version: 3.3.7
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ registry.npmmirror.com/natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, tarball: https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz}
+ name: natural-compare
+ version: 1.4.0
+ dev: true
+
+ registry.npmmirror.com/nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, tarball: https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz}
+ name: nth-check
+ version: 2.1.1
+ dependencies:
+ boolbase: registry.npmmirror.com/boolbase@1.0.0
+ dev: true
+
+ registry.npmmirror.com/once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz}
+ name: once
+ version: 1.4.0
+ dependencies:
+ wrappy: registry.npmmirror.com/wrappy@1.0.2
+ dev: true
+
+ registry.npmmirror.com/optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, tarball: https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz}
+ name: optionator
+ version: 0.9.3
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': registry.npmmirror.com/@aashutoshrathi/word-wrap@1.2.6
+ deep-is: registry.npmmirror.com/deep-is@0.1.4
+ fast-levenshtein: registry.npmmirror.com/fast-levenshtein@2.0.6
+ levn: registry.npmmirror.com/levn@0.4.1
+ prelude-ls: registry.npmmirror.com/prelude-ls@1.2.1
+ type-check: registry.npmmirror.com/type-check@0.4.0
+ dev: true
+
+ registry.npmmirror.com/p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz}
+ name: p-limit
+ version: 3.1.0
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: registry.npmmirror.com/yocto-queue@0.1.0
+ dev: true
+
+ registry.npmmirror.com/p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz}
+ name: p-locate
+ version: 5.0.0
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: registry.npmmirror.com/p-limit@3.1.0
+ dev: true
+
+ registry.npmmirror.com/parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, tarball: https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz}
+ name: parent-module
+ version: 1.0.1
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: registry.npmmirror.com/callsites@3.1.0
+ dev: true
+
+ registry.npmmirror.com/path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz}
+ name: path-exists
+ version: 4.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz}
+ name: path-is-absolute
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz}
+ name: path-key
+ version: 3.1.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz}
+ name: picocolors
+ version: 1.0.0
+
+ registry.npmmirror.com/pinia@2.1.7(vue@3.4.15):
+ resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz}
+ id: registry.npmmirror.com/pinia/2.1.7
+ name: pinia
+ version: 2.1.7
+ peerDependencies:
+ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+ vue: ^2.6.14 || ^3.3.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api@6.5.1
+ vue: registry.npmmirror.com/vue@3.4.15
+ vue-demi: registry.npmmirror.com/vue-demi@0.14.6(vue@3.4.15)
+ dev: false
+
+ registry.npmmirror.com/postcss-selector-parser@6.0.15:
+ resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==, tarball: https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz}
+ name: postcss-selector-parser
+ version: 6.0.15
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: registry.npmmirror.com/cssesc@3.0.0
+ util-deprecate: registry.npmmirror.com/util-deprecate@1.0.2
+ dev: true
+
+ registry.npmmirror.com/postcss@8.4.33:
+ resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.33.tgz}
+ name: postcss
+ version: 8.4.33
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: registry.npmmirror.com/nanoid@3.3.7
+ picocolors: registry.npmmirror.com/picocolors@1.0.0
+ source-map-js: 1.0.2
+
+ registry.npmmirror.com/prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, tarball: https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz}
+ name: prelude-ls
+ version: 1.2.1
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ registry.npmmirror.com/prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, tarball: https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz}
+ name: prettier-linter-helpers
+ version: 1.0.0
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ fast-diff: registry.npmmirror.com/fast-diff@1.3.0
+ dev: true
+
+ registry.npmmirror.com/prettier@3.2.4:
+ resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, tarball: https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz}
+ name: prettier
+ version: 3.2.4
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, tarball: https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz}
+ name: punycode
+ version: 2.3.1
+ engines: {node: '>=6'}
+ dev: true
+
+ registry.npmmirror.com/queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz}
+ name: queue-microtask
+ version: 1.2.3
+ dev: true
+
+ registry.npmmirror.com/resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, tarball: https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz}
+ name: resolve-from
+ version: 4.0.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz}
+ name: reusify
+ version: 1.0.4
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, tarball: https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz}
+ name: rimraf
+ version: 3.0.2
+ hasBin: true
+ dependencies:
+ glob: registry.npmmirror.com/glob@7.2.3
+ dev: true
+
+ registry.npmmirror.com/rollup@4.9.5:
+ resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==, tarball: https://registry.npmmirror.com/rollup/-/rollup-4.9.5.tgz}
+ name: rollup
+ version: 4.9.5
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree@1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.9.5
+ '@rollup/rollup-android-arm64': 4.9.5
+ '@rollup/rollup-darwin-arm64': 4.9.5
+ '@rollup/rollup-darwin-x64': 4.9.5
+ '@rollup/rollup-linux-arm-gnueabihf': 4.9.5
+ '@rollup/rollup-linux-arm64-gnu': 4.9.5
+ '@rollup/rollup-linux-arm64-musl': 4.9.5
+ '@rollup/rollup-linux-riscv64-gnu': 4.9.5
+ '@rollup/rollup-linux-x64-gnu': 4.9.5
+ '@rollup/rollup-linux-x64-musl': 4.9.5
+ '@rollup/rollup-win32-arm64-msvc': 4.9.5
+ '@rollup/rollup-win32-ia32-msvc': 4.9.5
+ '@rollup/rollup-win32-x64-msvc': 4.9.5
+ fsevents: 2.3.3
+ dev: true
+
+ registry.npmmirror.com/run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz}
+ name: run-parallel
+ version: 1.2.0
+ dependencies:
+ queue-microtask: registry.npmmirror.com/queue-microtask@1.2.3
+ dev: true
+
+ registry.npmmirror.com/semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, tarball: https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz}
+ name: semver
+ version: 7.5.4
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: registry.npmmirror.com/lru-cache@6.0.0
+ dev: true
+
+ registry.npmmirror.com/shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
+ name: shebang-command
+ version: 2.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: registry.npmmirror.com/shebang-regex@3.0.0
+ dev: true
+
+ registry.npmmirror.com/shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz}
+ name: shebang-regex
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz}
+ name: source-map-js
+ version: 1.0.2
+ engines: {node: '>=0.10.0'}
+
+ registry.npmmirror.com/strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz}
+ name: strip-ansi
+ version: 6.0.1
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: registry.npmmirror.com/ansi-regex@5.0.1
+ dev: true
+
+ registry.npmmirror.com/strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, tarball: https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz}
+ name: strip-json-comments
+ version: 3.1.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz}
+ name: supports-color
+ version: 7.2.0
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: registry.npmmirror.com/has-flag@4.0.0
+ dev: true
+
+ registry.npmmirror.com/synckit@0.8.8:
+ resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, tarball: https://registry.npmmirror.com/synckit/-/synckit-0.8.8.tgz}
+ name: synckit
+ version: 0.8.8
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/core': registry.npmmirror.com/@pkgr/core@0.1.1
+ tslib: registry.npmmirror.com/tslib@2.6.2
+ dev: true
+
+ registry.npmmirror.com/text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz}
+ name: text-table
+ version: 0.2.0
+ dev: true
+
+ registry.npmmirror.com/to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz}
+ name: to-fast-properties
+ version: 2.0.0
+ engines: {node: '>=4'}
+
+ registry.npmmirror.com/tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz}
+ name: tslib
+ version: 2.6.2
+ dev: true
+
+ registry.npmmirror.com/type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, tarball: https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz}
+ name: type-check
+ version: 0.4.0
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: registry.npmmirror.com/prelude-ls@1.2.1
+ dev: true
+
+ registry.npmmirror.com/type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz}
+ name: type-fest
+ version: 0.20.2
+ engines: {node: '>=10'}
+ dev: true
+
+ registry.npmmirror.com/uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, tarball: https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz}
+ name: uri-js
+ version: 4.4.1
+ dependencies:
+ punycode: registry.npmmirror.com/punycode@2.3.1
+ dev: true
+
+ registry.npmmirror.com/util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, tarball: https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz}
+ name: util-deprecate
+ version: 1.0.2
+ dev: true
+
+ registry.npmmirror.com/vite@5.0.12(sass@1.70.0):
+ resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==, tarball: https://registry.npmmirror.com/vite/-/vite-5.0.12.tgz}
+ id: registry.npmmirror.com/vite/5.0.12
+ name: vite
+ version: 5.0.12
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: registry.npmmirror.com/esbuild@0.19.11
+ postcss: registry.npmmirror.com/postcss@8.4.33
+ rollup: registry.npmmirror.com/rollup@4.9.5
+ sass: 1.70.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ registry.npmmirror.com/vue-demi@0.14.6(vue@3.4.15):
+ resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.6.tgz}
+ id: registry.npmmirror.com/vue-demi/0.14.6
+ name: vue-demi
+ version: 0.14.6
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ dependencies:
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: false
+
+ registry.npmmirror.com/vue-eslint-parser@9.4.0(eslint@8.56.0):
+ resolution: {integrity: sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw==, tarball: https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.4.0.tgz}
+ id: registry.npmmirror.com/vue-eslint-parser/9.4.0
+ name: vue-eslint-parser
+ version: 9.4.0
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ debug: registry.npmmirror.com/debug@4.3.4
+ eslint: registry.npmmirror.com/eslint@8.56.0
+ eslint-scope: registry.npmmirror.com/eslint-scope@7.2.2
+ eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys@3.4.3
+ espree: registry.npmmirror.com/espree@9.6.1
+ esquery: registry.npmmirror.com/esquery@1.5.0
+ lodash: registry.npmmirror.com/lodash@4.17.21
+ semver: registry.npmmirror.com/semver@7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmmirror.com/vue-router@4.2.5(vue@3.4.15):
+ resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==, tarball: https://registry.npmmirror.com/vue-router/-/vue-router-4.2.5.tgz}
+ id: registry.npmmirror.com/vue-router/4.2.5
+ name: vue-router
+ version: 4.2.5
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api@6.5.1
+ vue: registry.npmmirror.com/vue@3.4.15
+ dev: false
+
+ registry.npmmirror.com/vue@3.4.15:
+ resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==, tarball: https://registry.npmmirror.com/vue/-/vue-3.4.15.tgz}
+ name: vue
+ version: 3.4.15
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom@3.4.15
+ '@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc@3.4.15
+ '@vue/runtime-dom': registry.npmmirror.com/@vue/runtime-dom@3.4.15
+ '@vue/server-renderer': registry.npmmirror.com/@vue/server-renderer@3.4.15(vue@3.4.15)
+ '@vue/shared': registry.npmmirror.com/@vue/shared@3.4.15
+
+ registry.npmmirror.com/which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz}
+ name: which
+ version: 2.0.2
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: registry.npmmirror.com/isexe@2.0.0
+ dev: true
+
+ registry.npmmirror.com/wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz}
+ name: wrappy
+ version: 1.0.2
+ dev: true
+
+ registry.npmmirror.com/xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==, tarball: https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz}
+ name: xml-name-validator
+ version: 4.0.0
+ engines: {node: '>=12'}
+ dev: true
+
+ registry.npmmirror.com/yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz}
+ name: yallist
+ version: 4.0.0
+ dev: true
+
+ registry.npmmirror.com/yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, tarball: https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz}
+ name: yocto-queue
+ version: 0.1.0
+ engines: {node: '>=10'}
+ dev: true
diff --git a/app/public/favicon.ico b/app/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/app/public/favicon.ico differ
diff --git a/app/src/App.vue b/app/src/App.vue
new file mode 100644
index 0000000..b9e763c
--- /dev/null
+++ b/app/src/App.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/api/user.js b/app/src/api/user.js
new file mode 100644
index 0000000..1c83b5f
--- /dev/null
+++ b/app/src/api/user.js
@@ -0,0 +1,10 @@
+import http from '@/utils/http'
+
+const getUser = () => {
+ return http.get('/user/get', {
+ params: {
+ _id: '66136094633f0524859aa797'
+ }
+ })
+}
+export { getUser }
diff --git a/app/src/assets/error/notfind1/image/profile.png b/app/src/assets/error/notfind1/image/profile.png
new file mode 100644
index 0000000..2811e87
Binary files /dev/null and b/app/src/assets/error/notfind1/image/profile.png differ
diff --git a/app/src/assets/error/notfind1/static/404.svg b/app/src/assets/error/notfind1/static/404.svg
new file mode 100644
index 0000000..b91c655
--- /dev/null
+++ b/app/src/assets/error/notfind1/static/404.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/src/assets/error/notfind2/astronaut.png b/app/src/assets/error/notfind2/astronaut.png
new file mode 100644
index 0000000..5cda08a
Binary files /dev/null and b/app/src/assets/error/notfind2/astronaut.png differ
diff --git a/app/src/assets/error/notfind2/bg.png b/app/src/assets/error/notfind2/bg.png
new file mode 100644
index 0000000..085f1ac
Binary files /dev/null and b/app/src/assets/error/notfind2/bg.png differ
diff --git a/app/src/assets/error/notfind2/font/dogica.ttf b/app/src/assets/error/notfind2/font/dogica.ttf
new file mode 100644
index 0000000..2d1ac57
Binary files /dev/null and b/app/src/assets/error/notfind2/font/dogica.ttf differ
diff --git a/app/src/assets/error/notfind2/font/dogicabold.ttf b/app/src/assets/error/notfind2/font/dogicabold.ttf
new file mode 100644
index 0000000..7ea1b3c
Binary files /dev/null and b/app/src/assets/error/notfind2/font/dogicabold.ttf differ
diff --git a/app/src/assets/error/notfind2/font/dogicapixel.ttf b/app/src/assets/error/notfind2/font/dogicapixel.ttf
new file mode 100644
index 0000000..bd3ebe8
Binary files /dev/null and b/app/src/assets/error/notfind2/font/dogicapixel.ttf differ
diff --git a/app/src/assets/error/notfind2/font/dogicapixelbold.ttf b/app/src/assets/error/notfind2/font/dogicapixelbold.ttf
new file mode 100644
index 0000000..62807db
Binary files /dev/null and b/app/src/assets/error/notfind2/font/dogicapixelbold.ttf differ
diff --git a/app/src/assets/logo.svg b/app/src/assets/logo.svg
new file mode 100644
index 0000000..7565660
--- /dev/null
+++ b/app/src/assets/logo.svg
@@ -0,0 +1 @@
+
diff --git a/app/src/components/AvatarCom.vue b/app/src/components/AvatarCom.vue
new file mode 100644
index 0000000..95d218a
--- /dev/null
+++ b/app/src/components/AvatarCom.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+ Action 1
+
+ Action 2
+
+ Action 3
+ Action 4
+ Action 5
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/PreviewPictureCom.vue b/app/src/components/PreviewPictureCom.vue
new file mode 100644
index 0000000..ed2e5ea
--- /dev/null
+++ b/app/src/components/PreviewPictureCom.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/SettingCom.vue b/app/src/components/SettingCom.vue
new file mode 100644
index 0000000..5814ccf
--- /dev/null
+++ b/app/src/components/SettingCom.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+ 黑暗模式
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/echarts/MyEcharts.vue b/app/src/components/echarts/MyEcharts.vue
new file mode 100644
index 0000000..c100c26
--- /dev/null
+++ b/app/src/components/echarts/MyEcharts.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
diff --git a/app/src/components/excel/ExportExcelCom.vue b/app/src/components/excel/ExportExcelCom.vue
new file mode 100644
index 0000000..099fbda
--- /dev/null
+++ b/app/src/components/excel/ExportExcelCom.vue
@@ -0,0 +1,121 @@
+
+
+
+ {
+ formData.fileName = ''
+ formData.fileExtension = ''
+ dialogVisible = true
+ }
+ "
+ >导出文件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/excel/ImportExcelCom.vue b/app/src/components/excel/ImportExcelCom.vue
new file mode 100644
index 0000000..7465d28
--- /dev/null
+++ b/app/src/components/excel/ImportExcelCom.vue
@@ -0,0 +1,115 @@
+
+
+
+
+ 文件格式要求为xls,xlsx
+
+
+
+
+
+
+
diff --git a/app/src/components/file/UploadFileCom.vue b/app/src/components/file/UploadFileCom.vue
new file mode 100644
index 0000000..2af6de7
--- /dev/null
+++ b/app/src/components/file/UploadFileCom.vue
@@ -0,0 +1,90 @@
+
+
+
+
+ 上传文件
+
+
+
+
+
+ 将文件拖到此处或 点击上传
+
+
+
+
+
+
+ 取消
+ {
+ emits('handleConfirm', selectFiles)
+ }
+ "
+ >
+ 确认
+
+
+
+
+
+
+
+
diff --git a/app/src/components/progress/ProgressCom.vue b/app/src/components/progress/ProgressCom.vue
new file mode 100644
index 0000000..734e33e
--- /dev/null
+++ b/app/src/components/progress/ProgressCom.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ percentage }}%
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/progress/ProgressLiteCom.vue b/app/src/components/progress/ProgressLiteCom.vue
new file mode 100644
index 0000000..b89d512
--- /dev/null
+++ b/app/src/components/progress/ProgressLiteCom.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ percentage }}%
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/table/BaseTableCom.vue b/app/src/components/table/BaseTableCom.vue
new file mode 100644
index 0000000..5c295c6
--- /dev/null
+++ b/app/src/components/table/BaseTableCom.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+ {{
+ row[item.prop].tagName
+ }}
+
+
+
+
+
+
+
+
+
+
+
+ {
+ emits('updateSwitchState', switchState)
+ }
+ "
+ />
+
+
+
+
+
+ {
+ handleCommand(command, row)
+ }
+ "
+ >
+ 操作
+
+
+
+
+
+ {{ item.actionName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/utils/CollapseAsideCom.vue b/app/src/components/utils/CollapseAsideCom.vue
new file mode 100644
index 0000000..b7239a1
--- /dev/null
+++ b/app/src/components/utils/CollapseAsideCom.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/utils/DarkSwitchCom.vue b/app/src/components/utils/DarkSwitchCom.vue
new file mode 100644
index 0000000..67a06eb
--- /dev/null
+++ b/app/src/components/utils/DarkSwitchCom.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/components/utils/SwitchLanguageCom.vue b/app/src/components/utils/SwitchLanguageCom.vue
new file mode 100644
index 0000000..d0fa6cc
--- /dev/null
+++ b/app/src/components/utils/SwitchLanguageCom.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ 中文
+ English
+
+
+
+
+
+
+
+
+
diff --git a/app/src/hooks/progress.js b/app/src/hooks/progress.js
new file mode 100644
index 0000000..de1f206
--- /dev/null
+++ b/app/src/hooks/progress.js
@@ -0,0 +1,46 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-03-27 00:33:27
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-03-27 00:37:44
+ * @FilePath: \bingwu-admin\src\hooks\progress.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { ref } from 'vue'
+export const useProgress = () => {
+ const percentage = ref(0)
+ const status = ref('')
+ const dialogVisible = ref(false)
+ const changePercentage = (newPercentage) => {
+ percentage.value = newPercentage
+ }
+ const offProgress = (newState = 'success', message = '上传成功') => {
+ setTimeout(() => {
+ dialogVisible.value = false
+ }, 1200)
+ if (newState === 'success') {
+ status.value = 'success'
+ ElMessage({
+ message,
+ type: 'success'
+ })
+ } else {
+ ElMessage.error(`${message}`)
+ status.value = 'exception'
+ }
+ }
+ const openProgress = () => {
+ status.value = ''
+ percentage.value = 0
+ dialogVisible.value = true
+ }
+ return {
+ percentage,
+ status,
+ dialogVisible,
+ changePercentage,
+ offProgress,
+ openProgress
+ }
+}
diff --git a/app/src/hooks/table.js b/app/src/hooks/table.js
new file mode 100644
index 0000000..4483a12
--- /dev/null
+++ b/app/src/hooks/table.js
@@ -0,0 +1,77 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-03-26 22:39:33
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-03-26 23:10:08
+ * @FilePath: \bingwu-admin\src\hooks\table.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { ref } from 'vue'
+export const useTable = (props, emits) => {
+ const tableLoading = ref(false)
+ const switchLoading = ref(false)
+ const changeTableLoading = () => {
+ tableLoading.value = !tableLoading.value
+ }
+ const paginationData = ref({
+ currentPage: 1,
+ pageSize: props.pageSizes[0]
+ })
+ const changeSwitchLoading = () => {
+ switchLoading.value = !switchLoading.value
+ }
+ const beforeSwitchChange = () => {
+ return ElMessageBox.confirm(
+ props.messageBoxContent,
+ props.messageBoxTitle,
+ {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }
+ )
+ .then(() => {
+ return new Promise((resolve) => {
+ ElMessage.success('变更成功')
+ return resolve(true)
+ })
+ })
+ .catch(() => {
+ return new Promise((_, reject) => {
+ ElMessage.warning('取消变更')
+ return reject()
+ })
+ })
+ }
+ const handleCommand = (command, row) => {
+ const dropdownItem = props.dropdownData.find((item) => {
+ return item.command === command
+ })
+ dropdownItem.handleAction(row)
+ }
+ const handleCurrentChange = (currentPage) => {
+ paginationData.value.currentPage = currentPage
+ // 传入当前页码容量大小和当前页码
+ emits('updateTableData', paginationData.value.pageSize, currentPage)
+ }
+
+ const handleSizeChange = (pageSize) => {
+ // 当前页的数据容量改变,重置页码为1
+ paginationData.value.pageSize = pageSize
+ paginationData.value.currentPage = 1
+ // 传入当前页面容量大小和当前页码
+ emits('updateTableData', pageSize, paginationData.value.currentPage)
+ }
+ return {
+ tableLoading,
+ switchLoading,
+ changeTableLoading,
+ changeSwitchLoading,
+ beforeSwitchChange,
+ handleCommand,
+ paginationData,
+ handleCurrentChange,
+ handleSizeChange
+ }
+}
diff --git a/app/src/language/index.js b/app/src/language/index.js
new file mode 100644
index 0000000..ab36dc0
--- /dev/null
+++ b/app/src/language/index.js
@@ -0,0 +1,23 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-23 22:17:57
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-01-23 22:45:53
+ * @FilePath: \bingwu-admin\src\language\index.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { createI18n } from 'vue-i18n'
+import zhCN from './locales/zh-CN'
+import enUS from './locales/en-US'
+
+const i18n = createI18n({
+ legacy: false,
+ locale: 'zh-cn', // 默认显示语言
+ messages: {
+ 'zh-cn': zhCN,
+ 'en-us': enUS
+ }
+})
+
+export default i18n
diff --git a/app/src/language/locales/en-US.js b/app/src/language/locales/en-US.js
new file mode 100644
index 0000000..e466a8e
--- /dev/null
+++ b/app/src/language/locales/en-US.js
@@ -0,0 +1,29 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-23 22:17:32
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-01-23 22:17:40
+ * @FilePath: \bingwu-admin\src\language\locales\en_US.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+export default {
+ common: {
+ more: 'Look More'
+ },
+ leftMenus: {
+ '/': 'Home',
+ Home: 'Home',
+ home: 'Home'
+ },
+ headMenus: {
+ subTitle: 'Organization service platform',
+ userName: 'ZhangSan',
+ name: 'name',
+ menu1: 'international'
+ },
+ login: {
+ personal_center: 'personal center',
+ sign_out: 'sign out'
+ }
+}
diff --git a/app/src/language/locales/zh-CN.js b/app/src/language/locales/zh-CN.js
new file mode 100644
index 0000000..cee1367
--- /dev/null
+++ b/app/src/language/locales/zh-CN.js
@@ -0,0 +1,29 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-23 22:16:55
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-01-23 22:17:09
+ * @FilePath: \bingwu-admin\src\language\locales\zh.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+export default {
+ common: {
+ more: '查看更多'
+ },
+ leftMenus: {
+ '/': '首页',
+ Home: '首页',
+ home: '首页'
+ },
+ headMenus: {
+ subTitle: '机构服务平台',
+ userName: '张三',
+ name: '姓名',
+ menu1: '国际化'
+ },
+ login: {
+ personal_center: '个人中心',
+ sign_out: '退出'
+ }
+}
diff --git a/app/src/layout/IndexCom.vue b/app/src/layout/IndexCom.vue
new file mode 100644
index 0000000..522a13b
--- /dev/null
+++ b/app/src/layout/IndexCom.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/layout/components/AsideCom.vue b/app/src/layout/components/AsideCom.vue
new file mode 100644
index 0000000..d56b678
--- /dev/null
+++ b/app/src/layout/components/AsideCom.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ child.name }}
+
+ {{ son.name }}
+
+
+
+ {{ child.name }}
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
diff --git a/app/src/layout/components/HeaderCom.vue b/app/src/layout/components/HeaderCom.vue
new file mode 100644
index 0000000..3d8b151
--- /dev/null
+++ b/app/src/layout/components/HeaderCom.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main.js b/app/src/main.js
new file mode 100644
index 0000000..d8d77d3
--- /dev/null
+++ b/app/src/main.js
@@ -0,0 +1,28 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-20 23:24:08
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-02-15 14:29:07
+ * @FilePath: \bingwu-admin\src\main.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+
+import 'element-plus/theme-chalk/dark/css-vars.css'
+import 'normalize.css'
+import { createApp } from 'vue'
+import { createPinia } from 'pinia'
+import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
+import i18n from './language'
+import App from './App.vue'
+import router from './router'
+import * as ElementPlusIconsVue from '@element-plus/icons-vue'
+// 导入插件
+import permission from './plugins/permission'
+const app = createApp(App)
+for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
+ app.component(key, component)
+}
+const pinia = createPinia()
+pinia.use(piniaPluginPersistedstate)
+app.use(pinia).use(router).use(i18n).use(permission).mount('#app')
diff --git a/app/src/plugins/permission.js b/app/src/plugins/permission.js
new file mode 100644
index 0000000..06faa0f
--- /dev/null
+++ b/app/src/plugins/permission.js
@@ -0,0 +1,24 @@
+import { getUserStore } from '@/stores'
+// 判断权限的插件
+export default {
+ install: (app, options) => {
+ // 权限内容存在user中
+ const userStroe = getUserStore()
+ console.log('我的permission插件')
+ // 使用自定义指令
+ app.directive('permission', {
+ mounted(el, binding) {
+ console.log('options', options)
+ console.log('binding', binding)
+ let permission = binding.value // 获取到传入 v-permission的值
+ if (permission) {
+ let hasPermission = userStroe.hasPermission(permission)
+ if (!hasPermission) {
+ // 没有权限 移除Dom元素
+ el.parentNode && el.parentNode.removeChild(el)
+ }
+ }
+ }
+ })
+ }
+}
diff --git a/app/src/router/index.js b/app/src/router/index.js
new file mode 100644
index 0000000..43f9ad3
--- /dev/null
+++ b/app/src/router/index.js
@@ -0,0 +1,161 @@
+/*
+ * ..Author: BINGWU
+ * ..Date: 2024-01-20 23:24:08
+ * ..LastEditors: BINGWU HuJiaCheng2003..163.com
+ * ..LastEditTime: 2024-02-15 19:48:22
+ * ..FilePath: \bingwu-admin\src\router\index.js
+ * ..Describe:
+ * ..Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { createRouter, createWebHistory } from 'vue-router'
+// 页面组件的文件路径
+const modules = import.meta.glob('../views/**/**.vue')
+import { getUserStore } from '@/stores'
+const router = createRouter({
+ history: createWebHistory(import.meta.env.BASE_URL),
+ routes: [
+ {
+ path: '/',
+ component: () => import('../layout/IndexCom.vue'),
+ meta: {
+ name: '首页'
+ },
+ name: 'main',
+ children: [
+ // {
+ // path: 'home',
+ // name: 'home',
+ // component: () => import('../views/HomeView.vue')
+ // },
+ // {
+ // path: 'international',
+ // name: 'international',
+ // component: () => import('../views/InternationalView.vue'),
+ // meta: {
+ // name: '国际化'
+ // }
+ // },
+ // {
+ // path: 'table/main-table1',
+ // name: 'main-table',
+ // component: () => import('../views/table/MainTableView.vue'),
+ // meta: {
+ // name: '表格1'
+ // }
+ // },
+ // {
+ // path: 'excel',
+ // name: 'excel',
+ // component: () => import('../views/ExcelView.vue'),
+ // meta: {
+ // name: 'excel'
+ // }
+ // },
+ // {
+ // path: 'file',
+ // name: 'file',
+ // component: () => import('../views/FileView.vue'),
+ // meta: {
+ // name: 'file'
+ // }
+ // },
+ // {
+ // path: 'rich-text',
+ // name: 'rich-text',
+ // component: () => import('../views/RichTextView.vue'),
+ // meta: {
+ // name: 'rich-text'
+ // }
+ // },
+ // {
+ // path: 'permission',
+ // name: 'permission',
+ // component: () => import('../views/PermissionView.vue'),
+ // meta: {
+ // name: 'permission'
+ // }
+ // },
+ // // 三级路由
+ // {
+ // path: 'menu/menu-1-1',
+ // name: 'child-menu',
+ // component: () => import('../views/FatherMenu/FatherMenuView.vue'),
+ // meta: {
+ // name: '菜单1'
+ // }
+ // },
+ // {
+ // path: '/menu/menu-1-1/menu-1-3-1',
+ // name: 'father-menu',
+ // component: () =>
+ // import('../views/FatherMenu/ChildMenu/ChildMenuView.vue'),
+ // meta: {
+ // name: '菜单1'
+ // }
+ // }
+ ]
+ },
+ {
+ path: '/error/not-find1',
+ name: 'not-find1',
+ component: () => import('../views/Error/NotFindView1.vue'),
+ meta: {
+ name: 'not-find1'
+ }
+ },
+ {
+ path: '/error/not-find2',
+ name: 'not-find2',
+ component: () => import('../views/Error/NotFindView2.vue'),
+ meta: {
+ name: 'not-find2'
+ }
+ },
+ {
+ path: '/error/not-find3',
+ name: 'not-find3',
+ component: () => import('../views/Error/NotFindView3.vue'),
+ meta: {
+ name: 'not-find3'
+ }
+ },
+ // 访问不存在的路由所跳转的页面
+ // {
+ // path: '/:catchAll(.*)',
+ // redirect: '/error/not-find2'
+ // },
+ {
+ path: '/login',
+ name: 'login',
+ component: () => import('../views/LoginView.vue'),
+ meta: {
+ name: 'login'
+ }
+ },
+ {
+ path: '/test',
+ name: 'test',
+ component: () => import('../views/test/TestView.vue'),
+ meta: {
+ name: 'test'
+ }
+ }
+ ]
+})
+
+router.beforeEach((to, from) => {
+ if (to.name !== 'login') {
+ if (!getUserStore().token) {
+ return { name: 'login' }
+ }
+ }
+ // 处理动态路由刷新白屏
+ if (!to.redirectedFrom) {
+ getUserStore().addUserRoute(router, modules)
+ return { ...to, replace: true }
+ } else {
+ return true
+ }
+})
+
+export default router
diff --git a/app/src/stores/index.js b/app/src/stores/index.js
new file mode 100644
index 0000000..4b1f313
--- /dev/null
+++ b/app/src/stores/index.js
@@ -0,0 +1,9 @@
+import useStateStore from './modules/state'
+import useUserStore from './modules/user'
+const getStateStore = () => {
+ return useStateStore()
+}
+const getUserStore = () => {
+ return useUserStore()
+}
+export { getStateStore, getUserStore }
diff --git a/app/src/stores/modules/state.js b/app/src/stores/modules/state.js
new file mode 100644
index 0000000..0bbf028
--- /dev/null
+++ b/app/src/stores/modules/state.js
@@ -0,0 +1,21 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+const useStateStore = defineStore(
+ 'state',
+ () => {
+ const isCollapse = ref(false)
+ const updateCollapse = () => {
+ isCollapse.value = !isCollapse.value
+ }
+ const currentLang = ref('zh-cn')
+ const updateCurrentLang = (lang) => {
+ currentLang.value = lang
+ }
+ return { isCollapse, updateCollapse, currentLang, updateCurrentLang }
+ },
+ {
+ persist: true
+ }
+)
+
+export default useStateStore
diff --git a/app/src/stores/modules/user.js b/app/src/stores/modules/user.js
new file mode 100644
index 0000000..abfa180
--- /dev/null
+++ b/app/src/stores/modules/user.js
@@ -0,0 +1,519 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-02-15 14:18:43
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-04-11 17:38:14
+ * @FilePath: \app\src\stores\modules\user.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+const useUserStore = defineStore(
+ 'user',
+ () => {
+ // 模拟后台返回的token
+ const token = ref('')
+ const setToken = (newToken) => {
+ token.value = newToken
+ }
+ // 模拟后台返回的侧边栏数据
+ const asideData = ref([
+ {
+ index: '/home',
+ icon: 'icon iconfont icon-shouye',
+ name: '首页'
+ },
+ //
+ {
+ index: '/user-manage',
+ icon: 'icon iconfont icon-guanliyuan_jiaoseguanli',
+ name: '用户管理'
+ },
+ {
+ index: '/employee-manage',
+ icon: 'icon iconfont icon-yuangongguanli',
+ name: '职工管理'
+ },
+ {
+ index: '/reward-manage',
+ icon: 'icon iconfont icon-wodejixiao',
+ name: '绩效管理'
+ },
+ // 二级
+ {
+ index: '/feedback',
+ icon: 'icon iconfont icon-xinxifankui',
+ name: '员工反馈与投诉管理',
+ children: [
+ {
+ index: '/feedback/manage',
+ name: '投诉管理'
+ },
+ {
+ index: '/feedback/view',
+ name: '员工反馈'
+ }
+ ]
+ },
+ {
+ index: '/request',
+ icon: 'icon iconfont icon-qingjiatiao',
+ name: '请假管理',
+ children: [
+ {
+ index: '/request/manage',
+ name: '请假信息管理'
+ },
+ {
+ index: '/request/view',
+ name: '个人请假信息'
+ }
+ ]
+ },
+ {
+ index: '/person',
+ icon: 'icon iconfont icon-geren',
+ name: '个人信息管理',
+ children: [
+ {
+ index: '/person/password',
+ name: '修改密码'
+ },
+ {
+ index: '/person/avatar',
+ name: '修改个人信息'
+ }
+ ]
+ }
+ ])
+ // 模拟后台返回的路由数据
+ const routerData = ref([
+ {
+ path: 'home',
+ name: 'home',
+ meta: {
+ // 路由组件的路径
+ url: '../views/HomeView.vue'
+ }
+ },
+ {
+ path: 'international',
+ name: 'international',
+
+ meta: {
+ name: '国际化',
+ url: '../views/InternationalView.vue'
+ }
+ },
+ {
+ path: 'table/main-table1',
+ name: 'main-table',
+ meta: {
+ name: '表格1',
+ url: '../views/table/MainTableView.vue'
+ }
+ },
+ {
+ path: 'excel',
+ name: 'excel',
+
+ meta: {
+ name: 'excel',
+ url: '../views/ExcelView.vue'
+ }
+ },
+ {
+ path: 'file',
+ name: 'file',
+
+ meta: {
+ name: 'file',
+ url: '../views/FileView.vue'
+ }
+ },
+
+ {
+ path: 'rich-text',
+ name: 'rich-text',
+
+ meta: {
+ name: 'rich-text',
+ url: '../views/RichTextView.vue'
+ }
+ },
+ {
+ path: 'permission',
+ name: 'permission',
+
+ meta: {
+ name: 'permission',
+ url: '../views/PermissionView.vue'
+ }
+ },
+ {
+ path: 'tx-yun',
+ name: 'tx-yun',
+
+ meta: {
+ name: 'tx-yun',
+ url: '../views/TxView.vue'
+ }
+ },
+ {
+ path: 'progress',
+ name: 'progress',
+ meta: {
+ name: 'progress',
+ url: '../views/ProgressView.vue'
+ }
+ },
+ {
+ path: 'preview-picture',
+ name: 'preview-picture',
+
+ meta: {
+ name: 'preview-picture',
+ url: '../views/PreviewPictureView.vue'
+ }
+ },
+ // 三级路由
+ {
+ path: 'menu/menu-1-1',
+ name: 'child-menu',
+
+ meta: {
+ name: '菜单1-1',
+ url: '../views/FatherMenu/FatherMenuView.vue'
+ }
+ },
+ {
+ path: '/menu/menu-1-1/menu-1-3-1',
+ name: 'father-menu',
+
+ meta: {
+ name: '菜单1-3-1',
+ url: '../views/FatherMenu/ChildMenu/ChildMenuView.vue'
+ }
+ },
+ //
+ {
+ path: 'user-manage',
+ name: 'user-manage',
+ meta: {
+ // 路由组件的路径
+ url: '../views/UserManageView.vue'
+ }
+ },
+ {
+ path: 'employee-manage',
+ name: 'employee-manage',
+ meta: {
+ // 路由组件的路径
+ url: '../views/EmployeeManageView.vue'
+ }
+ },
+ {
+ path: 'reward-manage',
+ name: 'reward-manage',
+ meta: {
+ // 路由组件的路径
+ url: '../views/RewardManageView.vue'
+ }
+ },
+ // 二级
+ {
+ path: 'feedback/manage',
+ name: 'feedback-manage',
+ meta: {
+ // 路由组件的路径
+ url: '../views/feedback/FeedbackManageView.vue'
+ }
+ },
+ {
+ path: 'feedback/view',
+ name: 'feedback-view',
+ meta: {
+ // 路由组件的路径
+ url: '../views/feedback/FeedbackView.vue'
+ }
+ },
+ {
+ path: 'request/manage',
+ name: 'request-manage',
+ meta: {
+ // 路由组件的路径
+ url: '../views/request/RequestManageView.vue'
+ }
+ },
+ {
+ path: 'request/view',
+ name: 'request-view',
+ meta: {
+ // 路由组件的路径
+ url: '../views/request/RequestView.vue'
+ }
+ },
+ {
+ path: 'person/password',
+ name: 'person-password',
+ meta: {
+ // 路由组件的路径
+ url: '../views/PersonInfo/ChangePasswordView.vue'
+ }
+ },
+ {
+ path: 'person/avatar',
+ name: 'person-avatar',
+ meta: {
+ // 路由组件的路径
+ url: '../views/PersonInfo/ChangeAvatarView.vue'
+ }
+ }
+ ])
+ // 动态添加路由
+ const addUserRoute = (router, modules) => {
+ routerData.value.forEach((item) => {
+ router.addRoute('main', {
+ ...item,
+ // item.url 匹配对应路由文件
+ component: modules[item.meta.url]
+ })
+ })
+ }
+ // 模拟后台返回的权限数组
+ const authArr = ref(['a', 'b', 'c', 'd', 'view', 'delete', 'edit'])
+ // 判断权限
+ const hasPermission = (auth) => {
+ return authArr.value.indexOf(auth) !== -1
+ }
+ // 切换用户
+ const switchUser = (username) => {
+ if (username === 'cxk') {
+ asideData.value = [
+ {
+ index: '/home',
+ icon: 'icon iconfont icon-home',
+ name: '首页'
+ },
+ {
+ index: '/rich-text',
+ icon: 'icon iconfont icon-fuwenben2',
+ name: '富文本编辑器'
+ },
+ {
+ index: '/excel',
+ icon: 'icon iconfont icon-excel',
+ name: 'excel(导出/导入)'
+ },
+ {
+ index: '/file',
+ icon: 'icon iconfont icon-wenjian',
+ name: '文件上传'
+ },
+ {
+ index: '/permission',
+ icon: 'icon iconfont icon-quanxian',
+ name: '按钮权限管理'
+ },
+ {
+ index: '/international',
+ icon: 'icon iconfont icon-yuyan1',
+ name: '国际化'
+ }
+ ]
+ routerData.value = [
+ {
+ path: 'home',
+ name: 'home',
+ meta: {
+ // 路由组件的路径
+ url: '../views/HomeView.vue'
+ }
+ },
+ {
+ path: 'international',
+ name: 'international',
+
+ meta: {
+ name: '国际化',
+ url: '../views/InternationalView.vue'
+ }
+ },
+
+ {
+ path: 'excel',
+ name: 'excel',
+
+ meta: {
+ name: 'excel',
+ url: '../views/ExcelView.vue'
+ }
+ },
+ {
+ path: 'file',
+ name: 'file',
+
+ meta: {
+ name: 'file',
+ url: '../views/FileView.vue'
+ }
+ },
+
+ {
+ path: 'rich-text',
+ name: 'rich-text',
+
+ meta: {
+ name: 'rich-text',
+ url: '../views/RichTextView.vue'
+ }
+ },
+ {
+ path: 'permission',
+ name: 'permission',
+
+ meta: {
+ name: 'permission',
+ url: '../views/PermissionView.vue'
+ }
+ },
+ {
+ path: 'home',
+ name: 'home',
+ meta: {
+ // 路由组件的路径
+ url: '../views/HomeView.vue'
+ }
+ }
+ ]
+ authArr.value = ['a', 'b']
+ } else {
+ asideData.value = [
+ {
+ index: '/permission',
+ icon: 'icon iconfont icon-quanxian',
+ name: '按钮权限管理'
+ },
+ // 二级
+ {
+ index: '/table',
+ icon: 'icon iconfont icon-biaoge',
+ name: '表格',
+ children: [
+ {
+ index: '/table/main-table1',
+ name: '表格1'
+ },
+ {
+ index: '/table/main-table2',
+ name: '表格2'
+ }
+ ]
+ },
+ // 二级
+ {
+ index: '/error',
+ icon: 'icon iconfont icon-cuowu',
+ name: '错误页面',
+ children: [
+ {
+ index: '/error/not-find1',
+ name: '错误页面1'
+ },
+ {
+ index: '/error/not-find2',
+ name: '错误页面2'
+ },
+ {
+ index: '/error/not-find3',
+ name: '错误页面3'
+ }
+ ]
+ },
+ // 三级
+ {
+ index: '/menu',
+ icon: 'icon iconfont icon-caidan',
+ name: '多级菜单',
+ children: [
+ {
+ index: '/menu/menu-1-1',
+ name: '菜单1-1'
+ },
+ {
+ index: '/menu/menu-1-2',
+ name: '菜单1-2'
+ },
+ {
+ index: '/menu/menu-1-3',
+ name: '菜单1-3',
+ sons: [
+ {
+ index: '/menu/menu-1-1/menu-1-3-1',
+ name: '菜单1-3-1'
+ },
+ {
+ index: '/menu/menu-1-1/menu-1-3-2',
+ name: '菜单1-3-2'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ routerData.value = [
+ {
+ path: 'permission',
+ name: 'permission',
+ meta: {
+ name: 'permission',
+ url: '../views/PermissionView.vue'
+ }
+ },
+ {
+ path: 'table/main-table1',
+ name: 'main-table',
+ meta: {
+ name: '表格1',
+ url: '../views/table/MainTableView.vue'
+ }
+ },
+ // 三级路由
+ {
+ path: 'menu/menu-1-1',
+ name: 'child-menu',
+ meta: {
+ name: '菜单1-1',
+ url: '../views/FatherMenu/FatherMenuView.vue'
+ }
+ },
+ {
+ path: '/menu/menu-1-1/menu-1-3-1',
+ name: 'father-menu',
+ meta: {
+ name: '菜单1-3-1',
+ url: '../views/FatherMenu/ChildMenu/ChildMenuView.vue'
+ }
+ }
+ ]
+ authArr.value = ['c', 'd']
+ }
+ }
+ return {
+ authArr,
+ hasPermission,
+ addUserRoute,
+ routerData,
+ setToken,
+ token,
+ asideData,
+ switchUser
+ }
+ },
+ {
+ persist: true
+ }
+)
+
+export default useUserStore
diff --git a/app/src/utils/http.js b/app/src/utils/http.js
new file mode 100644
index 0000000..facb023
--- /dev/null
+++ b/app/src/utils/http.js
@@ -0,0 +1,43 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-23 21:37:43
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-04-11 16:27:14
+ * @FilePath: \app\src\utils\http.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import axios from 'axios'
+const instance = axios.create({
+ baseURL: '/api'
+})
+
+// 添加请求拦截器
+instance.interceptors.request.use(
+ (config) => {
+ // 在发送请求之前做些什么
+ config.headers.Authorization =
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjI3MTI3Mjk3MTIsImlhdCI6MTcxMjcyOTcxMywiZGF0YSI6eyJ1c2VybmFtZSI6IkFsZ2ZkZ2RmZ2RpY2UiLCJwYXNzd29yZCI6IjEyZ2RmZ2QzIiwicm9sZV9kYXRhIjoiZGVmYXVsdCJ9fQ.cLo2NZ01z2umdbmnDBBuyekFrT8yTyvzBv8gHifzhKU'
+ return config
+ },
+ (error) => {
+ // 对请求错误做些什么
+ return Promise.reject(error)
+ }
+)
+
+// 添加响应拦截器
+instance.interceptors.response.use(
+ (response) => {
+ // 2xx 范围内的状态码都会触发该函数。
+ // 对响应数据做点什么
+ return response
+ },
+ (error) => {
+ // 超出 2xx 范围的状态码都会触发该函数。
+ // 对响应错误做点什么
+ return Promise.reject(error)
+ }
+)
+
+export default instance
diff --git a/app/src/utils/http/index.js b/app/src/utils/http/index.js
new file mode 100644
index 0000000..e69de29
diff --git a/app/src/utils/tencentCloud.js b/app/src/utils/tencentCloud.js
new file mode 100644
index 0000000..c228396
--- /dev/null
+++ b/app/src/utils/tencentCloud.js
@@ -0,0 +1,74 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-02-25 23:51:53
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-03-27 00:16:03
+ * @FilePath: \bingwu-admin\src\utils\tencentCloud.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import COS from 'cos-js-sdk-v5' //引入腾讯云
+//创建对象,这里用的我的腾讯cos密钥
+const cos = new COS({
+ SecretId: 'AKIDlSClKj183qKdnvw7A0a2MUQH3kMn2pUv',
+ SecretKey: 'e681kMoBYuCJG9virFg5Nhsz46A9wXfc'
+})
+const smallFileUpload = (file, fileName = '', updateProgress) =>
+ new Promise((resolve, reject) => {
+ cos.putObject(
+ {
+ Bucket: 'cloudshoping-1318477772' /* 填入您自己的存储桶,必须字段 */,
+ Region: 'ap-nanjing' /* 存储桶所在地域,例如ap-beijing,必须字段 */,
+ Key: fileName
+ ? fileName
+ : file.raw
+ .name /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */,
+ StorageClass: 'STANDARD',
+ Body: file.raw,
+ onProgress: function (progressData) {
+ updateProgress(parseInt(100 * progressData.percent))
+ }
+ },
+ (err, data) => {
+ if (err) {
+ reject(err)
+ } else {
+ const url = 'https://' + data.Location
+ resolve(url)
+ }
+ }
+ )
+ })
+
+const largeFileUpload = (file, fileName = '', updateProgress) =>
+ new Promise((resolve, reject) => {
+ cos.uploadFile(
+ {
+ Bucket: 'cloudshoping-1318477772' /* 填入您自己的存储桶,必须字段 */,
+ Region: 'ap-nanjing' /* 存储桶所在地域,例如ap-beijing,必须字段 */,
+ Key: fileName
+ ? fileName
+ : file.raw
+ .name /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */,
+ Body: file.raw,
+ SliceSize:
+ 1024 * 1024 * 5 /* 触发分块上传的阈值,超过5MB使用分块上传,非必须 */,
+ onProgress: function (progressData) {
+ /* 非必须 */
+ console.log(JSON.stringify(progressData))
+ updateProgress(parseInt(100 * progressData.percent))
+ }
+ },
+ function (err, data) {
+ console.log(err || data)
+ if (err) {
+ reject(err)
+ } else {
+ const url = 'https://' + data.Location
+ resolve(url)
+ }
+ }
+ )
+ })
+
+export { smallFileUpload, largeFileUpload }
diff --git a/app/src/views/EmployeeManageView.vue b/app/src/views/EmployeeManageView.vue
new file mode 100644
index 0000000..fe72d35
--- /dev/null
+++ b/app/src/views/EmployeeManageView.vue
@@ -0,0 +1,7 @@
+
+ 职工信息管理
+
+
+
+
+
diff --git a/app/src/views/Error/NotFindView1.vue b/app/src/views/Error/NotFindView1.vue
new file mode 100644
index 0000000..3a96588
--- /dev/null
+++ b/app/src/views/Error/NotFindView1.vue
@@ -0,0 +1,73 @@
+
+
+
+
+

+
+
+
404
+
你查看的页面貌似丢失了呢...
+
返回首页,查看更多内容.
+
+
+
+
+
+
+
+
diff --git a/app/src/views/Error/NotFindView2.vue b/app/src/views/Error/NotFindView2.vue
new file mode 100644
index 0000000..fc633cc
--- /dev/null
+++ b/app/src/views/Error/NotFindView2.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
404
+
You are lost this page
+
+ you've reached the edge of universe.The Page you've requested , can't
+ befound. Don't Worry , you can return to previous page.
+
+
+
+
+
+

+
+
+
+
+
+
+
diff --git a/app/src/views/Error/NotFindView3.vue b/app/src/views/Error/NotFindView3.vue
new file mode 100644
index 0000000..a2e7d86
--- /dev/null
+++ b/app/src/views/Error/NotFindView3.vue
@@ -0,0 +1,97 @@
+
+
+
+
404
+
+
页面找不到了
可能已经被删除
+
+
+
+
+
+
diff --git a/app/src/views/ExcelView.vue b/app/src/views/ExcelView.vue
new file mode 100644
index 0000000..8731bca
--- /dev/null
+++ b/app/src/views/ExcelView.vue
@@ -0,0 +1,88 @@
+
+
+
导出
+
+ 导入
+
+ 表格
+
+
+
+
+
+
+
diff --git a/app/src/views/FatherMenu/ChildMenu/ChildMenuView.vue b/app/src/views/FatherMenu/ChildMenu/ChildMenuView.vue
new file mode 100644
index 0000000..0cf8926
--- /dev/null
+++ b/app/src/views/FatherMenu/ChildMenu/ChildMenuView.vue
@@ -0,0 +1,20 @@
+
+
+
+ ChildMenu
+
+
+
+
+
+
+
diff --git a/app/src/views/FatherMenu/FatherMenuView.vue b/app/src/views/FatherMenu/FatherMenuView.vue
new file mode 100644
index 0000000..9c5b764
--- /dev/null
+++ b/app/src/views/FatherMenu/FatherMenuView.vue
@@ -0,0 +1,16 @@
+
+
+ FatherMenu
+
+
+
+
+
diff --git a/app/src/views/FileView.vue b/app/src/views/FileView.vue
new file mode 100644
index 0000000..7e82127
--- /dev/null
+++ b/app/src/views/FileView.vue
@@ -0,0 +1,54 @@
+
+
+
+ 选择文件的提示
+
+
+ {
+ const files = uploadFileComRef.getSelectFiles()
+ console.log('files:', files)
+ }
+ "
+ >获取已被选择的文件
+
+
+
+
+
+
+
+
diff --git a/app/src/views/HomeView.vue b/app/src/views/HomeView.vue
new file mode 100644
index 0000000..f3f1da9
--- /dev/null
+++ b/app/src/views/HomeView.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/views/InternationalView.vue b/app/src/views/InternationalView.vue
new file mode 100644
index 0000000..2f9d9b3
--- /dev/null
+++ b/app/src/views/InternationalView.vue
@@ -0,0 +1,29 @@
+
+
+
+
国际化展示(局部国际化)
+
自定义内容国际化
+
+ {{ $t('headMenus.name') }}:
+ {{ $t('headMenus.userName') }}
+
+
element-plus组件的国际化
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/views/LoginView.vue b/app/src/views/LoginView.vue
new file mode 100644
index 0000000..bd5080e
--- /dev/null
+++ b/app/src/views/LoginView.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/app/src/views/PermissionView.vue b/app/src/views/PermissionView.vue
new file mode 100644
index 0000000..f364c5a
--- /dev/null
+++ b/app/src/views/PermissionView.vue
@@ -0,0 +1,55 @@
+
+
+
+
按钮的权限管理
+
+ a按钮
+ b按钮
+ c按钮
+ d按钮
+
+ 用户切换
+ {
+ swictUser('cxk')
+ }
+ "
+ >切换为用户cxk
+ {
+ swictUser('admin')
+ }
+ "
+ >切换为用户admin
+
+
+
+
+
+
diff --git a/app/src/views/PersonInfo/ChangeAvatarView.vue b/app/src/views/PersonInfo/ChangeAvatarView.vue
new file mode 100644
index 0000000..1b32e41
--- /dev/null
+++ b/app/src/views/PersonInfo/ChangeAvatarView.vue
@@ -0,0 +1,7 @@
+
+ avatar管理
+
+
+
+
+
diff --git a/app/src/views/PersonInfo/ChangePasswordView.vue b/app/src/views/PersonInfo/ChangePasswordView.vue
new file mode 100644
index 0000000..fe8b01e
--- /dev/null
+++ b/app/src/views/PersonInfo/ChangePasswordView.vue
@@ -0,0 +1,7 @@
+
+ 密码管理
+
+
+
+
+
diff --git a/app/src/views/PreviewPictureView.vue b/app/src/views/PreviewPictureView.vue
new file mode 100644
index 0000000..c3a008d
--- /dev/null
+++ b/app/src/views/PreviewPictureView.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/views/ProgressView.vue b/app/src/views/ProgressView.vue
new file mode 100644
index 0000000..25de0ce
--- /dev/null
+++ b/app/src/views/ProgressView.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/views/RewardManageView.vue b/app/src/views/RewardManageView.vue
new file mode 100644
index 0000000..ed016ad
--- /dev/null
+++ b/app/src/views/RewardManageView.vue
@@ -0,0 +1,7 @@
+
+ REWARD
+
+
+
+
+
diff --git a/app/src/views/RichTextView.vue b/app/src/views/RichTextView.vue
new file mode 100644
index 0000000..6c51661
--- /dev/null
+++ b/app/src/views/RichTextView.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/views/TxView.vue b/app/src/views/TxView.vue
new file mode 100644
index 0000000..6212d1d
--- /dev/null
+++ b/app/src/views/TxView.vue
@@ -0,0 +1,75 @@
+
+
+
腾讯储存桶测试
+
+
+
+
+
+ 提交
+
+
进度条
+
+
+
+
+
+
+
diff --git a/app/src/views/UserManageView.vue b/app/src/views/UserManageView.vue
new file mode 100644
index 0000000..484bd01
--- /dev/null
+++ b/app/src/views/UserManageView.vue
@@ -0,0 +1,16 @@
+
+
+ 用户管理
+
+
+
+
+
diff --git a/app/src/views/feedback/FeedbackManageView.vue b/app/src/views/feedback/FeedbackManageView.vue
new file mode 100644
index 0000000..0200626
--- /dev/null
+++ b/app/src/views/feedback/FeedbackManageView.vue
@@ -0,0 +1,7 @@
+
+ feedback管理
+
+
+
+
+
diff --git a/app/src/views/feedback/FeedbackView.vue b/app/src/views/feedback/FeedbackView.vue
new file mode 100644
index 0000000..f1353ab
--- /dev/null
+++ b/app/src/views/feedback/FeedbackView.vue
@@ -0,0 +1,7 @@
+
+ 员工反馈
+
+
+
+
+
diff --git a/app/src/views/request/RequestManageView.vue b/app/src/views/request/RequestManageView.vue
new file mode 100644
index 0000000..983f071
--- /dev/null
+++ b/app/src/views/request/RequestManageView.vue
@@ -0,0 +1,7 @@
+
+ 请假信息管理
+
+
+
+
+
diff --git a/app/src/views/request/RequestView.vue b/app/src/views/request/RequestView.vue
new file mode 100644
index 0000000..476e865
--- /dev/null
+++ b/app/src/views/request/RequestView.vue
@@ -0,0 +1,16 @@
+
+
+ 请假请假
+
+
+
+
+
diff --git a/app/src/views/table/MainTableView.vue b/app/src/views/table/MainTableView.vue
new file mode 100644
index 0000000..335e7bb
--- /dev/null
+++ b/app/src/views/table/MainTableView.vue
@@ -0,0 +1,195 @@
+
+
+
+
+ {
+ // 打开/关闭表格加载动画
+ baseTableComRef.changeTableLoading()
+ }
+ "
+ >表格加载动画
+ {
+ // 获取被勾选的行
+ const rows = baseTableComRef.getSelectRows()
+ console.log('被勾选的行', rows)
+ }
+ "
+ >获取被勾选的行
+ {
+ // 获取分页数据
+ const paginationData = baseTableComRef.getPaginationData()
+ console.log('分页数据', paginationData)
+ }
+ "
+ >获取分页数据
+
+
+
+
+
+
+
diff --git a/app/src/views/test/TestView.vue b/app/src/views/test/TestView.vue
new file mode 100644
index 0000000..35c4b33
--- /dev/null
+++ b/app/src/views/test/TestView.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
diff --git a/app/vite.config.js b/app/vite.config.js
new file mode 100644
index 0000000..d84d329
--- /dev/null
+++ b/app/vite.config.js
@@ -0,0 +1,43 @@
+/*
+ * @Author: BINGWU
+ * @Date: 2024-01-20 23:24:08
+ * @LastEditors: BINGWU HuJiaCheng2003@163.com
+ * @LastEditTime: 2024-01-29 18:09:25
+ * @FilePath: \bingwu-admin\vite.config.js
+ * @Describe:
+ * @Mark: ૮(˶ᵔ ᵕ ᵔ˶)ა
+ */
+import { fileURLToPath, URL } from 'node:url'
+import { defineConfig } from 'vite'
+import AutoImport from 'unplugin-auto-import/vite'
+import Components from 'unplugin-vue-components/vite'
+import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
+import vue from '@vitejs/plugin-vue'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [
+ vue(),
+ AutoImport({
+ resolvers: [ElementPlusResolver()]
+ }),
+ Components({
+ resolvers: [ElementPlusResolver()]
+ })
+ ],
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./src', import.meta.url))
+ }
+ },
+ server: {
+ open: true, // 是否主动唤醒浏览器,
+ proxy: {
+ '/api': {
+ target: ' http://localhost:6699',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(/^\/api/, '') // 不可以省略rewrite
+ }
+ }
+ }
+})
diff --git a/serve/serve/__init__.py b/serve/serve/__init__.py
index 941ea5c..c5b208d 100644
--- a/serve/serve/__init__.py
+++ b/serve/serve/__init__.py
@@ -1,18 +1 @@
-def execute_before(func):
- def wrapper(*args, **kwargs):
- # 在这里执行需要提前运行的代码
- print("Executing code before the function")
- # 然后调用原始函数
- return func(*args, **kwargs)
-
- return wrapper
-
-
-@execute_before
-def my_function(age):
- print("My function")
- print(age)
-
-
-# 调用my_function将会先执行装饰器中的代码,然后再执行my_function
-my_function(9999)
+print('运行成功')
\ No newline at end of file
diff --git a/serve/serve/__pycache__/__init__.cpython-311.pyc b/serve/serve/__pycache__/__init__.cpython-311.pyc
index 3cc6d53..0cfd831 100644
Binary files a/serve/serve/__pycache__/__init__.cpython-311.pyc and b/serve/serve/__pycache__/__init__.cpython-311.pyc differ
diff --git a/serve/serve/models/feedback.py b/serve/serve/models/feedback.py
index 989b7d4..e09c5c4 100644
--- a/serve/serve/models/feedback.py
+++ b/serve/serve/models/feedback.py
@@ -4,7 +4,7 @@ from mongoengine import Document, fields, DateTimeField
class FeedbackModel(Document):
- content = fields.StringField(max_length=30)
+ content = fields.StringField(max_length=400)
employeeName = fields.StringField(max_length=30)
status = fields.StringField(max_length=30)
date = DateTimeField(default=datetime.now)