Commit 7f0c0111236fea3aac7a9d5616a10f210da6969d
Committed by
Gitee
!317 优化 vue3 配置,修复部分 bug
Merge pull request !317 from xingyu/dev
Showing
132 changed files
with
2120 additions
and
2824 deletions
yudao-dependencies/pom.xml
| ... | ... | @@ -28,15 +28,15 @@ |
| 28 | 28 | <dynamic-datasource.version>3.5.2</dynamic-datasource.version> |
| 29 | 29 | <redisson.version>3.18.0</redisson.version> |
| 30 | 30 | <!-- 服务保障相关 --> |
| 31 | - <lock4j.version>2.2.2</lock4j.version> | |
| 31 | + <lock4j.version>2.2.3</lock4j.version> | |
| 32 | 32 | <resilience4j.version>1.7.1</resilience4j.version> |
| 33 | 33 | <!-- 监控相关 --> |
| 34 | 34 | <skywalking.version>8.12.0</skywalking.version> |
| 35 | 35 | <spring-boot-admin.version>2.7.7</spring-boot-admin.version> |
| 36 | 36 | <opentracing.version>0.33.0</opentracing.version> |
| 37 | 37 | <!-- Test 测试相关 --> |
| 38 | - <podam.version>7.2.9.RELEASE</podam.version> | |
| 39 | - <jedis-mock.version>1.0.4</jedis-mock.version> | |
| 38 | + <podam.version>7.2.11.RELEASE</podam.version> | |
| 39 | + <jedis-mock.version>1.0.5</jedis-mock.version> | |
| 40 | 40 | <mockito-inline.version>4.8.0</mockito-inline.version> |
| 41 | 41 | <!-- Bpm 工作流相关 --> |
| 42 | 42 | <flowable.version>6.7.2</flowable.version> |
| ... | ... | @@ -50,19 +50,19 @@ |
| 50 | 50 | <fastjson.version>1.2.83</fastjson.version> |
| 51 | 51 | <guava.version>31.1-jre</guava.version> |
| 52 | 52 | <guice.version>5.1.0</guice.version> |
| 53 | - <transmittable-thread-local.version>2.14.0</transmittable-thread-local.version> | |
| 53 | + <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version> | |
| 54 | 54 | <commons-net.version>3.8.0</commons-net.version> |
| 55 | 55 | <jsch.version>0.1.55</jsch.version> |
| 56 | 56 | <tika-core.version>2.5.0</tika-core.version> |
| 57 | 57 | <aj-captcha.version>1.3.0</aj-captcha.version> |
| 58 | - <netty-all.version>4.1.82.Final</netty-all.version> | |
| 58 | + <netty-all.version>4.1.85.Final</netty-all.version> | |
| 59 | 59 | <!-- 三方云服务相关 --> |
| 60 | 60 | <okio.version>3.0.0</okio.version> |
| 61 | 61 | <okhttp3.version>4.10.0</okhttp3.version> |
| 62 | 62 | <minio.version>8.4.6</minio.version> |
| 63 | - <aliyun-java-sdk-core.version>4.6.2</aliyun-java-sdk-core.version> | |
| 63 | + <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version> | |
| 64 | 64 | <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version> |
| 65 | - <tencentcloud-sdk-java.version>3.1.635</tencentcloud-sdk-java.version> | |
| 65 | + <tencentcloud-sdk-java.version>3.1.637</tencentcloud-sdk-java.version> | |
| 66 | 66 | <justauth.version>1.4.0</justauth.version> |
| 67 | 67 | <jimureport.version>1.5.4</jimureport.version> |
| 68 | 68 | <xercesImpl.version>2.12.2</xercesImpl.version> | ... | ... |
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java
| 1 | 1 | package cn.iocoder.yudao.framework.common.util.object; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.util.ArrayUtil; | |
| 4 | 3 | import cn.hutool.core.util.ObjectUtil; |
| 5 | 4 | import cn.hutool.core.util.ReflectUtil; |
| 6 | 5 | |
| 7 | 6 | import java.lang.reflect.Field; |
| 8 | 7 | import java.util.Arrays; |
| 9 | -import java.util.Objects; | |
| 10 | 8 | import java.util.function.Consumer; |
| 11 | 9 | |
| 12 | 10 | /** |
| ... | ... | @@ -47,6 +45,7 @@ public class ObjectUtils { |
| 47 | 45 | return obj1.compareTo(obj2) > 0 ? obj1 : obj2; |
| 48 | 46 | } |
| 49 | 47 | |
| 48 | + @SafeVarargs | |
| 50 | 49 | public static <T> T defaultIfNull(T... array) { |
| 51 | 50 | for (T item : array) { |
| 52 | 51 | if (item != null) { |
| ... | ... | @@ -56,6 +55,7 @@ public class ObjectUtils { |
| 56 | 55 | return null; |
| 57 | 56 | } |
| 58 | 57 | |
| 58 | + @SafeVarargs | |
| 59 | 59 | public static <T> boolean equalsAny(T obj, T... array) { |
| 60 | 60 | return Arrays.asList(array).contains(obj); |
| 61 | 61 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-pay/pom.xml
yudao-framework/yudao-spring-boot-starter-file/pom.xml
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | <dependency> |
| 47 | 47 | <groupId>com.fasterxml.jackson.core</groupId> |
| 48 | 48 | <artifactId>jackson-databind</artifactId> |
| 49 | - <version>2.13.2.2</version> | |
| 49 | + <version>2.13.4</version> | |
| 50 | 50 | </dependency> |
| 51 | 51 | <dependency> |
| 52 | 52 | <groupId>com.fasterxml.jackson.core</groupId> | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
| ... | ... | @@ -48,7 +48,7 @@ public interface BpmTaskConvert { |
| 48 | 48 | return null; |
| 49 | 49 | } |
| 50 | 50 | try { |
| 51 | - T newInstance = target.newInstance(); | |
| 51 | + T newInstance = target.getDeclaredConstructor().newInstance(); | |
| 52 | 52 | BeanUtils.copyProperties(source, newInstance); |
| 53 | 53 | return newInstance; |
| 54 | 54 | } catch (Exception e) { | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
| ... | ... | @@ -5,7 +5,7 @@ export interface ${simpleClassName}VO { |
| 5 | 5 | #if ($column.createOperation || $column.updateOperation) |
| 6 | 6 | #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double") |
| 7 | 7 | ${column.javaField}: number |
| 8 | -#elseif(${column.javaType.toLowerCase()} == "date") | |
| 8 | +#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime") | |
| 9 | 9 | ${column.javaField}: Date |
| 10 | 10 | #else |
| 11 | 11 | ${column.javaField}: ${column.javaType.toLowerCase()} |
| ... | ... | @@ -19,7 +19,7 @@ export interface ${simpleClassName}PageReqVO extends PageParam { |
| 19 | 19 | #if (${column.listOperation})##查询操作 |
| 20 | 20 | #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double") |
| 21 | 21 | ${column.javaField}?: number |
| 22 | -#elseif(${column.javaType.toLowerCase()} == "date") | |
| 22 | +#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime") | |
| 23 | 23 | ${column.javaField}?: Date[] |
| 24 | 24 | #else |
| 25 | 25 | ${column.javaField}?: ${column.javaType.toLowerCase()} |
| ... | ... | @@ -33,8 +33,8 @@ export interface ${simpleClassName}ExcelReqVO { |
| 33 | 33 | #if (${column.listOperation})##查询操作 |
| 34 | 34 | #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double") |
| 35 | 35 | ${column.javaField}?: number |
| 36 | -#elseif(${column.javaType.toLowerCase()} == "date") | |
| 37 | - ${column.javaField}?: string[] | |
| 36 | +#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime") | |
| 37 | + ${column.javaField}?: Date[] | |
| 38 | 38 | #else |
| 39 | 39 | ${column.javaField}?: ${column.javaType.toLowerCase()} |
| 40 | 40 | #end | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm
| ... | ... | @@ -28,6 +28,9 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 28 | 28 | { |
| 29 | 29 | title: '${column.columnComment}', |
| 30 | 30 | field: '${column.javaField}', |
| 31 | + #if (!$column.listOperationResult) | |
| 32 | + isTable: false, | |
| 33 | + #end | |
| 31 | 34 | #if ("" != $dictType)## 有数据字典 |
| 32 | 35 | dictType: DICT_TYPE.$dictType.toUpperCase(), |
| 33 | 36 | #if (${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer") |
| ... | ... | @@ -39,7 +42,8 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 39 | 42 | #if (!$column.createOperation && !$column.updateOperation) |
| 40 | 43 | isForm: false, |
| 41 | 44 | #elseif(!("" != $column.dictType)) |
| 42 | - #if ($column.htmlType == "datetime")## 时间框 | |
| 45 | + #if (${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime") | |
| 46 | + formatter: 'formatDate', | |
| 43 | 47 | form: { |
| 44 | 48 | component: 'DatePicker', |
| 45 | 49 | componentProps: { |
| ... | ... | @@ -73,9 +77,20 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 73 | 77 | component: 'InputNumber', |
| 74 | 78 | value: 0 |
| 75 | 79 | }, |
| 80 | + #elseif($column.htmlType == "imageUpload")## 图片上传 | |
| 81 | + form: { | |
| 82 | + component: 'UploadImg', | |
| 83 | + componentProps: { | |
| 84 | + limit: 1 | |
| 85 | + } | |
| 86 | + }, | |
| 87 | + #elseif($column.htmlType == "fileUpload")## 图片上传 | |
| 88 | + form: { | |
| 89 | + component: 'UploadFile' | |
| 90 | + }, | |
| 76 | 91 | #end |
| 77 | 92 | #end |
| 78 | - #if ($column.listOperationResult) | |
| 93 | + #if ($column.listOperation) | |
| 79 | 94 | #if($column.htmlType == "input") |
| 80 | 95 | isSearch: true, |
| 81 | 96 | #elseif("" != $dictType) | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
| ... | ... | @@ -74,7 +74,7 @@ |
| 74 | 74 | </template> |
| 75 | 75 | </XModal> |
| 76 | 76 | </template> |
| 77 | -<script setup lang="ts" name="${table.moduleName}"> | |
| 77 | +<script setup lang="ts" name="${simpleClassName}"> | |
| 78 | 78 | // 全局相关的 import |
| 79 | 79 | import { ref, unref } from 'vue' |
| 80 | 80 | import { useI18n } from '@/hooks/web/useI18n' |
| ... | ... | @@ -91,7 +91,7 @@ const message = useMessage() // 消息弹窗 |
| 91 | 91 | |
| 92 | 92 | // 列表相关的变量 |
| 93 | 93 | const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref |
| 94 | -const { gridOptions, reloadList, deleteData, exportList } = useVxeGrid<${simpleClassName}Api.${simpleClassName}VO>({ | |
| 94 | +const { gridOptions, getList, deleteData, exportList } = useVxeGrid<${simpleClassName}Api.${simpleClassName}VO>({ | |
| 95 | 95 | allSchemas: allSchemas, |
| 96 | 96 | getListApi: ${simpleClassName}Api.get${simpleClassName}PageApi, |
| 97 | 97 | deleteApi: ${simpleClassName}Api.delete${simpleClassName}Api, |
| ... | ... | @@ -169,7 +169,7 @@ const submitForm = async () => { |
| 169 | 169 | } finally { |
| 170 | 170 | actionLoading.value = false |
| 171 | 171 | // 刷新列表 |
| 172 | - await reloadList(xGrid) | |
| 172 | + await getList(xGrid) | |
| 173 | 173 | } |
| 174 | 174 | } |
| 175 | 175 | }) | ... | ... |
yudao-ui-admin-vue3/.prettierignore
yudao-ui-admin-vue3/build/vite/index.ts
0 → 100644
| 1 | +import { resolve } from 'path' | |
| 2 | +import Vue from '@vitejs/plugin-vue' | |
| 3 | +import VueJsx from '@vitejs/plugin-vue-jsx' | |
| 4 | +import VueI18n from '@intlify/vite-plugin-vue-i18n' | |
| 5 | +import WindiCSS from 'vite-plugin-windicss' | |
| 6 | +import progress from 'vite-plugin-progress' | |
| 7 | +import EslintPlugin from 'vite-plugin-eslint' | |
| 8 | +import PurgeIcons from 'vite-plugin-purge-icons' | |
| 9 | +import { ViteEjsPlugin } from 'vite-plugin-ejs' | |
| 10 | +import viteCompression from 'vite-plugin-compression' | |
| 11 | +import vueSetupExtend from 'vite-plugin-vue-setup-extend' | |
| 12 | +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' | |
| 13 | +import { | |
| 14 | + createStyleImportPlugin, | |
| 15 | + ElementPlusResolve, | |
| 16 | + VxeTableResolve | |
| 17 | +} from 'vite-plugin-style-import' | |
| 18 | +export function createVitePlugins(VITE_APP_TITLE: string) { | |
| 19 | + const root = process.cwd() | |
| 20 | + // 路径查找 | |
| 21 | + function pathResolve(dir: string) { | |
| 22 | + return resolve(root, '.', dir) | |
| 23 | + } | |
| 24 | + return [ | |
| 25 | + Vue(), | |
| 26 | + VueJsx(), | |
| 27 | + WindiCSS(), | |
| 28 | + progress(), | |
| 29 | + PurgeIcons(), | |
| 30 | + vueSetupExtend(), | |
| 31 | + createStyleImportPlugin({ | |
| 32 | + resolves: [ElementPlusResolve(), VxeTableResolve()], | |
| 33 | + libs: [ | |
| 34 | + { | |
| 35 | + libraryName: 'element-plus', | |
| 36 | + esModule: true, | |
| 37 | + resolveStyle: (name) => { | |
| 38 | + return `element-plus/es/components/${name.substring(3)}/style/css` | |
| 39 | + } | |
| 40 | + }, | |
| 41 | + { | |
| 42 | + libraryName: 'vxe-table', | |
| 43 | + esModule: true, | |
| 44 | + resolveStyle: (name) => { | |
| 45 | + return `vxe-table/es/${name}/style.css` | |
| 46 | + } | |
| 47 | + } | |
| 48 | + ] | |
| 49 | + }), | |
| 50 | + EslintPlugin({ | |
| 51 | + cache: false, | |
| 52 | + include: ['src/**/*.vue', 'src/**/*.ts', 'src/**/*.tsx'] // 检查的文件 | |
| 53 | + }), | |
| 54 | + VueI18n({ | |
| 55 | + runtimeOnly: true, | |
| 56 | + compositionOnly: true, | |
| 57 | + include: [resolve(__dirname, 'src/locales/**')] | |
| 58 | + }), | |
| 59 | + createSvgIconsPlugin({ | |
| 60 | + iconDirs: [pathResolve('src/assets/svgs')], | |
| 61 | + symbolId: 'icon-[dir]-[name]', | |
| 62 | + svgoOptions: true | |
| 63 | + }), | |
| 64 | + viteCompression({ | |
| 65 | + verbose: true, // 是否在控制台输出压缩结果 | |
| 66 | + disable: false, // 是否禁用 | |
| 67 | + threshold: 10240, // 体积大于 threshold 才会被压缩,单位 b | |
| 68 | + algorithm: 'gzip', // 压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw'] | |
| 69 | + ext: '.gz', // 生成的压缩包后缀 | |
| 70 | + deleteOriginFile: false //压缩后是否删除源文件 | |
| 71 | + }), | |
| 72 | + ViteEjsPlugin({ | |
| 73 | + title: VITE_APP_TITLE | |
| 74 | + }) | |
| 75 | + ] | |
| 76 | +} | ... | ... |
yudao-ui-admin-vue3/build/vite/optimize.ts
0 → 100644
| 1 | +const include = [ | |
| 2 | + 'qs', | |
| 3 | + 'url', | |
| 4 | + 'vue', | |
| 5 | + 'sass', | |
| 6 | + 'mitt', | |
| 7 | + 'axios', | |
| 8 | + 'pinia', | |
| 9 | + 'dayjs', | |
| 10 | + 'qrcode', | |
| 11 | + 'windicss', | |
| 12 | + 'vue-router', | |
| 13 | + 'vue-types', | |
| 14 | + 'vue-i18n', | |
| 15 | + 'xe-utils', | |
| 16 | + 'crypto-js', | |
| 17 | + 'lodash-es', | |
| 18 | + 'vxe-table', | |
| 19 | + 'nprogress', | |
| 20 | + 'animate.css', | |
| 21 | + 'vxe-table/es/style', | |
| 22 | + 'web-storage-cache', | |
| 23 | + 'element-plus', | |
| 24 | + 'element-plus/es/locale/lang/zh-cn', | |
| 25 | + 'element-plus/es/locale/lang/en', | |
| 26 | + '@iconify/iconify', | |
| 27 | + '@vueuse/core', | |
| 28 | + '@zxcvbn-ts/core', | |
| 29 | + 'echarts/core', | |
| 30 | + 'echarts/charts', | |
| 31 | + 'echarts/components', | |
| 32 | + 'echarts/renderers', | |
| 33 | + 'echarts-wordcloud', | |
| 34 | + '@wangeditor/editor', | |
| 35 | + '@wangeditor/editor-for-vue' | |
| 36 | +] | |
| 37 | + | |
| 38 | +const exclude = ['@iconify/json'] | |
| 39 | + | |
| 40 | +export { include, exclude } | ... | ... |
yudao-ui-admin-vue3/build/vite/styleImport.ts
0 → 100644
| 1 | +export const styleImportPlugin = { | |
| 2 | + libs: [ | |
| 3 | + { | |
| 4 | + libraryName: 'element-plus', | |
| 5 | + esModule: true, | |
| 6 | + resolveStyle: (name) => { | |
| 7 | + return `element-plus/es/components/${name.substring(3)}/style/css` | |
| 8 | + } | |
| 9 | + }, | |
| 10 | + { | |
| 11 | + libraryName: 'vxe-table', | |
| 12 | + esModule: true, | |
| 13 | + resolveStyle: (name) => { | |
| 14 | + return `vxe-table/es/${name}/style.css` | |
| 15 | + } | |
| 16 | + } | |
| 17 | + ] | |
| 18 | +} | ... | ... |
yudao-ui-admin-vue3/package.json
| 1 | 1 | { |
| 2 | - "name": "ruoyi-vue-pro-vue3", | |
| 3 | - "version": "1.6.4.1863", | |
| 2 | + "name": "yudao-ui-admin-vue3", | |
| 3 | + "version": "1.6.5.1874", | |
| 4 | 4 | "description": "基于vue3、vite3、element-plus、typesScript", |
| 5 | 5 | "author": "xingyu", |
| 6 | 6 | "private": false, |
| 7 | 7 | "scripts": { |
| 8 | 8 | "i": "pnpm install", |
| 9 | - "dev": "vite --mode base --open", | |
| 9 | + "dev": "vite --mode base", | |
| 10 | 10 | "ts:check": "vue-tsc --noEmit", |
| 11 | 11 | "build:pro": "vite build --mode pro", |
| 12 | 12 | "build:dev": "vite build --mode dev", |
| ... | ... | @@ -21,8 +21,7 @@ |
| 21 | 21 | "lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"", |
| 22 | 22 | "lint:style": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", |
| 23 | 23 | "lint:lint-staged": "lint-staged -c ", |
| 24 | - "lint:pretty": "pretty-quick --staged", | |
| 25 | - "p": "plop" | |
| 24 | + "lint:pretty": "pretty-quick --staged" | |
| 26 | 25 | }, |
| 27 | 26 | "dependencies": { |
| 28 | 27 | "@iconify/iconify": "^3.0.1", |
| ... | ... | @@ -31,14 +30,13 @@ |
| 31 | 30 | "@wangeditor/editor-for-vue": "^5.1.10", |
| 32 | 31 | "@zxcvbn-ts/core": "^2.1.0", |
| 33 | 32 | "animate.css": "^4.1.1", |
| 34 | - "axios": "^1.2.0", | |
| 33 | + "axios": "^1.2.1", | |
| 35 | 34 | "crypto-js": "^4.1.1", |
| 36 | - "dayjs": "^1.11.6", | |
| 35 | + "dayjs": "^1.11.7", | |
| 37 | 36 | "echarts": "^5.4.0", |
| 38 | 37 | "echarts-wordcloud": "^2.1.0", |
| 39 | - "element-plus": "2.2.25", | |
| 38 | + "element-plus": "2.2.26", | |
| 40 | 39 | "intro.js": "^6.0.0", |
| 41 | - "js-cookie": "^3.0.1", | |
| 42 | 40 | "jsencrypt": "^3.3.1", |
| 43 | 41 | "lodash-es": "^4.17.21", |
| 44 | 42 | "mitt": "^3.0.0", |
| ... | ... | @@ -59,52 +57,54 @@ |
| 59 | 57 | "devDependencies": { |
| 60 | 58 | "@commitlint/cli": "^17.3.0", |
| 61 | 59 | "@commitlint/config-conventional": "^17.3.0", |
| 62 | - "@iconify/json": "^2.1.145", | |
| 60 | + "@iconify/json": "^2.1.149", | |
| 63 | 61 | "@intlify/vite-plugin-vue-i18n": "^6.0.3", |
| 64 | 62 | "@purge-icons/generated": "^0.9.0", |
| 65 | 63 | "@types/intro.js": "^5.1.0", |
| 66 | 64 | "@types/lodash-es": "^4.17.6", |
| 67 | - "@types/node": "^18.11.9", | |
| 65 | + "@types/node": "^18.11.11", | |
| 68 | 66 | "@types/nprogress": "^0.2.0", |
| 69 | 67 | "@types/qrcode": "^1.5.0", |
| 70 | 68 | "@types/qs": "^6.9.7", |
| 71 | - "@typescript-eslint/eslint-plugin": "^5.45.0", | |
| 72 | - "@typescript-eslint/parser": "^5.45.0", | |
| 69 | + "@typescript-eslint/eslint-plugin": "^5.45.1", | |
| 70 | + "@typescript-eslint/parser": "^5.45.1", | |
| 71 | + "@vitejs/plugin-legacy": "^2.3.1", | |
| 73 | 72 | "@vitejs/plugin-vue": "^3.2.0", |
| 74 | 73 | "@vitejs/plugin-vue-jsx": "^2.1.1", |
| 75 | 74 | "autoprefixer": "^10.4.13", |
| 76 | - "eslint": "^8.28.0", | |
| 75 | + "consola": "^2.15.3", | |
| 76 | + "eslint": "^8.29.0", | |
| 77 | 77 | "eslint-config-prettier": "^8.5.0", |
| 78 | 78 | "eslint-define-config": "^1.12.0", |
| 79 | 79 | "eslint-plugin-prettier": "^4.2.1", |
| 80 | 80 | "eslint-plugin-vue": "^9.8.0", |
| 81 | - "lint-staged": "^13.0.4", | |
| 82 | - "plop": "^3.1.1", | |
| 81 | + "lint-staged": "^13.1.0", | |
| 83 | 82 | "postcss": "^8.4.19", |
| 84 | 83 | "postcss-html": "^1.5.0", |
| 85 | 84 | "postcss-scss": "^4.0.6", |
| 86 | 85 | "prettier": "^2.8.0", |
| 87 | 86 | "rimraf": "^3.0.2", |
| 88 | - "rollup": "^3.5.0", | |
| 87 | + "rollup": "^3.6.0", | |
| 89 | 88 | "sass": "^1.56.1", |
| 90 | - "stylelint": "^14.15.0", | |
| 89 | + "stylelint": "^14.16.0", | |
| 91 | 90 | "stylelint-config-html": "^1.1.0", |
| 92 | 91 | "stylelint-config-prettier": "^9.0.4", |
| 93 | 92 | "stylelint-config-recommended": "^9.0.0", |
| 94 | 93 | "stylelint-config-standard": "^29.0.0", |
| 95 | 94 | "stylelint-order": "^5.0.0", |
| 95 | + "terser": "^5.16.1", | |
| 96 | 96 | "typescript": "4.9.3", |
| 97 | - "vite": "3.2.4", | |
| 97 | + "vite": "3.2.5", | |
| 98 | 98 | "vite-plugin-compression": "^0.5.1", |
| 99 | + "vite-plugin-ejs": "^1.6.4", | |
| 99 | 100 | "vite-plugin-eslint": "^1.8.1", |
| 100 | - "vite-plugin-html": "^3.2.0", | |
| 101 | 101 | "vite-plugin-progress": "^0.0.6", |
| 102 | 102 | "vite-plugin-purge-icons": "^0.9.1", |
| 103 | 103 | "vite-plugin-style-import": "2.0.0", |
| 104 | 104 | "vite-plugin-svg-icons": "^2.0.1", |
| 105 | 105 | "vite-plugin-vue-setup-extend": "^0.4.0", |
| 106 | 106 | "vite-plugin-windicss": "^1.8.8", |
| 107 | - "vue-tsc": "^1.0.10", | |
| 107 | + "vue-tsc": "^1.0.11", | |
| 108 | 108 | "windicss": "^3.5.6" |
| 109 | 109 | }, |
| 110 | 110 | "engines": { |
| ... | ... | @@ -116,7 +116,7 @@ |
| 116 | 116 | "url": "git+https://gitee.com/zhijiantianya/ruoyi-vue-pro" |
| 117 | 117 | }, |
| 118 | 118 | "bugs": { |
| 119 | - "url": "https://gitee.com/zhijiantianya/ruoyi-vue-pro/issues/I57XOQ" | |
| 119 | + "url": "https://gitee.com/zhijiantianya/ruoyi-vue-pro/issues" | |
| 120 | 120 | }, |
| 121 | 121 | "homepage": "https://gitee.com/zhijiantianya/ruoyi-vue-pro" |
| 122 | 122 | } | ... | ... |
yudao-ui-admin-vue3/plop/component/component.hbs deleted
yudao-ui-admin-vue3/plop/component/index.hbs deleted
yudao-ui-admin-vue3/plop/component/prompt.js deleted
| 1 | -const toUpperCase = (str) => str.charAt(0).toUpperCase() + str.slice(1) | |
| 2 | - | |
| 3 | -module.exports = { | |
| 4 | - description: 'Create vue component', | |
| 5 | - prompts: [ | |
| 6 | - { | |
| 7 | - type: 'input', | |
| 8 | - name: 'name', | |
| 9 | - message: '请输入组件名称(Please enter the component name)' | |
| 10 | - } | |
| 11 | - ], | |
| 12 | - actions: (data) => { | |
| 13 | - const { name } = data | |
| 14 | - const upperFirstName = toUpperCase(name) | |
| 15 | - | |
| 16 | - const actions = [] | |
| 17 | - if (name) { | |
| 18 | - actions.push({ | |
| 19 | - type: 'add', | |
| 20 | - path: `./src/components/${upperFirstName}/src/${upperFirstName}.vue`, | |
| 21 | - templateFile: './plop/component/component.hbs', | |
| 22 | - data: { | |
| 23 | - name, | |
| 24 | - upperFirstName | |
| 25 | - } | |
| 26 | - }, { | |
| 27 | - type: 'add', | |
| 28 | - path: `./src/components/${upperFirstName}/index.ts`, | |
| 29 | - templateFile: './plop/component/index.hbs', | |
| 30 | - data: { | |
| 31 | - upperFirstName | |
| 32 | - } | |
| 33 | - }) | |
| 34 | - } | |
| 35 | - | |
| 36 | - return actions | |
| 37 | - } | |
| 38 | -} |
yudao-ui-admin-vue3/plop/view/prompt.js deleted
| 1 | -const toUpperCase = (str) => str.charAt(0).toUpperCase() + str.slice(1) | |
| 2 | - | |
| 3 | -module.exports = { | |
| 4 | - description: 'Create vue view', | |
| 5 | - prompts: [ | |
| 6 | - { | |
| 7 | - type: 'input', | |
| 8 | - name: 'path', | |
| 9 | - message: '请输入路径(Please enter a path)', | |
| 10 | - default: 'views' | |
| 11 | - }, | |
| 12 | - { | |
| 13 | - type: 'input', | |
| 14 | - name: 'name', | |
| 15 | - message: '请输入模块名称(Please enter module name)' | |
| 16 | - } | |
| 17 | - ], | |
| 18 | - actions: (data) => { | |
| 19 | - const { name, path } = data | |
| 20 | - const upperFirstName = toUpperCase(name) | |
| 21 | - | |
| 22 | - const actions = [] | |
| 23 | - if (name) { | |
| 24 | - actions.push({ | |
| 25 | - type: 'add', | |
| 26 | - path: `./src/${path}/${upperFirstName}.vue`, | |
| 27 | - templateFile: './plop/view/view.hbs', | |
| 28 | - data: { | |
| 29 | - name, | |
| 30 | - upperFirstName | |
| 31 | - } | |
| 32 | - }) | |
| 33 | - } | |
| 34 | - | |
| 35 | - return actions | |
| 36 | - } | |
| 37 | -} |
yudao-ui-admin-vue3/plop/view/view.hbs deleted
yudao-ui-admin-vue3/plopfile.js deleted
yudao-ui-admin-vue3/pnpm-lock.yaml
| ... | ... | @@ -4,17 +4,18 @@ specifiers: |
| 4 | 4 | '@commitlint/cli': ^17.3.0 |
| 5 | 5 | '@commitlint/config-conventional': ^17.3.0 |
| 6 | 6 | '@iconify/iconify': ^3.0.1 |
| 7 | - '@iconify/json': ^2.1.145 | |
| 7 | + '@iconify/json': ^2.1.149 | |
| 8 | 8 | '@intlify/vite-plugin-vue-i18n': ^6.0.3 |
| 9 | 9 | '@purge-icons/generated': ^0.9.0 |
| 10 | 10 | '@types/intro.js': ^5.1.0 |
| 11 | 11 | '@types/lodash-es': ^4.17.6 |
| 12 | - '@types/node': ^18.11.9 | |
| 12 | + '@types/node': ^18.11.11 | |
| 13 | 13 | '@types/nprogress': ^0.2.0 |
| 14 | 14 | '@types/qrcode': ^1.5.0 |
| 15 | 15 | '@types/qs': ^6.9.7 |
| 16 | - '@typescript-eslint/eslint-plugin': ^5.45.0 | |
| 17 | - '@typescript-eslint/parser': ^5.45.0 | |
| 16 | + '@typescript-eslint/eslint-plugin': ^5.45.1 | |
| 17 | + '@typescript-eslint/parser': ^5.45.1 | |
| 18 | + '@vitejs/plugin-legacy': ^2.3.1 | |
| 18 | 19 | '@vitejs/plugin-vue': ^3.2.0 |
| 19 | 20 | '@vitejs/plugin-vue-jsx': ^2.1.1 |
| 20 | 21 | '@vueuse/core': ^9.6.0 |
| ... | ... | @@ -23,26 +24,25 @@ specifiers: |
| 23 | 24 | '@zxcvbn-ts/core': ^2.1.0 |
| 24 | 25 | animate.css: ^4.1.1 |
| 25 | 26 | autoprefixer: ^10.4.13 |
| 26 | - axios: ^1.2.0 | |
| 27 | + axios: ^1.2.1 | |
| 28 | + consola: ^2.15.3 | |
| 27 | 29 | crypto-js: ^4.1.1 |
| 28 | - dayjs: ^1.11.6 | |
| 30 | + dayjs: ^1.11.7 | |
| 29 | 31 | echarts: ^5.4.0 |
| 30 | 32 | echarts-wordcloud: ^2.1.0 |
| 31 | - element-plus: 2.2.25 | |
| 32 | - eslint: ^8.28.0 | |
| 33 | + element-plus: 2.2.26 | |
| 34 | + eslint: ^8.29.0 | |
| 33 | 35 | eslint-config-prettier: ^8.5.0 |
| 34 | 36 | eslint-define-config: ^1.12.0 |
| 35 | 37 | eslint-plugin-prettier: ^4.2.1 |
| 36 | 38 | eslint-plugin-vue: ^9.8.0 |
| 37 | 39 | intro.js: ^6.0.0 |
| 38 | - js-cookie: ^3.0.1 | |
| 39 | 40 | jsencrypt: ^3.3.1 |
| 40 | - lint-staged: ^13.0.4 | |
| 41 | + lint-staged: ^13.1.0 | |
| 41 | 42 | lodash-es: ^4.17.21 |
| 42 | 43 | mitt: ^3.0.0 |
| 43 | 44 | nprogress: ^0.2.0 |
| 44 | 45 | pinia: ^2.0.27 |
| 45 | - plop: ^3.1.1 | |
| 46 | 46 | postcss: ^8.4.19 |
| 47 | 47 | postcss-html: ^1.5.0 |
| 48 | 48 | postcss-scss: ^4.0.6 |
| ... | ... | @@ -50,20 +50,21 @@ specifiers: |
| 50 | 50 | qrcode: ^1.5.1 |
| 51 | 51 | qs: ^6.11.0 |
| 52 | 52 | rimraf: ^3.0.2 |
| 53 | - rollup: ^3.5.0 | |
| 53 | + rollup: ^3.6.0 | |
| 54 | 54 | sass: ^1.56.1 |
| 55 | - stylelint: ^14.15.0 | |
| 55 | + stylelint: ^14.16.0 | |
| 56 | 56 | stylelint-config-html: ^1.1.0 |
| 57 | 57 | stylelint-config-prettier: ^9.0.4 |
| 58 | 58 | stylelint-config-recommended: ^9.0.0 |
| 59 | 59 | stylelint-config-standard: ^29.0.0 |
| 60 | 60 | stylelint-order: ^5.0.0 |
| 61 | + terser: ^5.16.1 | |
| 61 | 62 | typescript: 4.9.3 |
| 62 | 63 | url: ^0.11.0 |
| 63 | - vite: 3.2.4 | |
| 64 | + vite: 3.2.5 | |
| 64 | 65 | vite-plugin-compression: ^0.5.1 |
| 66 | + vite-plugin-ejs: ^1.6.4 | |
| 65 | 67 | vite-plugin-eslint: ^1.8.1 |
| 66 | - vite-plugin-html: ^3.2.0 | |
| 67 | 68 | vite-plugin-progress: ^0.0.6 |
| 68 | 69 | vite-plugin-purge-icons: ^0.9.1 |
| 69 | 70 | vite-plugin-style-import: 2.0.0 |
| ... | ... | @@ -74,7 +75,7 @@ specifiers: |
| 74 | 75 | vue-cropper: ^1.0.3 |
| 75 | 76 | vue-i18n: 9.2.2 |
| 76 | 77 | vue-router: ^4.1.6 |
| 77 | - vue-tsc: ^1.0.10 | |
| 78 | + vue-tsc: ^1.0.11 | |
| 78 | 79 | vue-types: ^5.0.1 |
| 79 | 80 | vxe-table: ^4.3.6 |
| 80 | 81 | web-storage-cache: ^1.1.1 |
| ... | ... | @@ -88,14 +89,13 @@ dependencies: |
| 88 | 89 | '@wangeditor/editor-for-vue': 5.1.12_3apfu3xbp6awzuex7ed3sbrv6y |
| 89 | 90 | '@zxcvbn-ts/core': 2.1.0 |
| 90 | 91 | animate.css: 4.1.1 |
| 91 | - axios: 1.2.0 | |
| 92 | + axios: 1.2.1 | |
| 92 | 93 | crypto-js: 4.1.1 |
| 93 | - dayjs: 1.11.6 | |
| 94 | + dayjs: 1.11.7 | |
| 94 | 95 | echarts: 5.4.0 |
| 95 | 96 | echarts-wordcloud: 2.1.0_echarts@5.4.0 |
| 96 | - element-plus: 2.2.25_vue@3.2.45 | |
| 97 | + element-plus: 2.2.26_vue@3.2.45 | |
| 97 | 98 | intro.js: 6.0.0 |
| 98 | - js-cookie: 3.0.1 | |
| 99 | 99 | jsencrypt: 3.3.1 |
| 100 | 100 | lodash-es: 4.17.21 |
| 101 | 101 | mitt: 3.0.0 |
| ... | ... | @@ -116,52 +116,54 @@ dependencies: |
| 116 | 116 | devDependencies: |
| 117 | 117 | '@commitlint/cli': 17.3.0 |
| 118 | 118 | '@commitlint/config-conventional': 17.3.0 |
| 119 | - '@iconify/json': 2.1.145 | |
| 120 | - '@intlify/vite-plugin-vue-i18n': 6.0.3_vite@3.2.4+vue-i18n@9.2.2 | |
| 119 | + '@iconify/json': 2.1.149 | |
| 120 | + '@intlify/vite-plugin-vue-i18n': 6.0.3_vite@3.2.5+vue-i18n@9.2.2 | |
| 121 | 121 | '@purge-icons/generated': 0.9.0 |
| 122 | 122 | '@types/intro.js': 5.1.0 |
| 123 | 123 | '@types/lodash-es': 4.17.6 |
| 124 | - '@types/node': 18.11.9 | |
| 124 | + '@types/node': 18.11.11 | |
| 125 | 125 | '@types/nprogress': 0.2.0 |
| 126 | 126 | '@types/qrcode': 1.5.0 |
| 127 | 127 | '@types/qs': 6.9.7 |
| 128 | - '@typescript-eslint/eslint-plugin': 5.45.0_czs5uoqkd3podpy6vgtsxfc7au | |
| 129 | - '@typescript-eslint/parser': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a | |
| 130 | - '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45 | |
| 131 | - '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.4+vue@3.2.45 | |
| 128 | + '@typescript-eslint/eslint-plugin': 5.45.1_tdm6ms4ntwhlpozn7kjqrhum74 | |
| 129 | + '@typescript-eslint/parser': 5.45.1_s5ps7njkmjlaqajutnox5ntcla | |
| 130 | + '@vitejs/plugin-legacy': 2.3.1_terser@5.16.1+vite@3.2.5 | |
| 131 | + '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.45 | |
| 132 | + '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.5+vue@3.2.45 | |
| 132 | 133 | autoprefixer: 10.4.13_postcss@8.4.19 |
| 133 | - eslint: 8.28.0 | |
| 134 | - eslint-config-prettier: 8.5.0_eslint@8.28.0 | |
| 134 | + consola: 2.15.3 | |
| 135 | + eslint: 8.29.0 | |
| 136 | + eslint-config-prettier: 8.5.0_eslint@8.29.0 | |
| 135 | 137 | eslint-define-config: 1.12.0 |
| 136 | - eslint-plugin-prettier: 4.2.1_cwlo2dingkvfydnaculr42urve | |
| 137 | - eslint-plugin-vue: 9.8.0_eslint@8.28.0 | |
| 138 | - lint-staged: 13.0.4 | |
| 139 | - plop: 3.1.1 | |
| 138 | + eslint-plugin-prettier: 4.2.1_nrhoyyjffvfyk4vtlt5destxgm | |
| 139 | + eslint-plugin-vue: 9.8.0_eslint@8.29.0 | |
| 140 | + lint-staged: 13.1.0 | |
| 140 | 141 | postcss: 8.4.19 |
| 141 | 142 | postcss-html: 1.5.0 |
| 142 | 143 | postcss-scss: 4.0.6_postcss@8.4.19 |
| 143 | 144 | prettier: 2.8.0 |
| 144 | 145 | rimraf: 3.0.2 |
| 145 | - rollup: 3.5.0 | |
| 146 | + rollup: 3.6.0 | |
| 146 | 147 | sass: 1.56.1 |
| 147 | - stylelint: 14.15.0 | |
| 148 | - stylelint-config-html: 1.1.0_qendsqix7hqecpnpx4fjs6qry4 | |
| 149 | - stylelint-config-prettier: 9.0.4_stylelint@14.15.0 | |
| 150 | - stylelint-config-recommended: 9.0.0_stylelint@14.15.0 | |
| 151 | - stylelint-config-standard: 29.0.0_stylelint@14.15.0 | |
| 152 | - stylelint-order: 5.0.0_stylelint@14.15.0 | |
| 148 | + stylelint: 14.16.0 | |
| 149 | + stylelint-config-html: 1.1.0_bto6pmslw3cibsiuq6smxboytq | |
| 150 | + stylelint-config-prettier: 9.0.4_stylelint@14.16.0 | |
| 151 | + stylelint-config-recommended: 9.0.0_stylelint@14.16.0 | |
| 152 | + stylelint-config-standard: 29.0.0_stylelint@14.16.0 | |
| 153 | + stylelint-order: 5.0.0_stylelint@14.16.0 | |
| 154 | + terser: 5.16.1 | |
| 153 | 155 | typescript: 4.9.3 |
| 154 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 155 | - vite-plugin-compression: 0.5.1_vite@3.2.4 | |
| 156 | - vite-plugin-eslint: 1.8.1_eslint@8.28.0+vite@3.2.4 | |
| 157 | - vite-plugin-html: 3.2.0_vite@3.2.4 | |
| 158 | - vite-plugin-progress: 0.0.6_vite@3.2.4 | |
| 159 | - vite-plugin-purge-icons: 0.9.1_vite@3.2.4 | |
| 160 | - vite-plugin-style-import: 2.0.0_vite@3.2.4 | |
| 161 | - vite-plugin-svg-icons: 2.0.1_vite@3.2.4 | |
| 162 | - vite-plugin-vue-setup-extend: 0.4.0_vite@3.2.4 | |
| 163 | - vite-plugin-windicss: 1.8.8_vite@3.2.4 | |
| 164 | - vue-tsc: registry.npmmirror.com/vue-tsc/1.0.10_typescript@4.9.3 | |
| 156 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 157 | + vite-plugin-compression: 0.5.1_vite@3.2.5 | |
| 158 | + vite-plugin-ejs: 1.6.4 | |
| 159 | + vite-plugin-eslint: 1.8.1_eslint@8.29.0+vite@3.2.5 | |
| 160 | + vite-plugin-progress: 0.0.6_vite@3.2.5 | |
| 161 | + vite-plugin-purge-icons: 0.9.1_vite@3.2.5 | |
| 162 | + vite-plugin-style-import: 2.0.0_vite@3.2.5 | |
| 163 | + vite-plugin-svg-icons: 2.0.1_vite@3.2.5 | |
| 164 | + vite-plugin-vue-setup-extend: 0.4.0_vite@3.2.5 | |
| 165 | + vite-plugin-windicss: 1.8.8_vite@3.2.5 | |
| 166 | + vue-tsc: 1.0.11_typescript@4.9.3 | |
| 165 | 167 | windicss: 3.5.6 |
| 166 | 168 | |
| 167 | 169 | packages: |
| ... | ... | @@ -217,7 +219,7 @@ packages: |
| 217 | 219 | resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} |
| 218 | 220 | engines: {node: '>=6.9.0'} |
| 219 | 221 | dependencies: |
| 220 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 222 | + '@babel/types': 7.20.2 | |
| 221 | 223 | '@jridgewell/gen-mapping': 0.3.2 |
| 222 | 224 | jsesc: 2.5.2 |
| 223 | 225 | dev: true |
| ... | ... | @@ -226,7 +228,7 @@ packages: |
| 226 | 228 | resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} |
| 227 | 229 | engines: {node: '>=6.9.0'} |
| 228 | 230 | dependencies: |
| 229 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 231 | + '@babel/types': 7.20.2 | |
| 230 | 232 | dev: true |
| 231 | 233 | |
| 232 | 234 | /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: |
| ... | ... | @@ -270,28 +272,28 @@ packages: |
| 270 | 272 | engines: {node: '>=6.9.0'} |
| 271 | 273 | dependencies: |
| 272 | 274 | '@babel/template': 7.18.10 |
| 273 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 275 | + '@babel/types': 7.20.2 | |
| 274 | 276 | dev: true |
| 275 | 277 | |
| 276 | 278 | /@babel/helper-hoist-variables/7.18.6: |
| 277 | 279 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} |
| 278 | 280 | engines: {node: '>=6.9.0'} |
| 279 | 281 | dependencies: |
| 280 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 282 | + '@babel/types': 7.20.2 | |
| 281 | 283 | dev: true |
| 282 | 284 | |
| 283 | 285 | /@babel/helper-member-expression-to-functions/7.18.9: |
| 284 | 286 | resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} |
| 285 | 287 | engines: {node: '>=6.9.0'} |
| 286 | 288 | dependencies: |
| 287 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 289 | + '@babel/types': 7.20.2 | |
| 288 | 290 | dev: true |
| 289 | 291 | |
| 290 | 292 | /@babel/helper-module-imports/7.18.6: |
| 291 | 293 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} |
| 292 | 294 | engines: {node: '>=6.9.0'} |
| 293 | 295 | dependencies: |
| 294 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 296 | + '@babel/types': 7.20.2 | |
| 295 | 297 | dev: true |
| 296 | 298 | |
| 297 | 299 | /@babel/helper-module-transforms/7.20.2: |
| ... | ... | @@ -302,10 +304,10 @@ packages: |
| 302 | 304 | '@babel/helper-module-imports': 7.18.6 |
| 303 | 305 | '@babel/helper-simple-access': 7.20.2 |
| 304 | 306 | '@babel/helper-split-export-declaration': 7.18.6 |
| 305 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 307 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 306 | 308 | '@babel/template': 7.18.10 |
| 307 | 309 | '@babel/traverse': 7.20.1 |
| 308 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 310 | + '@babel/types': 7.20.2 | |
| 309 | 311 | transitivePeerDependencies: |
| 310 | 312 | - supports-color |
| 311 | 313 | dev: true |
| ... | ... | @@ -314,7 +316,7 @@ packages: |
| 314 | 316 | resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} |
| 315 | 317 | engines: {node: '>=6.9.0'} |
| 316 | 318 | dependencies: |
| 317 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 319 | + '@babel/types': 7.20.2 | |
| 318 | 320 | dev: true |
| 319 | 321 | |
| 320 | 322 | /@babel/helper-plugin-utils/7.20.2: |
| ... | ... | @@ -330,7 +332,7 @@ packages: |
| 330 | 332 | '@babel/helper-member-expression-to-functions': 7.18.9 |
| 331 | 333 | '@babel/helper-optimise-call-expression': 7.18.6 |
| 332 | 334 | '@babel/traverse': 7.20.1 |
| 333 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 335 | + '@babel/types': 7.20.2 | |
| 334 | 336 | transitivePeerDependencies: |
| 335 | 337 | - supports-color |
| 336 | 338 | dev: true |
| ... | ... | @@ -339,16 +341,24 @@ packages: |
| 339 | 341 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} |
| 340 | 342 | engines: {node: '>=6.9.0'} |
| 341 | 343 | dependencies: |
| 342 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 344 | + '@babel/types': 7.20.2 | |
| 343 | 345 | dev: true |
| 344 | 346 | |
| 345 | 347 | /@babel/helper-split-export-declaration/7.18.6: |
| 346 | 348 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} |
| 347 | 349 | engines: {node: '>=6.9.0'} |
| 348 | 350 | dependencies: |
| 349 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 351 | + '@babel/types': 7.20.2 | |
| 350 | 352 | dev: true |
| 351 | 353 | |
| 354 | + /@babel/helper-string-parser/7.19.4: | |
| 355 | + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} | |
| 356 | + engines: {node: '>=6.9.0'} | |
| 357 | + | |
| 358 | + /@babel/helper-validator-identifier/7.19.1: | |
| 359 | + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} | |
| 360 | + engines: {node: '>=6.9.0'} | |
| 361 | + | |
| 352 | 362 | /@babel/helper-validator-option/7.18.6: |
| 353 | 363 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} |
| 354 | 364 | engines: {node: '>=6.9.0'} |
| ... | ... | @@ -360,7 +370,7 @@ packages: |
| 360 | 370 | dependencies: |
| 361 | 371 | '@babel/template': 7.18.10 |
| 362 | 372 | '@babel/traverse': 7.20.1 |
| 363 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 373 | + '@babel/types': 7.20.2 | |
| 364 | 374 | transitivePeerDependencies: |
| 365 | 375 | - supports-color |
| 366 | 376 | dev: true |
| ... | ... | @@ -369,7 +379,7 @@ packages: |
| 369 | 379 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} |
| 370 | 380 | engines: {node: '>=6.9.0'} |
| 371 | 381 | dependencies: |
| 372 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 382 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 373 | 383 | chalk: 2.4.2 |
| 374 | 384 | js-tokens: 4.0.0 |
| 375 | 385 | dev: true |
| ... | ... | @@ -379,7 +389,7 @@ packages: |
| 379 | 389 | engines: {node: '>=6.0.0'} |
| 380 | 390 | hasBin: true |
| 381 | 391 | dependencies: |
| 382 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 392 | + '@babel/types': 7.20.2 | |
| 383 | 393 | |
| 384 | 394 | /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: |
| 385 | 395 | resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} |
| ... | ... | @@ -422,13 +432,18 @@ packages: |
| 422 | 432 | regenerator-runtime: 0.13.11 |
| 423 | 433 | dev: false |
| 424 | 434 | |
| 435 | + /@babel/standalone/7.20.6: | |
| 436 | + resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==} | |
| 437 | + engines: {node: '>=6.9.0'} | |
| 438 | + dev: true | |
| 439 | + | |
| 425 | 440 | /@babel/template/7.18.10: |
| 426 | 441 | resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} |
| 427 | 442 | engines: {node: '>=6.9.0'} |
| 428 | 443 | dependencies: |
| 429 | 444 | '@babel/code-frame': 7.18.6 |
| 430 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 431 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 445 | + '@babel/parser': 7.20.3 | |
| 446 | + '@babel/types': 7.20.2 | |
| 432 | 447 | dev: true |
| 433 | 448 | |
| 434 | 449 | /@babel/traverse/7.20.1: |
| ... | ... | @@ -441,8 +456,8 @@ packages: |
| 441 | 456 | '@babel/helper-function-name': 7.19.0 |
| 442 | 457 | '@babel/helper-hoist-variables': 7.18.6 |
| 443 | 458 | '@babel/helper-split-export-declaration': 7.18.6 |
| 444 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 445 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 459 | + '@babel/parser': 7.20.3 | |
| 460 | + '@babel/types': 7.20.2 | |
| 446 | 461 | debug: 4.3.4 |
| 447 | 462 | globals: 11.12.0 |
| 448 | 463 | transitivePeerDependencies: |
| ... | ... | @@ -453,10 +468,9 @@ packages: |
| 453 | 468 | resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} |
| 454 | 469 | engines: {node: '>=6.9.0'} |
| 455 | 470 | dependencies: |
| 456 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 457 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 458 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 459 | - dev: true | |
| 471 | + '@babel/helper-string-parser': 7.19.4 | |
| 472 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 473 | + to-fast-properties: 2.0.0 | |
| 460 | 474 | |
| 461 | 475 | /@commitlint/cli/17.3.0: |
| 462 | 476 | resolution: {integrity: sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==} |
| ... | ... | @@ -633,7 +647,7 @@ packages: |
| 633 | 647 | '@jridgewell/trace-mapping': 0.3.9 |
| 634 | 648 | dev: true |
| 635 | 649 | |
| 636 | - /@csstools/selector-specificity/2.0.2_45y636a2vqremknoajyxd5nkzy: | |
| 650 | + /@csstools/selector-specificity/2.0.2_tbwh2mpcdwdeb2slx6bobindua: | |
| 637 | 651 | resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} |
| 638 | 652 | engines: {node: ^12 || ^14 || >=16} |
| 639 | 653 | peerDependencies: |
| ... | ... | @@ -641,7 +655,7 @@ packages: |
| 641 | 655 | postcss-selector-parser: ^6.0.10 |
| 642 | 656 | dependencies: |
| 643 | 657 | postcss: 8.4.19 |
| 644 | - postcss-selector-parser: 6.0.10 | |
| 658 | + postcss-selector-parser: 6.0.11 | |
| 645 | 659 | dev: true |
| 646 | 660 | |
| 647 | 661 | /@ctrl/tinycolor/3.4.1: |
| ... | ... | @@ -657,6 +671,24 @@ packages: |
| 657 | 671 | vue: 3.2.45 |
| 658 | 672 | dev: false |
| 659 | 673 | |
| 674 | + /@esbuild/android-arm/0.15.14: | |
| 675 | + resolution: {integrity: sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==} | |
| 676 | + engines: {node: '>=12'} | |
| 677 | + cpu: [arm] | |
| 678 | + os: [android] | |
| 679 | + requiresBuild: true | |
| 680 | + dev: true | |
| 681 | + optional: true | |
| 682 | + | |
| 683 | + /@esbuild/linux-loong64/0.15.14: | |
| 684 | + resolution: {integrity: sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==} | |
| 685 | + engines: {node: '>=12'} | |
| 686 | + cpu: [loong64] | |
| 687 | + os: [linux] | |
| 688 | + requiresBuild: true | |
| 689 | + dev: true | |
| 690 | + optional: true | |
| 691 | + | |
| 660 | 692 | /@eslint/eslintrc/1.3.3: |
| 661 | 693 | resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} |
| 662 | 694 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| ... | ... | @@ -717,8 +749,8 @@ packages: |
| 717 | 749 | dependencies: |
| 718 | 750 | '@iconify/types': 2.0.0 |
| 719 | 751 | |
| 720 | - /@iconify/json/2.1.145: | |
| 721 | - resolution: {integrity: sha512-cYU5F2lOPTaUtq9Uulrv66Wrh4XQxWj50xk6d9LeMQZY8IMm2DqICONHVlhOeoYBbCwa0kOt9/W6pMWYB9BomQ==} | |
| 752 | + /@iconify/json/2.1.149: | |
| 753 | + resolution: {integrity: sha512-9tVyhAbj7Avf3JkwpLxxROI7zr5Fd2KBMAYZMo0S+K+OEqW/3ryWwbxOpHZG74zu0FPLQGLVtBfyHjjZynDMgA==} | |
| 722 | 754 | dependencies: |
| 723 | 755 | '@iconify/types': 2.0.0 |
| 724 | 756 | pathe: 0.3.9 |
| ... | ... | @@ -739,8 +771,8 @@ packages: |
| 739 | 771 | vue-i18n: |
| 740 | 772 | optional: true |
| 741 | 773 | dependencies: |
| 742 | - '@intlify/message-compiler': registry.npmmirror.com/@intlify/message-compiler/9.3.0-beta.10 | |
| 743 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.3.0-beta.10 | |
| 774 | + '@intlify/message-compiler': 9.3.0-beta.10 | |
| 775 | + '@intlify/shared': 9.3.0-beta.10 | |
| 744 | 776 | jsonc-eslint-parser: 1.4.1 |
| 745 | 777 | source-map: 0.6.1 |
| 746 | 778 | vue-i18n: 9.2.2_vue@3.2.45 |
| ... | ... | @@ -753,27 +785,40 @@ packages: |
| 753 | 785 | dependencies: |
| 754 | 786 | '@intlify/devtools-if': 9.2.2 |
| 755 | 787 | '@intlify/message-compiler': 9.2.2 |
| 756 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.2.2 | |
| 788 | + '@intlify/shared': 9.2.2 | |
| 757 | 789 | '@intlify/vue-devtools': 9.2.2 |
| 758 | 790 | |
| 759 | 791 | /@intlify/devtools-if/9.2.2: |
| 760 | 792 | resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} |
| 761 | 793 | engines: {node: '>= 14'} |
| 762 | 794 | dependencies: |
| 763 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.2.2 | |
| 795 | + '@intlify/shared': 9.2.2 | |
| 764 | 796 | |
| 765 | 797 | /@intlify/message-compiler/9.2.2: |
| 766 | 798 | resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} |
| 767 | 799 | engines: {node: '>= 14'} |
| 768 | 800 | dependencies: |
| 769 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.2.2 | |
| 770 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 801 | + '@intlify/shared': 9.2.2 | |
| 802 | + source-map: 0.6.1 | |
| 803 | + | |
| 804 | + /@intlify/message-compiler/9.3.0-beta.10: | |
| 805 | + resolution: {integrity: sha512-RoOC6yceOykLRhN0NlbkNOBUx1el6iphx3W8NfOx3jHVNtfT1FYokx14/5sU3F1F0uxeG4sp6q+ppKvaF8o+ww==} | |
| 806 | + engines: {node: '>= 14'} | |
| 807 | + dependencies: | |
| 808 | + '@intlify/shared': 9.3.0-beta.10 | |
| 809 | + source-map: 0.6.1 | |
| 810 | + dev: true | |
| 771 | 811 | |
| 772 | 812 | /@intlify/shared/9.2.2: |
| 773 | 813 | resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} |
| 774 | 814 | engines: {node: '>= 14'} |
| 775 | 815 | |
| 776 | - /@intlify/vite-plugin-vue-i18n/6.0.3_vite@3.2.4+vue-i18n@9.2.2: | |
| 816 | + /@intlify/shared/9.3.0-beta.10: | |
| 817 | + resolution: {integrity: sha512-h93uAanbAt/XgjDHclrVB7xix6r7Uz11wx0iGNOCdHP7aA2LCJjUT3uNbekJjjbo+Fl5jzTSJZdm2SexzoqhRA==} | |
| 818 | + engines: {node: '>= 14'} | |
| 819 | + dev: true | |
| 820 | + | |
| 821 | + /@intlify/vite-plugin-vue-i18n/6.0.3_vite@3.2.5+vue-i18n@9.2.2: | |
| 777 | 822 | resolution: {integrity: sha512-6SgNzPAOCR90wvt368lKzi7f/5ZEWJn22UCGvhFsP3XvKqlF3cVzojahgQ6o+LTdCkExeM6wPgd+haFf28E9VQ==} |
| 778 | 823 | engines: {node: '>= 14.6'} |
| 779 | 824 | peerDependencies: |
| ... | ... | @@ -789,12 +834,12 @@ packages: |
| 789 | 834 | optional: true |
| 790 | 835 | dependencies: |
| 791 | 836 | '@intlify/bundle-utils': 3.4.0_vue-i18n@9.2.2 |
| 792 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.3.0-beta.10 | |
| 837 | + '@intlify/shared': 9.3.0-beta.10 | |
| 793 | 838 | '@rollup/pluginutils': 4.2.1 |
| 794 | 839 | debug: 4.3.4 |
| 795 | 840 | fast-glob: 3.2.12 |
| 796 | 841 | source-map: 0.6.1 |
| 797 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 842 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 798 | 843 | vue-i18n: 9.2.2_vue@3.2.45 |
| 799 | 844 | transitivePeerDependencies: |
| 800 | 845 | - supports-color |
| ... | ... | @@ -805,7 +850,7 @@ packages: |
| 805 | 850 | engines: {node: '>= 14'} |
| 806 | 851 | dependencies: |
| 807 | 852 | '@intlify/core-base': 9.2.2 |
| 808 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.2.2 | |
| 853 | + '@intlify/shared': 9.2.2 | |
| 809 | 854 | |
| 810 | 855 | /@jridgewell/gen-mapping/0.1.1: |
| 811 | 856 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} |
| ... | ... | @@ -907,6 +952,10 @@ packages: |
| 907 | 952 | picomatch: 2.3.1 |
| 908 | 953 | dev: true |
| 909 | 954 | |
| 955 | + /@sxzz/popperjs-es/2.11.7: | |
| 956 | + resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} | |
| 957 | + dev: false | |
| 958 | + | |
| 910 | 959 | /@transloadit/prettier-bytes/0.0.7: |
| 911 | 960 | resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==} |
| 912 | 961 | dev: false |
| ... | ... | @@ -947,29 +996,12 @@ packages: |
| 947 | 996 | resolution: {integrity: sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==} |
| 948 | 997 | dev: false |
| 949 | 998 | |
| 950 | - /@types/fined/1.1.3: | |
| 951 | - resolution: {integrity: sha512-CWYnSRnun3CGbt6taXeVo2lCbuaj4mchVJ4UF/BdU5TSuIn3AmS13pGMwCsBUoehGbhZrBrpNJZSZI5EVilXww==} | |
| 952 | - dev: true | |
| 953 | - | |
| 954 | - /@types/inquirer/8.2.5: | |
| 955 | - resolution: {integrity: sha512-QXlzybid60YtAwfgG3cpykptRYUx2KomzNutMlWsQC64J/WG/gQSl+P4w7A21sGN0VIxRVava4rgnT7FQmFCdg==} | |
| 956 | - dependencies: | |
| 957 | - '@types/through': 0.0.30 | |
| 958 | - dev: true | |
| 959 | - | |
| 960 | 999 | /@types/intro.js/5.1.0: |
| 961 | 1000 | resolution: {integrity: sha512-XHkD6t7f3bn8B2//kOlznRzmk15KvsRkFpY6i8em/eDphblQ8QHbCiW+6OPjX7CxI0aVNVJK6Yamb2h2KMmFdA==} |
| 962 | 1001 | dev: true |
| 963 | 1002 | |
| 964 | 1003 | /@types/json-schema/7.0.11: |
| 965 | - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} | |
| 966 | - dev: true | |
| 967 | - | |
| 968 | - /@types/liftoff/4.0.0: | |
| 969 | - resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==} | |
| 970 | - dependencies: | |
| 971 | - '@types/fined': 1.1.3 | |
| 972 | - '@types/node': 18.11.9 | |
| 1004 | + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, registry: https://registry.npm.taobao.org/} | |
| 973 | 1005 | dev: true |
| 974 | 1006 | |
| 975 | 1007 | /@types/lodash-es/4.17.6: |
| ... | ... | @@ -985,15 +1017,15 @@ packages: |
| 985 | 1017 | dev: true |
| 986 | 1018 | |
| 987 | 1019 | /@types/node/10.17.60: |
| 988 | - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} | |
| 1020 | + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==, registry: https://registry.npm.taobao.org/} | |
| 989 | 1021 | dev: true |
| 990 | 1022 | |
| 991 | 1023 | /@types/node/14.18.33: |
| 992 | - resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} | |
| 1024 | + resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==, registry: https://registry.npm.taobao.org/} | |
| 993 | 1025 | dev: true |
| 994 | 1026 | |
| 995 | - /@types/node/18.11.9: | |
| 996 | - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} | |
| 1027 | + /@types/node/18.11.11: | |
| 1028 | + resolution: {integrity: sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g==, registry: https://registry.npm.taobao.org/} | |
| 997 | 1029 | dev: true |
| 998 | 1030 | |
| 999 | 1031 | /@types/normalize-package-data/2.4.1: |
| ... | ... | @@ -1011,7 +1043,7 @@ packages: |
| 1011 | 1043 | /@types/qrcode/1.5.0: |
| 1012 | 1044 | resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==} |
| 1013 | 1045 | dependencies: |
| 1014 | - '@types/node': 18.11.9 | |
| 1046 | + '@types/node': 18.11.11 | |
| 1015 | 1047 | dev: true |
| 1016 | 1048 | |
| 1017 | 1049 | /@types/qs/6.9.7: |
| ... | ... | @@ -1019,27 +1051,21 @@ packages: |
| 1019 | 1051 | dev: true |
| 1020 | 1052 | |
| 1021 | 1053 | /@types/semver/7.3.13: |
| 1022 | - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} | |
| 1054 | + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==, registry: https://registry.npm.taobao.org/} | |
| 1023 | 1055 | dev: true |
| 1024 | 1056 | |
| 1025 | 1057 | /@types/svgo/2.6.4: |
| 1026 | 1058 | resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} |
| 1027 | 1059 | dependencies: |
| 1028 | - '@types/node': 18.11.9 | |
| 1029 | - dev: true | |
| 1030 | - | |
| 1031 | - /@types/through/0.0.30: | |
| 1032 | - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} | |
| 1033 | - dependencies: | |
| 1034 | - '@types/node': 18.11.9 | |
| 1060 | + '@types/node': 18.11.11 | |
| 1035 | 1061 | dev: true |
| 1036 | 1062 | |
| 1037 | 1063 | /@types/web-bluetooth/0.0.16: |
| 1038 | 1064 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} |
| 1039 | 1065 | dev: false |
| 1040 | 1066 | |
| 1041 | - /@typescript-eslint/eslint-plugin/5.45.0_czs5uoqkd3podpy6vgtsxfc7au: | |
| 1042 | - resolution: {integrity: sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==} | |
| 1067 | + /@typescript-eslint/eslint-plugin/5.45.1_tdm6ms4ntwhlpozn7kjqrhum74: | |
| 1068 | + resolution: {integrity: sha512-cOizjPlKEh0bXdFrBLTrI/J6B/QMlhwE9auOov53tgB+qMukH6/h8YAK/qw+QJGct/PTbdh2lytGyipxCcEtAw==, registry: https://registry.npm.taobao.org/} | |
| 1043 | 1069 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1044 | 1070 | peerDependencies: |
| 1045 | 1071 | '@typescript-eslint/parser': ^5.0.0 |
| ... | ... | @@ -1049,13 +1075,13 @@ packages: |
| 1049 | 1075 | typescript: |
| 1050 | 1076 | optional: true |
| 1051 | 1077 | dependencies: |
| 1052 | - '@typescript-eslint/parser': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a | |
| 1053 | - '@typescript-eslint/scope-manager': 5.45.0 | |
| 1054 | - '@typescript-eslint/type-utils': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a | |
| 1055 | - '@typescript-eslint/utils': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a | |
| 1078 | + '@typescript-eslint/parser': 5.45.1_s5ps7njkmjlaqajutnox5ntcla | |
| 1079 | + '@typescript-eslint/scope-manager': 5.45.1 | |
| 1080 | + '@typescript-eslint/type-utils': 5.45.1_s5ps7njkmjlaqajutnox5ntcla | |
| 1081 | + '@typescript-eslint/utils': 5.45.1_s5ps7njkmjlaqajutnox5ntcla | |
| 1056 | 1082 | debug: 4.3.4 |
| 1057 | - eslint: 8.28.0 | |
| 1058 | - ignore: 5.2.0 | |
| 1083 | + eslint: 8.29.0 | |
| 1084 | + ignore: 5.2.1 | |
| 1059 | 1085 | natural-compare-lite: 1.4.0 |
| 1060 | 1086 | regexpp: 3.2.0 |
| 1061 | 1087 | semver: 7.3.8 |
| ... | ... | @@ -1065,8 +1091,8 @@ packages: |
| 1065 | 1091 | - supports-color |
| 1066 | 1092 | dev: true |
| 1067 | 1093 | |
| 1068 | - /@typescript-eslint/parser/5.45.0_hsf322ms6xhhd4b5ne6lb74y4a: | |
| 1069 | - resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} | |
| 1094 | + /@typescript-eslint/parser/5.45.1_s5ps7njkmjlaqajutnox5ntcla: | |
| 1095 | + resolution: {integrity: sha512-JQ3Ep8bEOXu16q0ztsatp/iQfDCtvap7sp/DKo7DWltUquj5AfCOpX2zSzJ8YkAVnrQNqQ5R62PBz2UtrfmCkA==, registry: https://registry.npm.taobao.org/} | |
| 1070 | 1096 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1071 | 1097 | peerDependencies: |
| 1072 | 1098 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| ... | ... | @@ -1075,26 +1101,26 @@ packages: |
| 1075 | 1101 | typescript: |
| 1076 | 1102 | optional: true |
| 1077 | 1103 | dependencies: |
| 1078 | - '@typescript-eslint/scope-manager': 5.45.0 | |
| 1079 | - '@typescript-eslint/types': 5.45.0 | |
| 1080 | - '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.3 | |
| 1104 | + '@typescript-eslint/scope-manager': 5.45.1 | |
| 1105 | + '@typescript-eslint/types': 5.45.1 | |
| 1106 | + '@typescript-eslint/typescript-estree': 5.45.1_typescript@4.9.3 | |
| 1081 | 1107 | debug: 4.3.4 |
| 1082 | - eslint: 8.28.0 | |
| 1108 | + eslint: 8.29.0 | |
| 1083 | 1109 | typescript: 4.9.3 |
| 1084 | 1110 | transitivePeerDependencies: |
| 1085 | 1111 | - supports-color |
| 1086 | 1112 | dev: true |
| 1087 | 1113 | |
| 1088 | - /@typescript-eslint/scope-manager/5.45.0: | |
| 1089 | - resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==} | |
| 1114 | + /@typescript-eslint/scope-manager/5.45.1: | |
| 1115 | + resolution: {integrity: sha512-D6fCileR6Iai7E35Eb4Kp+k0iW7F1wxXYrOhX/3dywsOJpJAQ20Fwgcf+P/TDtvQ7zcsWsrJaglaQWDhOMsspQ==, registry: https://registry.npm.taobao.org/} | |
| 1090 | 1116 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1091 | 1117 | dependencies: |
| 1092 | - '@typescript-eslint/types': 5.45.0 | |
| 1093 | - '@typescript-eslint/visitor-keys': 5.45.0 | |
| 1118 | + '@typescript-eslint/types': 5.45.1 | |
| 1119 | + '@typescript-eslint/visitor-keys': 5.45.1 | |
| 1094 | 1120 | dev: true |
| 1095 | 1121 | |
| 1096 | - /@typescript-eslint/type-utils/5.45.0_hsf322ms6xhhd4b5ne6lb74y4a: | |
| 1097 | - resolution: {integrity: sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==} | |
| 1122 | + /@typescript-eslint/type-utils/5.45.1_s5ps7njkmjlaqajutnox5ntcla: | |
| 1123 | + resolution: {integrity: sha512-aosxFa+0CoYgYEl3aptLe1svP910DJq68nwEJzyQcrtRhC4BN0tJAvZGAe+D0tzjJmFXe+h4leSsiZhwBa2vrA==, registry: https://registry.npm.taobao.org/} | |
| 1098 | 1124 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1099 | 1125 | peerDependencies: |
| 1100 | 1126 | eslint: '*' |
| ... | ... | @@ -1103,23 +1129,23 @@ packages: |
| 1103 | 1129 | typescript: |
| 1104 | 1130 | optional: true |
| 1105 | 1131 | dependencies: |
| 1106 | - '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.3 | |
| 1107 | - '@typescript-eslint/utils': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a | |
| 1132 | + '@typescript-eslint/typescript-estree': 5.45.1_typescript@4.9.3 | |
| 1133 | + '@typescript-eslint/utils': 5.45.1_s5ps7njkmjlaqajutnox5ntcla | |
| 1108 | 1134 | debug: 4.3.4 |
| 1109 | - eslint: 8.28.0 | |
| 1135 | + eslint: 8.29.0 | |
| 1110 | 1136 | tsutils: 3.21.0_typescript@4.9.3 |
| 1111 | 1137 | typescript: 4.9.3 |
| 1112 | 1138 | transitivePeerDependencies: |
| 1113 | 1139 | - supports-color |
| 1114 | 1140 | dev: true |
| 1115 | 1141 | |
| 1116 | - /@typescript-eslint/types/5.45.0: | |
| 1117 | - resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} | |
| 1142 | + /@typescript-eslint/types/5.45.1: | |
| 1143 | + resolution: {integrity: sha512-HEW3U0E5dLjUT+nk7b4lLbOherS1U4ap+b9pfu2oGsW3oPu7genRaY9dDv3nMczC1rbnRY2W/D7SN05wYoGImg==, registry: https://registry.npm.taobao.org/} | |
| 1118 | 1144 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1119 | 1145 | dev: true |
| 1120 | 1146 | |
| 1121 | - /@typescript-eslint/typescript-estree/5.45.0_typescript@4.9.3: | |
| 1122 | - resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} | |
| 1147 | + /@typescript-eslint/typescript-estree/5.45.1_typescript@4.9.3: | |
| 1148 | + resolution: {integrity: sha512-76NZpmpCzWVrrb0XmYEpbwOz/FENBi+5W7ipVXAsG3OoFrQKJMiaqsBMbvGRyLtPotGqUfcY7Ur8j0dksDJDng==, registry: https://registry.npm.taobao.org/} | |
| 1123 | 1149 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1124 | 1150 | peerDependencies: |
| 1125 | 1151 | typescript: '*' |
| ... | ... | @@ -1127,8 +1153,8 @@ packages: |
| 1127 | 1153 | typescript: |
| 1128 | 1154 | optional: true |
| 1129 | 1155 | dependencies: |
| 1130 | - '@typescript-eslint/types': 5.45.0 | |
| 1131 | - '@typescript-eslint/visitor-keys': 5.45.0 | |
| 1156 | + '@typescript-eslint/types': 5.45.1 | |
| 1157 | + '@typescript-eslint/visitor-keys': 5.45.1 | |
| 1132 | 1158 | debug: 4.3.4 |
| 1133 | 1159 | globby: 11.1.0 |
| 1134 | 1160 | is-glob: 4.0.3 |
| ... | ... | @@ -1139,31 +1165,31 @@ packages: |
| 1139 | 1165 | - supports-color |
| 1140 | 1166 | dev: true |
| 1141 | 1167 | |
| 1142 | - /@typescript-eslint/utils/5.45.0_hsf322ms6xhhd4b5ne6lb74y4a: | |
| 1143 | - resolution: {integrity: sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==} | |
| 1168 | + /@typescript-eslint/utils/5.45.1_s5ps7njkmjlaqajutnox5ntcla: | |
| 1169 | + resolution: {integrity: sha512-rlbC5VZz68+yjAzQBc4I7KDYVzWG2X/OrqoZrMahYq3u8FFtmQYc+9rovo/7wlJH5kugJ+jQXV5pJMnofGmPRw==, registry: https://registry.npm.taobao.org/} | |
| 1144 | 1170 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1145 | 1171 | peerDependencies: |
| 1146 | 1172 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| 1147 | 1173 | dependencies: |
| 1148 | 1174 | '@types/json-schema': 7.0.11 |
| 1149 | 1175 | '@types/semver': 7.3.13 |
| 1150 | - '@typescript-eslint/scope-manager': 5.45.0 | |
| 1151 | - '@typescript-eslint/types': 5.45.0 | |
| 1152 | - '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.3 | |
| 1153 | - eslint: 8.28.0 | |
| 1176 | + '@typescript-eslint/scope-manager': 5.45.1 | |
| 1177 | + '@typescript-eslint/types': 5.45.1 | |
| 1178 | + '@typescript-eslint/typescript-estree': 5.45.1_typescript@4.9.3 | |
| 1179 | + eslint: 8.29.0 | |
| 1154 | 1180 | eslint-scope: 5.1.1 |
| 1155 | - eslint-utils: 3.0.0_eslint@8.28.0 | |
| 1181 | + eslint-utils: 3.0.0_eslint@8.29.0 | |
| 1156 | 1182 | semver: 7.3.8 |
| 1157 | 1183 | transitivePeerDependencies: |
| 1158 | 1184 | - supports-color |
| 1159 | 1185 | - typescript |
| 1160 | 1186 | dev: true |
| 1161 | 1187 | |
| 1162 | - /@typescript-eslint/visitor-keys/5.45.0: | |
| 1163 | - resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} | |
| 1188 | + /@typescript-eslint/visitor-keys/5.45.1: | |
| 1189 | + resolution: {integrity: sha512-cy9ln+6rmthYWjH9fmx+5FU/JDpjQb586++x2FZlveq7GdGuLLW9a2Jcst2TGekH82bXpfmRNSwP9tyEs6RjvQ==, registry: https://registry.npm.taobao.org/} | |
| 1164 | 1190 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1165 | 1191 | dependencies: |
| 1166 | - '@typescript-eslint/types': 5.45.0 | |
| 1192 | + '@typescript-eslint/types': 5.45.1 | |
| 1167 | 1193 | eslint-visitor-keys: 3.3.0 |
| 1168 | 1194 | dev: true |
| 1169 | 1195 | |
| ... | ... | @@ -1208,7 +1234,23 @@ packages: |
| 1208 | 1234 | nanoid: 3.3.4 |
| 1209 | 1235 | dev: false |
| 1210 | 1236 | |
| 1211 | - /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.4+vue@3.2.45: | |
| 1237 | + /@vitejs/plugin-legacy/2.3.1_terser@5.16.1+vite@3.2.5: | |
| 1238 | + resolution: {integrity: sha512-J5KaGBlSt2tEYPVjM/C8dA6DkRzkFkbPe+Xb4IX5G+XOV5OGbVAfkMjKywdrkO3gGynO8S98i71Lmsff4cWkCQ==} | |
| 1239 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1240 | + peerDependencies: | |
| 1241 | + terser: ^5.4.0 | |
| 1242 | + vite: ^3.0.0 | |
| 1243 | + dependencies: | |
| 1244 | + '@babel/standalone': 7.20.6 | |
| 1245 | + core-js: 3.26.1 | |
| 1246 | + magic-string: 0.26.7 | |
| 1247 | + regenerator-runtime: 0.13.11 | |
| 1248 | + systemjs: 6.13.0 | |
| 1249 | + terser: 5.16.1 | |
| 1250 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 1251 | + dev: true | |
| 1252 | + | |
| 1253 | + /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.5+vue@3.2.45: | |
| 1212 | 1254 | resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} |
| 1213 | 1255 | engines: {node: ^14.18.0 || >=16.0.0} |
| 1214 | 1256 | peerDependencies: |
| ... | ... | @@ -1218,23 +1260,63 @@ packages: |
| 1218 | 1260 | '@babel/core': 7.20.2 |
| 1219 | 1261 | '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.20.2 |
| 1220 | 1262 | '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.2 |
| 1221 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 1263 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 1222 | 1264 | vue: 3.2.45 |
| 1223 | 1265 | transitivePeerDependencies: |
| 1224 | 1266 | - supports-color |
| 1225 | 1267 | dev: true |
| 1226 | 1268 | |
| 1227 | - /@vitejs/plugin-vue/3.2.0_vite@3.2.4+vue@3.2.45: | |
| 1269 | + /@vitejs/plugin-vue/3.2.0_vite@3.2.5+vue@3.2.45: | |
| 1228 | 1270 | resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} |
| 1229 | 1271 | engines: {node: ^14.18.0 || >=16.0.0} |
| 1230 | 1272 | peerDependencies: |
| 1231 | 1273 | vite: ^3.0.0 |
| 1232 | 1274 | vue: ^3.2.25 |
| 1233 | 1275 | dependencies: |
| 1234 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 1276 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 1235 | 1277 | vue: 3.2.45 |
| 1236 | 1278 | dev: true |
| 1237 | 1279 | |
| 1280 | + /@volar/language-core/1.0.11: | |
| 1281 | + resolution: {integrity: sha512-YwUYKxIyDc+Fq3kQ6BGGfkrKCG5JzE2Yr6vMxrxEXW2rg/gsq3JgMk/4sI8ybRsaTirhCB4V8+AIVYsvcRxgig==} | |
| 1282 | + dependencies: | |
| 1283 | + '@volar/source-map': 1.0.11 | |
| 1284 | + '@vue/reactivity': 3.2.45 | |
| 1285 | + muggle-string: 0.1.0 | |
| 1286 | + dev: true | |
| 1287 | + | |
| 1288 | + /@volar/source-map/1.0.11: | |
| 1289 | + resolution: {integrity: sha512-tkuV9MD+OuiZfHA0qZXrPdW6F7TvnpnuTan6Qe7UGUs9+sflezlMJdjaYdGgQObfP+06pcT1E3xdkOoi08ZyyQ==} | |
| 1290 | + dependencies: | |
| 1291 | + muggle-string: 0.1.0 | |
| 1292 | + dev: true | |
| 1293 | + | |
| 1294 | + /@volar/typescript/1.0.11: | |
| 1295 | + resolution: {integrity: sha512-mq7wDDAs0Eb43jev2FxbowuiwWqvL3kb+tar1we8VQbdabpyQ5dmbWPwo/IglevMmW3SKo1Et+6rqAeZpXNnPQ==} | |
| 1296 | + dependencies: | |
| 1297 | + '@volar/language-core': 1.0.11 | |
| 1298 | + dev: true | |
| 1299 | + | |
| 1300 | + /@volar/vue-language-core/1.0.11: | |
| 1301 | + resolution: {integrity: sha512-A3ODs0/ua7BcpSSnE7KtO8bzWsYsbOJRyW2Q/2uktxlfHj8srln3JdgK/mNlIgfnWtACbE5K+EfMJOgJKv864A==} | |
| 1302 | + dependencies: | |
| 1303 | + '@volar/language-core': 1.0.11 | |
| 1304 | + '@volar/source-map': 1.0.11 | |
| 1305 | + '@vue/compiler-dom': 3.2.45 | |
| 1306 | + '@vue/compiler-sfc': 3.2.45 | |
| 1307 | + '@vue/reactivity': 3.2.45 | |
| 1308 | + '@vue/shared': 3.2.45 | |
| 1309 | + minimatch: 5.1.0 | |
| 1310 | + vue-template-compiler: 2.7.14 | |
| 1311 | + dev: true | |
| 1312 | + | |
| 1313 | + /@volar/vue-typescript/1.0.11: | |
| 1314 | + resolution: {integrity: sha512-jlnFPvBcTyPiAbGlgjhKK7fp3Q+Z7Z5eU1NTbTSS0lQC8Gog3sh2UxLAFG5Voe1gHIxasoOEPXzMR0CWF4bKbA==} | |
| 1315 | + dependencies: | |
| 1316 | + '@volar/typescript': 1.0.11 | |
| 1317 | + '@volar/vue-language-core': 1.0.11 | |
| 1318 | + dev: true | |
| 1319 | + | |
| 1238 | 1320 | /@vue/babel-helper-vue-transform-on/1.0.2: |
| 1239 | 1321 | resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} |
| 1240 | 1322 | dev: true |
| ... | ... | @@ -1259,16 +1341,16 @@ packages: |
| 1259 | 1341 | /@vue/compiler-core/3.2.45: |
| 1260 | 1342 | resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} |
| 1261 | 1343 | dependencies: |
| 1262 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 1263 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1264 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 1265 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 1344 | + '@babel/parser': 7.20.3 | |
| 1345 | + '@vue/shared': 3.2.45 | |
| 1346 | + estree-walker: 2.0.2 | |
| 1347 | + source-map: 0.6.1 | |
| 1266 | 1348 | |
| 1267 | 1349 | /@vue/compiler-dom/3.2.45: |
| 1268 | 1350 | resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} |
| 1269 | 1351 | dependencies: |
| 1270 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 1271 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1352 | + '@vue/compiler-core': 3.2.45 | |
| 1353 | + '@vue/shared': 3.2.45 | |
| 1272 | 1354 | |
| 1273 | 1355 | /@vue/compiler-sfc/3.2.45: |
| 1274 | 1356 | resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} |
| ... | ... | @@ -1287,8 +1369,8 @@ packages: |
| 1287 | 1369 | /@vue/compiler-ssr/3.2.45: |
| 1288 | 1370 | resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} |
| 1289 | 1371 | dependencies: |
| 1290 | - '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45 | |
| 1291 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1372 | + '@vue/compiler-dom': 3.2.45 | |
| 1373 | + '@vue/shared': 3.2.45 | |
| 1292 | 1374 | |
| 1293 | 1375 | /@vue/devtools-api/6.4.5: |
| 1294 | 1376 | resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} |
| ... | ... | @@ -1296,23 +1378,28 @@ packages: |
| 1296 | 1378 | /@vue/reactivity-transform/3.2.45: |
| 1297 | 1379 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} |
| 1298 | 1380 | dependencies: |
| 1299 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 1300 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 1301 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1302 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 1303 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 1381 | + '@babel/parser': 7.20.3 | |
| 1382 | + '@vue/compiler-core': 3.2.45 | |
| 1383 | + '@vue/shared': 3.2.45 | |
| 1384 | + estree-walker: 2.0.2 | |
| 1385 | + magic-string: 0.25.9 | |
| 1386 | + | |
| 1387 | + /@vue/reactivity/3.2.45: | |
| 1388 | + resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} | |
| 1389 | + dependencies: | |
| 1390 | + '@vue/shared': 3.2.45 | |
| 1304 | 1391 | |
| 1305 | 1392 | /@vue/runtime-core/3.2.45: |
| 1306 | 1393 | resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} |
| 1307 | 1394 | dependencies: |
| 1308 | - '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.45 | |
| 1309 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1395 | + '@vue/reactivity': 3.2.45 | |
| 1396 | + '@vue/shared': 3.2.45 | |
| 1310 | 1397 | |
| 1311 | 1398 | /@vue/runtime-dom/3.2.45: |
| 1312 | 1399 | resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} |
| 1313 | 1400 | dependencies: |
| 1314 | 1401 | '@vue/runtime-core': 3.2.45 |
| 1315 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1402 | + '@vue/shared': 3.2.45 | |
| 1316 | 1403 | csstype: 2.6.21 |
| 1317 | 1404 | |
| 1318 | 1405 | /@vue/server-renderer/3.2.45_vue@3.2.45: |
| ... | ... | @@ -1320,8 +1407,8 @@ packages: |
| 1320 | 1407 | peerDependencies: |
| 1321 | 1408 | vue: 3.2.45 |
| 1322 | 1409 | dependencies: |
| 1323 | - '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.45 | |
| 1324 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1410 | + '@vue/compiler-ssr': 3.2.45 | |
| 1411 | + '@vue/shared': 3.2.45 | |
| 1325 | 1412 | vue: 3.2.45 |
| 1326 | 1413 | |
| 1327 | 1414 | /@vue/shared/3.2.45: |
| ... | ... | @@ -1712,20 +1799,10 @@ packages: |
| 1712 | 1799 | engines: {node: '>=0.10.0'} |
| 1713 | 1800 | dev: true |
| 1714 | 1801 | |
| 1715 | - /array-each/1.0.1: | |
| 1716 | - resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} | |
| 1717 | - engines: {node: '>=0.10.0'} | |
| 1718 | - dev: true | |
| 1719 | - | |
| 1720 | 1802 | /array-ify/1.0.0: |
| 1721 | 1803 | resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} |
| 1722 | 1804 | dev: true |
| 1723 | 1805 | |
| 1724 | - /array-slice/1.1.0: | |
| 1725 | - resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} | |
| 1726 | - engines: {node: '>=0.10.0'} | |
| 1727 | - dev: true | |
| 1728 | - | |
| 1729 | 1806 | /array-union/2.1.0: |
| 1730 | 1807 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} |
| 1731 | 1808 | engines: {node: '>=8'} |
| ... | ... | @@ -1760,7 +1837,7 @@ packages: |
| 1760 | 1837 | dev: true |
| 1761 | 1838 | |
| 1762 | 1839 | /asynckit/0.4.0: |
| 1763 | - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} | |
| 1840 | + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: https://registry.npm.taobao.org/} | |
| 1764 | 1841 | dev: false |
| 1765 | 1842 | |
| 1766 | 1843 | /atob/2.1.2: |
| ... | ... | @@ -1786,15 +1863,15 @@ packages: |
| 1786 | 1863 | dev: true |
| 1787 | 1864 | |
| 1788 | 1865 | /axios/0.26.1_debug@4.3.4: |
| 1789 | - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} | |
| 1866 | + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==, registry: https://registry.npm.taobao.org/} | |
| 1790 | 1867 | dependencies: |
| 1791 | 1868 | follow-redirects: 1.15.2 |
| 1792 | 1869 | transitivePeerDependencies: |
| 1793 | 1870 | - debug |
| 1794 | 1871 | dev: true |
| 1795 | 1872 | |
| 1796 | - /axios/1.2.0: | |
| 1797 | - resolution: {integrity: sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==} | |
| 1873 | + /axios/1.2.1: | |
| 1874 | + resolution: {integrity: sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==, registry: https://registry.npm.taobao.org/} | |
| 1798 | 1875 | dependencies: |
| 1799 | 1876 | follow-redirects: 1.15.2 |
| 1800 | 1877 | form-data: 4.0.0 |
| ... | ... | @@ -1803,6 +1880,10 @@ packages: |
| 1803 | 1880 | - debug |
| 1804 | 1881 | dev: false |
| 1805 | 1882 | |
| 1883 | + /balanced-match/1.0.2: | |
| 1884 | + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} | |
| 1885 | + dev: true | |
| 1886 | + | |
| 1806 | 1887 | /balanced-match/2.0.0: |
| 1807 | 1888 | resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} |
| 1808 | 1889 | dev: true |
| ... | ... | @@ -1820,10 +1901,6 @@ packages: |
| 1820 | 1901 | pascalcase: 0.1.1 |
| 1821 | 1902 | dev: true |
| 1822 | 1903 | |
| 1823 | - /base64-js/1.5.1: | |
| 1824 | - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} | |
| 1825 | - dev: true | |
| 1826 | - | |
| 1827 | 1904 | /big.js/5.2.2: |
| 1828 | 1905 | resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} |
| 1829 | 1906 | dev: true |
| ... | ... | @@ -1833,22 +1910,6 @@ packages: |
| 1833 | 1910 | engines: {node: '>=8'} |
| 1834 | 1911 | dev: true |
| 1835 | 1912 | |
| 1836 | - /bl/4.1.0: | |
| 1837 | - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} | |
| 1838 | - dependencies: | |
| 1839 | - buffer: 5.7.1 | |
| 1840 | - inherits: 2.0.4 | |
| 1841 | - readable-stream: 3.6.0 | |
| 1842 | - dev: true | |
| 1843 | - | |
| 1844 | - /bl/5.1.0: | |
| 1845 | - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} | |
| 1846 | - dependencies: | |
| 1847 | - buffer: 6.0.3 | |
| 1848 | - inherits: 2.0.4 | |
| 1849 | - readable-stream: 3.6.0 | |
| 1850 | - dev: true | |
| 1851 | - | |
| 1852 | 1913 | /bluebird/3.7.2: |
| 1853 | 1914 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} |
| 1854 | 1915 | dev: true |
| ... | ... | @@ -1860,12 +1921,18 @@ packages: |
| 1860 | 1921 | /brace-expansion/1.1.11: |
| 1861 | 1922 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} |
| 1862 | 1923 | dependencies: |
| 1863 | - balanced-match: registry.npmmirror.com/balanced-match/1.0.2 | |
| 1924 | + balanced-match: 1.0.2 | |
| 1864 | 1925 | concat-map: 0.0.1 |
| 1865 | 1926 | dev: true |
| 1866 | 1927 | |
| 1928 | + /brace-expansion/2.0.1: | |
| 1929 | + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} | |
| 1930 | + dependencies: | |
| 1931 | + balanced-match: 1.0.2 | |
| 1932 | + dev: true | |
| 1933 | + | |
| 1867 | 1934 | /braces/2.3.2: |
| 1868 | - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} | |
| 1935 | + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, registry: https://registry.npm.taobao.org/} | |
| 1869 | 1936 | engines: {node: '>=0.10.0'} |
| 1870 | 1937 | dependencies: |
| 1871 | 1938 | arr-flatten: 1.1.0 |
| ... | ... | @@ -1904,20 +1971,6 @@ packages: |
| 1904 | 1971 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} |
| 1905 | 1972 | dev: true |
| 1906 | 1973 | |
| 1907 | - /buffer/5.7.1: | |
| 1908 | - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} | |
| 1909 | - dependencies: | |
| 1910 | - base64-js: 1.5.1 | |
| 1911 | - ieee754: 1.2.1 | |
| 1912 | - dev: true | |
| 1913 | - | |
| 1914 | - /buffer/6.0.3: | |
| 1915 | - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} | |
| 1916 | - dependencies: | |
| 1917 | - base64-js: 1.5.1 | |
| 1918 | - ieee754: 1.2.1 | |
| 1919 | - dev: true | |
| 1920 | - | |
| 1921 | 1974 | /cache-base/1.0.1: |
| 1922 | 1975 | resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} |
| 1923 | 1976 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -2010,11 +2063,6 @@ packages: |
| 2010 | 2063 | supports-color: 7.2.0 |
| 2011 | 2064 | dev: true |
| 2012 | 2065 | |
| 2013 | - /chalk/5.1.2: | |
| 2014 | - resolution: {integrity: sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==} | |
| 2015 | - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} | |
| 2016 | - dev: true | |
| 2017 | - | |
| 2018 | 2066 | /change-case/4.1.2: |
| 2019 | 2067 | resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} |
| 2020 | 2068 | dependencies: |
| ... | ... | @@ -2032,10 +2080,6 @@ packages: |
| 2032 | 2080 | tslib: 2.4.1 |
| 2033 | 2081 | dev: true |
| 2034 | 2082 | |
| 2035 | - /chardet/0.7.0: | |
| 2036 | - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} | |
| 2037 | - dev: true | |
| 2038 | - | |
| 2039 | 2083 | /chokidar/3.5.3: |
| 2040 | 2084 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} |
| 2041 | 2085 | engines: {node: '>= 8.10.0'} |
| ... | ... | @@ -2048,7 +2092,7 @@ packages: |
| 2048 | 2092 | normalize-path: 3.0.0 |
| 2049 | 2093 | readdirp: 3.6.0 |
| 2050 | 2094 | optionalDependencies: |
| 2051 | - fsevents: registry.npmmirror.com/fsevents/2.3.2 | |
| 2095 | + fsevents: 2.3.2 | |
| 2052 | 2096 | dev: true |
| 2053 | 2097 | |
| 2054 | 2098 | /class-utils/0.3.6: |
| ... | ... | @@ -2061,13 +2105,6 @@ packages: |
| 2061 | 2105 | static-extend: 0.1.2 |
| 2062 | 2106 | dev: true |
| 2063 | 2107 | |
| 2064 | - /clean-css/5.3.1: | |
| 2065 | - resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} | |
| 2066 | - engines: {node: '>= 10.0'} | |
| 2067 | - dependencies: | |
| 2068 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 2069 | - dev: true | |
| 2070 | - | |
| 2071 | 2108 | /clean-stack/2.2.0: |
| 2072 | 2109 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} |
| 2073 | 2110 | engines: {node: '>=6'} |
| ... | ... | @@ -2080,18 +2117,6 @@ packages: |
| 2080 | 2117 | restore-cursor: 3.1.0 |
| 2081 | 2118 | dev: true |
| 2082 | 2119 | |
| 2083 | - /cli-cursor/4.0.0: | |
| 2084 | - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} | |
| 2085 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 2086 | - dependencies: | |
| 2087 | - restore-cursor: 4.0.0 | |
| 2088 | - dev: true | |
| 2089 | - | |
| 2090 | - /cli-spinners/2.7.0: | |
| 2091 | - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} | |
| 2092 | - engines: {node: '>=6'} | |
| 2093 | - dev: true | |
| 2094 | - | |
| 2095 | 2120 | /cli-truncate/2.1.0: |
| 2096 | 2121 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} |
| 2097 | 2122 | engines: {node: '>=8'} |
| ... | ... | @@ -2108,11 +2133,6 @@ packages: |
| 2108 | 2133 | string-width: 5.1.2 |
| 2109 | 2134 | dev: true |
| 2110 | 2135 | |
| 2111 | - /cli-width/3.0.0: | |
| 2112 | - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} | |
| 2113 | - engines: {node: '>= 10'} | |
| 2114 | - dev: true | |
| 2115 | - | |
| 2116 | 2136 | /cliui/6.0.0: |
| 2117 | 2137 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} |
| 2118 | 2138 | dependencies: |
| ... | ... | @@ -2130,11 +2150,6 @@ packages: |
| 2130 | 2150 | wrap-ansi: 7.0.0 |
| 2131 | 2151 | dev: true |
| 2132 | 2152 | |
| 2133 | - /clone/1.0.4: | |
| 2134 | - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} | |
| 2135 | - engines: {node: '>=0.8'} | |
| 2136 | - dev: true | |
| 2137 | - | |
| 2138 | 2153 | /clone/2.1.2: |
| 2139 | 2154 | resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} |
| 2140 | 2155 | engines: {node: '>=0.8'} |
| ... | ... | @@ -2176,7 +2191,7 @@ packages: |
| 2176 | 2191 | dev: true |
| 2177 | 2192 | |
| 2178 | 2193 | /combined-stream/1.0.8: |
| 2179 | - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} | |
| 2194 | + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: https://registry.npm.taobao.org/} | |
| 2180 | 2195 | engines: {node: '>= 0.8'} |
| 2181 | 2196 | dependencies: |
| 2182 | 2197 | delayed-stream: 1.0.0 |
| ... | ... | @@ -2191,11 +2206,6 @@ packages: |
| 2191 | 2206 | engines: {node: '>= 10'} |
| 2192 | 2207 | dev: true |
| 2193 | 2208 | |
| 2194 | - /commander/8.3.0: | |
| 2195 | - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} | |
| 2196 | - engines: {node: '>= 12'} | |
| 2197 | - dev: true | |
| 2198 | - | |
| 2199 | 2209 | /commander/9.4.1: |
| 2200 | 2210 | resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} |
| 2201 | 2211 | engines: {node: ^12.20.0 || >=14} |
| ... | ... | @@ -2220,11 +2230,6 @@ packages: |
| 2220 | 2230 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} |
| 2221 | 2231 | dev: true |
| 2222 | 2232 | |
| 2223 | - /connect-history-api-fallback/1.6.0: | |
| 2224 | - resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} | |
| 2225 | - engines: {node: '>=0.8'} | |
| 2226 | - dev: true | |
| 2227 | - | |
| 2228 | 2233 | /consola/2.15.3: |
| 2229 | 2234 | resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} |
| 2230 | 2235 | dev: true |
| ... | ... | @@ -2280,6 +2285,11 @@ packages: |
| 2280 | 2285 | engines: {node: '>=0.10.0'} |
| 2281 | 2286 | dev: true |
| 2282 | 2287 | |
| 2288 | + /core-js/3.26.1: | |
| 2289 | + resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==} | |
| 2290 | + requiresBuild: true | |
| 2291 | + dev: true | |
| 2292 | + | |
| 2283 | 2293 | /cors/2.8.5: |
| 2284 | 2294 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} |
| 2285 | 2295 | engines: {node: '>= 0.10'} |
| ... | ... | @@ -2359,7 +2369,7 @@ packages: |
| 2359 | 2369 | engines: {node: '>=8.0.0'} |
| 2360 | 2370 | dependencies: |
| 2361 | 2371 | mdn-data: 2.0.14 |
| 2362 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 2372 | + source-map: 0.6.1 | |
| 2363 | 2373 | dev: true |
| 2364 | 2374 | |
| 2365 | 2375 | /css-what/6.1.0: |
| ... | ... | @@ -2395,12 +2405,16 @@ packages: |
| 2395 | 2405 | engines: {node: '>=8'} |
| 2396 | 2406 | dev: true |
| 2397 | 2407 | |
| 2398 | - /dayjs/1.11.6: | |
| 2399 | - resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} | |
| 2408 | + /dayjs/1.11.7: | |
| 2409 | + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==, registry: https://registry.npm.taobao.org/} | |
| 2400 | 2410 | dev: false |
| 2401 | 2411 | |
| 2412 | + /de-indent/1.0.2: | |
| 2413 | + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} | |
| 2414 | + dev: true | |
| 2415 | + | |
| 2402 | 2416 | /debug/2.6.9: |
| 2403 | - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} | |
| 2417 | + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, registry: https://registry.npm.taobao.org/} | |
| 2404 | 2418 | peerDependencies: |
| 2405 | 2419 | supports-color: '*' |
| 2406 | 2420 | peerDependenciesMeta: |
| ... | ... | @@ -2443,12 +2457,6 @@ packages: |
| 2443 | 2457 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} |
| 2444 | 2458 | dev: true |
| 2445 | 2459 | |
| 2446 | - /defaults/1.0.4: | |
| 2447 | - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} | |
| 2448 | - dependencies: | |
| 2449 | - clone: 1.0.4 | |
| 2450 | - dev: true | |
| 2451 | - | |
| 2452 | 2460 | /define-property/0.2.5: |
| 2453 | 2461 | resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} |
| 2454 | 2462 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -2471,30 +2479,11 @@ packages: |
| 2471 | 2479 | isobject: 3.0.1 |
| 2472 | 2480 | dev: true |
| 2473 | 2481 | |
| 2474 | - /del/6.1.1: | |
| 2475 | - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} | |
| 2476 | - engines: {node: '>=10'} | |
| 2477 | - dependencies: | |
| 2478 | - globby: 11.1.0 | |
| 2479 | - graceful-fs: 4.2.10 | |
| 2480 | - is-glob: 4.0.3 | |
| 2481 | - is-path-cwd: 2.2.0 | |
| 2482 | - is-path-inside: 3.0.3 | |
| 2483 | - p-map: 4.0.0 | |
| 2484 | - rimraf: 3.0.2 | |
| 2485 | - slash: 3.0.0 | |
| 2486 | - dev: true | |
| 2487 | - | |
| 2488 | 2482 | /delayed-stream/1.0.0: |
| 2489 | - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} | |
| 2483 | + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npm.taobao.org/} | |
| 2490 | 2484 | engines: {node: '>=0.4.0'} |
| 2491 | 2485 | dev: false |
| 2492 | 2486 | |
| 2493 | - /detect-file/1.0.0: | |
| 2494 | - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} | |
| 2495 | - engines: {node: '>=0.10.0'} | |
| 2496 | - dev: true | |
| 2497 | - | |
| 2498 | 2487 | /diff/4.0.2: |
| 2499 | 2488 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} |
| 2500 | 2489 | engines: {node: '>=0.3.1'} |
| ... | ... | @@ -2612,16 +2601,6 @@ packages: |
| 2612 | 2601 | is-obj: 2.0.0 |
| 2613 | 2602 | dev: true |
| 2614 | 2603 | |
| 2615 | - /dotenv-expand/8.0.3: | |
| 2616 | - resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==} | |
| 2617 | - engines: {node: '>=12'} | |
| 2618 | - dev: true | |
| 2619 | - | |
| 2620 | - /dotenv/16.0.3: | |
| 2621 | - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} | |
| 2622 | - engines: {node: '>=12'} | |
| 2623 | - dev: true | |
| 2624 | - | |
| 2625 | 2604 | /eastasianwidth/0.2.0: |
| 2626 | 2605 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} |
| 2627 | 2606 | dev: true |
| ... | ... | @@ -2653,20 +2632,20 @@ packages: |
| 2653 | 2632 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} |
| 2654 | 2633 | dev: true |
| 2655 | 2634 | |
| 2656 | - /element-plus/2.2.25_vue@3.2.45: | |
| 2657 | - resolution: {integrity: sha512-HC8CWY31e6pPyBpgqI0QnWkBgs0vRzdYnEw3mpdM/NlKfp0PtNFX7NESQLomqoIulH5ftL09hjQmJNvZBQpthQ==} | |
| 2635 | + /element-plus/2.2.26_vue@3.2.45: | |
| 2636 | + resolution: {integrity: sha512-O/rdY5m9DkclpVg8r3GynyqCunm7MxSR142xSsjrZA77bi7bcwA3SIy6SPEDqHi5R4KqgkGYgKSp4Q4e3irbYg==} | |
| 2658 | 2637 | peerDependencies: |
| 2659 | 2638 | vue: ^3.2.0 |
| 2660 | 2639 | dependencies: |
| 2661 | 2640 | '@ctrl/tinycolor': 3.4.1 |
| 2662 | 2641 | '@element-plus/icons-vue': 2.0.10_vue@3.2.45 |
| 2663 | 2642 | '@floating-ui/dom': 1.0.6 |
| 2664 | - '@popperjs/core': registry.npmmirror.com/@sxzz/popperjs-es/2.11.7 | |
| 2643 | + '@popperjs/core': /@sxzz/popperjs-es/2.11.7 | |
| 2665 | 2644 | '@types/lodash': 4.14.189 |
| 2666 | 2645 | '@types/lodash-es': 4.17.6 |
| 2667 | 2646 | '@vueuse/core': 9.6.0_vue@3.2.45 |
| 2668 | 2647 | async-validator: 4.2.5 |
| 2669 | - dayjs: 1.11.6 | |
| 2648 | + dayjs: 1.11.7 | |
| 2670 | 2649 | escape-html: 1.0.3 |
| 2671 | 2650 | lodash: 4.17.21 |
| 2672 | 2651 | lodash-es: 4.17.21 |
| ... | ... | @@ -2742,70 +2721,250 @@ packages: |
| 2742 | 2721 | ext: 1.7.0 |
| 2743 | 2722 | dev: false |
| 2744 | 2723 | |
| 2745 | - /esbuild/0.15.14: | |
| 2746 | - resolution: {integrity: sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==} | |
| 2724 | + /esbuild-android-64/0.15.14: | |
| 2725 | + resolution: {integrity: sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==} | |
| 2747 | 2726 | engines: {node: '>=12'} |
| 2748 | - hasBin: true | |
| 2727 | + cpu: [x64] | |
| 2728 | + os: [android] | |
| 2749 | 2729 | requiresBuild: true |
| 2750 | - optionalDependencies: | |
| 2751 | - '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.15.14 | |
| 2752 | - '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.15.14 | |
| 2753 | - esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.15.14 | |
| 2754 | - esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.15.14 | |
| 2755 | - esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.15.14 | |
| 2756 | - esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.15.14 | |
| 2757 | - esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.15.14 | |
| 2758 | - esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.15.14 | |
| 2759 | - esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.15.14 | |
| 2760 | - esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.15.14 | |
| 2761 | - esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.15.14 | |
| 2762 | - esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.15.14 | |
| 2763 | - esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.15.14 | |
| 2764 | - esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.15.14 | |
| 2765 | - esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.15.14 | |
| 2766 | - esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.15.14 | |
| 2767 | - esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.15.14 | |
| 2768 | - esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.15.14 | |
| 2769 | - esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.15.14 | |
| 2770 | - esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.15.14 | |
| 2771 | - esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.15.14 | |
| 2772 | - esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.15.14 | |
| 2773 | 2730 | dev: true |
| 2731 | + optional: true | |
| 2774 | 2732 | |
| 2775 | - /escalade/3.1.1: | |
| 2776 | - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} | |
| 2777 | - engines: {node: '>=6'} | |
| 2733 | + /esbuild-android-arm64/0.15.14: | |
| 2734 | + resolution: {integrity: sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==} | |
| 2735 | + engines: {node: '>=12'} | |
| 2736 | + cpu: [arm64] | |
| 2737 | + os: [android] | |
| 2738 | + requiresBuild: true | |
| 2778 | 2739 | dev: true |
| 2740 | + optional: true | |
| 2779 | 2741 | |
| 2780 | - /escape-html/1.0.3: | |
| 2781 | - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} | |
| 2782 | - dev: false | |
| 2742 | + /esbuild-darwin-64/0.15.14: | |
| 2743 | + resolution: {integrity: sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==} | |
| 2744 | + engines: {node: '>=12'} | |
| 2745 | + cpu: [x64] | |
| 2746 | + os: [darwin] | |
| 2747 | + requiresBuild: true | |
| 2748 | + dev: true | |
| 2749 | + optional: true | |
| 2783 | 2750 | |
| 2784 | - /escape-string-regexp/1.0.5: | |
| 2785 | - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} | |
| 2786 | - engines: {node: '>=0.8.0'} | |
| 2751 | + /esbuild-darwin-arm64/0.15.14: | |
| 2752 | + resolution: {integrity: sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==} | |
| 2753 | + engines: {node: '>=12'} | |
| 2754 | + cpu: [arm64] | |
| 2755 | + os: [darwin] | |
| 2756 | + requiresBuild: true | |
| 2787 | 2757 | dev: true |
| 2758 | + optional: true | |
| 2788 | 2759 | |
| 2789 | - /escape-string-regexp/4.0.0: | |
| 2790 | - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} | |
| 2791 | - engines: {node: '>=10'} | |
| 2760 | + /esbuild-freebsd-64/0.15.14: | |
| 2761 | + resolution: {integrity: sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==} | |
| 2762 | + engines: {node: '>=12'} | |
| 2763 | + cpu: [x64] | |
| 2764 | + os: [freebsd] | |
| 2765 | + requiresBuild: true | |
| 2792 | 2766 | dev: true |
| 2767 | + optional: true | |
| 2793 | 2768 | |
| 2794 | - /eslint-config-prettier/8.5.0_eslint@8.28.0: | |
| 2795 | - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} | |
| 2796 | - hasBin: true | |
| 2797 | - peerDependencies: | |
| 2798 | - eslint: '>=7.0.0' | |
| 2799 | - dependencies: | |
| 2800 | - eslint: 8.28.0 | |
| 2769 | + /esbuild-freebsd-arm64/0.15.14: | |
| 2770 | + resolution: {integrity: sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==} | |
| 2771 | + engines: {node: '>=12'} | |
| 2772 | + cpu: [arm64] | |
| 2773 | + os: [freebsd] | |
| 2774 | + requiresBuild: true | |
| 2801 | 2775 | dev: true |
| 2776 | + optional: true | |
| 2802 | 2777 | |
| 2803 | - /eslint-define-config/1.12.0: | |
| 2804 | - resolution: {integrity: sha512-Kt9TcMbgsY9VRt7jIuw76KE/2RuD31eWB4Ubv6btXgU8NTSsbT6gZ8qzeiU+rAih/8sOl8Kt89spAZBMElu6qQ==} | |
| 2805 | - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13', pnpm: '>= 7.0.0'} | |
| 2778 | + /esbuild-linux-32/0.15.14: | |
| 2779 | + resolution: {integrity: sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==} | |
| 2780 | + engines: {node: '>=12'} | |
| 2781 | + cpu: [ia32] | |
| 2782 | + os: [linux] | |
| 2783 | + requiresBuild: true | |
| 2806 | 2784 | dev: true |
| 2785 | + optional: true | |
| 2807 | 2786 | |
| 2808 | - /eslint-plugin-prettier/4.2.1_cwlo2dingkvfydnaculr42urve: | |
| 2787 | + /esbuild-linux-64/0.15.14: | |
| 2788 | + resolution: {integrity: sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==} | |
| 2789 | + engines: {node: '>=12'} | |
| 2790 | + cpu: [x64] | |
| 2791 | + os: [linux] | |
| 2792 | + requiresBuild: true | |
| 2793 | + dev: true | |
| 2794 | + optional: true | |
| 2795 | + | |
| 2796 | + /esbuild-linux-arm/0.15.14: | |
| 2797 | + resolution: {integrity: sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==} | |
| 2798 | + engines: {node: '>=12'} | |
| 2799 | + cpu: [arm] | |
| 2800 | + os: [linux] | |
| 2801 | + requiresBuild: true | |
| 2802 | + dev: true | |
| 2803 | + optional: true | |
| 2804 | + | |
| 2805 | + /esbuild-linux-arm64/0.15.14: | |
| 2806 | + resolution: {integrity: sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==} | |
| 2807 | + engines: {node: '>=12'} | |
| 2808 | + cpu: [arm64] | |
| 2809 | + os: [linux] | |
| 2810 | + requiresBuild: true | |
| 2811 | + dev: true | |
| 2812 | + optional: true | |
| 2813 | + | |
| 2814 | + /esbuild-linux-mips64le/0.15.14: | |
| 2815 | + resolution: {integrity: sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==} | |
| 2816 | + engines: {node: '>=12'} | |
| 2817 | + cpu: [mips64el] | |
| 2818 | + os: [linux] | |
| 2819 | + requiresBuild: true | |
| 2820 | + dev: true | |
| 2821 | + optional: true | |
| 2822 | + | |
| 2823 | + /esbuild-linux-ppc64le/0.15.14: | |
| 2824 | + resolution: {integrity: sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==} | |
| 2825 | + engines: {node: '>=12'} | |
| 2826 | + cpu: [ppc64] | |
| 2827 | + os: [linux] | |
| 2828 | + requiresBuild: true | |
| 2829 | + dev: true | |
| 2830 | + optional: true | |
| 2831 | + | |
| 2832 | + /esbuild-linux-riscv64/0.15.14: | |
| 2833 | + resolution: {integrity: sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==} | |
| 2834 | + engines: {node: '>=12'} | |
| 2835 | + cpu: [riscv64] | |
| 2836 | + os: [linux] | |
| 2837 | + requiresBuild: true | |
| 2838 | + dev: true | |
| 2839 | + optional: true | |
| 2840 | + | |
| 2841 | + /esbuild-linux-s390x/0.15.14: | |
| 2842 | + resolution: {integrity: sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==} | |
| 2843 | + engines: {node: '>=12'} | |
| 2844 | + cpu: [s390x] | |
| 2845 | + os: [linux] | |
| 2846 | + requiresBuild: true | |
| 2847 | + dev: true | |
| 2848 | + optional: true | |
| 2849 | + | |
| 2850 | + /esbuild-netbsd-64/0.15.14: | |
| 2851 | + resolution: {integrity: sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==} | |
| 2852 | + engines: {node: '>=12'} | |
| 2853 | + cpu: [x64] | |
| 2854 | + os: [netbsd] | |
| 2855 | + requiresBuild: true | |
| 2856 | + dev: true | |
| 2857 | + optional: true | |
| 2858 | + | |
| 2859 | + /esbuild-openbsd-64/0.15.14: | |
| 2860 | + resolution: {integrity: sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==} | |
| 2861 | + engines: {node: '>=12'} | |
| 2862 | + cpu: [x64] | |
| 2863 | + os: [openbsd] | |
| 2864 | + requiresBuild: true | |
| 2865 | + dev: true | |
| 2866 | + optional: true | |
| 2867 | + | |
| 2868 | + /esbuild-sunos-64/0.15.14: | |
| 2869 | + resolution: {integrity: sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==} | |
| 2870 | + engines: {node: '>=12'} | |
| 2871 | + cpu: [x64] | |
| 2872 | + os: [sunos] | |
| 2873 | + requiresBuild: true | |
| 2874 | + dev: true | |
| 2875 | + optional: true | |
| 2876 | + | |
| 2877 | + /esbuild-windows-32/0.15.14: | |
| 2878 | + resolution: {integrity: sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==} | |
| 2879 | + engines: {node: '>=12'} | |
| 2880 | + cpu: [ia32] | |
| 2881 | + os: [win32] | |
| 2882 | + requiresBuild: true | |
| 2883 | + dev: true | |
| 2884 | + optional: true | |
| 2885 | + | |
| 2886 | + /esbuild-windows-64/0.15.14: | |
| 2887 | + resolution: {integrity: sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==} | |
| 2888 | + engines: {node: '>=12'} | |
| 2889 | + cpu: [x64] | |
| 2890 | + os: [win32] | |
| 2891 | + requiresBuild: true | |
| 2892 | + dev: true | |
| 2893 | + optional: true | |
| 2894 | + | |
| 2895 | + /esbuild-windows-arm64/0.15.14: | |
| 2896 | + resolution: {integrity: sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==} | |
| 2897 | + engines: {node: '>=12'} | |
| 2898 | + cpu: [arm64] | |
| 2899 | + os: [win32] | |
| 2900 | + requiresBuild: true | |
| 2901 | + dev: true | |
| 2902 | + optional: true | |
| 2903 | + | |
| 2904 | + /esbuild/0.15.14: | |
| 2905 | + resolution: {integrity: sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==} | |
| 2906 | + engines: {node: '>=12'} | |
| 2907 | + hasBin: true | |
| 2908 | + requiresBuild: true | |
| 2909 | + optionalDependencies: | |
| 2910 | + '@esbuild/android-arm': 0.15.14 | |
| 2911 | + '@esbuild/linux-loong64': 0.15.14 | |
| 2912 | + esbuild-android-64: 0.15.14 | |
| 2913 | + esbuild-android-arm64: 0.15.14 | |
| 2914 | + esbuild-darwin-64: 0.15.14 | |
| 2915 | + esbuild-darwin-arm64: 0.15.14 | |
| 2916 | + esbuild-freebsd-64: 0.15.14 | |
| 2917 | + esbuild-freebsd-arm64: 0.15.14 | |
| 2918 | + esbuild-linux-32: 0.15.14 | |
| 2919 | + esbuild-linux-64: 0.15.14 | |
| 2920 | + esbuild-linux-arm: 0.15.14 | |
| 2921 | + esbuild-linux-arm64: 0.15.14 | |
| 2922 | + esbuild-linux-mips64le: 0.15.14 | |
| 2923 | + esbuild-linux-ppc64le: 0.15.14 | |
| 2924 | + esbuild-linux-riscv64: 0.15.14 | |
| 2925 | + esbuild-linux-s390x: 0.15.14 | |
| 2926 | + esbuild-netbsd-64: 0.15.14 | |
| 2927 | + esbuild-openbsd-64: 0.15.14 | |
| 2928 | + esbuild-sunos-64: 0.15.14 | |
| 2929 | + esbuild-windows-32: 0.15.14 | |
| 2930 | + esbuild-windows-64: 0.15.14 | |
| 2931 | + esbuild-windows-arm64: 0.15.14 | |
| 2932 | + dev: true | |
| 2933 | + | |
| 2934 | + /escalade/3.1.1: | |
| 2935 | + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} | |
| 2936 | + engines: {node: '>=6'} | |
| 2937 | + dev: true | |
| 2938 | + | |
| 2939 | + /escape-html/1.0.3: | |
| 2940 | + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} | |
| 2941 | + dev: false | |
| 2942 | + | |
| 2943 | + /escape-string-regexp/1.0.5: | |
| 2944 | + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} | |
| 2945 | + engines: {node: '>=0.8.0'} | |
| 2946 | + dev: true | |
| 2947 | + | |
| 2948 | + /escape-string-regexp/4.0.0: | |
| 2949 | + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} | |
| 2950 | + engines: {node: '>=10'} | |
| 2951 | + dev: true | |
| 2952 | + | |
| 2953 | + /eslint-config-prettier/8.5.0_eslint@8.29.0: | |
| 2954 | + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} | |
| 2955 | + hasBin: true | |
| 2956 | + peerDependencies: | |
| 2957 | + eslint: '>=7.0.0' | |
| 2958 | + dependencies: | |
| 2959 | + eslint: 8.29.0 | |
| 2960 | + dev: true | |
| 2961 | + | |
| 2962 | + /eslint-define-config/1.12.0: | |
| 2963 | + resolution: {integrity: sha512-Kt9TcMbgsY9VRt7jIuw76KE/2RuD31eWB4Ubv6btXgU8NTSsbT6gZ8qzeiU+rAih/8sOl8Kt89spAZBMElu6qQ==} | |
| 2964 | + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13', pnpm: '>= 7.0.0'} | |
| 2965 | + dev: true | |
| 2966 | + | |
| 2967 | + /eslint-plugin-prettier/4.2.1_nrhoyyjffvfyk4vtlt5destxgm: | |
| 2809 | 2968 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} |
| 2810 | 2969 | engines: {node: '>=12.0.0'} |
| 2811 | 2970 | peerDependencies: |
| ... | ... | @@ -2816,32 +2975,32 @@ packages: |
| 2816 | 2975 | eslint-config-prettier: |
| 2817 | 2976 | optional: true |
| 2818 | 2977 | dependencies: |
| 2819 | - eslint: 8.28.0 | |
| 2820 | - eslint-config-prettier: 8.5.0_eslint@8.28.0 | |
| 2978 | + eslint: 8.29.0 | |
| 2979 | + eslint-config-prettier: 8.5.0_eslint@8.29.0 | |
| 2821 | 2980 | prettier: 2.8.0 |
| 2822 | 2981 | prettier-linter-helpers: 1.0.0 |
| 2823 | 2982 | dev: true |
| 2824 | 2983 | |
| 2825 | - /eslint-plugin-vue/9.8.0_eslint@8.28.0: | |
| 2984 | + /eslint-plugin-vue/9.8.0_eslint@8.29.0: | |
| 2826 | 2985 | resolution: {integrity: sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==} |
| 2827 | 2986 | engines: {node: ^14.17.0 || >=16.0.0} |
| 2828 | 2987 | peerDependencies: |
| 2829 | 2988 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 |
| 2830 | 2989 | dependencies: |
| 2831 | - eslint: 8.28.0 | |
| 2832 | - eslint-utils: 3.0.0_eslint@8.28.0 | |
| 2990 | + eslint: 8.29.0 | |
| 2991 | + eslint-utils: 3.0.0_eslint@8.29.0 | |
| 2833 | 2992 | natural-compare: 1.4.0 |
| 2834 | 2993 | nth-check: 2.1.1 |
| 2835 | 2994 | postcss-selector-parser: 6.0.10 |
| 2836 | 2995 | semver: 7.3.8 |
| 2837 | - vue-eslint-parser: 9.1.0_eslint@8.28.0 | |
| 2996 | + vue-eslint-parser: 9.1.0_eslint@8.29.0 | |
| 2838 | 2997 | xml-name-validator: 4.0.0 |
| 2839 | 2998 | transitivePeerDependencies: |
| 2840 | 2999 | - supports-color |
| 2841 | 3000 | dev: true |
| 2842 | 3001 | |
| 2843 | 3002 | /eslint-scope/5.1.1: |
| 2844 | - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} | |
| 3003 | + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, registry: https://registry.npm.taobao.org/} | |
| 2845 | 3004 | engines: {node: '>=8.0.0'} |
| 2846 | 3005 | dependencies: |
| 2847 | 3006 | esrecurse: 4.3.0 |
| ... | ... | @@ -2857,24 +3016,24 @@ packages: |
| 2857 | 3016 | dev: true |
| 2858 | 3017 | |
| 2859 | 3018 | /eslint-utils/2.1.0: |
| 2860 | - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} | |
| 3019 | + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==, registry: https://registry.npm.taobao.org/} | |
| 2861 | 3020 | engines: {node: '>=6'} |
| 2862 | 3021 | dependencies: |
| 2863 | 3022 | eslint-visitor-keys: 1.3.0 |
| 2864 | 3023 | dev: true |
| 2865 | 3024 | |
| 2866 | - /eslint-utils/3.0.0_eslint@8.28.0: | |
| 3025 | + /eslint-utils/3.0.0_eslint@8.29.0: | |
| 2867 | 3026 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} |
| 2868 | 3027 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} |
| 2869 | 3028 | peerDependencies: |
| 2870 | 3029 | eslint: '>=5' |
| 2871 | 3030 | dependencies: |
| 2872 | - eslint: 8.28.0 | |
| 3031 | + eslint: 8.29.0 | |
| 2873 | 3032 | eslint-visitor-keys: 2.1.0 |
| 2874 | 3033 | dev: true |
| 2875 | 3034 | |
| 2876 | 3035 | /eslint-visitor-keys/1.3.0: |
| 2877 | - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} | |
| 3036 | + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==, registry: https://registry.npm.taobao.org/} | |
| 2878 | 3037 | engines: {node: '>=4'} |
| 2879 | 3038 | dev: true |
| 2880 | 3039 | |
| ... | ... | @@ -2888,8 +3047,8 @@ packages: |
| 2888 | 3047 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2889 | 3048 | dev: true |
| 2890 | 3049 | |
| 2891 | - /eslint/8.28.0: | |
| 2892 | - resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==} | |
| 3050 | + /eslint/8.29.0: | |
| 3051 | + resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} | |
| 2893 | 3052 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2894 | 3053 | hasBin: true |
| 2895 | 3054 | dependencies: |
| ... | ... | @@ -2904,7 +3063,7 @@ packages: |
| 2904 | 3063 | doctrine: 3.0.0 |
| 2905 | 3064 | escape-string-regexp: 4.0.0 |
| 2906 | 3065 | eslint-scope: 7.1.1 |
| 2907 | - eslint-utils: 3.0.0_eslint@8.28.0 | |
| 3066 | + eslint-utils: 3.0.0_eslint@8.29.0 | |
| 2908 | 3067 | eslint-visitor-keys: 3.3.0 |
| 2909 | 3068 | espree: 9.4.1 |
| 2910 | 3069 | esquery: 1.4.0 |
| ... | ... | @@ -2969,7 +3128,7 @@ packages: |
| 2969 | 3128 | dev: true |
| 2970 | 3129 | |
| 2971 | 3130 | /estraverse/4.3.0: |
| 2972 | - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} | |
| 3131 | + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, registry: https://registry.npm.taobao.org/} | |
| 2973 | 3132 | engines: {node: '>=4.0'} |
| 2974 | 3133 | dev: true |
| 2975 | 3134 | |
| ... | ... | @@ -3043,13 +3202,6 @@ packages: |
| 3043 | 3202 | - supports-color |
| 3044 | 3203 | dev: true |
| 3045 | 3204 | |
| 3046 | - /expand-tilde/2.0.2: | |
| 3047 | - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} | |
| 3048 | - engines: {node: '>=0.10.0'} | |
| 3049 | - dependencies: | |
| 3050 | - homedir-polyfill: 1.0.3 | |
| 3051 | - dev: true | |
| 3052 | - | |
| 3053 | 3205 | /ext/1.7.0: |
| 3054 | 3206 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} |
| 3055 | 3207 | dependencies: |
| ... | ... | @@ -3071,19 +3223,6 @@ packages: |
| 3071 | 3223 | is-extendable: 1.0.1 |
| 3072 | 3224 | dev: true |
| 3073 | 3225 | |
| 3074 | - /extend/3.0.2: | |
| 3075 | - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} | |
| 3076 | - dev: true | |
| 3077 | - | |
| 3078 | - /external-editor/3.1.0: | |
| 3079 | - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} | |
| 3080 | - engines: {node: '>=4'} | |
| 3081 | - dependencies: | |
| 3082 | - chardet: 0.7.0 | |
| 3083 | - iconv-lite: 0.4.24 | |
| 3084 | - tmp: 0.0.33 | |
| 3085 | - dev: true | |
| 3086 | - | |
| 3087 | 3226 | /extglob/2.0.4: |
| 3088 | 3227 | resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} |
| 3089 | 3228 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -3138,13 +3277,6 @@ packages: |
| 3138 | 3277 | reusify: 1.0.4 |
| 3139 | 3278 | dev: true |
| 3140 | 3279 | |
| 3141 | - /figures/3.2.0: | |
| 3142 | - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} | |
| 3143 | - engines: {node: '>=8'} | |
| 3144 | - dependencies: | |
| 3145 | - escape-string-regexp: 1.0.5 | |
| 3146 | - dev: true | |
| 3147 | - | |
| 3148 | 3280 | /file-entry-cache/6.0.1: |
| 3149 | 3281 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} |
| 3150 | 3282 | engines: {node: ^10.12.0 || >=12.0.0} |
| ... | ... | @@ -3155,11 +3287,11 @@ packages: |
| 3155 | 3287 | /filelist/1.0.4: |
| 3156 | 3288 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} |
| 3157 | 3289 | dependencies: |
| 3158 | - minimatch: registry.npmmirror.com/minimatch/5.1.0 | |
| 3290 | + minimatch: 5.1.0 | |
| 3159 | 3291 | dev: true |
| 3160 | 3292 | |
| 3161 | 3293 | /fill-range/4.0.0: |
| 3162 | - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} | |
| 3294 | + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==, registry: https://registry.npm.taobao.org/} | |
| 3163 | 3295 | engines: {node: '>=0.10.0'} |
| 3164 | 3296 | dependencies: |
| 3165 | 3297 | extend-shallow: 2.0.1 |
| ... | ... | @@ -3169,7 +3301,7 @@ packages: |
| 3169 | 3301 | dev: true |
| 3170 | 3302 | |
| 3171 | 3303 | /fill-range/7.0.1: |
| 3172 | - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} | |
| 3304 | + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/} | |
| 3173 | 3305 | engines: {node: '>=8'} |
| 3174 | 3306 | dependencies: |
| 3175 | 3307 | to-regex-range: 5.0.1 |
| ... | ... | @@ -3190,32 +3322,6 @@ packages: |
| 3190 | 3322 | path-exists: 4.0.0 |
| 3191 | 3323 | dev: true |
| 3192 | 3324 | |
| 3193 | - /findup-sync/5.0.0: | |
| 3194 | - resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} | |
| 3195 | - engines: {node: '>= 10.13.0'} | |
| 3196 | - dependencies: | |
| 3197 | - detect-file: 1.0.0 | |
| 3198 | - is-glob: 4.0.3 | |
| 3199 | - micromatch: 4.0.5 | |
| 3200 | - resolve-dir: 1.0.1 | |
| 3201 | - dev: true | |
| 3202 | - | |
| 3203 | - /fined/2.0.0: | |
| 3204 | - resolution: {integrity: sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==} | |
| 3205 | - engines: {node: '>= 10.13.0'} | |
| 3206 | - dependencies: | |
| 3207 | - expand-tilde: 2.0.2 | |
| 3208 | - is-plain-object: 5.0.0 | |
| 3209 | - object.defaults: 1.1.0 | |
| 3210 | - object.pick: 1.3.0 | |
| 3211 | - parse-filepath: 1.0.2 | |
| 3212 | - dev: true | |
| 3213 | - | |
| 3214 | - /flagged-respawn/2.0.0: | |
| 3215 | - resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==} | |
| 3216 | - engines: {node: '>= 10.13.0'} | |
| 3217 | - dev: true | |
| 3218 | - | |
| 3219 | 3325 | /flat-cache/3.0.4: |
| 3220 | 3326 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} |
| 3221 | 3327 | engines: {node: ^10.12.0 || >=12.0.0} |
| ... | ... | @@ -3229,7 +3335,7 @@ packages: |
| 3229 | 3335 | dev: true |
| 3230 | 3336 | |
| 3231 | 3337 | /follow-redirects/1.15.2: |
| 3232 | - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} | |
| 3338 | + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, registry: https://registry.npm.taobao.org/} | |
| 3233 | 3339 | engines: {node: '>=4.0'} |
| 3234 | 3340 | peerDependencies: |
| 3235 | 3341 | debug: '*' |
| ... | ... | @@ -3242,15 +3348,8 @@ packages: |
| 3242 | 3348 | engines: {node: '>=0.10.0'} |
| 3243 | 3349 | dev: true |
| 3244 | 3350 | |
| 3245 | - /for-own/1.0.0: | |
| 3246 | - resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} | |
| 3247 | - engines: {node: '>=0.10.0'} | |
| 3248 | - dependencies: | |
| 3249 | - for-in: 1.0.2 | |
| 3250 | - dev: true | |
| 3251 | - | |
| 3252 | 3351 | /form-data/4.0.0: |
| 3253 | - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} | |
| 3352 | + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: https://registry.npm.taobao.org/} | |
| 3254 | 3353 | engines: {node: '>= 6'} |
| 3255 | 3354 | dependencies: |
| 3256 | 3355 | asynckit: 0.4.0 |
| ... | ... | @@ -3282,6 +3381,14 @@ packages: |
| 3282 | 3381 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} |
| 3283 | 3382 | dev: true |
| 3284 | 3383 | |
| 3384 | + /fsevents/2.3.2: | |
| 3385 | + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} | |
| 3386 | + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} | |
| 3387 | + os: [darwin] | |
| 3388 | + requiresBuild: true | |
| 3389 | + dev: true | |
| 3390 | + optional: true | |
| 3391 | + | |
| 3285 | 3392 | /function-bind/1.1.1: |
| 3286 | 3393 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} |
| 3287 | 3394 | |
| ... | ... | @@ -3356,15 +3463,6 @@ packages: |
| 3356 | 3463 | ini: 1.3.8 |
| 3357 | 3464 | dev: true |
| 3358 | 3465 | |
| 3359 | - /global-modules/1.0.0: | |
| 3360 | - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} | |
| 3361 | - engines: {node: '>=0.10.0'} | |
| 3362 | - dependencies: | |
| 3363 | - global-prefix: 1.0.2 | |
| 3364 | - is-windows: 1.0.2 | |
| 3365 | - resolve-dir: 1.0.1 | |
| 3366 | - dev: true | |
| 3367 | - | |
| 3368 | 3466 | /global-modules/2.0.0: |
| 3369 | 3467 | resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} |
| 3370 | 3468 | engines: {node: '>=6'} |
| ... | ... | @@ -3372,17 +3470,6 @@ packages: |
| 3372 | 3470 | global-prefix: 3.0.0 |
| 3373 | 3471 | dev: true |
| 3374 | 3472 | |
| 3375 | - /global-prefix/1.0.2: | |
| 3376 | - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} | |
| 3377 | - engines: {node: '>=0.10.0'} | |
| 3378 | - dependencies: | |
| 3379 | - expand-tilde: 2.0.2 | |
| 3380 | - homedir-polyfill: 1.0.3 | |
| 3381 | - ini: 1.3.8 | |
| 3382 | - is-windows: 1.0.2 | |
| 3383 | - which: 1.3.1 | |
| 3384 | - dev: true | |
| 3385 | - | |
| 3386 | 3473 | /global-prefix/3.0.0: |
| 3387 | 3474 | resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} |
| 3388 | 3475 | engines: {node: '>=6'} |
| ... | ... | @@ -3411,22 +3498,11 @@ packages: |
| 3411 | 3498 | array-union: 2.1.0 |
| 3412 | 3499 | dir-glob: 3.0.1 |
| 3413 | 3500 | fast-glob: 3.2.12 |
| 3414 | - ignore: 5.2.0 | |
| 3501 | + ignore: 5.2.1 | |
| 3415 | 3502 | merge2: 1.4.1 |
| 3416 | 3503 | slash: 3.0.0 |
| 3417 | 3504 | dev: true |
| 3418 | 3505 | |
| 3419 | - /globby/13.1.2: | |
| 3420 | - resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} | |
| 3421 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 3422 | - dependencies: | |
| 3423 | - dir-glob: 3.0.1 | |
| 3424 | - fast-glob: 3.2.12 | |
| 3425 | - ignore: 5.2.0 | |
| 3426 | - merge2: 1.4.1 | |
| 3427 | - slash: 4.0.0 | |
| 3428 | - dev: true | |
| 3429 | - | |
| 3430 | 3506 | /globjoin/0.1.4: |
| 3431 | 3507 | resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} |
| 3432 | 3508 | dev: true |
| ... | ... | @@ -3439,19 +3515,6 @@ packages: |
| 3439 | 3515 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} |
| 3440 | 3516 | dev: true |
| 3441 | 3517 | |
| 3442 | - /handlebars/4.7.7: | |
| 3443 | - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} | |
| 3444 | - engines: {node: '>=0.4.7'} | |
| 3445 | - hasBin: true | |
| 3446 | - dependencies: | |
| 3447 | - minimist: 1.2.7 | |
| 3448 | - neo-async: 2.6.2 | |
| 3449 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 3450 | - wordwrap: 1.0.0 | |
| 3451 | - optionalDependencies: | |
| 3452 | - uglify-js: registry.npmmirror.com/uglify-js/3.17.4 | |
| 3453 | - dev: true | |
| 3454 | - | |
| 3455 | 3518 | /hard-rejection/2.1.0: |
| 3456 | 3519 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} |
| 3457 | 3520 | engines: {node: '>=6'} |
| ... | ... | @@ -3533,13 +3596,6 @@ packages: |
| 3533 | 3596 | tslib: 2.4.1 |
| 3534 | 3597 | dev: true |
| 3535 | 3598 | |
| 3536 | - /homedir-polyfill/1.0.3: | |
| 3537 | - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} | |
| 3538 | - engines: {node: '>=0.10.0'} | |
| 3539 | - dependencies: | |
| 3540 | - parse-passwd: 1.0.0 | |
| 3541 | - dev: true | |
| 3542 | - | |
| 3543 | 3599 | /hosted-git-info/2.8.9: |
| 3544 | 3600 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} |
| 3545 | 3601 | dev: true |
| ... | ... | @@ -3551,20 +3607,6 @@ packages: |
| 3551 | 3607 | lru-cache: 6.0.0 |
| 3552 | 3608 | dev: true |
| 3553 | 3609 | |
| 3554 | - /html-minifier-terser/6.1.0: | |
| 3555 | - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} | |
| 3556 | - engines: {node: '>=12'} | |
| 3557 | - hasBin: true | |
| 3558 | - dependencies: | |
| 3559 | - camel-case: 4.1.2 | |
| 3560 | - clean-css: 5.3.1 | |
| 3561 | - commander: 8.3.0 | |
| 3562 | - he: 1.2.0 | |
| 3563 | - param-case: 3.0.4 | |
| 3564 | - relateurl: 0.2.7 | |
| 3565 | - terser: 5.15.1 | |
| 3566 | - dev: true | |
| 3567 | - | |
| 3568 | 3610 | /html-tags/3.2.0: |
| 3569 | 3611 | resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} |
| 3570 | 3612 | engines: {node: '>=8'} |
| ... | ... | @@ -3610,22 +3652,16 @@ packages: |
| 3610 | 3652 | '@babel/runtime': 7.20.1 |
| 3611 | 3653 | dev: false |
| 3612 | 3654 | |
| 3613 | - /iconv-lite/0.4.24: | |
| 3614 | - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} | |
| 3615 | - engines: {node: '>=0.10.0'} | |
| 3616 | - dependencies: | |
| 3617 | - safer-buffer: 2.1.2 | |
| 3618 | - dev: true | |
| 3619 | - | |
| 3620 | - /ieee754/1.2.1: | |
| 3621 | - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} | |
| 3622 | - dev: true | |
| 3623 | - | |
| 3624 | 3655 | /ignore/5.2.0: |
| 3625 | 3656 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} |
| 3626 | 3657 | engines: {node: '>= 4'} |
| 3627 | 3658 | dev: true |
| 3628 | 3659 | |
| 3660 | + /ignore/5.2.1: | |
| 3661 | + resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==, registry: https://registry.npm.taobao.org/} | |
| 3662 | + engines: {node: '>= 4'} | |
| 3663 | + dev: true | |
| 3664 | + | |
| 3629 | 3665 | /image-size/0.5.5: |
| 3630 | 3666 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} |
| 3631 | 3667 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -3678,44 +3714,10 @@ packages: |
| 3678 | 3714 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} |
| 3679 | 3715 | dev: true |
| 3680 | 3716 | |
| 3681 | - /inquirer/8.2.5: | |
| 3682 | - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} | |
| 3683 | - engines: {node: '>=12.0.0'} | |
| 3684 | - dependencies: | |
| 3685 | - ansi-escapes: 4.3.2 | |
| 3686 | - chalk: 4.1.2 | |
| 3687 | - cli-cursor: 3.1.0 | |
| 3688 | - cli-width: 3.0.0 | |
| 3689 | - external-editor: 3.1.0 | |
| 3690 | - figures: 3.2.0 | |
| 3691 | - lodash: 4.17.21 | |
| 3692 | - mute-stream: 0.0.8 | |
| 3693 | - ora: 5.4.1 | |
| 3694 | - run-async: 2.4.1 | |
| 3695 | - rxjs: 7.5.7 | |
| 3696 | - string-width: 4.2.3 | |
| 3697 | - strip-ansi: 6.0.1 | |
| 3698 | - through: 2.3.8 | |
| 3699 | - wrap-ansi: 7.0.0 | |
| 3700 | - dev: true | |
| 3701 | - | |
| 3702 | - /interpret/2.2.0: | |
| 3703 | - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} | |
| 3704 | - engines: {node: '>= 0.10'} | |
| 3705 | - dev: true | |
| 3706 | - | |
| 3707 | 3717 | /intro.js/6.0.0: |
| 3708 | 3718 | resolution: {integrity: sha512-ZUiR6BoLSvPSlLG0boewnWVgji1fE1gBvP/pyw5pgCKXEDQz1mMeUxarggClPNs71UTq364LwSk9zxz17A9gaQ==} |
| 3709 | 3719 | dev: false |
| 3710 | 3720 | |
| 3711 | - /is-absolute/1.0.0: | |
| 3712 | - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} | |
| 3713 | - engines: {node: '>=0.10.0'} | |
| 3714 | - dependencies: | |
| 3715 | - is-relative: 1.0.0 | |
| 3716 | - is-windows: 1.0.2 | |
| 3717 | - dev: true | |
| 3718 | - | |
| 3719 | 3721 | /is-accessor-descriptor/0.1.6: |
| 3720 | 3722 | resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} |
| 3721 | 3723 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -3820,25 +3822,15 @@ packages: |
| 3820 | 3822 | resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} |
| 3821 | 3823 | dev: false |
| 3822 | 3824 | |
| 3823 | - /is-interactive/1.0.0: | |
| 3824 | - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} | |
| 3825 | - engines: {node: '>=8'} | |
| 3826 | - dev: true | |
| 3827 | - | |
| 3828 | - /is-interactive/2.0.0: | |
| 3829 | - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} | |
| 3830 | - engines: {node: '>=12'} | |
| 3831 | - dev: true | |
| 3832 | - | |
| 3833 | 3825 | /is-number/3.0.0: |
| 3834 | - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} | |
| 3826 | + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==, registry: https://registry.npm.taobao.org/} | |
| 3835 | 3827 | engines: {node: '>=0.10.0'} |
| 3836 | 3828 | dependencies: |
| 3837 | 3829 | kind-of: 3.2.2 |
| 3838 | 3830 | dev: true |
| 3839 | 3831 | |
| 3840 | 3832 | /is-number/7.0.0: |
| 3841 | - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} | |
| 3833 | + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/} | |
| 3842 | 3834 | engines: {node: '>=0.12.0'} |
| 3843 | 3835 | dev: true |
| 3844 | 3836 | |
| ... | ... | @@ -3847,11 +3839,6 @@ packages: |
| 3847 | 3839 | engines: {node: '>=8'} |
| 3848 | 3840 | dev: true |
| 3849 | 3841 | |
| 3850 | - /is-path-cwd/2.2.0: | |
| 3851 | - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} | |
| 3852 | - engines: {node: '>=6'} | |
| 3853 | - dev: true | |
| 3854 | - | |
| 3855 | 3842 | /is-path-inside/3.0.3: |
| 3856 | 3843 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} |
| 3857 | 3844 | engines: {node: '>=8'} |
| ... | ... | @@ -3873,13 +3860,6 @@ packages: |
| 3873 | 3860 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} |
| 3874 | 3861 | engines: {node: '>=0.10.0'} |
| 3875 | 3862 | |
| 3876 | - /is-relative/1.0.0: | |
| 3877 | - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} | |
| 3878 | - engines: {node: '>=0.10.0'} | |
| 3879 | - dependencies: | |
| 3880 | - is-unc-path: 1.0.0 | |
| 3881 | - dev: true | |
| 3882 | - | |
| 3883 | 3863 | /is-stream/2.0.1: |
| 3884 | 3864 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} |
| 3885 | 3865 | engines: {node: '>=8'} |
| ... | ... | @@ -3897,26 +3877,9 @@ packages: |
| 3897 | 3877 | text-extensions: 1.9.0 |
| 3898 | 3878 | dev: true |
| 3899 | 3879 | |
| 3900 | - /is-unc-path/1.0.0: | |
| 3901 | - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} | |
| 3902 | - engines: {node: '>=0.10.0'} | |
| 3903 | - dependencies: | |
| 3904 | - unc-path-regex: 0.1.2 | |
| 3905 | - dev: true | |
| 3906 | - | |
| 3907 | - /is-unicode-supported/0.1.0: | |
| 3908 | - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} | |
| 3909 | - engines: {node: '>=10'} | |
| 3910 | - dev: true | |
| 3911 | - | |
| 3912 | - /is-unicode-supported/1.3.0: | |
| 3913 | - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} | |
| 3914 | - engines: {node: '>=12'} | |
| 3915 | - dev: true | |
| 3916 | - | |
| 3917 | - /is-url/1.2.4: | |
| 3918 | - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} | |
| 3919 | - dev: false | |
| 3880 | + /is-url/1.2.4: | |
| 3881 | + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} | |
| 3882 | + dev: false | |
| 3920 | 3883 | |
| 3921 | 3884 | /is-windows/1.0.2: |
| 3922 | 3885 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} |
| ... | ... | @@ -3927,11 +3890,6 @@ packages: |
| 3927 | 3890 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} |
| 3928 | 3891 | dev: true |
| 3929 | 3892 | |
| 3930 | - /isbinaryfile/4.0.10: | |
| 3931 | - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} | |
| 3932 | - engines: {node: '>= 8.0.0'} | |
| 3933 | - dev: true | |
| 3934 | - | |
| 3935 | 3893 | /isexe/2.0.0: |
| 3936 | 3894 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} |
| 3937 | 3895 | dev: true |
| ... | ... | @@ -3956,7 +3914,7 @@ packages: |
| 3956 | 3914 | async: 3.2.4 |
| 3957 | 3915 | chalk: 4.1.2 |
| 3958 | 3916 | filelist: 1.0.4 |
| 3959 | - minimatch: registry.npmmirror.com/minimatch/3.1.2 | |
| 3917 | + minimatch: 3.1.2 | |
| 3960 | 3918 | dev: true |
| 3961 | 3919 | |
| 3962 | 3920 | /jiti/1.16.0: |
| ... | ... | @@ -3968,11 +3926,6 @@ packages: |
| 3968 | 3926 | resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} |
| 3969 | 3927 | dev: true |
| 3970 | 3928 | |
| 3971 | - /js-cookie/3.0.1: | |
| 3972 | - resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} | |
| 3973 | - engines: {node: '>=12'} | |
| 3974 | - dev: false | |
| 3975 | - | |
| 3976 | 3929 | /js-sdsl/4.1.5: |
| 3977 | 3930 | resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} |
| 3978 | 3931 | dev: true |
| ... | ... | @@ -4047,7 +4000,7 @@ packages: |
| 4047 | 4000 | dependencies: |
| 4048 | 4001 | universalify: 2.0.0 |
| 4049 | 4002 | optionalDependencies: |
| 4050 | - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 | |
| 4003 | + graceful-fs: 4.2.10 | |
| 4051 | 4004 | dev: true |
| 4052 | 4005 | |
| 4053 | 4006 | /jsonparse/1.3.1: |
| ... | ... | @@ -4095,20 +4048,6 @@ packages: |
| 4095 | 4048 | type-check: 0.4.0 |
| 4096 | 4049 | dev: true |
| 4097 | 4050 | |
| 4098 | - /liftoff/4.0.0: | |
| 4099 | - resolution: {integrity: sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==} | |
| 4100 | - engines: {node: '>=10.13.0'} | |
| 4101 | - dependencies: | |
| 4102 | - extend: 3.0.2 | |
| 4103 | - findup-sync: 5.0.0 | |
| 4104 | - fined: 2.0.0 | |
| 4105 | - flagged-respawn: 2.0.0 | |
| 4106 | - is-plain-object: 5.0.0 | |
| 4107 | - object.map: 1.0.1 | |
| 4108 | - rechoir: 0.8.0 | |
| 4109 | - resolve: 1.22.1 | |
| 4110 | - dev: true | |
| 4111 | - | |
| 4112 | 4051 | /lilconfig/2.0.6: |
| 4113 | 4052 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} |
| 4114 | 4053 | engines: {node: '>=10'} |
| ... | ... | @@ -4118,8 +4057,8 @@ packages: |
| 4118 | 4057 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} |
| 4119 | 4058 | dev: true |
| 4120 | 4059 | |
| 4121 | - /lint-staged/13.0.4: | |
| 4122 | - resolution: {integrity: sha512-HxlHCXoYRsq9QCby5wFozmZW00hMs/9e3l+/dz6Qr8Kle4UH0kJTdABAbqhzG+3pcG6QjL9kz7NgGBfph+a5dw==} | |
| 4060 | + /lint-staged/13.1.0: | |
| 4061 | + resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} | |
| 4123 | 4062 | engines: {node: ^14.13.1 || >=16.0.0} |
| 4124 | 4063 | hasBin: true |
| 4125 | 4064 | dependencies: |
| ... | ... | @@ -4213,10 +4152,6 @@ packages: |
| 4213 | 4152 | resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} |
| 4214 | 4153 | dev: false |
| 4215 | 4154 | |
| 4216 | - /lodash.get/4.4.2: | |
| 4217 | - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} | |
| 4218 | - dev: true | |
| 4219 | - | |
| 4220 | 4155 | /lodash.isequal/4.5.0: |
| 4221 | 4156 | resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} |
| 4222 | 4157 | dev: false |
| ... | ... | @@ -4272,22 +4207,6 @@ packages: |
| 4272 | 4207 | /lodash/4.17.21: |
| 4273 | 4208 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} |
| 4274 | 4209 | |
| 4275 | - /log-symbols/4.1.0: | |
| 4276 | - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} | |
| 4277 | - engines: {node: '>=10'} | |
| 4278 | - dependencies: | |
| 4279 | - chalk: 4.1.2 | |
| 4280 | - is-unicode-supported: 0.1.0 | |
| 4281 | - dev: true | |
| 4282 | - | |
| 4283 | - /log-symbols/5.1.0: | |
| 4284 | - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} | |
| 4285 | - engines: {node: '>=12'} | |
| 4286 | - dependencies: | |
| 4287 | - chalk: 5.1.2 | |
| 4288 | - is-unicode-supported: 1.3.0 | |
| 4289 | - dev: true | |
| 4290 | - | |
| 4291 | 4210 | /log-update/4.0.0: |
| 4292 | 4211 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} |
| 4293 | 4212 | engines: {node: '>=10'} |
| ... | ... | @@ -4305,7 +4224,7 @@ packages: |
| 4305 | 4224 | dev: true |
| 4306 | 4225 | |
| 4307 | 4226 | /lru-cache/6.0.0: |
| 4308 | - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} | |
| 4227 | + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npm.taobao.org/} | |
| 4309 | 4228 | engines: {node: '>=10'} |
| 4310 | 4229 | dependencies: |
| 4311 | 4230 | yallist: 4.0.0 |
| ... | ... | @@ -4320,20 +4239,13 @@ packages: |
| 4320 | 4239 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} |
| 4321 | 4240 | engines: {node: '>=12'} |
| 4322 | 4241 | dependencies: |
| 4323 | - sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8 | |
| 4242 | + sourcemap-codec: 1.4.8 | |
| 4324 | 4243 | dev: true |
| 4325 | 4244 | |
| 4326 | 4245 | /make-error/1.3.6: |
| 4327 | 4246 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} |
| 4328 | 4247 | dev: true |
| 4329 | 4248 | |
| 4330 | - /make-iterator/1.0.1: | |
| 4331 | - resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} | |
| 4332 | - engines: {node: '>=0.10.0'} | |
| 4333 | - dependencies: | |
| 4334 | - kind-of: 6.0.3 | |
| 4335 | - dev: true | |
| 4336 | - | |
| 4337 | 4249 | /map-cache/0.2.2: |
| 4338 | 4250 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} |
| 4339 | 4251 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -4449,7 +4361,7 @@ packages: |
| 4449 | 4361 | dev: true |
| 4450 | 4362 | |
| 4451 | 4363 | /mime-db/1.52.0: |
| 4452 | - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} | |
| 4364 | + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/} | |
| 4453 | 4365 | engines: {node: '>= 0.6'} |
| 4454 | 4366 | dev: false |
| 4455 | 4367 | |
| ... | ... | @@ -4460,7 +4372,7 @@ packages: |
| 4460 | 4372 | dev: false |
| 4461 | 4373 | |
| 4462 | 4374 | /mime-types/2.1.35: |
| 4463 | - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} | |
| 4375 | + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: https://registry.npm.taobao.org/} | |
| 4464 | 4376 | engines: {node: '>= 0.6'} |
| 4465 | 4377 | dependencies: |
| 4466 | 4378 | mime-db: 1.52.0 |
| ... | ... | @@ -4487,6 +4399,13 @@ packages: |
| 4487 | 4399 | brace-expansion: 1.1.11 |
| 4488 | 4400 | dev: true |
| 4489 | 4401 | |
| 4402 | + /minimatch/5.1.0: | |
| 4403 | + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} | |
| 4404 | + engines: {node: '>=10'} | |
| 4405 | + dependencies: | |
| 4406 | + brace-expansion: 2.0.1 | |
| 4407 | + dev: true | |
| 4408 | + | |
| 4490 | 4409 | /minimist-options/4.1.0: |
| 4491 | 4410 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} |
| 4492 | 4411 | engines: {node: '>= 6'} |
| ... | ... | @@ -4512,22 +4431,16 @@ packages: |
| 4512 | 4431 | is-extendable: 1.0.1 |
| 4513 | 4432 | dev: true |
| 4514 | 4433 | |
| 4515 | - /mkdirp/1.0.4: | |
| 4516 | - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} | |
| 4517 | - engines: {node: '>=10'} | |
| 4518 | - hasBin: true | |
| 4519 | - dev: true | |
| 4520 | - | |
| 4521 | 4434 | /ms/2.0.0: |
| 4522 | - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} | |
| 4435 | + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/} | |
| 4523 | 4436 | dev: true |
| 4524 | 4437 | |
| 4525 | 4438 | /ms/2.1.2: |
| 4526 | 4439 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} |
| 4527 | 4440 | dev: true |
| 4528 | 4441 | |
| 4529 | - /mute-stream/0.0.8: | |
| 4530 | - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} | |
| 4442 | + /muggle-string/0.1.0: | |
| 4443 | + resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} | |
| 4531 | 4444 | dev: true |
| 4532 | 4445 | |
| 4533 | 4446 | /namespace-emitter/2.0.1: |
| ... | ... | @@ -4559,17 +4472,13 @@ packages: |
| 4559 | 4472 | dev: true |
| 4560 | 4473 | |
| 4561 | 4474 | /natural-compare-lite/1.4.0: |
| 4562 | - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} | |
| 4475 | + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, registry: https://registry.npm.taobao.org/} | |
| 4563 | 4476 | dev: true |
| 4564 | 4477 | |
| 4565 | 4478 | /natural-compare/1.4.0: |
| 4566 | 4479 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} |
| 4567 | 4480 | dev: true |
| 4568 | 4481 | |
| 4569 | - /neo-async/2.6.2: | |
| 4570 | - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} | |
| 4571 | - dev: true | |
| 4572 | - | |
| 4573 | 4482 | /next-tick/1.1.0: |
| 4574 | 4483 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} |
| 4575 | 4484 | dev: false |
| ... | ... | @@ -4593,32 +4502,6 @@ packages: |
| 4593 | 4502 | whatwg-url: 5.0.0 |
| 4594 | 4503 | dev: true |
| 4595 | 4504 | |
| 4596 | - /node-html-parser/5.4.2: | |
| 4597 | - resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} | |
| 4598 | - dependencies: | |
| 4599 | - css-select: 4.3.0 | |
| 4600 | - he: 1.2.0 | |
| 4601 | - dev: true | |
| 4602 | - | |
| 4603 | - /node-plop/0.31.0: | |
| 4604 | - resolution: {integrity: sha512-aKLPxiBoFTNUovvtK8j/Whc4PZREkYx6htw2HJPiU8wYquXmN8pkd9B3xlFo6AJ4ZlzFsQSf/NXR5xET8EqRYw==} | |
| 4605 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 4606 | - dependencies: | |
| 4607 | - '@types/inquirer': 8.2.5 | |
| 4608 | - change-case: 4.1.2 | |
| 4609 | - del: 6.1.1 | |
| 4610 | - globby: 13.1.2 | |
| 4611 | - handlebars: 4.7.7 | |
| 4612 | - inquirer: 8.2.5 | |
| 4613 | - isbinaryfile: 4.0.10 | |
| 4614 | - lodash.get: 4.4.2 | |
| 4615 | - lower-case: 2.0.2 | |
| 4616 | - mkdirp: 1.0.4 | |
| 4617 | - resolve: 1.22.1 | |
| 4618 | - title-case: 3.0.3 | |
| 4619 | - upper-case: 2.0.2 | |
| 4620 | - dev: true | |
| 4621 | - | |
| 4622 | 4505 | /node-releases/2.0.6: |
| 4623 | 4506 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} |
| 4624 | 4507 | dev: true |
| ... | ... | @@ -4704,24 +4587,6 @@ packages: |
| 4704 | 4587 | isobject: 3.0.1 |
| 4705 | 4588 | dev: true |
| 4706 | 4589 | |
| 4707 | - /object.defaults/1.1.0: | |
| 4708 | - resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} | |
| 4709 | - engines: {node: '>=0.10.0'} | |
| 4710 | - dependencies: | |
| 4711 | - array-each: 1.0.1 | |
| 4712 | - array-slice: 1.1.0 | |
| 4713 | - for-own: 1.0.0 | |
| 4714 | - isobject: 3.0.1 | |
| 4715 | - dev: true | |
| 4716 | - | |
| 4717 | - /object.map/1.0.1: | |
| 4718 | - resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==} | |
| 4719 | - engines: {node: '>=0.10.0'} | |
| 4720 | - dependencies: | |
| 4721 | - for-own: 1.0.0 | |
| 4722 | - make-iterator: 1.0.1 | |
| 4723 | - dev: true | |
| 4724 | - | |
| 4725 | 4590 | /object.pick/1.3.0: |
| 4726 | 4591 | resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} |
| 4727 | 4592 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -4761,41 +4626,6 @@ packages: |
| 4761 | 4626 | word-wrap: 1.2.3 |
| 4762 | 4627 | dev: true |
| 4763 | 4628 | |
| 4764 | - /ora/5.4.1: | |
| 4765 | - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} | |
| 4766 | - engines: {node: '>=10'} | |
| 4767 | - dependencies: | |
| 4768 | - bl: 4.1.0 | |
| 4769 | - chalk: 4.1.2 | |
| 4770 | - cli-cursor: 3.1.0 | |
| 4771 | - cli-spinners: 2.7.0 | |
| 4772 | - is-interactive: 1.0.0 | |
| 4773 | - is-unicode-supported: 0.1.0 | |
| 4774 | - log-symbols: 4.1.0 | |
| 4775 | - strip-ansi: 6.0.1 | |
| 4776 | - wcwidth: 1.0.1 | |
| 4777 | - dev: true | |
| 4778 | - | |
| 4779 | - /ora/6.1.2: | |
| 4780 | - resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} | |
| 4781 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 4782 | - dependencies: | |
| 4783 | - bl: 5.1.0 | |
| 4784 | - chalk: 5.1.2 | |
| 4785 | - cli-cursor: 4.0.0 | |
| 4786 | - cli-spinners: 2.7.0 | |
| 4787 | - is-interactive: 2.0.0 | |
| 4788 | - is-unicode-supported: 1.3.0 | |
| 4789 | - log-symbols: 5.1.0 | |
| 4790 | - strip-ansi: 7.0.1 | |
| 4791 | - wcwidth: 1.0.1 | |
| 4792 | - dev: true | |
| 4793 | - | |
| 4794 | - /os-tmpdir/1.0.2: | |
| 4795 | - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} | |
| 4796 | - engines: {node: '>=0.10.0'} | |
| 4797 | - dev: true | |
| 4798 | - | |
| 4799 | 4629 | /p-limit/2.3.0: |
| 4800 | 4630 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} |
| 4801 | 4631 | engines: {node: '>=6'} |
| ... | ... | @@ -4847,15 +4677,6 @@ packages: |
| 4847 | 4677 | callsites: 3.1.0 |
| 4848 | 4678 | dev: true |
| 4849 | 4679 | |
| 4850 | - /parse-filepath/1.0.2: | |
| 4851 | - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} | |
| 4852 | - engines: {node: '>=0.8'} | |
| 4853 | - dependencies: | |
| 4854 | - is-absolute: 1.0.0 | |
| 4855 | - map-cache: 0.2.2 | |
| 4856 | - path-root: 0.1.1 | |
| 4857 | - dev: true | |
| 4858 | - | |
| 4859 | 4680 | /parse-json/5.2.0: |
| 4860 | 4681 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} |
| 4861 | 4682 | engines: {node: '>=8'} |
| ... | ... | @@ -4866,11 +4687,6 @@ packages: |
| 4866 | 4687 | lines-and-columns: 1.2.4 |
| 4867 | 4688 | dev: true |
| 4868 | 4689 | |
| 4869 | - /parse-passwd/1.0.0: | |
| 4870 | - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} | |
| 4871 | - engines: {node: '>=0.10.0'} | |
| 4872 | - dev: true | |
| 4873 | - | |
| 4874 | 4690 | /pascal-case/3.1.2: |
| 4875 | 4691 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} |
| 4876 | 4692 | dependencies: |
| ... | ... | @@ -4913,18 +4729,6 @@ packages: |
| 4913 | 4729 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} |
| 4914 | 4730 | dev: true |
| 4915 | 4731 | |
| 4916 | - /path-root-regex/0.1.2: | |
| 4917 | - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} | |
| 4918 | - engines: {node: '>=0.10.0'} | |
| 4919 | - dev: true | |
| 4920 | - | |
| 4921 | - /path-root/0.1.1: | |
| 4922 | - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} | |
| 4923 | - engines: {node: '>=0.10.0'} | |
| 4924 | - dependencies: | |
| 4925 | - path-root-regex: 0.1.2 | |
| 4926 | - dev: true | |
| 4927 | - | |
| 4928 | 4732 | /path-type/4.0.0: |
| 4929 | 4733 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} |
| 4930 | 4734 | engines: {node: '>=8'} |
| ... | ... | @@ -4970,21 +4774,6 @@ packages: |
| 4970 | 4774 | vue-demi: 0.13.11_vue@3.2.45 |
| 4971 | 4775 | dev: false |
| 4972 | 4776 | |
| 4973 | - /plop/3.1.1: | |
| 4974 | - resolution: {integrity: sha512-NuctKmuNUACXBQn25bBr5oj/75nHxdKGwjA/+b7cVoj1sp+gTVqcc8eAr4QcNJgMPsZWRJBN2kMkgmsqbqV9gg==} | |
| 4975 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 4976 | - hasBin: true | |
| 4977 | - dependencies: | |
| 4978 | - '@types/liftoff': 4.0.0 | |
| 4979 | - chalk: 5.1.2 | |
| 4980 | - interpret: 2.2.0 | |
| 4981 | - liftoff: 4.0.0 | |
| 4982 | - minimist: 1.2.7 | |
| 4983 | - node-plop: 0.31.0 | |
| 4984 | - ora: 6.1.2 | |
| 4985 | - v8flags: 4.0.0 | |
| 4986 | - dev: true | |
| 4987 | - | |
| 4988 | 4777 | /pngjs/5.0.0: |
| 4989 | 4778 | resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} |
| 4990 | 4779 | engines: {node: '>=10.13.0'} |
| ... | ... | @@ -5047,6 +4836,14 @@ packages: |
| 5047 | 4836 | util-deprecate: 1.0.2 |
| 5048 | 4837 | dev: true |
| 5049 | 4838 | |
| 4839 | + /postcss-selector-parser/6.0.11: | |
| 4840 | + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} | |
| 4841 | + engines: {node: '>=4'} | |
| 4842 | + dependencies: | |
| 4843 | + cssesc: 3.0.0 | |
| 4844 | + util-deprecate: 1.0.2 | |
| 4845 | + dev: true | |
| 4846 | + | |
| 5050 | 4847 | /postcss-sorting/7.0.1_postcss@8.4.19: |
| 5051 | 4848 | resolution: {integrity: sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==} |
| 5052 | 4849 | peerDependencies: |
| ... | ... | @@ -5065,7 +4862,7 @@ packages: |
| 5065 | 4862 | dependencies: |
| 5066 | 4863 | chalk: 1.1.3 |
| 5067 | 4864 | js-base64: 2.6.4 |
| 5068 | - source-map: registry.npmmirror.com/source-map/0.5.7 | |
| 4865 | + source-map: 0.5.7 | |
| 5069 | 4866 | supports-color: 3.2.3 |
| 5070 | 4867 | dev: true |
| 5071 | 4868 | |
| ... | ... | @@ -5145,7 +4942,7 @@ packages: |
| 5145 | 4942 | dev: true |
| 5146 | 4943 | |
| 5147 | 4944 | /proxy-from-env/1.1.0: |
| 5148 | - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} | |
| 4945 | + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, registry: https://registry.npm.taobao.org/} | |
| 5149 | 4946 | dev: false |
| 5150 | 4947 | |
| 5151 | 4948 | /punycode/1.3.2: |
| ... | ... | @@ -5195,7 +4992,7 @@ packages: |
| 5195 | 4992 | dev: false |
| 5196 | 4993 | |
| 5197 | 4994 | /queue-microtask/1.2.3: |
| 5198 | - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} | |
| 4995 | + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/} | |
| 5199 | 4996 | dev: true |
| 5200 | 4997 | |
| 5201 | 4998 | /quick-lru/4.0.1: |
| ... | ... | @@ -5244,13 +5041,6 @@ packages: |
| 5244 | 5041 | picomatch: 2.3.1 |
| 5245 | 5042 | dev: true |
| 5246 | 5043 | |
| 5247 | - /rechoir/0.8.0: | |
| 5248 | - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} | |
| 5249 | - engines: {node: '>= 10.13.0'} | |
| 5250 | - dependencies: | |
| 5251 | - resolve: 1.22.1 | |
| 5252 | - dev: true | |
| 5253 | - | |
| 5254 | 5044 | /redent/3.0.0: |
| 5255 | 5045 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} |
| 5256 | 5046 | engines: {node: '>=8'} |
| ... | ... | @@ -5261,7 +5051,6 @@ packages: |
| 5261 | 5051 | |
| 5262 | 5052 | /regenerator-runtime/0.13.11: |
| 5263 | 5053 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} |
| 5264 | - dev: false | |
| 5265 | 5054 | |
| 5266 | 5055 | /regex-not/1.0.2: |
| 5267 | 5056 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} |
| ... | ... | @@ -5272,15 +5061,10 @@ packages: |
| 5272 | 5061 | dev: true |
| 5273 | 5062 | |
| 5274 | 5063 | /regexpp/3.2.0: |
| 5275 | - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} | |
| 5064 | + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, registry: https://registry.npm.taobao.org/} | |
| 5276 | 5065 | engines: {node: '>=8'} |
| 5277 | 5066 | dev: true |
| 5278 | 5067 | |
| 5279 | - /relateurl/0.2.7: | |
| 5280 | - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} | |
| 5281 | - engines: {node: '>= 0.10'} | |
| 5282 | - dev: true | |
| 5283 | - | |
| 5284 | 5068 | /repeat-element/1.1.4: |
| 5285 | 5069 | resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} |
| 5286 | 5070 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -5304,14 +5088,6 @@ packages: |
| 5304 | 5088 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} |
| 5305 | 5089 | dev: false |
| 5306 | 5090 | |
| 5307 | - /resolve-dir/1.0.1: | |
| 5308 | - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} | |
| 5309 | - engines: {node: '>=0.10.0'} | |
| 5310 | - dependencies: | |
| 5311 | - expand-tilde: 2.0.2 | |
| 5312 | - global-modules: 1.0.0 | |
| 5313 | - dev: true | |
| 5314 | - | |
| 5315 | 5091 | /resolve-from/4.0.0: |
| 5316 | 5092 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} |
| 5317 | 5093 | engines: {node: '>=4'} |
| ... | ... | @@ -5351,21 +5127,13 @@ packages: |
| 5351 | 5127 | signal-exit: 3.0.7 |
| 5352 | 5128 | dev: true |
| 5353 | 5129 | |
| 5354 | - /restore-cursor/4.0.0: | |
| 5355 | - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} | |
| 5356 | - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} | |
| 5357 | - dependencies: | |
| 5358 | - onetime: 5.1.2 | |
| 5359 | - signal-exit: 3.0.7 | |
| 5360 | - dev: true | |
| 5361 | - | |
| 5362 | 5130 | /ret/0.1.15: |
| 5363 | 5131 | resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} |
| 5364 | 5132 | engines: {node: '>=0.12'} |
| 5365 | 5133 | dev: true |
| 5366 | 5134 | |
| 5367 | 5135 | /reusify/1.0.4: |
| 5368 | - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} | |
| 5136 | + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npm.taobao.org/} | |
| 5369 | 5137 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} |
| 5370 | 5138 | dev: true |
| 5371 | 5139 | |
| ... | ... | @@ -5392,28 +5160,23 @@ packages: |
| 5392 | 5160 | dev: true |
| 5393 | 5161 | |
| 5394 | 5162 | /rollup/2.79.1: |
| 5395 | - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} | |
| 5163 | + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: https://registry.npm.taobao.org/} | |
| 5396 | 5164 | engines: {node: '>=10.0.0'} |
| 5397 | 5165 | hasBin: true |
| 5398 | 5166 | optionalDependencies: |
| 5399 | - fsevents: registry.npmmirror.com/fsevents/2.3.2 | |
| 5167 | + fsevents: 2.3.2 | |
| 5400 | 5168 | dev: true |
| 5401 | 5169 | |
| 5402 | - /rollup/3.5.0: | |
| 5403 | - resolution: {integrity: sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==} | |
| 5170 | + /rollup/3.6.0: | |
| 5171 | + resolution: {integrity: sha512-qCgiBeSu2/AIOKWGFMiRkjPlGlcVwxAjwpGKQZOQYng+83Hip4PjrWHm7EQX1wnrvRqfTytEihRRfLHdX+hR4g==, registry: https://registry.npm.taobao.org/} | |
| 5404 | 5172 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} |
| 5405 | 5173 | hasBin: true |
| 5406 | 5174 | optionalDependencies: |
| 5407 | - fsevents: registry.npmmirror.com/fsevents/2.3.2 | |
| 5408 | - dev: true | |
| 5409 | - | |
| 5410 | - /run-async/2.4.1: | |
| 5411 | - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} | |
| 5412 | - engines: {node: '>=0.12.0'} | |
| 5175 | + fsevents: 2.3.2 | |
| 5413 | 5176 | dev: true |
| 5414 | 5177 | |
| 5415 | 5178 | /run-parallel/1.2.0: |
| 5416 | - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} | |
| 5179 | + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/} | |
| 5417 | 5180 | dependencies: |
| 5418 | 5181 | queue-microtask: 1.2.3 |
| 5419 | 5182 | dev: true |
| ... | ... | @@ -5434,10 +5197,6 @@ packages: |
| 5434 | 5197 | ret: 0.1.15 |
| 5435 | 5198 | dev: true |
| 5436 | 5199 | |
| 5437 | - /safer-buffer/2.1.2: | |
| 5438 | - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} | |
| 5439 | - dev: true | |
| 5440 | - | |
| 5441 | 5200 | /sass/1.56.1: |
| 5442 | 5201 | resolution: {integrity: sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==} |
| 5443 | 5202 | engines: {node: '>=12.0.0'} |
| ... | ... | @@ -5455,7 +5214,7 @@ packages: |
| 5455 | 5214 | dev: false |
| 5456 | 5215 | |
| 5457 | 5216 | /semver/5.7.1: |
| 5458 | - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} | |
| 5217 | + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, registry: https://registry.npm.taobao.org/} | |
| 5459 | 5218 | hasBin: true |
| 5460 | 5219 | dev: true |
| 5461 | 5220 | |
| ... | ... | @@ -5465,7 +5224,7 @@ packages: |
| 5465 | 5224 | dev: true |
| 5466 | 5225 | |
| 5467 | 5226 | /semver/7.3.7: |
| 5468 | - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} | |
| 5227 | + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, registry: https://registry.npm.taobao.org/} | |
| 5469 | 5228 | engines: {node: '>=10'} |
| 5470 | 5229 | hasBin: true |
| 5471 | 5230 | dependencies: |
| ... | ... | @@ -5473,7 +5232,7 @@ packages: |
| 5473 | 5232 | dev: true |
| 5474 | 5233 | |
| 5475 | 5234 | /semver/7.3.8: |
| 5476 | - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} | |
| 5235 | + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/} | |
| 5477 | 5236 | engines: {node: '>=10'} |
| 5478 | 5237 | hasBin: true |
| 5479 | 5238 | dependencies: |
| ... | ... | @@ -5531,11 +5290,6 @@ packages: |
| 5531 | 5290 | engines: {node: '>=8'} |
| 5532 | 5291 | dev: true |
| 5533 | 5292 | |
| 5534 | - /slash/4.0.0: | |
| 5535 | - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} | |
| 5536 | - engines: {node: '>=12'} | |
| 5537 | - dev: true | |
| 5538 | - | |
| 5539 | 5293 | /slate-history/0.66.0_slate@0.72.8: |
| 5540 | 5294 | resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==} |
| 5541 | 5295 | peerDependencies: |
| ... | ... | @@ -5616,7 +5370,7 @@ packages: |
| 5616 | 5370 | define-property: 0.2.5 |
| 5617 | 5371 | extend-shallow: 2.0.1 |
| 5618 | 5372 | map-cache: 0.2.2 |
| 5619 | - source-map: registry.npmmirror.com/source-map/0.5.7 | |
| 5373 | + source-map: 0.5.7 | |
| 5620 | 5374 | source-map-resolve: 0.5.3 |
| 5621 | 5375 | use: 3.1.1 |
| 5622 | 5376 | transitivePeerDependencies: |
| ... | ... | @@ -5642,7 +5396,7 @@ packages: |
| 5642 | 5396 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} |
| 5643 | 5397 | dependencies: |
| 5644 | 5398 | buffer-from: 1.1.2 |
| 5645 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 5399 | + source-map: 0.6.1 | |
| 5646 | 5400 | dev: true |
| 5647 | 5401 | |
| 5648 | 5402 | /source-map-url/0.4.1: |
| ... | ... | @@ -5650,12 +5404,18 @@ packages: |
| 5650 | 5404 | deprecated: See https://github.com/lydell/source-map-url#deprecated |
| 5651 | 5405 | dev: true |
| 5652 | 5406 | |
| 5407 | + /source-map/0.5.7: | |
| 5408 | + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} | |
| 5409 | + engines: {node: '>=0.10.0'} | |
| 5410 | + dev: true | |
| 5411 | + | |
| 5653 | 5412 | /source-map/0.6.1: |
| 5654 | 5413 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} |
| 5655 | 5414 | engines: {node: '>=0.10.0'} |
| 5656 | 5415 | |
| 5657 | 5416 | /sourcemap-codec/1.4.8: |
| 5658 | 5417 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} |
| 5418 | + deprecated: Please use @jridgewell/sourcemap-codec instead | |
| 5659 | 5419 | |
| 5660 | 5420 | /spdx-correct/3.1.1: |
| 5661 | 5421 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} |
| ... | ... | @@ -5788,7 +5548,7 @@ packages: |
| 5788 | 5548 | resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} |
| 5789 | 5549 | dev: true |
| 5790 | 5550 | |
| 5791 | - /stylelint-config-html/1.1.0_qendsqix7hqecpnpx4fjs6qry4: | |
| 5551 | + /stylelint-config-html/1.1.0_bto6pmslw3cibsiuq6smxboytq: | |
| 5792 | 5552 | resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} |
| 5793 | 5553 | engines: {node: ^12 || >=14} |
| 5794 | 5554 | peerDependencies: |
| ... | ... | @@ -5796,52 +5556,52 @@ packages: |
| 5796 | 5556 | stylelint: '>=14.0.0' |
| 5797 | 5557 | dependencies: |
| 5798 | 5558 | postcss-html: 1.5.0 |
| 5799 | - stylelint: 14.15.0 | |
| 5559 | + stylelint: 14.16.0 | |
| 5800 | 5560 | dev: true |
| 5801 | 5561 | |
| 5802 | - /stylelint-config-prettier/9.0.4_stylelint@14.15.0: | |
| 5562 | + /stylelint-config-prettier/9.0.4_stylelint@14.16.0: | |
| 5803 | 5563 | resolution: {integrity: sha512-38nIGTGpFOiK5LjJ8Ma1yUgpKENxoKSOhbDNSemY7Ep0VsJoXIW9Iq/2hSt699oB9tReynfWicTAoIHiq8Rvbg==} |
| 5804 | 5564 | engines: {node: '>= 12'} |
| 5805 | 5565 | hasBin: true |
| 5806 | 5566 | peerDependencies: |
| 5807 | 5567 | stylelint: '>=11.0.0' |
| 5808 | 5568 | dependencies: |
| 5809 | - stylelint: 14.15.0 | |
| 5569 | + stylelint: 14.16.0 | |
| 5810 | 5570 | dev: true |
| 5811 | 5571 | |
| 5812 | - /stylelint-config-recommended/9.0.0_stylelint@14.15.0: | |
| 5572 | + /stylelint-config-recommended/9.0.0_stylelint@14.16.0: | |
| 5813 | 5573 | resolution: {integrity: sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==} |
| 5814 | 5574 | peerDependencies: |
| 5815 | 5575 | stylelint: ^14.10.0 |
| 5816 | 5576 | dependencies: |
| 5817 | - stylelint: 14.15.0 | |
| 5577 | + stylelint: 14.16.0 | |
| 5818 | 5578 | dev: true |
| 5819 | 5579 | |
| 5820 | - /stylelint-config-standard/29.0.0_stylelint@14.15.0: | |
| 5580 | + /stylelint-config-standard/29.0.0_stylelint@14.16.0: | |
| 5821 | 5581 | resolution: {integrity: sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg==} |
| 5822 | 5582 | peerDependencies: |
| 5823 | 5583 | stylelint: ^14.14.0 |
| 5824 | 5584 | dependencies: |
| 5825 | - stylelint: 14.15.0 | |
| 5826 | - stylelint-config-recommended: 9.0.0_stylelint@14.15.0 | |
| 5585 | + stylelint: 14.16.0 | |
| 5586 | + stylelint-config-recommended: 9.0.0_stylelint@14.16.0 | |
| 5827 | 5587 | dev: true |
| 5828 | 5588 | |
| 5829 | - /stylelint-order/5.0.0_stylelint@14.15.0: | |
| 5589 | + /stylelint-order/5.0.0_stylelint@14.16.0: | |
| 5830 | 5590 | resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==} |
| 5831 | 5591 | peerDependencies: |
| 5832 | 5592 | stylelint: ^14.0.0 |
| 5833 | 5593 | dependencies: |
| 5834 | 5594 | postcss: 8.4.19 |
| 5835 | 5595 | postcss-sorting: 7.0.1_postcss@8.4.19 |
| 5836 | - stylelint: 14.15.0 | |
| 5596 | + stylelint: 14.16.0 | |
| 5837 | 5597 | dev: true |
| 5838 | 5598 | |
| 5839 | - /stylelint/14.15.0: | |
| 5840 | - resolution: {integrity: sha512-JOgDAo5QRsqiOZPZO+B9rKJvBm64S0xasbuRPAbPs6/vQDgDCnZLIiw6XcAS6GQKk9k1sBWR6rmH3Mfj8OknKg==} | |
| 5599 | + /stylelint/14.16.0: | |
| 5600 | + resolution: {integrity: sha512-X6uTi9DcxjzLV8ZUAjit1vsRtSwcls0nl07c9rqOPzvpA8IvTX/xWEkBRowS0ffevRrqkHa/ThDEu86u73FQDg==} | |
| 5841 | 5601 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} |
| 5842 | 5602 | hasBin: true |
| 5843 | 5603 | dependencies: |
| 5844 | - '@csstools/selector-specificity': 2.0.2_45y636a2vqremknoajyxd5nkzy | |
| 5604 | + '@csstools/selector-specificity': 2.0.2_tbwh2mpcdwdeb2slx6bobindua | |
| 5845 | 5605 | balanced-match: 2.0.0 |
| 5846 | 5606 | colord: 2.9.3 |
| 5847 | 5607 | cosmiconfig: 7.1.0 |
| ... | ... | @@ -5854,7 +5614,7 @@ packages: |
| 5854 | 5614 | globby: 11.1.0 |
| 5855 | 5615 | globjoin: 0.1.4 |
| 5856 | 5616 | html-tags: 3.2.0 |
| 5857 | - ignore: 5.2.0 | |
| 5617 | + ignore: 5.2.1 | |
| 5858 | 5618 | import-lazy: 4.0.0 |
| 5859 | 5619 | imurmurhash: 0.1.4 |
| 5860 | 5620 | is-plain-object: 5.0.0 |
| ... | ... | @@ -5868,7 +5628,7 @@ packages: |
| 5868 | 5628 | postcss-media-query-parser: 0.2.3 |
| 5869 | 5629 | postcss-resolve-nested-selector: 0.1.1 |
| 5870 | 5630 | postcss-safe-parser: 6.0.0_postcss@8.4.19 |
| 5871 | - postcss-selector-parser: 6.0.10 | |
| 5631 | + postcss-selector-parser: 6.0.11 | |
| 5872 | 5632 | postcss-value-parser: 4.2.0 |
| 5873 | 5633 | resolve-from: 5.0.0 |
| 5874 | 5634 | string-width: 4.2.3 |
| ... | ... | @@ -5960,6 +5720,10 @@ packages: |
| 5960 | 5720 | stable: 0.1.8 |
| 5961 | 5721 | dev: true |
| 5962 | 5722 | |
| 5723 | + /systemjs/6.13.0: | |
| 5724 | + resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==} | |
| 5725 | + dev: true | |
| 5726 | + | |
| 5963 | 5727 | /table/6.8.1: |
| 5964 | 5728 | resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} |
| 5965 | 5729 | engines: {node: '>=10.0.0'} |
| ... | ... | @@ -5971,8 +5735,8 @@ packages: |
| 5971 | 5735 | strip-ansi: 6.0.1 |
| 5972 | 5736 | dev: true |
| 5973 | 5737 | |
| 5974 | - /terser/5.15.1: | |
| 5975 | - resolution: {integrity: sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==} | |
| 5738 | + /terser/5.16.1: | |
| 5739 | + resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} | |
| 5976 | 5740 | engines: {node: '>=10'} |
| 5977 | 5741 | hasBin: true |
| 5978 | 5742 | dependencies: |
| ... | ... | @@ -6005,18 +5769,9 @@ packages: |
| 6005 | 5769 | resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} |
| 6006 | 5770 | dev: false |
| 6007 | 5771 | |
| 6008 | - /title-case/3.0.3: | |
| 6009 | - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} | |
| 6010 | - dependencies: | |
| 6011 | - tslib: 2.4.1 | |
| 6012 | - dev: true | |
| 6013 | - | |
| 6014 | - /tmp/0.0.33: | |
| 6015 | - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} | |
| 6016 | - engines: {node: '>=0.6.0'} | |
| 6017 | - dependencies: | |
| 6018 | - os-tmpdir: 1.0.2 | |
| 6019 | - dev: true | |
| 5772 | + /to-fast-properties/2.0.0: | |
| 5773 | + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} | |
| 5774 | + engines: {node: '>=4'} | |
| 6020 | 5775 | |
| 6021 | 5776 | /to-object-path/0.3.0: |
| 6022 | 5777 | resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} |
| ... | ... | @@ -6026,7 +5781,7 @@ packages: |
| 6026 | 5781 | dev: true |
| 6027 | 5782 | |
| 6028 | 5783 | /to-regex-range/2.1.1: |
| 6029 | - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} | |
| 5784 | + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==, registry: https://registry.npm.taobao.org/} | |
| 6030 | 5785 | engines: {node: '>=0.10.0'} |
| 6031 | 5786 | dependencies: |
| 6032 | 5787 | is-number: 3.0.0 |
| ... | ... | @@ -6034,7 +5789,7 @@ packages: |
| 6034 | 5789 | dev: true |
| 6035 | 5790 | |
| 6036 | 5791 | /to-regex-range/5.0.1: |
| 6037 | - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} | |
| 5792 | + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/} | |
| 6038 | 5793 | engines: {node: '>=8.0'} |
| 6039 | 5794 | dependencies: |
| 6040 | 5795 | is-number: 7.0.0 |
| ... | ... | @@ -6095,7 +5850,7 @@ packages: |
| 6095 | 5850 | dev: true |
| 6096 | 5851 | |
| 6097 | 5852 | /tslib/1.14.1: |
| 6098 | - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} | |
| 5853 | + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/} | |
| 6099 | 5854 | dev: true |
| 6100 | 5855 | |
| 6101 | 5856 | /tslib/2.3.0: |
| ... | ... | @@ -6107,7 +5862,7 @@ packages: |
| 6107 | 5862 | dev: true |
| 6108 | 5863 | |
| 6109 | 5864 | /tsutils/3.21.0_typescript@4.9.3: |
| 6110 | - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} | |
| 5865 | + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, registry: https://registry.npm.taobao.org/} | |
| 6111 | 5866 | engines: {node: '>= 6'} |
| 6112 | 5867 | peerDependencies: |
| 6113 | 5868 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' |
| ... | ... | @@ -6161,11 +5916,6 @@ packages: |
| 6161 | 5916 | engines: {node: '>=4.2.0'} |
| 6162 | 5917 | hasBin: true |
| 6163 | 5918 | |
| 6164 | - /unc-path-regex/0.1.2: | |
| 6165 | - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} | |
| 6166 | - engines: {node: '>=0.10.0'} | |
| 6167 | - dev: true | |
| 6168 | - | |
| 6169 | 5919 | /union-value/1.0.1: |
| 6170 | 5920 | resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} |
| 6171 | 5921 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -6197,7 +5947,7 @@ packages: |
| 6197 | 5947 | dependencies: |
| 6198 | 5948 | browserslist: 4.21.4 |
| 6199 | 5949 | escalade: 3.1.1 |
| 6200 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 5950 | + picocolors: 1.0.0 | |
| 6201 | 5951 | dev: true |
| 6202 | 5952 | |
| 6203 | 5953 | /upper-case-first/2.0.2: |
| ... | ... | @@ -6247,11 +5997,6 @@ packages: |
| 6247 | 5997 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} |
| 6248 | 5998 | dev: true |
| 6249 | 5999 | |
| 6250 | - /v8flags/4.0.0: | |
| 6251 | - resolution: {integrity: sha512-83N0OkTbn6gOjJ2awNuzuK4czeGxwEwBoTqlhBZhnp8o0IJ72mXRQKphj/azwRf3acbDJZYZhbOPEJHd884ELg==} | |
| 6252 | - engines: {node: '>= 10.13.0'} | |
| 6253 | - dev: true | |
| 6254 | - | |
| 6255 | 6000 | /validate-npm-package-license/3.0.4: |
| 6256 | 6001 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} |
| 6257 | 6002 | dependencies: |
| ... | ... | @@ -6264,7 +6009,7 @@ packages: |
| 6264 | 6009 | engines: {node: '>= 0.8'} |
| 6265 | 6010 | dev: true |
| 6266 | 6011 | |
| 6267 | - /vite-plugin-compression/0.5.1_vite@3.2.4: | |
| 6012 | + /vite-plugin-compression/0.5.1_vite@3.2.5: | |
| 6268 | 6013 | resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} |
| 6269 | 6014 | peerDependencies: |
| 6270 | 6015 | vite: '>=2.0.0' |
| ... | ... | @@ -6272,12 +6017,18 @@ packages: |
| 6272 | 6017 | chalk: 4.1.2 |
| 6273 | 6018 | debug: 4.3.4 |
| 6274 | 6019 | fs-extra: 10.1.0 |
| 6275 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6020 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6276 | 6021 | transitivePeerDependencies: |
| 6277 | 6022 | - supports-color |
| 6278 | 6023 | dev: true |
| 6279 | 6024 | |
| 6280 | - /vite-plugin-eslint/1.8.1_eslint@8.28.0+vite@3.2.4: | |
| 6025 | + /vite-plugin-ejs/1.6.4: | |
| 6026 | + resolution: {integrity: sha512-23p1RS4PiA0veXY5/gHZ60pl3pPvd8NEqdBsDgxNK8nM1rjFFDcVb0paNmuipzCgNP/Y0f/Id22M7Il4kvZ2jA==} | |
| 6027 | + dependencies: | |
| 6028 | + ejs: 3.1.8 | |
| 6029 | + dev: true | |
| 6030 | + | |
| 6031 | + /vite-plugin-eslint/1.8.1_eslint@8.29.0+vite@3.2.5: | |
| 6281 | 6032 | resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} |
| 6282 | 6033 | peerDependencies: |
| 6283 | 6034 | eslint: '>=7' |
| ... | ... | @@ -6285,32 +6036,12 @@ packages: |
| 6285 | 6036 | dependencies: |
| 6286 | 6037 | '@rollup/pluginutils': 4.2.1 |
| 6287 | 6038 | '@types/eslint': 8.4.10 |
| 6288 | - eslint: 8.28.0 | |
| 6039 | + eslint: 8.29.0 | |
| 6289 | 6040 | rollup: 2.79.1 |
| 6290 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6291 | - dev: true | |
| 6292 | - | |
| 6293 | - /vite-plugin-html/3.2.0_vite@3.2.4: | |
| 6294 | - resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==} | |
| 6295 | - peerDependencies: | |
| 6296 | - vite: '>=2.0.0' | |
| 6297 | - dependencies: | |
| 6298 | - '@rollup/pluginutils': 4.2.1 | |
| 6299 | - colorette: 2.0.19 | |
| 6300 | - connect-history-api-fallback: 1.6.0 | |
| 6301 | - consola: 2.15.3 | |
| 6302 | - dotenv: 16.0.3 | |
| 6303 | - dotenv-expand: 8.0.3 | |
| 6304 | - ejs: 3.1.8 | |
| 6305 | - fast-glob: 3.2.12 | |
| 6306 | - fs-extra: 10.1.0 | |
| 6307 | - html-minifier-terser: 6.1.0 | |
| 6308 | - node-html-parser: 5.4.2 | |
| 6309 | - pathe: 0.2.0 | |
| 6310 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6041 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6311 | 6042 | dev: true |
| 6312 | 6043 | |
| 6313 | - /vite-plugin-progress/0.0.6_vite@3.2.4: | |
| 6044 | + /vite-plugin-progress/0.0.6_vite@3.2.5: | |
| 6314 | 6045 | resolution: {integrity: sha512-pIK2TVEY4XFGrz10CQDdEufBBCDaV0geRHfXV3abGTBr+OF9O0Zmd3ZDrHJXDv4Rl3qAQP4BTCuPYQ3XqstmqA==} |
| 6315 | 6046 | engines: {node: '>=14', pnpm: '>=7.0.0'} |
| 6316 | 6047 | peerDependencies: |
| ... | ... | @@ -6319,10 +6050,10 @@ packages: |
| 6319 | 6050 | picocolors: 1.0.0 |
| 6320 | 6051 | progress: 2.0.3 |
| 6321 | 6052 | rd: 2.0.1 |
| 6322 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6053 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6323 | 6054 | dev: true |
| 6324 | 6055 | |
| 6325 | - /vite-plugin-purge-icons/0.9.1_vite@3.2.4: | |
| 6056 | + /vite-plugin-purge-icons/0.9.1_vite@3.2.5: | |
| 6326 | 6057 | resolution: {integrity: sha512-oS0Y9Iq6vGnTDVRzB8xJNhA/gGlyR0lfCICU6+9FRKdrO5PnT34fRjvd8YWEsegCrk91+w3GVZc0HJDj/dPp5Q==} |
| 6327 | 6058 | engines: {node: '>= 12'} |
| 6328 | 6059 | peerDependencies: |
| ... | ... | @@ -6331,13 +6062,13 @@ packages: |
| 6331 | 6062 | '@purge-icons/core': 0.9.1 |
| 6332 | 6063 | '@purge-icons/generated': 0.9.0 |
| 6333 | 6064 | rollup-plugin-purge-icons: 0.9.1 |
| 6334 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6065 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6335 | 6066 | transitivePeerDependencies: |
| 6336 | 6067 | - encoding |
| 6337 | 6068 | - supports-color |
| 6338 | 6069 | dev: true |
| 6339 | 6070 | |
| 6340 | - /vite-plugin-style-import/2.0.0_vite@3.2.4: | |
| 6071 | + /vite-plugin-style-import/2.0.0_vite@3.2.5: | |
| 6341 | 6072 | resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} |
| 6342 | 6073 | peerDependencies: |
| 6343 | 6074 | vite: '>=2.0.0' |
| ... | ... | @@ -6349,10 +6080,10 @@ packages: |
| 6349 | 6080 | fs-extra: 10.1.0 |
| 6350 | 6081 | magic-string: 0.25.9 |
| 6351 | 6082 | pathe: 0.2.0 |
| 6352 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6083 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6353 | 6084 | dev: true |
| 6354 | 6085 | |
| 6355 | - /vite-plugin-svg-icons/2.0.1_vite@3.2.4: | |
| 6086 | + /vite-plugin-svg-icons/2.0.1_vite@3.2.5: | |
| 6356 | 6087 | resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} |
| 6357 | 6088 | peerDependencies: |
| 6358 | 6089 | vite: '>=2.0.0' |
| ... | ... | @@ -6365,22 +6096,22 @@ packages: |
| 6365 | 6096 | pathe: 0.2.0 |
| 6366 | 6097 | svg-baker: 1.7.0 |
| 6367 | 6098 | svgo: 2.8.0 |
| 6368 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6099 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6369 | 6100 | transitivePeerDependencies: |
| 6370 | 6101 | - supports-color |
| 6371 | 6102 | dev: true |
| 6372 | 6103 | |
| 6373 | - /vite-plugin-vue-setup-extend/0.4.0_vite@3.2.4: | |
| 6104 | + /vite-plugin-vue-setup-extend/0.4.0_vite@3.2.5: | |
| 6374 | 6105 | resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==} |
| 6375 | 6106 | peerDependencies: |
| 6376 | 6107 | vite: '>=2.0.0' |
| 6377 | 6108 | dependencies: |
| 6378 | 6109 | '@vue/compiler-sfc': 3.2.45 |
| 6379 | 6110 | magic-string: 0.25.9 |
| 6380 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6111 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6381 | 6112 | dev: true |
| 6382 | 6113 | |
| 6383 | - /vite-plugin-windicss/1.8.8_vite@3.2.4: | |
| 6114 | + /vite-plugin-windicss/1.8.8_vite@3.2.5: | |
| 6384 | 6115 | resolution: {integrity: sha512-iyu+ZX0NmhNEUaLPv7xtC+EFRBpWMmw0nhd9a9upayfuNG/thwslKiQKmRB7U/dG0k/2oWLvPDvN/B9i7oRgSA==} |
| 6385 | 6116 | peerDependencies: |
| 6386 | 6117 | vite: ^2.0.1 || ^3.0.0 |
| ... | ... | @@ -6388,14 +6119,14 @@ packages: |
| 6388 | 6119 | '@windicss/plugin-utils': 1.8.8 |
| 6389 | 6120 | debug: 4.3.4 |
| 6390 | 6121 | kolorist: 1.6.0 |
| 6391 | - vite: 3.2.4_ajklay5k626t46b6fyghkbup3i | |
| 6122 | + vite: 3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm | |
| 6392 | 6123 | windicss: 3.5.6 |
| 6393 | 6124 | transitivePeerDependencies: |
| 6394 | 6125 | - supports-color |
| 6395 | 6126 | dev: true |
| 6396 | 6127 | |
| 6397 | - /vite/3.2.4_ajklay5k626t46b6fyghkbup3i: | |
| 6398 | - resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} | |
| 6128 | + /vite/3.2.5_egxhkvvxjoy6k24tlk4nbv6pfm: | |
| 6129 | + resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} | |
| 6399 | 6130 | engines: {node: ^14.18.0 || >=16.0.0} |
| 6400 | 6131 | hasBin: true |
| 6401 | 6132 | peerDependencies: |
| ... | ... | @@ -6419,14 +6150,15 @@ packages: |
| 6419 | 6150 | terser: |
| 6420 | 6151 | optional: true |
| 6421 | 6152 | dependencies: |
| 6422 | - '@types/node': 18.11.9 | |
| 6153 | + '@types/node': 18.11.11 | |
| 6423 | 6154 | esbuild: 0.15.14 |
| 6424 | 6155 | postcss: 8.4.19 |
| 6425 | 6156 | resolve: 1.22.1 |
| 6426 | 6157 | rollup: 2.79.1 |
| 6427 | 6158 | sass: 1.56.1 |
| 6159 | + terser: 5.16.1 | |
| 6428 | 6160 | optionalDependencies: |
| 6429 | - fsevents: registry.npmmirror.com/fsevents/2.3.2 | |
| 6161 | + fsevents: 2.3.2 | |
| 6430 | 6162 | dev: true |
| 6431 | 6163 | |
| 6432 | 6164 | /vue-cropper/1.0.5: |
| ... | ... | @@ -6448,14 +6180,14 @@ packages: |
| 6448 | 6180 | vue: 3.2.45 |
| 6449 | 6181 | dev: false |
| 6450 | 6182 | |
| 6451 | - /vue-eslint-parser/9.1.0_eslint@8.28.0: | |
| 6183 | + /vue-eslint-parser/9.1.0_eslint@8.29.0: | |
| 6452 | 6184 | resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} |
| 6453 | 6185 | engines: {node: ^14.17.0 || >=16.0.0} |
| 6454 | 6186 | peerDependencies: |
| 6455 | 6187 | eslint: '>=6.0.0' |
| 6456 | 6188 | dependencies: |
| 6457 | 6189 | debug: 4.3.4 |
| 6458 | - eslint: 8.28.0 | |
| 6190 | + eslint: 8.29.0 | |
| 6459 | 6191 | eslint-scope: 7.1.1 |
| 6460 | 6192 | eslint-visitor-keys: 3.3.0 |
| 6461 | 6193 | espree: 9.4.1 |
| ... | ... | @@ -6487,6 +6219,24 @@ packages: |
| 6487 | 6219 | vue: 3.2.45 |
| 6488 | 6220 | dev: false |
| 6489 | 6221 | |
| 6222 | + /vue-template-compiler/2.7.14: | |
| 6223 | + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} | |
| 6224 | + dependencies: | |
| 6225 | + de-indent: 1.0.2 | |
| 6226 | + he: 1.2.0 | |
| 6227 | + dev: true | |
| 6228 | + | |
| 6229 | + /vue-tsc/1.0.11_typescript@4.9.3: | |
| 6230 | + resolution: {integrity: sha512-lj+6dEroPsE4wmQOPtjCzAf8x363Km5/tuEvMEoQaoRnzs9myBM46FNvCGIIPStYUGuaqF1W1bORmP2KDQEORA==} | |
| 6231 | + hasBin: true | |
| 6232 | + peerDependencies: | |
| 6233 | + typescript: '*' | |
| 6234 | + dependencies: | |
| 6235 | + '@volar/vue-language-core': 1.0.11 | |
| 6236 | + '@volar/vue-typescript': 1.0.11 | |
| 6237 | + typescript: 4.9.3 | |
| 6238 | + dev: true | |
| 6239 | + | |
| 6490 | 6240 | /vue-types/5.0.1_vue@3.2.45: |
| 6491 | 6241 | resolution: {integrity: sha512-pHahh/Ht+mxAhSGXfFe0WQidZukYUoCevPoQtePpONrmNP+OjX3/ps/XjYLgw/Zbv4rks242eiVJcjE3EELsyw==} |
| 6492 | 6242 | engines: {node: '>=14.0.0'} |
| ... | ... | @@ -6519,12 +6269,6 @@ packages: |
| 6519 | 6269 | xe-utils: 3.5.7 |
| 6520 | 6270 | dev: false |
| 6521 | 6271 | |
| 6522 | - /wcwidth/1.0.1: | |
| 6523 | - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} | |
| 6524 | - dependencies: | |
| 6525 | - defaults: 1.0.4 | |
| 6526 | - dev: true | |
| 6527 | - | |
| 6528 | 6272 | /web-storage-cache/1.1.1: |
| 6529 | 6273 | resolution: {integrity: sha512-D0MieGooOs8RpsrK+vnejXnvh4OOv/+lTFB35JRkJJQt+uOjPE08XpaE0QBLMTRu47B1KGT/Nq3Gbag3Orinzw==} |
| 6530 | 6274 | dev: false |
| ... | ... | @@ -6574,10 +6318,6 @@ packages: |
| 6574 | 6318 | engines: {node: '>=0.10.0'} |
| 6575 | 6319 | dev: true |
| 6576 | 6320 | |
| 6577 | - /wordwrap/1.0.0: | |
| 6578 | - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} | |
| 6579 | - dev: true | |
| 6580 | - | |
| 6581 | 6321 | /wrap-ansi/6.2.0: |
| 6582 | 6322 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} |
| 6583 | 6323 | engines: {node: '>=8'} |
| ... | ... | @@ -6626,7 +6366,7 @@ packages: |
| 6626 | 6366 | dev: true |
| 6627 | 6367 | |
| 6628 | 6368 | /yallist/4.0.0: |
| 6629 | - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} | |
| 6369 | + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/} | |
| 6630 | 6370 | dev: true |
| 6631 | 6371 | |
| 6632 | 6372 | /yaml-eslint-parser/0.3.2: |
| ... | ... | @@ -6710,600 +6450,3 @@ packages: |
| 6710 | 6450 | dependencies: |
| 6711 | 6451 | tslib: 2.3.0 |
| 6712 | 6452 | dev: false |
| 6713 | - | |
| 6714 | - registry.npmmirror.com/@babel/helper-string-parser/7.19.4: | |
| 6715 | - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz} | |
| 6716 | - name: '@babel/helper-string-parser' | |
| 6717 | - version: 7.19.4 | |
| 6718 | - engines: {node: '>=6.9.0'} | |
| 6719 | - | |
| 6720 | - registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1: | |
| 6721 | - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz} | |
| 6722 | - name: '@babel/helper-validator-identifier' | |
| 6723 | - version: 7.19.1 | |
| 6724 | - engines: {node: '>=6.9.0'} | |
| 6725 | - | |
| 6726 | - registry.npmmirror.com/@babel/parser/7.20.3: | |
| 6727 | - resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.20.3.tgz} | |
| 6728 | - name: '@babel/parser' | |
| 6729 | - version: 7.20.3 | |
| 6730 | - engines: {node: '>=6.0.0'} | |
| 6731 | - hasBin: true | |
| 6732 | - dependencies: | |
| 6733 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 6734 | - | |
| 6735 | - registry.npmmirror.com/@babel/types/7.20.2: | |
| 6736 | - resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.20.2.tgz} | |
| 6737 | - name: '@babel/types' | |
| 6738 | - version: 7.20.2 | |
| 6739 | - engines: {node: '>=6.9.0'} | |
| 6740 | - dependencies: | |
| 6741 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 6742 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6743 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 6744 | - | |
| 6745 | - registry.npmmirror.com/@esbuild/android-arm/0.15.14: | |
| 6746 | - resolution: {integrity: sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz} | |
| 6747 | - name: '@esbuild/android-arm' | |
| 6748 | - version: 0.15.14 | |
| 6749 | - engines: {node: '>=12'} | |
| 6750 | - cpu: [arm] | |
| 6751 | - os: [android] | |
| 6752 | - requiresBuild: true | |
| 6753 | - dev: true | |
| 6754 | - optional: true | |
| 6755 | - | |
| 6756 | - registry.npmmirror.com/@esbuild/linux-loong64/0.15.14: | |
| 6757 | - resolution: {integrity: sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz} | |
| 6758 | - name: '@esbuild/linux-loong64' | |
| 6759 | - version: 0.15.14 | |
| 6760 | - engines: {node: '>=12'} | |
| 6761 | - cpu: [loong64] | |
| 6762 | - os: [linux] | |
| 6763 | - requiresBuild: true | |
| 6764 | - dev: true | |
| 6765 | - optional: true | |
| 6766 | - | |
| 6767 | - registry.npmmirror.com/@intlify/message-compiler/9.3.0-beta.10: | |
| 6768 | - resolution: {integrity: sha512-RoOC6yceOykLRhN0NlbkNOBUx1el6iphx3W8NfOx3jHVNtfT1FYokx14/5sU3F1F0uxeG4sp6q+ppKvaF8o+ww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.10.tgz} | |
| 6769 | - name: '@intlify/message-compiler' | |
| 6770 | - version: 9.3.0-beta.10 | |
| 6771 | - engines: {node: '>= 14'} | |
| 6772 | - dependencies: | |
| 6773 | - '@intlify/shared': registry.npmmirror.com/@intlify/shared/9.3.0-beta.10 | |
| 6774 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 6775 | - dev: true | |
| 6776 | - | |
| 6777 | - registry.npmmirror.com/@intlify/shared/9.2.2: | |
| 6778 | - resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz} | |
| 6779 | - name: '@intlify/shared' | |
| 6780 | - version: 9.2.2 | |
| 6781 | - engines: {node: '>= 14'} | |
| 6782 | - | |
| 6783 | - registry.npmmirror.com/@intlify/shared/9.3.0-beta.10: | |
| 6784 | - resolution: {integrity: sha512-h93uAanbAt/XgjDHclrVB7xix6r7Uz11wx0iGNOCdHP7aA2LCJjUT3uNbekJjjbo+Fl5jzTSJZdm2SexzoqhRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@intlify/shared/-/shared-9.3.0-beta.10.tgz} | |
| 6785 | - name: '@intlify/shared' | |
| 6786 | - version: 9.3.0-beta.10 | |
| 6787 | - engines: {node: '>= 14'} | |
| 6788 | - dev: true | |
| 6789 | - | |
| 6790 | - registry.npmmirror.com/@sxzz/popperjs-es/2.11.7: | |
| 6791 | - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz} | |
| 6792 | - name: '@sxzz/popperjs-es' | |
| 6793 | - version: 2.11.7 | |
| 6794 | - dev: false | |
| 6795 | - | |
| 6796 | - registry.npmmirror.com/@volar/language-core/1.0.10: | |
| 6797 | - resolution: {integrity: sha512-7WNzjvdUXjggEZvYu9EInABl4mvXtyiiaJDOJM+plHJT7xW5voLja0BrYYji6TUn8Q4HakLvTPpQddPLq134mg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/language-core/-/language-core-1.0.10.tgz} | |
| 6798 | - name: '@volar/language-core' | |
| 6799 | - version: 1.0.10 | |
| 6800 | - dependencies: | |
| 6801 | - '@volar/source-map': registry.npmmirror.com/@volar/source-map/1.0.10 | |
| 6802 | - '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.45 | |
| 6803 | - muggle-string: registry.npmmirror.com/muggle-string/0.1.0 | |
| 6804 | - dev: true | |
| 6805 | - | |
| 6806 | - registry.npmmirror.com/@volar/source-map/1.0.10: | |
| 6807 | - resolution: {integrity: sha512-jSZW1tfsvAOHlpoRy14zH9sdCYR4g8QcnCXRli8juFC2UHoVzVRKB6VdnXcx5wRAlIRXoiBpsU+pKminryKEBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/source-map/-/source-map-1.0.10.tgz} | |
| 6808 | - name: '@volar/source-map' | |
| 6809 | - version: 1.0.10 | |
| 6810 | - dependencies: | |
| 6811 | - muggle-string: registry.npmmirror.com/muggle-string/0.1.0 | |
| 6812 | - dev: true | |
| 6813 | - | |
| 6814 | - registry.npmmirror.com/@volar/typescript/1.0.10: | |
| 6815 | - resolution: {integrity: sha512-Nd+u2Z2P1V+KiNBMLLK6wV4sswOOYBsjEHmgK29eENXtos1+gF2GWB908vvwmT75dmCtlYZ8No14lvCqXUAVdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/typescript/-/typescript-1.0.10.tgz} | |
| 6816 | - name: '@volar/typescript' | |
| 6817 | - version: 1.0.10 | |
| 6818 | - dependencies: | |
| 6819 | - '@volar/language-core': registry.npmmirror.com/@volar/language-core/1.0.10 | |
| 6820 | - dev: true | |
| 6821 | - | |
| 6822 | - registry.npmmirror.com/@volar/vue-language-core/1.0.10: | |
| 6823 | - resolution: {integrity: sha512-m7pYXGwkpF9Bmuud73kGlAX31QUTwifYbgCenaqm3hGNh+SJebSkxzk4NJvabiGbA6ON3b5ayQZ/rbOEtdoghw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.0.10.tgz} | |
| 6824 | - name: '@volar/vue-language-core' | |
| 6825 | - version: 1.0.10 | |
| 6826 | - dependencies: | |
| 6827 | - '@volar/language-core': registry.npmmirror.com/@volar/language-core/1.0.10 | |
| 6828 | - '@volar/source-map': registry.npmmirror.com/@volar/source-map/1.0.10 | |
| 6829 | - '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45 | |
| 6830 | - '@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.45 | |
| 6831 | - '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.45 | |
| 6832 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6833 | - minimatch: registry.npmmirror.com/minimatch/5.1.0 | |
| 6834 | - vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.7.14 | |
| 6835 | - dev: true | |
| 6836 | - | |
| 6837 | - registry.npmmirror.com/@volar/vue-typescript/1.0.10: | |
| 6838 | - resolution: {integrity: sha512-GjQ+mfIUljXGfkTmNrfNT8YYQY48mcOE5SJ190o6ENArzH9cqjmvPLo1nrdurbZOFwztwEDNye5N1/5aL9sZ1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.0.10.tgz} | |
| 6839 | - name: '@volar/vue-typescript' | |
| 6840 | - version: 1.0.10 | |
| 6841 | - dependencies: | |
| 6842 | - '@volar/typescript': registry.npmmirror.com/@volar/typescript/1.0.10 | |
| 6843 | - '@volar/vue-language-core': registry.npmmirror.com/@volar/vue-language-core/1.0.10 | |
| 6844 | - dev: true | |
| 6845 | - | |
| 6846 | - registry.npmmirror.com/@vue/compiler-core/3.2.45: | |
| 6847 | - resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz} | |
| 6848 | - name: '@vue/compiler-core' | |
| 6849 | - version: 3.2.45 | |
| 6850 | - dependencies: | |
| 6851 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 6852 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6853 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 6854 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 6855 | - | |
| 6856 | - registry.npmmirror.com/@vue/compiler-dom/3.2.45: | |
| 6857 | - resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz} | |
| 6858 | - name: '@vue/compiler-dom' | |
| 6859 | - version: 3.2.45 | |
| 6860 | - dependencies: | |
| 6861 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 6862 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6863 | - | |
| 6864 | - registry.npmmirror.com/@vue/compiler-sfc/3.2.45: | |
| 6865 | - resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz} | |
| 6866 | - name: '@vue/compiler-sfc' | |
| 6867 | - version: 3.2.45 | |
| 6868 | - dependencies: | |
| 6869 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 6870 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 6871 | - '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45 | |
| 6872 | - '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.45 | |
| 6873 | - '@vue/reactivity-transform': registry.npmmirror.com/@vue/reactivity-transform/3.2.45 | |
| 6874 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6875 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 6876 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 6877 | - postcss: registry.npmmirror.com/postcss/8.4.19 | |
| 6878 | - source-map: registry.npmmirror.com/source-map/0.6.1 | |
| 6879 | - dev: true | |
| 6880 | - | |
| 6881 | - registry.npmmirror.com/@vue/compiler-ssr/3.2.45: | |
| 6882 | - resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz} | |
| 6883 | - name: '@vue/compiler-ssr' | |
| 6884 | - version: 3.2.45 | |
| 6885 | - dependencies: | |
| 6886 | - '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45 | |
| 6887 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6888 | - | |
| 6889 | - registry.npmmirror.com/@vue/reactivity-transform/3.2.45: | |
| 6890 | - resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz} | |
| 6891 | - name: '@vue/reactivity-transform' | |
| 6892 | - version: 3.2.45 | |
| 6893 | - dependencies: | |
| 6894 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.3 | |
| 6895 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 6896 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6897 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 6898 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 6899 | - dev: true | |
| 6900 | - | |
| 6901 | - registry.npmmirror.com/@vue/reactivity/3.2.45: | |
| 6902 | - resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz} | |
| 6903 | - name: '@vue/reactivity' | |
| 6904 | - version: 3.2.45 | |
| 6905 | - dependencies: | |
| 6906 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6907 | - | |
| 6908 | - registry.npmmirror.com/@vue/shared/3.2.45: | |
| 6909 | - resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz} | |
| 6910 | - name: '@vue/shared' | |
| 6911 | - version: 3.2.45 | |
| 6912 | - | |
| 6913 | - registry.npmmirror.com/balanced-match/1.0.2: | |
| 6914 | - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz} | |
| 6915 | - name: balanced-match | |
| 6916 | - version: 1.0.2 | |
| 6917 | - dev: true | |
| 6918 | - | |
| 6919 | - registry.npmmirror.com/brace-expansion/1.1.11: | |
| 6920 | - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz} | |
| 6921 | - name: brace-expansion | |
| 6922 | - version: 1.1.11 | |
| 6923 | - dependencies: | |
| 6924 | - balanced-match: registry.npmmirror.com/balanced-match/1.0.2 | |
| 6925 | - concat-map: 0.0.1 | |
| 6926 | - dev: true | |
| 6927 | - | |
| 6928 | - registry.npmmirror.com/brace-expansion/2.0.1: | |
| 6929 | - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz} | |
| 6930 | - name: brace-expansion | |
| 6931 | - version: 2.0.1 | |
| 6932 | - dependencies: | |
| 6933 | - balanced-match: registry.npmmirror.com/balanced-match/1.0.2 | |
| 6934 | - dev: true | |
| 6935 | - | |
| 6936 | - registry.npmmirror.com/de-indent/1.0.2: | |
| 6937 | - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz} | |
| 6938 | - name: de-indent | |
| 6939 | - version: 1.0.2 | |
| 6940 | - dev: true | |
| 6941 | - | |
| 6942 | - registry.npmmirror.com/esbuild-android-64/0.15.14: | |
| 6943 | - resolution: {integrity: sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz} | |
| 6944 | - name: esbuild-android-64 | |
| 6945 | - version: 0.15.14 | |
| 6946 | - engines: {node: '>=12'} | |
| 6947 | - cpu: [x64] | |
| 6948 | - os: [android] | |
| 6949 | - requiresBuild: true | |
| 6950 | - dev: true | |
| 6951 | - optional: true | |
| 6952 | - | |
| 6953 | - registry.npmmirror.com/esbuild-android-arm64/0.15.14: | |
| 6954 | - resolution: {integrity: sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz} | |
| 6955 | - name: esbuild-android-arm64 | |
| 6956 | - version: 0.15.14 | |
| 6957 | - engines: {node: '>=12'} | |
| 6958 | - cpu: [arm64] | |
| 6959 | - os: [android] | |
| 6960 | - requiresBuild: true | |
| 6961 | - dev: true | |
| 6962 | - optional: true | |
| 6963 | - | |
| 6964 | - registry.npmmirror.com/esbuild-darwin-64/0.15.14: | |
| 6965 | - resolution: {integrity: sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz} | |
| 6966 | - name: esbuild-darwin-64 | |
| 6967 | - version: 0.15.14 | |
| 6968 | - engines: {node: '>=12'} | |
| 6969 | - cpu: [x64] | |
| 6970 | - os: [darwin] | |
| 6971 | - requiresBuild: true | |
| 6972 | - dev: true | |
| 6973 | - optional: true | |
| 6974 | - | |
| 6975 | - registry.npmmirror.com/esbuild-darwin-arm64/0.15.14: | |
| 6976 | - resolution: {integrity: sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz} | |
| 6977 | - name: esbuild-darwin-arm64 | |
| 6978 | - version: 0.15.14 | |
| 6979 | - engines: {node: '>=12'} | |
| 6980 | - cpu: [arm64] | |
| 6981 | - os: [darwin] | |
| 6982 | - requiresBuild: true | |
| 6983 | - dev: true | |
| 6984 | - optional: true | |
| 6985 | - | |
| 6986 | - registry.npmmirror.com/esbuild-freebsd-64/0.15.14: | |
| 6987 | - resolution: {integrity: sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz} | |
| 6988 | - name: esbuild-freebsd-64 | |
| 6989 | - version: 0.15.14 | |
| 6990 | - engines: {node: '>=12'} | |
| 6991 | - cpu: [x64] | |
| 6992 | - os: [freebsd] | |
| 6993 | - requiresBuild: true | |
| 6994 | - dev: true | |
| 6995 | - optional: true | |
| 6996 | - | |
| 6997 | - registry.npmmirror.com/esbuild-freebsd-arm64/0.15.14: | |
| 6998 | - resolution: {integrity: sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz} | |
| 6999 | - name: esbuild-freebsd-arm64 | |
| 7000 | - version: 0.15.14 | |
| 7001 | - engines: {node: '>=12'} | |
| 7002 | - cpu: [arm64] | |
| 7003 | - os: [freebsd] | |
| 7004 | - requiresBuild: true | |
| 7005 | - dev: true | |
| 7006 | - optional: true | |
| 7007 | - | |
| 7008 | - registry.npmmirror.com/esbuild-linux-32/0.15.14: | |
| 7009 | - resolution: {integrity: sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz} | |
| 7010 | - name: esbuild-linux-32 | |
| 7011 | - version: 0.15.14 | |
| 7012 | - engines: {node: '>=12'} | |
| 7013 | - cpu: [ia32] | |
| 7014 | - os: [linux] | |
| 7015 | - requiresBuild: true | |
| 7016 | - dev: true | |
| 7017 | - optional: true | |
| 7018 | - | |
| 7019 | - registry.npmmirror.com/esbuild-linux-64/0.15.14: | |
| 7020 | - resolution: {integrity: sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz} | |
| 7021 | - name: esbuild-linux-64 | |
| 7022 | - version: 0.15.14 | |
| 7023 | - engines: {node: '>=12'} | |
| 7024 | - cpu: [x64] | |
| 7025 | - os: [linux] | |
| 7026 | - requiresBuild: true | |
| 7027 | - dev: true | |
| 7028 | - optional: true | |
| 7029 | - | |
| 7030 | - registry.npmmirror.com/esbuild-linux-arm/0.15.14: | |
| 7031 | - resolution: {integrity: sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz} | |
| 7032 | - name: esbuild-linux-arm | |
| 7033 | - version: 0.15.14 | |
| 7034 | - engines: {node: '>=12'} | |
| 7035 | - cpu: [arm] | |
| 7036 | - os: [linux] | |
| 7037 | - requiresBuild: true | |
| 7038 | - dev: true | |
| 7039 | - optional: true | |
| 7040 | - | |
| 7041 | - registry.npmmirror.com/esbuild-linux-arm64/0.15.14: | |
| 7042 | - resolution: {integrity: sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz} | |
| 7043 | - name: esbuild-linux-arm64 | |
| 7044 | - version: 0.15.14 | |
| 7045 | - engines: {node: '>=12'} | |
| 7046 | - cpu: [arm64] | |
| 7047 | - os: [linux] | |
| 7048 | - requiresBuild: true | |
| 7049 | - dev: true | |
| 7050 | - optional: true | |
| 7051 | - | |
| 7052 | - registry.npmmirror.com/esbuild-linux-mips64le/0.15.14: | |
| 7053 | - resolution: {integrity: sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz} | |
| 7054 | - name: esbuild-linux-mips64le | |
| 7055 | - version: 0.15.14 | |
| 7056 | - engines: {node: '>=12'} | |
| 7057 | - cpu: [mips64el] | |
| 7058 | - os: [linux] | |
| 7059 | - requiresBuild: true | |
| 7060 | - dev: true | |
| 7061 | - optional: true | |
| 7062 | - | |
| 7063 | - registry.npmmirror.com/esbuild-linux-ppc64le/0.15.14: | |
| 7064 | - resolution: {integrity: sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz} | |
| 7065 | - name: esbuild-linux-ppc64le | |
| 7066 | - version: 0.15.14 | |
| 7067 | - engines: {node: '>=12'} | |
| 7068 | - cpu: [ppc64] | |
| 7069 | - os: [linux] | |
| 7070 | - requiresBuild: true | |
| 7071 | - dev: true | |
| 7072 | - optional: true | |
| 7073 | - | |
| 7074 | - registry.npmmirror.com/esbuild-linux-riscv64/0.15.14: | |
| 7075 | - resolution: {integrity: sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz} | |
| 7076 | - name: esbuild-linux-riscv64 | |
| 7077 | - version: 0.15.14 | |
| 7078 | - engines: {node: '>=12'} | |
| 7079 | - cpu: [riscv64] | |
| 7080 | - os: [linux] | |
| 7081 | - requiresBuild: true | |
| 7082 | - dev: true | |
| 7083 | - optional: true | |
| 7084 | - | |
| 7085 | - registry.npmmirror.com/esbuild-linux-s390x/0.15.14: | |
| 7086 | - resolution: {integrity: sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz} | |
| 7087 | - name: esbuild-linux-s390x | |
| 7088 | - version: 0.15.14 | |
| 7089 | - engines: {node: '>=12'} | |
| 7090 | - cpu: [s390x] | |
| 7091 | - os: [linux] | |
| 7092 | - requiresBuild: true | |
| 7093 | - dev: true | |
| 7094 | - optional: true | |
| 7095 | - | |
| 7096 | - registry.npmmirror.com/esbuild-netbsd-64/0.15.14: | |
| 7097 | - resolution: {integrity: sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz} | |
| 7098 | - name: esbuild-netbsd-64 | |
| 7099 | - version: 0.15.14 | |
| 7100 | - engines: {node: '>=12'} | |
| 7101 | - cpu: [x64] | |
| 7102 | - os: [netbsd] | |
| 7103 | - requiresBuild: true | |
| 7104 | - dev: true | |
| 7105 | - optional: true | |
| 7106 | - | |
| 7107 | - registry.npmmirror.com/esbuild-openbsd-64/0.15.14: | |
| 7108 | - resolution: {integrity: sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz} | |
| 7109 | - name: esbuild-openbsd-64 | |
| 7110 | - version: 0.15.14 | |
| 7111 | - engines: {node: '>=12'} | |
| 7112 | - cpu: [x64] | |
| 7113 | - os: [openbsd] | |
| 7114 | - requiresBuild: true | |
| 7115 | - dev: true | |
| 7116 | - optional: true | |
| 7117 | - | |
| 7118 | - registry.npmmirror.com/esbuild-sunos-64/0.15.14: | |
| 7119 | - resolution: {integrity: sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz} | |
| 7120 | - name: esbuild-sunos-64 | |
| 7121 | - version: 0.15.14 | |
| 7122 | - engines: {node: '>=12'} | |
| 7123 | - cpu: [x64] | |
| 7124 | - os: [sunos] | |
| 7125 | - requiresBuild: true | |
| 7126 | - dev: true | |
| 7127 | - optional: true | |
| 7128 | - | |
| 7129 | - registry.npmmirror.com/esbuild-windows-32/0.15.14: | |
| 7130 | - resolution: {integrity: sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz} | |
| 7131 | - name: esbuild-windows-32 | |
| 7132 | - version: 0.15.14 | |
| 7133 | - engines: {node: '>=12'} | |
| 7134 | - cpu: [ia32] | |
| 7135 | - os: [win32] | |
| 7136 | - requiresBuild: true | |
| 7137 | - dev: true | |
| 7138 | - optional: true | |
| 7139 | - | |
| 7140 | - registry.npmmirror.com/esbuild-windows-64/0.15.14: | |
| 7141 | - resolution: {integrity: sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz} | |
| 7142 | - name: esbuild-windows-64 | |
| 7143 | - version: 0.15.14 | |
| 7144 | - engines: {node: '>=12'} | |
| 7145 | - cpu: [x64] | |
| 7146 | - os: [win32] | |
| 7147 | - requiresBuild: true | |
| 7148 | - dev: true | |
| 7149 | - optional: true | |
| 7150 | - | |
| 7151 | - registry.npmmirror.com/esbuild-windows-arm64/0.15.14: | |
| 7152 | - resolution: {integrity: sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz} | |
| 7153 | - name: esbuild-windows-arm64 | |
| 7154 | - version: 0.15.14 | |
| 7155 | - engines: {node: '>=12'} | |
| 7156 | - cpu: [arm64] | |
| 7157 | - os: [win32] | |
| 7158 | - requiresBuild: true | |
| 7159 | - dev: true | |
| 7160 | - optional: true | |
| 7161 | - | |
| 7162 | - registry.npmmirror.com/estree-walker/2.0.2: | |
| 7163 | - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz} | |
| 7164 | - name: estree-walker | |
| 7165 | - version: 2.0.2 | |
| 7166 | - | |
| 7167 | - registry.npmmirror.com/fsevents/2.3.2: | |
| 7168 | - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} | |
| 7169 | - name: fsevents | |
| 7170 | - version: 2.3.2 | |
| 7171 | - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} | |
| 7172 | - os: [darwin] | |
| 7173 | - requiresBuild: true | |
| 7174 | - dev: true | |
| 7175 | - optional: true | |
| 7176 | - | |
| 7177 | - registry.npmmirror.com/graceful-fs/4.2.10: | |
| 7178 | - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} | |
| 7179 | - name: graceful-fs | |
| 7180 | - version: 4.2.10 | |
| 7181 | - requiresBuild: true | |
| 7182 | - dev: true | |
| 7183 | - optional: true | |
| 7184 | - | |
| 7185 | - registry.npmmirror.com/he/1.2.0: | |
| 7186 | - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/he/-/he-1.2.0.tgz} | |
| 7187 | - name: he | |
| 7188 | - version: 1.2.0 | |
| 7189 | - hasBin: true | |
| 7190 | - dev: true | |
| 7191 | - | |
| 7192 | - registry.npmmirror.com/magic-string/0.25.9: | |
| 7193 | - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz} | |
| 7194 | - name: magic-string | |
| 7195 | - version: 0.25.9 | |
| 7196 | - dependencies: | |
| 7197 | - sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8 | |
| 7198 | - | |
| 7199 | - registry.npmmirror.com/minimatch/3.1.2: | |
| 7200 | - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz} | |
| 7201 | - name: minimatch | |
| 7202 | - version: 3.1.2 | |
| 7203 | - dependencies: | |
| 7204 | - brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 | |
| 7205 | - dev: true | |
| 7206 | - | |
| 7207 | - registry.npmmirror.com/minimatch/5.1.0: | |
| 7208 | - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz} | |
| 7209 | - name: minimatch | |
| 7210 | - version: 5.1.0 | |
| 7211 | - engines: {node: '>=10'} | |
| 7212 | - dependencies: | |
| 7213 | - brace-expansion: registry.npmmirror.com/brace-expansion/2.0.1 | |
| 7214 | - dev: true | |
| 7215 | - | |
| 7216 | - registry.npmmirror.com/muggle-string/0.1.0: | |
| 7217 | - resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/muggle-string/-/muggle-string-0.1.0.tgz} | |
| 7218 | - name: muggle-string | |
| 7219 | - version: 0.1.0 | |
| 7220 | - dev: true | |
| 7221 | - | |
| 7222 | - registry.npmmirror.com/nanoid/3.3.4: | |
| 7223 | - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz} | |
| 7224 | - name: nanoid | |
| 7225 | - version: 3.3.4 | |
| 7226 | - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} | |
| 7227 | - hasBin: true | |
| 7228 | - dev: true | |
| 7229 | - | |
| 7230 | - registry.npmmirror.com/picocolors/1.0.0: | |
| 7231 | - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} | |
| 7232 | - name: picocolors | |
| 7233 | - version: 1.0.0 | |
| 7234 | - dev: true | |
| 7235 | - | |
| 7236 | - registry.npmmirror.com/postcss/8.4.19: | |
| 7237 | - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.19.tgz} | |
| 7238 | - name: postcss | |
| 7239 | - version: 8.4.19 | |
| 7240 | - engines: {node: ^10 || ^12 || >=14} | |
| 7241 | - dependencies: | |
| 7242 | - nanoid: registry.npmmirror.com/nanoid/3.3.4 | |
| 7243 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 7244 | - source-map-js: registry.npmmirror.com/source-map-js/1.0.2 | |
| 7245 | - dev: true | |
| 7246 | - | |
| 7247 | - registry.npmmirror.com/source-map-js/1.0.2: | |
| 7248 | - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz} | |
| 7249 | - name: source-map-js | |
| 7250 | - version: 1.0.2 | |
| 7251 | - engines: {node: '>=0.10.0'} | |
| 7252 | - dev: true | |
| 7253 | - | |
| 7254 | - registry.npmmirror.com/source-map/0.5.7: | |
| 7255 | - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz} | |
| 7256 | - name: source-map | |
| 7257 | - version: 0.5.7 | |
| 7258 | - engines: {node: '>=0.10.0'} | |
| 7259 | - dev: true | |
| 7260 | - | |
| 7261 | - registry.npmmirror.com/source-map/0.6.1: | |
| 7262 | - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} | |
| 7263 | - name: source-map | |
| 7264 | - version: 0.6.1 | |
| 7265 | - engines: {node: '>=0.10.0'} | |
| 7266 | - | |
| 7267 | - registry.npmmirror.com/sourcemap-codec/1.4.8: | |
| 7268 | - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz} | |
| 7269 | - name: sourcemap-codec | |
| 7270 | - version: 1.4.8 | |
| 7271 | - | |
| 7272 | - registry.npmmirror.com/to-fast-properties/2.0.0: | |
| 7273 | - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} | |
| 7274 | - name: to-fast-properties | |
| 7275 | - version: 2.0.0 | |
| 7276 | - engines: {node: '>=4'} | |
| 7277 | - | |
| 7278 | - registry.npmmirror.com/uglify-js/3.17.4: | |
| 7279 | - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz} | |
| 7280 | - name: uglify-js | |
| 7281 | - version: 3.17.4 | |
| 7282 | - engines: {node: '>=0.8.0'} | |
| 7283 | - hasBin: true | |
| 7284 | - requiresBuild: true | |
| 7285 | - dev: true | |
| 7286 | - optional: true | |
| 7287 | - | |
| 7288 | - registry.npmmirror.com/vue-template-compiler/2.7.14: | |
| 7289 | - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz} | |
| 7290 | - name: vue-template-compiler | |
| 7291 | - version: 2.7.14 | |
| 7292 | - dependencies: | |
| 7293 | - de-indent: registry.npmmirror.com/de-indent/1.0.2 | |
| 7294 | - he: registry.npmmirror.com/he/1.2.0 | |
| 7295 | - dev: true | |
| 7296 | - | |
| 7297 | - registry.npmmirror.com/vue-tsc/1.0.10_typescript@4.9.3: | |
| 7298 | - resolution: {integrity: sha512-o6ek6ZSDwpVWn7/ZXlIILfCZ18o7ypEYKMDynsyPj9m10/ALXkCLKIj9yVfx00QAX5Z/hKrdhYcA2ZaQ0+U7Kg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.0.10.tgz} | |
| 7299 | - id: registry.npmmirror.com/vue-tsc/1.0.10 | |
| 7300 | - name: vue-tsc | |
| 7301 | - version: 1.0.10 | |
| 7302 | - hasBin: true | |
| 7303 | - peerDependencies: | |
| 7304 | - typescript: '*' | |
| 7305 | - dependencies: | |
| 7306 | - '@volar/vue-language-core': registry.npmmirror.com/@volar/vue-language-core/1.0.10 | |
| 7307 | - '@volar/vue-typescript': registry.npmmirror.com/@volar/vue-typescript/1.0.10 | |
| 7308 | - typescript: 4.9.3 | |
| 7309 | - dev: true | ... | ... |
yudao-ui-admin-vue3/src/App.vue
| ... | ... | @@ -4,7 +4,7 @@ import { isDark } from '@/utils/is' |
| 4 | 4 | import { useAppStore } from '@/store/modules/app' |
| 5 | 5 | import { useDesign } from '@/hooks/web/useDesign' |
| 6 | 6 | import { ConfigGlobal } from '@/components/ConfigGlobal' |
| 7 | -import { useCache } from '@/hooks/web/useCache' | |
| 7 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 8 | 8 | |
| 9 | 9 | const { getPrefixCls } = useDesign() |
| 10 | 10 | const prefixCls = getPrefixCls('app') |
| ... | ... | @@ -15,15 +15,10 @@ const { wsCache } = useCache() |
| 15 | 15 | |
| 16 | 16 | // 根据浏览器当前主题设置系统主题色 |
| 17 | 17 | const setDefaultTheme = () => { |
| 18 | - if (wsCache.get('isDark')) { | |
| 19 | - if (wsCache.get('isDark') || wsCache.get('isDark') === 'true') { | |
| 20 | - appStore.setIsDark(true) | |
| 21 | - } else { | |
| 22 | - appStore.setIsDark(false) | |
| 23 | - } | |
| 24 | - return | |
| 18 | + let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK) | |
| 19 | + if (isDarkTheme === null) { | |
| 20 | + isDarkTheme = isDark() | |
| 25 | 21 | } |
| 26 | - const isDarkTheme = isDark() | |
| 27 | 22 | appStore.setIsDark(isDarkTheme) |
| 28 | 23 | } |
| 29 | 24 | setDefaultTheme() | ... | ... |
yudao-ui-admin-vue3/src/api/infra/fileConfig/index.ts
| ... | ... | @@ -42,7 +42,7 @@ export const getFileConfigApi = (id: number) => { |
| 42 | 42 | |
| 43 | 43 | // 更新文件配置为主配置 |
| 44 | 44 | export const updateFileConfigMasterApi = (id: number) => { |
| 45 | - return request.get({ url: '/infra/file-config/update-master?id=' + id }) | |
| 45 | + return request.put({ url: '/infra/file-config/update-master?id=' + id }) | |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | 48 | // 新增文件配置 | ... | ... |
yudao-ui-admin-vue3/src/api/login/index.ts
| ... | ... | @@ -57,7 +57,7 @@ export const smsLoginApi = (data: SmsLoginVO) => { |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | // 社交授权的跳转 |
| 60 | -export const socialAuthRedirectApi = (type: string, redirectUri: string) => { | |
| 60 | +export const socialAuthRedirectApi = (type: number, redirectUri: string) => { | |
| 61 | 61 | return request.get({ |
| 62 | 62 | url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri |
| 63 | 63 | }) | ... | ... |
yudao-ui-admin-vue3/src/components/Form/src/componentMap.ts
| ... | ... | @@ -21,6 +21,7 @@ import { |
| 21 | 21 | } from 'element-plus' |
| 22 | 22 | import { InputPassword } from '@/components/InputPassword' |
| 23 | 23 | import { Editor } from '@/components/Editor' |
| 24 | +import { UploadImg, UploadFile } from '@/components/UploadFile' | |
| 24 | 25 | import { ComponentName } from '@/types/components' |
| 25 | 26 | |
| 26 | 27 | const componentMap: Recordable<Component, ComponentName> = { |
| ... | ... | @@ -45,7 +46,9 @@ const componentMap: Recordable<Component, ComponentName> = { |
| 45 | 46 | TreeSelect: ElTreeSelect, |
| 46 | 47 | RadioButton: ElRadioGroup, |
| 47 | 48 | InputPassword: InputPassword, |
| 48 | - Editor: Editor | |
| 49 | + Editor: Editor, | |
| 50 | + UploadImg: UploadImg, | |
| 51 | + UploadFile: UploadFile | |
| 49 | 52 | } |
| 50 | 53 | |
| 51 | 54 | export { componentMap } | ... | ... |
yudao-ui-admin-vue3/src/components/UploadFile/index.ts
yudao-ui-admin-vue3/src/components/UploadFile/src/UploadFile.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="upload-file"> | |
| 3 | + <el-upload | |
| 4 | + ref="uploadRef" | |
| 5 | + :multiple="props.limit > 1" | |
| 6 | + name="file" | |
| 7 | + v-model="valueRef" | |
| 8 | + v-model:file-list="fileList" | |
| 9 | + :show-file-list="true" | |
| 10 | + :auto-upload="autoUpload" | |
| 11 | + :action="updateUrl" | |
| 12 | + :headers="uploadHeaders" | |
| 13 | + :limit="props.limit" | |
| 14 | + :drag="drag" | |
| 15 | + :before-upload="beforeUpload" | |
| 16 | + :on-exceed="handleExceed" | |
| 17 | + :on-success="handleFileSuccess" | |
| 18 | + :on-error="excelUploadError" | |
| 19 | + :on-remove="handleRemove" | |
| 20 | + :on-preview="handlePreview" | |
| 21 | + class="upload-file-uploader" | |
| 22 | + > | |
| 23 | + <el-button type="primary"><Icon icon="ep:upload-filled" />选取文件</el-button> | |
| 24 | + <template v-if="isShowTip" #tip> | |
| 25 | + <div style="font-size: 8px"> | |
| 26 | + 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> | |
| 27 | + </div> | |
| 28 | + <div style="font-size: 8px"> | |
| 29 | + 格式为 <b style="color: #f56c6c">{{ fileType.join('/') }}</b> 的文件 | |
| 30 | + </div> | |
| 31 | + </template> | |
| 32 | + </el-upload> | |
| 33 | + </div> | |
| 34 | +</template> | |
| 35 | +<script setup lang="ts"> | |
| 36 | +import { ref, watch } from 'vue' | |
| 37 | +import { useMessage } from '@/hooks/web/useMessage' | |
| 38 | +import { propTypes } from '@/utils/propTypes' | |
| 39 | +import { getAccessToken, getTenantId } from '@/utils/auth' | |
| 40 | +import { ElUpload, UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus' | |
| 41 | + | |
| 42 | +const message = useMessage() // 消息弹窗 | |
| 43 | +const emit = defineEmits(['update:modelValue']) | |
| 44 | + | |
| 45 | +const props = defineProps({ | |
| 46 | + modelValue: propTypes.oneOfType([String, Object, Array]), | |
| 47 | + title: propTypes.string.def('文件上传'), | |
| 48 | + updateUrl: propTypes.string.def(import.meta.env.VITE_UPLOAD_URL), | |
| 49 | + fileType: propTypes.array.def(['doc', 'xls', 'ppt', 'txt', 'pdf']), // 文件类型, 例如['png', 'jpg', 'jpeg'] | |
| 50 | + fileSize: propTypes.number.def(5), // 大小限制(MB) | |
| 51 | + limit: propTypes.number.def(5), // 数量限制 | |
| 52 | + autoUpload: propTypes.bool.def(true), // 自动上传 | |
| 53 | + drag: propTypes.bool.def(false), // 拖拽上传 | |
| 54 | + isShowTip: propTypes.bool.def(true) // 是否显示提示 | |
| 55 | +}) | |
| 56 | +// ========== 上传相关 ========== | |
| 57 | +const valueRef = ref(props.modelValue) | |
| 58 | +const uploadRef = ref<UploadInstance>() | |
| 59 | +const uploadList = ref<UploadUserFile[]>([]) | |
| 60 | +const fileList = ref<UploadUserFile[]>([]) | |
| 61 | +const uploadNumber = ref<number>(0) | |
| 62 | +const uploadHeaders = ref({ | |
| 63 | + Authorization: 'Bearer ' + getAccessToken(), | |
| 64 | + 'tenant-id': getTenantId() | |
| 65 | +}) | |
| 66 | +watch( | |
| 67 | + () => props.modelValue, | |
| 68 | + (val) => { | |
| 69 | + if (val) { | |
| 70 | + // 首先将值转为数组, 当只穿了一个图片时,会报map方法错误 | |
| 71 | + const list = Array.isArray(props.modelValue) | |
| 72 | + ? props.modelValue | |
| 73 | + : Array.isArray(props.modelValue?.split(',')) | |
| 74 | + ? props.modelValue?.split(',') | |
| 75 | + : Array.of(props.modelValue) | |
| 76 | + // 然后将数组转为对象数组 | |
| 77 | + fileList.value = list.map((item) => { | |
| 78 | + if (typeof item === 'string') { | |
| 79 | + // edit by 芋道源码 | |
| 80 | + item = { name: item, url: item } | |
| 81 | + } | |
| 82 | + return item | |
| 83 | + }) | |
| 84 | + } else { | |
| 85 | + fileList.value = [] | |
| 86 | + return [] | |
| 87 | + } | |
| 88 | + }, | |
| 89 | + { | |
| 90 | + deep: true, | |
| 91 | + immediate: true | |
| 92 | + } | |
| 93 | +) | |
| 94 | +// 文件上传之前判断 | |
| 95 | +const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => { | |
| 96 | + if (fileList.value.length >= props.limit) { | |
| 97 | + message.error(`上传文件数量不能超过${props.limit}个!`) | |
| 98 | + return false | |
| 99 | + } | |
| 100 | + let fileExtension = '' | |
| 101 | + if (file.name.lastIndexOf('.') > -1) { | |
| 102 | + fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1) | |
| 103 | + } | |
| 104 | + const isImg = props.fileType.some((type: string) => { | |
| 105 | + if (file.type.indexOf(type) > -1) return true | |
| 106 | + return !!(fileExtension && fileExtension.indexOf(type) > -1) | |
| 107 | + }) | |
| 108 | + const isLimit = file.size < props.fileSize * 1024 * 1024 | |
| 109 | + if (!isImg) { | |
| 110 | + message.error(`文件格式不正确, 请上传${props.fileType.join('/')}格式!`) | |
| 111 | + return false | |
| 112 | + } | |
| 113 | + if (!isLimit) { | |
| 114 | + message.error(`上传文件大小不能超过${props.fileSize}MB!`) | |
| 115 | + return false | |
| 116 | + } | |
| 117 | + message.success('正在上传文件,请稍候...') | |
| 118 | + uploadNumber.value++ | |
| 119 | +} | |
| 120 | +// 处理上传的文件发生变化 | |
| 121 | +// const handleFileChange = (uploadFile: UploadFile): void => { | |
| 122 | +// uploadRef.value.data.path = uploadFile.name | |
| 123 | +// } | |
| 124 | +// 文件上传成功 | |
| 125 | +const handleFileSuccess: UploadProps['onSuccess'] = (res: any): void => { | |
| 126 | + message.success('上传成功') | |
| 127 | + uploadList.value.push({ name: res.data, url: res.data }) | |
| 128 | + if (uploadList.value.length == uploadNumber.value) { | |
| 129 | + fileList.value = fileList.value.concat(uploadList.value) | |
| 130 | + uploadList.value = [] | |
| 131 | + uploadNumber.value = 0 | |
| 132 | + emit('update:modelValue', listToString(fileList.value)) | |
| 133 | + } | |
| 134 | +} | |
| 135 | +// 文件数超出提示 | |
| 136 | +const handleExceed: UploadProps['onExceed'] = (): void => { | |
| 137 | + message.error(`上传文件数量不能超过${props.limit}个!`) | |
| 138 | +} | |
| 139 | +// 上传错误提示 | |
| 140 | +const excelUploadError: UploadProps['onError'] = (): void => { | |
| 141 | + message.error('导入数据失败,请您重新上传!') | |
| 142 | +} | |
| 143 | +// 删除上传文件 | |
| 144 | +const handleRemove = (file) => { | |
| 145 | + const findex = fileList.value.map((f) => f.name).indexOf(file.name) | |
| 146 | + if (findex > -1) { | |
| 147 | + fileList.value.splice(findex, 1) | |
| 148 | + emit('update:modelValue', listToString(fileList.value)) | |
| 149 | + } | |
| 150 | +} | |
| 151 | +const handlePreview: UploadProps['onPreview'] = (uploadFile) => { | |
| 152 | + console.log(uploadFile) | |
| 153 | +} | |
| 154 | +// 对象转成指定字符串分隔 | |
| 155 | +const listToString = (list: UploadUserFile[], separator?: string) => { | |
| 156 | + let strs = '' | |
| 157 | + separator = separator || ',' | |
| 158 | + for (let i in list) { | |
| 159 | + strs += list[i].url + separator | |
| 160 | + } | |
| 161 | + return strs != '' ? strs.substr(0, strs.length - 1) : '' | |
| 162 | +} | |
| 163 | +</script> | |
| 164 | +<style scoped lang="scss"> | |
| 165 | +.upload-file-uploader { | |
| 166 | + margin-bottom: 5px; | |
| 167 | +} | |
| 168 | +:deep(.upload-file-list .el-upload-list__item) { | |
| 169 | + border: 1px solid #e4e7ed; | |
| 170 | + line-height: 2; | |
| 171 | + margin-bottom: 10px; | |
| 172 | + position: relative; | |
| 173 | +} | |
| 174 | +:deep(.el-upload-list__item-file-name) { | |
| 175 | + max-width: 250px; | |
| 176 | +} | |
| 177 | +:deep(.upload-file-list .ele-upload-list__item-content) { | |
| 178 | + display: flex; | |
| 179 | + justify-content: space-between; | |
| 180 | + align-items: center; | |
| 181 | + color: inherit; | |
| 182 | +} | |
| 183 | +:deep(.ele-upload-list__item-content-action .el-link) { | |
| 184 | + margin-right: 10px; | |
| 185 | +} | |
| 186 | +</style> | ... | ... |
yudao-ui-admin-vue3/src/components/UploadFile/src/UploadImg.vue
| 1 | 1 | <template> |
| 2 | - <el-upload | |
| 3 | - ref="uploadRef" | |
| 4 | - :multiple="limit > 1" | |
| 5 | - name="file" | |
| 6 | - list-type="picture-card" | |
| 7 | - v-model:file-list="fileList" | |
| 8 | - :show-file-list="true" | |
| 9 | - :action="updateUrl" | |
| 10 | - :headers="uploadHeaders" | |
| 11 | - :limit="limit" | |
| 12 | - :before-upload="beforeUpload" | |
| 13 | - :on-exceed="handleExceed" | |
| 14 | - :on-success="handleFileSuccess" | |
| 15 | - :on-error="excelUploadError" | |
| 16 | - :on-remove="handleRemove" | |
| 17 | - :on-preview="handlePictureCardPreview" | |
| 18 | - :class="{ hide: fileList.length >= limit }" | |
| 19 | - > | |
| 20 | - <Icon icon="ep:upload-filled" /> | |
| 21 | - </el-upload> | |
| 2 | + <div class="component-upload-image"> | |
| 3 | + <el-upload | |
| 4 | + ref="uploadRef" | |
| 5 | + :multiple="props.limit > 1" | |
| 6 | + name="file" | |
| 7 | + v-model="valueRef" | |
| 8 | + list-type="picture-card" | |
| 9 | + v-model:file-list="fileList" | |
| 10 | + :show-file-list="true" | |
| 11 | + :action="updateUrl" | |
| 12 | + :headers="uploadHeaders" | |
| 13 | + :limit="props.limit" | |
| 14 | + :before-upload="beforeUpload" | |
| 15 | + :on-exceed="handleExceed" | |
| 16 | + :on-success="handleFileSuccess" | |
| 17 | + :on-error="excelUploadError" | |
| 18 | + :on-remove="handleRemove" | |
| 19 | + :on-preview="handlePictureCardPreview" | |
| 20 | + :class="{ hide: fileList.length >= props.limit }" | |
| 21 | + > | |
| 22 | + <Icon icon="ep:upload-filled" /> | |
| 23 | + </el-upload> | |
| 24 | + </div> | |
| 22 | 25 | <!-- 文件列表 --> |
| 23 | 26 | <Dialog v-model="dialogVisible" title="预览" width="800" append-to-body> |
| 24 | 27 | <img :src="dialogImageUrl" style="display: block; max-width: 100%; margin: 0 auto" /> |
| ... | ... | @@ -26,16 +29,17 @@ |
| 26 | 29 | </template> |
| 27 | 30 | <script setup lang="ts"> |
| 28 | 31 | import { ref, watch } from 'vue' |
| 32 | +import { Dialog } from '@/components/Dialog' | |
| 29 | 33 | import { useMessage } from '@/hooks/web/useMessage' |
| 30 | 34 | import { propTypes } from '@/utils/propTypes' |
| 31 | 35 | import { getAccessToken, getTenantId } from '@/utils/auth' |
| 32 | 36 | import { ElUpload, UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus' |
| 33 | 37 | |
| 34 | 38 | const message = useMessage() // 消息弹窗 |
| 35 | -const emit = defineEmits(['input']) | |
| 39 | +const emit = defineEmits(['update:modelValue']) | |
| 36 | 40 | |
| 37 | 41 | const props = defineProps({ |
| 38 | - imgs: propTypes.oneOfType([String, Object, Array]), | |
| 42 | + modelValue: propTypes.oneOfType([String, Object, Array]), | |
| 39 | 43 | title: propTypes.string.def('图片上传'), |
| 40 | 44 | updateUrl: propTypes.string.def(import.meta.env.VITE_UPLOAD_URL), |
| 41 | 45 | fileType: propTypes.array.def(['jpg', 'png', 'gif', 'jpeg']), // 文件类型, 例如['png', 'jpg', 'jpeg'] |
| ... | ... | @@ -44,6 +48,7 @@ const props = defineProps({ |
| 44 | 48 | isShowTip: propTypes.bool.def(false) // 是否显示提示 |
| 45 | 49 | }) |
| 46 | 50 | // ========== 上传相关 ========== |
| 51 | +const valueRef = ref(props.modelValue) | |
| 47 | 52 | const uploadRef = ref<UploadInstance>() |
| 48 | 53 | const uploadList = ref<UploadUserFile[]>([]) |
| 49 | 54 | const fileList = ref<UploadUserFile[]>([]) |
| ... | ... | @@ -55,15 +60,15 @@ const uploadHeaders = ref({ |
| 55 | 60 | 'tenant-id': getTenantId() |
| 56 | 61 | }) |
| 57 | 62 | watch( |
| 58 | - () => props.imgs, | |
| 63 | + () => props.modelValue, | |
| 59 | 64 | (val) => { |
| 60 | 65 | if (val) { |
| 61 | 66 | // 首先将值转为数组, 当只穿了一个图片时,会报map方法错误 |
| 62 | - const list = Array.isArray(props.imgs) | |
| 63 | - ? props.imgs | |
| 64 | - : Array.isArray(props.imgs?.split(',')) | |
| 65 | - ? props.imgs?.split(',') | |
| 66 | - : Array.of(props.imgs) | |
| 67 | + const list = Array.isArray(props.modelValue) | |
| 68 | + ? props.modelValue | |
| 69 | + : Array.isArray(props.modelValue?.split(',')) | |
| 70 | + ? props.modelValue?.split(',') | |
| 71 | + : Array.of(props.modelValue) | |
| 67 | 72 | // 然后将数组转为对象数组 |
| 68 | 73 | fileList.value = list.map((item) => { |
| 69 | 74 | if (typeof item === 'string') { |
| ... | ... | @@ -84,6 +89,10 @@ watch( |
| 84 | 89 | ) |
| 85 | 90 | // 文件上传之前判断 |
| 86 | 91 | const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => { |
| 92 | + if (fileList.value.length >= props.limit) { | |
| 93 | + message.error(`上传文件数量不能超过${props.limit}个!`) | |
| 94 | + return false | |
| 95 | + } | |
| 87 | 96 | let fileExtension = '' |
| 88 | 97 | if (file.name.lastIndexOf('.') > -1) { |
| 89 | 98 | fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1) |
| ... | ... | @@ -111,14 +120,12 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => { |
| 111 | 120 | // 文件上传成功 |
| 112 | 121 | const handleFileSuccess: UploadProps['onSuccess'] = (res: any): void => { |
| 113 | 122 | message.success('上传成功') |
| 114 | - console.info(uploadList.value) | |
| 115 | - console.info(fileList.value) | |
| 116 | 123 | uploadList.value.push({ name: res.data, url: res.data }) |
| 117 | 124 | if (uploadList.value.length == uploadNumber.value) { |
| 118 | 125 | fileList.value = fileList.value.concat(uploadList.value) |
| 119 | 126 | uploadList.value = [] |
| 120 | 127 | uploadNumber.value = 0 |
| 121 | - emit('input', listToString(fileList.value)) | |
| 128 | + emit('update:modelValue', listToString(fileList.value)) | |
| 122 | 129 | } |
| 123 | 130 | } |
| 124 | 131 | // 文件数超出提示 |
| ... | ... | @@ -134,7 +141,7 @@ const handleRemove = (file) => { |
| 134 | 141 | const findex = fileList.value.map((f) => f.name).indexOf(file.name) |
| 135 | 142 | if (findex > -1) { |
| 136 | 143 | fileList.value.splice(findex, 1) |
| 137 | - emit('input', listToString(fileList.value)) | |
| 144 | + emit('update:modelValue', listToString(fileList.value)) | |
| 138 | 145 | } |
| 139 | 146 | } |
| 140 | 147 | // 对象转成指定字符串分隔 | ... | ... |
yudao-ui-admin-vue3/src/components/Verifition/src/Verify.vue
yudao-ui-admin-vue3/src/components/Verifition/src/Verify/VerifyPoints.vue
| ... | ... | @@ -57,7 +57,7 @@ |
| 57 | 57 | </div> |
| 58 | 58 | </div> |
| 59 | 59 | </template> |
| 60 | -<script type="text/babel"> | |
| 60 | +<script type="text/babel" setup> | |
| 61 | 61 | /** |
| 62 | 62 | * VerifyPoints |
| 63 | 63 | * @description 点选 |
| ... | ... | @@ -67,215 +67,185 @@ import { aesEncrypt } from './../utils/ase' |
| 67 | 67 | import { getCodeApi, reqCheckApi } from '@/api/login' |
| 68 | 68 | import { onMounted, reactive, ref, nextTick, toRefs, getCurrentInstance } from 'vue' |
| 69 | 69 | import { useI18n } from '@/hooks/web/useI18n' |
| 70 | -export default { | |
| 71 | - name: 'VerifyPoints', | |
| 72 | - props: { | |
| 73 | - //弹出式pop,固定fixed | |
| 74 | - mode: { | |
| 75 | - type: String, | |
| 76 | - default: 'fixed' | |
| 77 | - }, | |
| 78 | - captchaType: { | |
| 79 | - type: String | |
| 80 | - }, | |
| 81 | - //间隔 | |
| 82 | - vSpace: { | |
| 83 | - type: Number, | |
| 84 | - default: 5 | |
| 85 | - }, | |
| 86 | - imgSize: { | |
| 87 | - type: Object, | |
| 88 | - default() { | |
| 89 | - return { | |
| 90 | - width: '310px', | |
| 91 | - height: '155px' | |
| 92 | - } | |
| 93 | - } | |
| 94 | - }, | |
| 95 | - barSize: { | |
| 96 | - type: Object, | |
| 97 | - default() { | |
| 98 | - return { | |
| 99 | - width: '310px', | |
| 100 | - height: '40px' | |
| 101 | - } | |
| 70 | + | |
| 71 | +const props = defineProps({ | |
| 72 | + //弹出式pop,固定fixed | |
| 73 | + mode: { | |
| 74 | + type: String, | |
| 75 | + default: 'fixed' | |
| 76 | + }, | |
| 77 | + captchaType: { | |
| 78 | + type: String | |
| 79 | + }, | |
| 80 | + //间隔 | |
| 81 | + vSpace: { | |
| 82 | + type: Number, | |
| 83 | + default: 5 | |
| 84 | + }, | |
| 85 | + imgSize: { | |
| 86 | + type: Object, | |
| 87 | + default() { | |
| 88 | + return { | |
| 89 | + width: '310px', | |
| 90 | + height: '155px' | |
| 102 | 91 | } |
| 103 | 92 | } |
| 104 | 93 | }, |
| 105 | - setup(props) { | |
| 106 | - const { t } = useI18n() | |
| 107 | - const { mode, captchaType } = toRefs(props) | |
| 108 | - const { proxy } = getCurrentInstance() | |
| 109 | - let secretKey = ref(''), //后端返回的ase加密秘钥 | |
| 110 | - checkNum = ref(3), //默认需要点击的字数 | |
| 111 | - fontPos = reactive([]), //选中的坐标信息 | |
| 112 | - checkPosArr = reactive([]), //用户点击的坐标 | |
| 113 | - num = ref(1), //点击的记数 | |
| 114 | - pointBackImgBase = ref(''), //后端获取到的背景图片 | |
| 115 | - poinTextList = reactive([]), //后端返回的点击字体顺序 | |
| 116 | - backToken = ref(''), //后端返回的token值 | |
| 117 | - setSize = reactive({ | |
| 118 | - imgHeight: 0, | |
| 119 | - imgWidth: 0, | |
| 120 | - barHeight: 0, | |
| 121 | - barWidth: 0 | |
| 122 | - }), | |
| 123 | - tempPoints = reactive([]), | |
| 124 | - text = ref(''), | |
| 125 | - barAreaColor = ref(undefined), | |
| 126 | - barAreaBorderColor = ref(undefined), | |
| 127 | - showRefresh = ref(true), | |
| 128 | - bindingClick = ref(true) | |
| 129 | - | |
| 130 | - const init = () => { | |
| 131 | - //加载页面 | |
| 132 | - fontPos.splice(0, fontPos.length) | |
| 133 | - checkPosArr.splice(0, checkPosArr.length) | |
| 134 | - num.value = 1 | |
| 135 | - getPictrue() | |
| 136 | - nextTick(() => { | |
| 137 | - let { imgHeight, imgWidth, barHeight, barWidth } = resetSize(proxy) | |
| 138 | - setSize.imgHeight = imgHeight | |
| 139 | - setSize.imgWidth = imgWidth | |
| 140 | - setSize.barHeight = barHeight | |
| 141 | - setSize.barWidth = barWidth | |
| 142 | - proxy.$parent.$emit('ready', proxy) | |
| 143 | - }) | |
| 144 | - } | |
| 145 | - onMounted(() => { | |
| 146 | - // 禁止拖拽 | |
| 147 | - init() | |
| 148 | - proxy.$el.onselectstart = function () { | |
| 149 | - return false | |
| 150 | - } | |
| 151 | - }) | |
| 152 | - const canvas = ref(null) | |
| 153 | - const canvasClick = (e) => { | |
| 154 | - checkPosArr.push(getMousePos(canvas, e)) | |
| 155 | - if (num.value == checkNum.value) { | |
| 156 | - num.value = createPoint(getMousePos(canvas, e)) | |
| 157 | - //按比例转换坐标值 | |
| 158 | - let arr = pointTransfrom(checkPosArr, setSize) | |
| 159 | - checkPosArr.length = 0 | |
| 160 | - checkPosArr.push(...arr) | |
| 161 | - //等创建坐标执行完 | |
| 162 | - setTimeout(() => { | |
| 163 | - // var flag = this.comparePos(this.fontPos, this.checkPosArr); | |
| 164 | - //发送后端请求 | |
| 165 | - var captchaVerification = secretKey.value | |
| 166 | - ? aesEncrypt(backToken.value + '---' + JSON.stringify(checkPosArr), secretKey.value) | |
| 167 | - : backToken.value + '---' + JSON.stringify(checkPosArr) | |
| 168 | - let data = { | |
| 169 | - captchaType: captchaType.value, | |
| 170 | - pointJson: secretKey.value | |
| 171 | - ? aesEncrypt(JSON.stringify(checkPosArr), secretKey.value) | |
| 172 | - : JSON.stringify(checkPosArr), | |
| 173 | - token: backToken.value | |
| 174 | - } | |
| 175 | - reqCheckApi(data).then((res) => { | |
| 176 | - if (res.repCode == '0000') { | |
| 177 | - barAreaColor.value = '#4cae4c' | |
| 178 | - barAreaBorderColor.value = '#5cb85c' | |
| 179 | - text.value = t('captcha.success') | |
| 180 | - bindingClick.value = false | |
| 181 | - if (mode.value == 'pop') { | |
| 182 | - setTimeout(() => { | |
| 183 | - proxy.$parent.clickShow = false | |
| 184 | - refresh() | |
| 185 | - }, 1500) | |
| 186 | - } | |
| 187 | - proxy.$parent.$emit('success', { captchaVerification }) | |
| 188 | - } else { | |
| 189 | - proxy.$parent.$emit('error', proxy) | |
| 190 | - barAreaColor.value = '#d9534f' | |
| 191 | - barAreaBorderColor.value = '#d9534f' | |
| 192 | - text.value = t('captcha.fail') | |
| 193 | - setTimeout(() => { | |
| 194 | - refresh() | |
| 195 | - }, 700) | |
| 196 | - } | |
| 197 | - }) | |
| 198 | - }, 400) | |
| 199 | - } | |
| 200 | - if (num.value < checkNum.value) { | |
| 201 | - num.value = createPoint(getMousePos(canvas, e)) | |
| 94 | + barSize: { | |
| 95 | + type: Object, | |
| 96 | + default() { | |
| 97 | + return { | |
| 98 | + width: '310px', | |
| 99 | + height: '40px' | |
| 202 | 100 | } |
| 203 | 101 | } |
| 204 | - //获取坐标 | |
| 205 | - const getMousePos = function (obj, e) { | |
| 206 | - var x = e.offsetX | |
| 207 | - var y = e.offsetY | |
| 208 | - return { x, y } | |
| 209 | - } | |
| 210 | - //创建坐标点 | |
| 211 | - const createPoint = function (pos) { | |
| 212 | - tempPoints.push(Object.assign({}, pos)) | |
| 213 | - return num.value + 1 | |
| 214 | - } | |
| 215 | - const refresh = function () { | |
| 216 | - tempPoints.splice(0, tempPoints.length) | |
| 217 | - barAreaColor.value = '#000' | |
| 218 | - barAreaBorderColor.value = '#ddd' | |
| 219 | - bindingClick.value = true | |
| 220 | - fontPos.splice(0, fontPos.length) | |
| 221 | - checkPosArr.splice(0, checkPosArr.length) | |
| 222 | - num.value = 1 | |
| 223 | - getPictrue() | |
| 224 | - text.value = t('captcha.fail') | |
| 225 | - showRefresh.value = true | |
| 226 | - } | |
| 102 | + } | |
| 103 | +}) | |
| 227 | 104 | |
| 228 | - // 请求背景图片和验证图片 | |
| 229 | - function getPictrue() { | |
| 105 | +const { t } = useI18n() | |
| 106 | +const { mode, captchaType } = toRefs(props) | |
| 107 | +const { proxy } = getCurrentInstance() | |
| 108 | +let secretKey = ref(''), //后端返回的ase加密秘钥 | |
| 109 | + checkNum = ref(3), //默认需要点击的字数 | |
| 110 | + fontPos = reactive([]), //选中的坐标信息 | |
| 111 | + checkPosArr = reactive([]), //用户点击的坐标 | |
| 112 | + num = ref(1), //点击的记数 | |
| 113 | + pointBackImgBase = ref(''), //后端获取到的背景图片 | |
| 114 | + poinTextList = reactive([]), //后端返回的点击字体顺序 | |
| 115 | + backToken = ref(''), //后端返回的token值 | |
| 116 | + setSize = reactive({ | |
| 117 | + imgHeight: 0, | |
| 118 | + imgWidth: 0, | |
| 119 | + barHeight: 0, | |
| 120 | + barWidth: 0 | |
| 121 | + }), | |
| 122 | + tempPoints = reactive([]), | |
| 123 | + text = ref(''), | |
| 124 | + barAreaColor = ref(undefined), | |
| 125 | + barAreaBorderColor = ref(undefined), | |
| 126 | + showRefresh = ref(true), | |
| 127 | + bindingClick = ref(true) | |
| 128 | + | |
| 129 | +const init = () => { | |
| 130 | + //加载页面 | |
| 131 | + fontPos.splice(0, fontPos.length) | |
| 132 | + checkPosArr.splice(0, checkPosArr.length) | |
| 133 | + num.value = 1 | |
| 134 | + getPictrue() | |
| 135 | + nextTick(() => { | |
| 136 | + let { imgHeight, imgWidth, barHeight, barWidth } = resetSize(proxy) | |
| 137 | + setSize.imgHeight = imgHeight | |
| 138 | + setSize.imgWidth = imgWidth | |
| 139 | + setSize.barHeight = barHeight | |
| 140 | + setSize.barWidth = barWidth | |
| 141 | + proxy.$parent.$emit('ready', proxy) | |
| 142 | + }) | |
| 143 | +} | |
| 144 | +onMounted(() => { | |
| 145 | + // 禁止拖拽 | |
| 146 | + init() | |
| 147 | + proxy.$el.onselectstart = function () { | |
| 148 | + return false | |
| 149 | + } | |
| 150 | +}) | |
| 151 | +const canvas = ref(null) | |
| 152 | +const canvasClick = (e) => { | |
| 153 | + checkPosArr.push(getMousePos(canvas, e)) | |
| 154 | + if (num.value == checkNum.value) { | |
| 155 | + num.value = createPoint(getMousePos(canvas, e)) | |
| 156 | + //按比例转换坐标值 | |
| 157 | + let arr = pointTransfrom(checkPosArr, setSize) | |
| 158 | + checkPosArr.length = 0 | |
| 159 | + checkPosArr.push(...arr) | |
| 160 | + //等创建坐标执行完 | |
| 161 | + setTimeout(() => { | |
| 162 | + // var flag = this.comparePos(this.fontPos, this.checkPosArr); | |
| 163 | + //发送后端请求 | |
| 164 | + var captchaVerification = secretKey.value | |
| 165 | + ? aesEncrypt(backToken.value + '---' + JSON.stringify(checkPosArr), secretKey.value) | |
| 166 | + : backToken.value + '---' + JSON.stringify(checkPosArr) | |
| 230 | 167 | let data = { |
| 231 | - captchaType: captchaType.value | |
| 168 | + captchaType: captchaType.value, | |
| 169 | + pointJson: secretKey.value | |
| 170 | + ? aesEncrypt(JSON.stringify(checkPosArr), secretKey.value) | |
| 171 | + : JSON.stringify(checkPosArr), | |
| 172 | + token: backToken.value | |
| 232 | 173 | } |
| 233 | - getCodeApi(data).then((res) => { | |
| 174 | + reqCheckApi(data).then((res) => { | |
| 234 | 175 | if (res.repCode == '0000') { |
| 235 | - pointBackImgBase.value = res.repData.originalImageBase64 | |
| 236 | - backToken.value = res.repData.token | |
| 237 | - secretKey.value = res.repData.secretKey | |
| 238 | - poinTextList.value = res.repData.wordList | |
| 239 | - text.value = t('captcha.point') + '【' + poinTextList.value.join(',') + '】' | |
| 176 | + barAreaColor.value = '#4cae4c' | |
| 177 | + barAreaBorderColor.value = '#5cb85c' | |
| 178 | + text.value = t('captcha.success') | |
| 179 | + bindingClick.value = false | |
| 180 | + if (mode.value == 'pop') { | |
| 181 | + setTimeout(() => { | |
| 182 | + proxy.$parent.clickShow = false | |
| 183 | + refresh() | |
| 184 | + }, 1500) | |
| 185 | + } | |
| 186 | + proxy.$parent.$emit('success', { captchaVerification }) | |
| 240 | 187 | } else { |
| 241 | - text.value = res.repMsg | |
| 188 | + proxy.$parent.$emit('error', proxy) | |
| 189 | + barAreaColor.value = '#d9534f' | |
| 190 | + barAreaBorderColor.value = '#d9534f' | |
| 191 | + text.value = t('captcha.fail') | |
| 192 | + setTimeout(() => { | |
| 193 | + refresh() | |
| 194 | + }, 700) | |
| 242 | 195 | } |
| 243 | 196 | }) |
| 244 | - } | |
| 245 | - //坐标转换函数 | |
| 246 | - const pointTransfrom = function (pointArr, imgSize) { | |
| 247 | - var newPointArr = pointArr.map((p) => { | |
| 248 | - let x = Math.round((310 * p.x) / parseInt(imgSize.imgWidth)) | |
| 249 | - let y = Math.round((155 * p.y) / parseInt(imgSize.imgHeight)) | |
| 250 | - return { x, y } | |
| 251 | - }) | |
| 252 | - return newPointArr | |
| 253 | - } | |
| 254 | - return { | |
| 255 | - secretKey, | |
| 256 | - checkNum, | |
| 257 | - fontPos, | |
| 258 | - checkPosArr, | |
| 259 | - num, | |
| 260 | - pointBackImgBase, | |
| 261 | - poinTextList, | |
| 262 | - backToken, | |
| 263 | - setSize, | |
| 264 | - tempPoints, | |
| 265 | - text, | |
| 266 | - barAreaColor, | |
| 267 | - barAreaBorderColor, | |
| 268 | - showRefresh, | |
| 269 | - bindingClick, | |
| 270 | - init, | |
| 271 | - canvas, | |
| 272 | - canvasClick, | |
| 273 | - getMousePos, | |
| 274 | - createPoint, | |
| 275 | - refresh, | |
| 276 | - getPictrue, | |
| 277 | - pointTransfrom | |
| 278 | - } | |
| 197 | + }, 400) | |
| 198 | + } | |
| 199 | + if (num.value < checkNum.value) { | |
| 200 | + num.value = createPoint(getMousePos(canvas, e)) | |
| 279 | 201 | } |
| 280 | 202 | } |
| 203 | +//获取坐标 | |
| 204 | +const getMousePos = function (obj, e) { | |
| 205 | + var x = e.offsetX | |
| 206 | + var y = e.offsetY | |
| 207 | + return { x, y } | |
| 208 | +} | |
| 209 | +//创建坐标点 | |
| 210 | +const createPoint = function (pos) { | |
| 211 | + tempPoints.push(Object.assign({}, pos)) | |
| 212 | + return num.value + 1 | |
| 213 | +} | |
| 214 | +const refresh = async function () { | |
| 215 | + tempPoints.splice(0, tempPoints.length) | |
| 216 | + barAreaColor.value = '#000' | |
| 217 | + barAreaBorderColor.value = '#ddd' | |
| 218 | + bindingClick.value = true | |
| 219 | + fontPos.splice(0, fontPos.length) | |
| 220 | + checkPosArr.splice(0, checkPosArr.length) | |
| 221 | + num.value = 1 | |
| 222 | + await getPictrue() | |
| 223 | + showRefresh.value = true | |
| 224 | +} | |
| 225 | + | |
| 226 | +// 请求背景图片和验证图片 | |
| 227 | +const getPictrue = async () => { | |
| 228 | + let data = { | |
| 229 | + captchaType: captchaType.value | |
| 230 | + } | |
| 231 | + const res = await getCodeApi(data) | |
| 232 | + if (res.repCode == '0000') { | |
| 233 | + pointBackImgBase.value = res.repData.originalImageBase64 | |
| 234 | + backToken.value = res.repData.token | |
| 235 | + secretKey.value = res.repData.secretKey | |
| 236 | + poinTextList.value = res.repData.wordList | |
| 237 | + text.value = t('captcha.point') + '【' + poinTextList.value.join(',') + '】' | |
| 238 | + } else { | |
| 239 | + text.value = res.repMsg | |
| 240 | + } | |
| 241 | +} | |
| 242 | +//坐标转换函数 | |
| 243 | +const pointTransfrom = function (pointArr, imgSize) { | |
| 244 | + var newPointArr = pointArr.map((p) => { | |
| 245 | + let x = Math.round((310 * p.x) / parseInt(imgSize.imgWidth)) | |
| 246 | + let y = Math.round((155 * p.y) / parseInt(imgSize.imgHeight)) | |
| 247 | + return { x, y } | |
| 248 | + }) | |
| 249 | + return newPointArr | |
| 250 | +} | |
| 281 | 251 | </script> | ... | ... |
yudao-ui-admin-vue3/src/components/Verifition/src/Verify/VerifySlide.vue
| ... | ... | @@ -71,7 +71,7 @@ |
| 71 | 71 | </div> |
| 72 | 72 | </div> |
| 73 | 73 | </template> |
| 74 | -<script type="text/babel"> | |
| 74 | +<script type="text/babel" setup> | |
| 75 | 75 | /** |
| 76 | 76 | * VerifySlide |
| 77 | 77 | * @description 滑块 |
| ... | ... | @@ -90,337 +90,298 @@ import { |
| 90 | 90 | toRefs, |
| 91 | 91 | getCurrentInstance |
| 92 | 92 | } from 'vue' |
| 93 | -// "captchaType":"blockPuzzle", | |
| 94 | -export default { | |
| 95 | - name: 'VerifySlide', | |
| 96 | - props: { | |
| 97 | - captchaType: { | |
| 98 | - type: String | |
| 99 | - }, | |
| 100 | - type: { | |
| 101 | - type: String, | |
| 102 | - default: '1' | |
| 103 | - }, | |
| 104 | - //弹出式pop,固定fixed | |
| 105 | - mode: { | |
| 106 | - type: String, | |
| 107 | - default: 'fixed' | |
| 108 | - }, | |
| 109 | - vSpace: { | |
| 110 | - type: Number, | |
| 111 | - default: 5 | |
| 112 | - }, | |
| 113 | - explain: { | |
| 114 | - type: String, | |
| 115 | - default: '' | |
| 116 | - }, | |
| 117 | - imgSize: { | |
| 118 | - type: Object, | |
| 119 | - default() { | |
| 120 | - return { | |
| 121 | - width: '310px', | |
| 122 | - height: '155px' | |
| 123 | - } | |
| 124 | - } | |
| 125 | - }, | |
| 126 | - blockSize: { | |
| 127 | - type: Object, | |
| 128 | - default() { | |
| 129 | - return { | |
| 130 | - width: '50px', | |
| 131 | - height: '50px' | |
| 132 | - } | |
| 93 | + | |
| 94 | +const props = defineProps({ | |
| 95 | + captchaType: { | |
| 96 | + type: String | |
| 97 | + }, | |
| 98 | + type: { | |
| 99 | + type: String, | |
| 100 | + default: '1' | |
| 101 | + }, | |
| 102 | + //弹出式pop,固定fixed | |
| 103 | + mode: { | |
| 104 | + type: String, | |
| 105 | + default: 'fixed' | |
| 106 | + }, | |
| 107 | + vSpace: { | |
| 108 | + type: Number, | |
| 109 | + default: 5 | |
| 110 | + }, | |
| 111 | + explain: { | |
| 112 | + type: String, | |
| 113 | + default: '' | |
| 114 | + }, | |
| 115 | + imgSize: { | |
| 116 | + type: Object, | |
| 117 | + default() { | |
| 118 | + return { | |
| 119 | + width: '310px', | |
| 120 | + height: '155px' | |
| 133 | 121 | } |
| 134 | - }, | |
| 135 | - barSize: { | |
| 136 | - type: Object, | |
| 137 | - default() { | |
| 138 | - return { | |
| 139 | - width: '310px', | |
| 140 | - height: '30px' | |
| 141 | - } | |
| 122 | + } | |
| 123 | + }, | |
| 124 | + blockSize: { | |
| 125 | + type: Object, | |
| 126 | + default() { | |
| 127 | + return { | |
| 128 | + width: '50px', | |
| 129 | + height: '50px' | |
| 142 | 130 | } |
| 143 | 131 | } |
| 144 | 132 | }, |
| 145 | - setup(props) { | |
| 146 | - const { t } = useI18n() | |
| 147 | - const { mode, captchaType, type, blockSize, explain } = toRefs(props) | |
| 148 | - const { proxy } = getCurrentInstance() | |
| 149 | - let secretKey = ref(''), //后端返回的ase加密秘钥 | |
| 150 | - passFlag = ref(''), //是否通过的标识 | |
| 151 | - backImgBase = ref(''), //验证码背景图片 | |
| 152 | - blockBackImgBase = ref(''), //验证滑块的背景图片 | |
| 153 | - backToken = ref(''), //后端返回的唯一token值 | |
| 154 | - startMoveTime = ref(''), //移动开始的时间 | |
| 155 | - endMovetime = ref(''), //移动结束的时间 | |
| 156 | - tipsBackColor = ref(''), //提示词的背景颜色 | |
| 157 | - tipWords = ref(''), | |
| 158 | - text = ref(''), | |
| 159 | - finishText = ref(''), | |
| 160 | - setSize = reactive({ | |
| 161 | - imgHeight: 0, | |
| 162 | - imgWidth: 0, | |
| 163 | - barHeight: 0, | |
| 164 | - barWidth: 0 | |
| 165 | - }), | |
| 166 | - top = ref(0), | |
| 167 | - left = ref(0), | |
| 168 | - moveBlockLeft = ref(undefined), | |
| 169 | - leftBarWidth = ref(undefined), | |
| 170 | - // 移动中样式 | |
| 171 | - moveBlockBackgroundColor = ref(undefined), | |
| 172 | - leftBarBorderColor = ref('#ddd'), | |
| 173 | - iconColor = ref(undefined), | |
| 174 | - iconClass = ref('icon-right'), | |
| 175 | - status = ref(false), //鼠标状态 | |
| 176 | - isEnd = ref(false), //是够验证完成 | |
| 177 | - showRefresh = ref(true), | |
| 178 | - transitionLeft = ref(''), | |
| 179 | - transitionWidth = ref(''), | |
| 180 | - startLeft = ref(0) | |
| 181 | - | |
| 182 | - const barArea = computed(() => { | |
| 183 | - return proxy.$el.querySelector('.verify-bar-area') | |
| 184 | - }) | |
| 185 | - function init() { | |
| 186 | - if (explain.value === '') { | |
| 187 | - text.value = t('captcha.slide') | |
| 188 | - } else { | |
| 189 | - text.value = explain.value | |
| 133 | + barSize: { | |
| 134 | + type: Object, | |
| 135 | + default() { | |
| 136 | + return { | |
| 137 | + width: '310px', | |
| 138 | + height: '30px' | |
| 190 | 139 | } |
| 191 | - getPictrue() | |
| 192 | - nextTick(() => { | |
| 193 | - let { imgHeight, imgWidth, barHeight, barWidth } = resetSize(proxy) | |
| 194 | - setSize.imgHeight = imgHeight | |
| 195 | - setSize.imgWidth = imgWidth | |
| 196 | - setSize.barHeight = barHeight | |
| 197 | - setSize.barWidth = barWidth | |
| 198 | - proxy.$parent.$emit('ready', proxy) | |
| 199 | - }) | |
| 140 | + } | |
| 141 | + } | |
| 142 | +}) | |
| 200 | 143 | |
| 201 | - window.removeEventListener('touchmove', function (e) { | |
| 202 | - move(e) | |
| 203 | - }) | |
| 204 | - window.removeEventListener('mousemove', function (e) { | |
| 205 | - move(e) | |
| 206 | - }) | |
| 144 | +const { t } = useI18n() | |
| 145 | +const { mode, captchaType, type, blockSize, explain } = toRefs(props) | |
| 146 | +const { proxy } = getCurrentInstance() | |
| 147 | +let secretKey = ref(''), //后端返回的ase加密秘钥 | |
| 148 | + passFlag = ref(''), //是否通过的标识 | |
| 149 | + backImgBase = ref(''), //验证码背景图片 | |
| 150 | + blockBackImgBase = ref(''), //验证滑块的背景图片 | |
| 151 | + backToken = ref(''), //后端返回的唯一token值 | |
| 152 | + startMoveTime = ref(''), //移动开始的时间 | |
| 153 | + endMovetime = ref(''), //移动结束的时间 | |
| 154 | + tipWords = ref(''), | |
| 155 | + text = ref(''), | |
| 156 | + finishText = ref(''), | |
| 157 | + setSize = reactive({ | |
| 158 | + imgHeight: 0, | |
| 159 | + imgWidth: 0, | |
| 160 | + barHeight: 0, | |
| 161 | + barWidth: 0 | |
| 162 | + }), | |
| 163 | + moveBlockLeft = ref(undefined), | |
| 164 | + leftBarWidth = ref(undefined), | |
| 165 | + // 移动中样式 | |
| 166 | + moveBlockBackgroundColor = ref(undefined), | |
| 167 | + leftBarBorderColor = ref('#ddd'), | |
| 168 | + iconColor = ref(undefined), | |
| 169 | + iconClass = ref('icon-right'), | |
| 170 | + status = ref(false), //鼠标状态 | |
| 171 | + isEnd = ref(false), //是够验证完成 | |
| 172 | + showRefresh = ref(true), | |
| 173 | + transitionLeft = ref(''), | |
| 174 | + transitionWidth = ref(''), | |
| 175 | + startLeft = ref(0) | |
| 207 | 176 | |
| 208 | - //鼠标松开 | |
| 209 | - window.removeEventListener('touchend', function () { | |
| 210 | - end() | |
| 211 | - }) | |
| 212 | - window.removeEventListener('mouseup', function () { | |
| 213 | - end() | |
| 214 | - }) | |
| 177 | +const barArea = computed(() => { | |
| 178 | + return proxy.$el.querySelector('.verify-bar-area') | |
| 179 | +}) | |
| 180 | +const init = () => { | |
| 181 | + if (explain.value === '') { | |
| 182 | + text.value = t('captcha.slide') | |
| 183 | + } else { | |
| 184 | + text.value = explain.value | |
| 185 | + } | |
| 186 | + getPictrue() | |
| 187 | + nextTick(() => { | |
| 188 | + let { imgHeight, imgWidth, barHeight, barWidth } = resetSize(proxy) | |
| 189 | + setSize.imgHeight = imgHeight | |
| 190 | + setSize.imgWidth = imgWidth | |
| 191 | + setSize.barHeight = barHeight | |
| 192 | + setSize.barWidth = barWidth | |
| 193 | + proxy.$parent.$emit('ready', proxy) | |
| 194 | + }) | |
| 215 | 195 | |
| 216 | - window.addEventListener('touchmove', function (e) { | |
| 217 | - move(e) | |
| 218 | - }) | |
| 219 | - window.addEventListener('mousemove', function (e) { | |
| 220 | - move(e) | |
| 221 | - }) | |
| 196 | + window.removeEventListener('touchmove', function (e) { | |
| 197 | + move(e) | |
| 198 | + }) | |
| 199 | + window.removeEventListener('mousemove', function (e) { | |
| 200 | + move(e) | |
| 201 | + }) | |
| 222 | 202 | |
| 223 | - //鼠标松开 | |
| 224 | - window.addEventListener('touchend', function () { | |
| 225 | - end() | |
| 226 | - }) | |
| 227 | - window.addEventListener('mouseup', function () { | |
| 228 | - end() | |
| 229 | - }) | |
| 203 | + //鼠标松开 | |
| 204 | + window.removeEventListener('touchend', function () { | |
| 205 | + end() | |
| 206 | + }) | |
| 207 | + window.removeEventListener('mouseup', function () { | |
| 208 | + end() | |
| 209 | + }) | |
| 210 | + | |
| 211 | + window.addEventListener('touchmove', function (e) { | |
| 212 | + move(e) | |
| 213 | + }) | |
| 214 | + window.addEventListener('mousemove', function (e) { | |
| 215 | + move(e) | |
| 216 | + }) | |
| 217 | + | |
| 218 | + //鼠标松开 | |
| 219 | + window.addEventListener('touchend', function () { | |
| 220 | + end() | |
| 221 | + }) | |
| 222 | + window.addEventListener('mouseup', function () { | |
| 223 | + end() | |
| 224 | + }) | |
| 225 | +} | |
| 226 | +watch(type, () => { | |
| 227 | + init() | |
| 228 | +}) | |
| 229 | +onMounted(() => { | |
| 230 | + // 禁止拖拽 | |
| 231 | + init() | |
| 232 | + proxy.$el.onselectstart = function () { | |
| 233 | + return false | |
| 234 | + } | |
| 235 | +}) | |
| 236 | +//鼠标按下 | |
| 237 | +const start = (e) => { | |
| 238 | + e = e || window.event | |
| 239 | + if (!e.touches) { | |
| 240 | + //兼容PC端 | |
| 241 | + var x = e.clientX | |
| 242 | + } else { | |
| 243 | + //兼容移动端 | |
| 244 | + var x = e.touches[0].pageX | |
| 245 | + } | |
| 246 | + startLeft.value = Math.floor(x - barArea.value.getBoundingClientRect().left) | |
| 247 | + startMoveTime.value = +new Date() //开始滑动的时间 | |
| 248 | + if (isEnd.value == false) { | |
| 249 | + text.value = '' | |
| 250 | + moveBlockBackgroundColor.value = '#337ab7' | |
| 251 | + leftBarBorderColor.value = '#337AB7' | |
| 252 | + iconColor.value = '#fff' | |
| 253 | + e.stopPropagation() | |
| 254 | + status.value = true | |
| 255 | + } | |
| 256 | +} | |
| 257 | +//鼠标移动 | |
| 258 | +const move = (e) => { | |
| 259 | + e = e || window.event | |
| 260 | + if (status.value && isEnd.value == false) { | |
| 261 | + if (!e.touches) { | |
| 262 | + //兼容PC端 | |
| 263 | + var x = e.clientX | |
| 264 | + } else { | |
| 265 | + //兼容移动端 | |
| 266 | + var x = e.touches[0].pageX | |
| 230 | 267 | } |
| 231 | - watch(type, () => { | |
| 232 | - init() | |
| 233 | - }) | |
| 234 | - onMounted(() => { | |
| 235 | - // 禁止拖拽 | |
| 236 | - init() | |
| 237 | - proxy.$el.onselectstart = function () { | |
| 238 | - return false | |
| 239 | - } | |
| 240 | - }) | |
| 241 | - //鼠标按下 | |
| 242 | - function start(e) { | |
| 243 | - e = e || window.event | |
| 244 | - if (!e.touches) { | |
| 245 | - //兼容PC端 | |
| 246 | - var x = e.clientX | |
| 247 | - } else { | |
| 248 | - //兼容移动端 | |
| 249 | - var x = e.touches[0].pageX | |
| 250 | - } | |
| 251 | - startLeft.value = Math.floor(x - barArea.value.getBoundingClientRect().left) | |
| 252 | - startMoveTime.value = +new Date() //开始滑动的时间 | |
| 253 | - if (isEnd.value == false) { | |
| 254 | - text.value = '' | |
| 255 | - moveBlockBackgroundColor.value = '#337ab7' | |
| 256 | - leftBarBorderColor.value = '#337AB7' | |
| 257 | - iconColor.value = '#fff' | |
| 258 | - e.stopPropagation() | |
| 259 | - status.value = true | |
| 260 | - } | |
| 268 | + var bar_area_left = barArea.value.getBoundingClientRect().left | |
| 269 | + var move_block_left = x - bar_area_left //小方块相对于父元素的left值 | |
| 270 | + if ( | |
| 271 | + move_block_left >= | |
| 272 | + barArea.value.offsetWidth - parseInt(parseInt(blockSize.value.width) / 2) - 2 | |
| 273 | + ) { | |
| 274 | + move_block_left = | |
| 275 | + barArea.value.offsetWidth - parseInt(parseInt(blockSize.value.width) / 2) - 2 | |
| 261 | 276 | } |
| 262 | - //鼠标移动 | |
| 263 | - function move(e) { | |
| 264 | - e = e || window.event | |
| 265 | - if (status.value && isEnd.value == false) { | |
| 266 | - if (!e.touches) { | |
| 267 | - //兼容PC端 | |
| 268 | - var x = e.clientX | |
| 269 | - } else { | |
| 270 | - //兼容移动端 | |
| 271 | - var x = e.touches[0].pageX | |
| 272 | - } | |
| 273 | - var bar_area_left = barArea.value.getBoundingClientRect().left | |
| 274 | - var move_block_left = x - bar_area_left //小方块相对于父元素的left值 | |
| 275 | - if ( | |
| 276 | - move_block_left >= | |
| 277 | - barArea.value.offsetWidth - parseInt(parseInt(blockSize.value.width) / 2) - 2 | |
| 278 | - ) { | |
| 279 | - move_block_left = | |
| 280 | - barArea.value.offsetWidth - parseInt(parseInt(blockSize.value.width) / 2) - 2 | |
| 281 | - } | |
| 282 | - if (move_block_left <= 0) { | |
| 283 | - move_block_left = parseInt(parseInt(blockSize.value.width) / 2) | |
| 284 | - } | |
| 285 | - //拖动后小方块的left值 | |
| 286 | - moveBlockLeft.value = move_block_left - startLeft.value + 'px' | |
| 287 | - leftBarWidth.value = move_block_left - startLeft.value + 'px' | |
| 288 | - } | |
| 277 | + if (move_block_left <= 0) { | |
| 278 | + move_block_left = parseInt(parseInt(blockSize.value.width) / 2) | |
| 289 | 279 | } |
| 280 | + //拖动后小方块的left值 | |
| 281 | + moveBlockLeft.value = move_block_left - startLeft.value + 'px' | |
| 282 | + leftBarWidth.value = move_block_left - startLeft.value + 'px' | |
| 283 | + } | |
| 284 | +} | |
| 290 | 285 | |
| 291 | - //鼠标松开 | |
| 292 | - function end() { | |
| 293 | - endMovetime.value = +new Date() | |
| 294 | - //判断是否重合 | |
| 295 | - if (status.value && isEnd.value == false) { | |
| 296 | - var moveLeftDistance = parseInt((moveBlockLeft.value || '').replace('px', '')) | |
| 297 | - moveLeftDistance = (moveLeftDistance * 310) / parseInt(setSize.imgWidth) | |
| 298 | - let data = { | |
| 299 | - captchaType: captchaType.value, | |
| 300 | - pointJson: secretKey.value | |
| 301 | - ? aesEncrypt(JSON.stringify({ x: moveLeftDistance, y: 5.0 }), secretKey.value) | |
| 302 | - : JSON.stringify({ x: moveLeftDistance, y: 5.0 }), | |
| 303 | - token: backToken.value | |
| 286 | +//鼠标松开 | |
| 287 | +const end = () => { | |
| 288 | + endMovetime.value = +new Date() | |
| 289 | + //判断是否重合 | |
| 290 | + if (status.value && isEnd.value == false) { | |
| 291 | + var moveLeftDistance = parseInt((moveBlockLeft.value || '').replace('px', '')) | |
| 292 | + moveLeftDistance = (moveLeftDistance * 310) / parseInt(setSize.imgWidth) | |
| 293 | + let data = { | |
| 294 | + captchaType: captchaType.value, | |
| 295 | + pointJson: secretKey.value | |
| 296 | + ? aesEncrypt(JSON.stringify({ x: moveLeftDistance, y: 5.0 }), secretKey.value) | |
| 297 | + : JSON.stringify({ x: moveLeftDistance, y: 5.0 }), | |
| 298 | + token: backToken.value | |
| 299 | + } | |
| 300 | + reqCheckApi(data).then((res) => { | |
| 301 | + if (res.repCode == '0000') { | |
| 302 | + moveBlockBackgroundColor.value = '#5cb85c' | |
| 303 | + leftBarBorderColor.value = '#5cb85c' | |
| 304 | + iconColor.value = '#fff' | |
| 305 | + iconClass.value = 'icon-check' | |
| 306 | + showRefresh.value = false | |
| 307 | + isEnd.value = true | |
| 308 | + if (mode.value == 'pop') { | |
| 309 | + setTimeout(() => { | |
| 310 | + proxy.$parent.clickShow = false | |
| 311 | + refresh() | |
| 312 | + }, 1500) | |
| 304 | 313 | } |
| 305 | - reqCheckApi(data).then((res) => { | |
| 306 | - if (res.repCode == '0000') { | |
| 307 | - moveBlockBackgroundColor.value = '#5cb85c' | |
| 308 | - leftBarBorderColor.value = '#5cb85c' | |
| 309 | - iconColor.value = '#fff' | |
| 310 | - iconClass.value = 'icon-check' | |
| 311 | - showRefresh.value = false | |
| 312 | - isEnd.value = true | |
| 313 | - if (mode.value == 'pop') { | |
| 314 | - setTimeout(() => { | |
| 315 | - proxy.$parent.clickShow = false | |
| 316 | - refresh() | |
| 317 | - }, 1500) | |
| 318 | - } | |
| 319 | - passFlag.value = true | |
| 320 | - tipWords.value = `${((endMovetime.value - startMoveTime.value) / 1000).toFixed(2)}s | |
| 314 | + passFlag.value = true | |
| 315 | + tipWords.value = `${((endMovetime.value - startMoveTime.value) / 1000).toFixed(2)}s | |
| 321 | 316 | ${t('captcha.success')}` |
| 322 | - var captchaVerification = secretKey.value | |
| 323 | - ? aesEncrypt( | |
| 324 | - backToken.value + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), | |
| 325 | - secretKey.value | |
| 326 | - ) | |
| 327 | - : backToken.value + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }) | |
| 328 | - setTimeout(() => { | |
| 329 | - tipWords.value = '' | |
| 330 | - proxy.$parent.closeBox() | |
| 331 | - proxy.$parent.$emit('success', { captchaVerification }) | |
| 332 | - }, 1000) | |
| 333 | - } else { | |
| 334 | - moveBlockBackgroundColor.value = '#d9534f' | |
| 335 | - leftBarBorderColor.value = '#d9534f' | |
| 336 | - iconColor.value = '#fff' | |
| 337 | - iconClass.value = 'icon-close' | |
| 338 | - passFlag.value = false | |
| 339 | - setTimeout(function () { | |
| 340 | - refresh() | |
| 341 | - }, 1000) | |
| 342 | - proxy.$parent.$emit('error', proxy) | |
| 343 | - tipWords.value = t('captcha.fail') | |
| 344 | - setTimeout(() => { | |
| 345 | - tipWords.value = '' | |
| 346 | - }, 1000) | |
| 347 | - } | |
| 348 | - }) | |
| 349 | - status.value = false | |
| 317 | + var captchaVerification = secretKey.value | |
| 318 | + ? aesEncrypt( | |
| 319 | + backToken.value + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }), | |
| 320 | + secretKey.value | |
| 321 | + ) | |
| 322 | + : backToken.value + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }) | |
| 323 | + setTimeout(() => { | |
| 324 | + tipWords.value = '' | |
| 325 | + proxy.$parent.closeBox() | |
| 326 | + proxy.$parent.$emit('success', { captchaVerification }) | |
| 327 | + }, 1000) | |
| 328 | + } else { | |
| 329 | + moveBlockBackgroundColor.value = '#d9534f' | |
| 330 | + leftBarBorderColor.value = '#d9534f' | |
| 331 | + iconColor.value = '#fff' | |
| 332 | + iconClass.value = 'icon-close' | |
| 333 | + passFlag.value = false | |
| 334 | + setTimeout(function () { | |
| 335 | + refresh() | |
| 336 | + }, 1000) | |
| 337 | + proxy.$parent.$emit('error', proxy) | |
| 338 | + tipWords.value = t('captcha.fail') | |
| 339 | + setTimeout(() => { | |
| 340 | + tipWords.value = '' | |
| 341 | + }, 1000) | |
| 350 | 342 | } |
| 351 | - } | |
| 343 | + }) | |
| 344 | + status.value = false | |
| 345 | + } | |
| 346 | +} | |
| 352 | 347 | |
| 353 | - const refresh = () => { | |
| 354 | - showRefresh.value = true | |
| 355 | - finishText.value = '' | |
| 348 | +const refresh = async () => { | |
| 349 | + showRefresh.value = true | |
| 350 | + finishText.value = '' | |
| 356 | 351 | |
| 357 | - transitionLeft.value = 'left .3s' | |
| 358 | - moveBlockLeft.value = 0 | |
| 352 | + transitionLeft.value = 'left .3s' | |
| 353 | + moveBlockLeft.value = 0 | |
| 359 | 354 | |
| 360 | - leftBarWidth.value = undefined | |
| 361 | - transitionWidth.value = 'width .3s' | |
| 355 | + leftBarWidth.value = undefined | |
| 356 | + transitionWidth.value = 'width .3s' | |
| 362 | 357 | |
| 363 | - leftBarBorderColor.value = '#ddd' | |
| 364 | - moveBlockBackgroundColor.value = '#fff' | |
| 365 | - iconColor.value = '#000' | |
| 366 | - iconClass.value = 'icon-right' | |
| 367 | - isEnd.value = false | |
| 358 | + leftBarBorderColor.value = '#ddd' | |
| 359 | + moveBlockBackgroundColor.value = '#fff' | |
| 360 | + iconColor.value = '#000' | |
| 361 | + iconClass.value = 'icon-right' | |
| 362 | + isEnd.value = false | |
| 368 | 363 | |
| 369 | - getPictrue() | |
| 370 | - setTimeout(() => { | |
| 371 | - transitionWidth.value = '' | |
| 372 | - transitionLeft.value = '' | |
| 373 | - text.value = explain.value | |
| 374 | - }, 300) | |
| 375 | - } | |
| 364 | + await getPictrue() | |
| 365 | + setTimeout(() => { | |
| 366 | + transitionWidth.value = '' | |
| 367 | + transitionLeft.value = '' | |
| 368 | + text.value = explain.value | |
| 369 | + }, 300) | |
| 370 | +} | |
| 376 | 371 | |
| 377 | - // 请求背景图片和验证图片 | |
| 378 | - function getPictrue() { | |
| 379 | - let data = { | |
| 380 | - captchaType: captchaType.value | |
| 381 | - } | |
| 382 | - getCodeApi(data).then((res) => { | |
| 383 | - if (res.repCode == '0000') { | |
| 384 | - backImgBase.value = res.repData.originalImageBase64 | |
| 385 | - blockBackImgBase.value = res.repData.jigsawImageBase64 | |
| 386 | - backToken.value = res.repData.token | |
| 387 | - secretKey.value = res.repData.secretKey | |
| 388 | - } else { | |
| 389 | - tipWords.value = res.repMsg | |
| 390 | - } | |
| 391 | - }) | |
| 392 | - } | |
| 393 | - return { | |
| 394 | - secretKey, //后端返回的ase加密秘钥 | |
| 395 | - passFlag, //是否通过的标识 | |
| 396 | - backImgBase, //验证码背景图片 | |
| 397 | - blockBackImgBase, //验证滑块的背景图片 | |
| 398 | - backToken, //后端返回的唯一token值 | |
| 399 | - startMoveTime, //移动开始的时间 | |
| 400 | - endMovetime, //移动结束的时间 | |
| 401 | - tipsBackColor, //提示词的背景颜色 | |
| 402 | - tipWords, | |
| 403 | - text, | |
| 404 | - finishText, | |
| 405 | - setSize, | |
| 406 | - top, | |
| 407 | - left, | |
| 408 | - moveBlockLeft, | |
| 409 | - leftBarWidth, | |
| 410 | - // 移动中样式 | |
| 411 | - moveBlockBackgroundColor, | |
| 412 | - leftBarBorderColor, | |
| 413 | - iconColor, | |
| 414 | - iconClass, | |
| 415 | - status, //鼠标状态 | |
| 416 | - isEnd, //是够验证完成 | |
| 417 | - showRefresh, | |
| 418 | - transitionLeft, | |
| 419 | - transitionWidth, | |
| 420 | - barArea, | |
| 421 | - refresh, | |
| 422 | - start | |
| 423 | - } | |
| 372 | +// 请求背景图片和验证图片 | |
| 373 | +const getPictrue = async () => { | |
| 374 | + let data = { | |
| 375 | + captchaType: captchaType.value | |
| 376 | + } | |
| 377 | + const res = await getCodeApi(data) | |
| 378 | + if (res.repCode == '0000') { | |
| 379 | + backImgBase.value = res.repData.originalImageBase64 | |
| 380 | + blockBackImgBase.value = res.repData.jigsawImageBase64 | |
| 381 | + backToken.value = res.repData.token | |
| 382 | + secretKey.value = res.repData.secretKey | |
| 383 | + } else { | |
| 384 | + tipWords.value = res.repMsg | |
| 424 | 385 | } |
| 425 | 386 | } |
| 426 | 387 | </script> | ... | ... |
yudao-ui-admin-vue3/src/components/XModal/src/XModal.vue
| ... | ... | @@ -10,8 +10,8 @@ const props = defineProps({ |
| 10 | 10 | fullscreen: propTypes.bool.def(false), |
| 11 | 11 | loading: propTypes.bool.def(false), |
| 12 | 12 | title: propTypes.string.def('弹窗'), |
| 13 | - width: propTypes.string.def('800'), | |
| 14 | - height: propTypes.string.def('480'), | |
| 13 | + width: propTypes.string.def('40%'), | |
| 14 | + height: propTypes.string.def('60%'), | |
| 15 | 15 | minWidth: propTypes.string.def('460'), |
| 16 | 16 | minHeight: propTypes.string.def('320'), |
| 17 | 17 | showFooter: propTypes.bool.def(true) | ... | ... |
yudao-ui-admin-vue3/src/components/index.ts
| ... | ... | @@ -3,7 +3,6 @@ import { Icon } from './Icon' |
| 3 | 3 | import { Form } from '@/components/Form' |
| 4 | 4 | import { Table } from '@/components/Table' |
| 5 | 5 | import { Search } from '@/components/Search' |
| 6 | -import { Dialog } from '@/components/Dialog' | |
| 7 | 6 | import { XModal } from '@/components/XModal' |
| 8 | 7 | import { XButton, XTextButton } from '@/components/XButton' |
| 9 | 8 | import { DictTag } from '@/components/DictTag' |
| ... | ... | @@ -15,7 +14,6 @@ export const setupGlobCom = (app: App<Element>): void => { |
| 15 | 14 | app.component('Form', Form) |
| 16 | 15 | app.component('Table', Table) |
| 17 | 16 | app.component('Search', Search) |
| 18 | - app.component('Dialog', Dialog) | |
| 19 | 17 | app.component('XModal', XModal) |
| 20 | 18 | app.component('XButton', XButton) |
| 21 | 19 | app.component('XTextButton', XTextButton) | ... | ... |
yudao-ui-admin-vue3/src/config/axios/service.ts
| ... | ... | @@ -168,15 +168,19 @@ service.interceptors.response.use( |
| 168 | 168 | ElMessage.error(t('sys.api.errMsg500')) |
| 169 | 169 | return Promise.reject(new Error(msg)) |
| 170 | 170 | } else if (code === 901) { |
| 171 | - ElMessage.error( | |
| 172 | - '<div>' + | |
| 171 | + ElMessage.error({ | |
| 172 | + duration: 5, | |
| 173 | + offset: 300, | |
| 174 | + dangerouslyUseHTMLString: true, | |
| 175 | + message: | |
| 176 | + '<div>' + | |
| 173 | 177 | t('sys.api.errMsg901') + |
| 174 | 178 | '</div>' + |
| 175 | 179 | '<div> </div>' + |
| 176 | 180 | '<div>参考 https://doc.iocoder.cn/ 教程</div>' + |
| 177 | 181 | '<div> </div>' + |
| 178 | 182 | '<div>5 分钟搭建本地环境</div>' |
| 179 | - ) | |
| 183 | + }) | |
| 180 | 184 | return Promise.reject(new Error(msg)) |
| 181 | 185 | } else if (code !== 200) { |
| 182 | 186 | if (msg === '无效的刷新令牌') { | ... | ... |
yudao-ui-admin-vue3/src/directives/permission/hasPermi.ts
| 1 | 1 | import type { App } from 'vue' |
| 2 | -import { useCache } from '@/hooks/web/useCache' | |
| 2 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 3 | 3 | import { useI18n } from '@/hooks/web/useI18n' |
| 4 | 4 | const { t } = useI18n() // 国际化 |
| 5 | 5 | |
| ... | ... | @@ -8,7 +8,7 @@ export function hasPermi(app: App<Element>) { |
| 8 | 8 | const { wsCache } = useCache() |
| 9 | 9 | const { value } = binding |
| 10 | 10 | const all_permission = '*:*:*' |
| 11 | - const permissions = wsCache.get('user').permissions | |
| 11 | + const permissions = wsCache.get(CACHE_KEY.USER).permissions | |
| 12 | 12 | |
| 13 | 13 | if (value && value instanceof Array && value.length > 0) { |
| 14 | 14 | const permissionFlag = value | ... | ... |
yudao-ui-admin-vue3/src/directives/permission/hasRole.ts
| 1 | 1 | import type { App } from 'vue' |
| 2 | -import { useCache } from '@/hooks/web/useCache' | |
| 2 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 3 | 3 | import { useI18n } from '@/hooks/web/useI18n' |
| 4 | 4 | const { t } = useI18n() // 国际化 |
| 5 | 5 | |
| ... | ... | @@ -8,7 +8,7 @@ export function hasRole(app: App<Element>) { |
| 8 | 8 | const { wsCache } = useCache() |
| 9 | 9 | const { value } = binding |
| 10 | 10 | const super_admin = 'admin' |
| 11 | - const roles = wsCache.get('user').roles | |
| 11 | + const roles = wsCache.get(CACHE_KEY.USER).roles | |
| 12 | 12 | |
| 13 | 13 | if (value && value instanceof Array && value.length > 0) { |
| 14 | 14 | const roleFlag = value | ... | ... |
yudao-ui-admin-vue3/src/hooks/web/useCache.ts
| ... | ... | @@ -6,6 +6,16 @@ import WebStorageCache from 'web-storage-cache' |
| 6 | 6 | |
| 7 | 7 | type CacheType = 'localStorage' | 'sessionStorage' |
| 8 | 8 | |
| 9 | +export const CACHE_KEY = { | |
| 10 | + IS_DARK: 'isDark', | |
| 11 | + USER: 'user', | |
| 12 | + LANG: 'lang', | |
| 13 | + THEME: 'theme', | |
| 14 | + LAYOUT: 'layout', | |
| 15 | + ROLE_ROUTERS: 'roleRouters', | |
| 16 | + DICT_CACHE: 'dictCache' | |
| 17 | +} | |
| 18 | + | |
| 9 | 19 | export const useCache = (type: CacheType = 'localStorage') => { |
| 10 | 20 | const wsCache: WebStorageCache = new WebStorageCache({ |
| 11 | 21 | storage: type | ... | ... |
yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
| ... | ... | @@ -208,7 +208,8 @@ const filterTableSchema = (crudSchema: VxeCrudSchema): VxeGridPropTypes.Columns |
| 208 | 208 | const tableSchemaItem = { |
| 209 | 209 | ...schemaItem.table, |
| 210 | 210 | field: schemaItem.field, |
| 211 | - title: schemaItem.table?.title || schemaItem.title | |
| 211 | + title: schemaItem.table?.title || schemaItem.title, | |
| 212 | + minWidth: '80px' | |
| 212 | 213 | } |
| 213 | 214 | tableSchemaItem.showOverflow = 'tooltip' |
| 214 | 215 | if (schemaItem?.formatter) { |
| ... | ... | @@ -231,6 +232,7 @@ const filterTableSchema = (crudSchema: VxeCrudSchema): VxeGridPropTypes.Columns |
| 231 | 232 | const tableSchemaItem = { |
| 232 | 233 | title: crudSchema.actionTitle ? crudSchema.actionTitle : t('table.action'), |
| 233 | 234 | field: 'actionbtns', |
| 235 | + fixed: 'right' as unknown as VxeColumnPropTypes.Fixed, | |
| 234 | 236 | width: crudSchema.actionWidth ? crudSchema.actionWidth : '200px', |
| 235 | 237 | slots: { |
| 236 | 238 | default: 'actionbtns_default' | ... | ... |
yudao-ui-admin-vue3/src/hooks/web/useVxeGrid.ts
| ... | ... | @@ -11,10 +11,12 @@ const message = useMessage() // 消息弹窗 |
| 11 | 11 | |
| 12 | 12 | interface UseVxeGridConfig<T = any> { |
| 13 | 13 | allSchemas: VxeAllSchemas |
| 14 | + height?: number // 高度 默认730 | |
| 14 | 15 | topActionSlots?: boolean // 是否开启表格内顶部操作栏插槽 |
| 15 | 16 | treeConfig?: VxeTablePropTypes.TreeConfig // 树形表单配置 |
| 16 | 17 | isList?: boolean // 是否不带分页的list |
| 17 | 18 | getListApi: (option: any) => Promise<T> // 获取列表接口 |
| 19 | + getAllListApi?: (option: any) => Promise<T> // 获取全部数据接口 用于VXE导出 | |
| 18 | 20 | deleteApi?: (option: any) => Promise<T> // 删除接口 |
| 19 | 21 | exportListApi?: (option: any) => Promise<T> // 导出接口 |
| 20 | 22 | exportName?: string // 导出文件夹名称 |
| ... | ... | @@ -47,7 +49,7 @@ export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => { |
| 47 | 49 | const gridOptions = reactive<VxeGridProps<any>>({ |
| 48 | 50 | loading: true, |
| 49 | 51 | size: currentSize as any, |
| 50 | - height: 730, // 1080高度 | |
| 52 | + height: config?.height ? config.height : 730, | |
| 51 | 53 | rowConfig: { |
| 52 | 54 | isCurrent: true, // 当鼠标点击行时,是否要高亮当前行 |
| 53 | 55 | isHover: true // 当鼠标移到行时,是否要高亮当前行 |
| ... | ... | @@ -99,8 +101,8 @@ export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => { |
| 99 | 101 | queryAll: ({ form }) => { |
| 100 | 102 | const queryParams = Object.assign({}, JSON.parse(JSON.stringify(form))) |
| 101 | 103 | return new Promise(async (resolve) => { |
| 102 | - if (config?.exportListApi) { | |
| 103 | - resolve(await config?.exportListApi(queryParams)) | |
| 104 | + if (config?.getAllListApi) { | |
| 105 | + resolve(await config?.getAllListApi(queryParams)) | |
| 104 | 106 | } else { |
| 105 | 107 | resolve(await config?.getListApi(queryParams)) |
| 106 | 108 | } |
| ... | ... | @@ -113,7 +115,7 @@ export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => { |
| 113 | 115 | // 默认选中类型 |
| 114 | 116 | type: 'csv', |
| 115 | 117 | // 自定义数据量列表 |
| 116 | - modes: ['current', 'all'], | |
| 118 | + modes: config?.getAllListApi ? ['current', 'all'] : ['current'], | |
| 117 | 119 | columns: config?.allSchemas.printSchema |
| 118 | 120 | } |
| 119 | 121 | }) | ... | ... |
yudao-ui-admin-vue3/src/layout/Layout.vue
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | import { computed, defineComponent, unref } from 'vue' |
| 3 | 3 | import { useAppStore } from '@/store/modules/app' |
| 4 | 4 | import { Backtop } from '@/components/Backtop' |
| 5 | -import { Setting } from '@/components/Setting' | |
| 5 | +import { Setting } from '@/layout/components/Setting' | |
| 6 | 6 | import { useRenderLayout } from './components/useRenderLayout' |
| 7 | 7 | import { useDesign } from '@/hooks/web/useDesign' |
| 8 | 8 | ... | ... |
yudao-ui-admin-vue3/src/layout/components/AppView.vue
| 1 | 1 | <script setup lang="ts"> |
| 2 | 2 | import { useTagsViewStore } from '@/store/modules/tagsView' |
| 3 | 3 | import { useAppStore } from '@/store/modules/app' |
| 4 | -import { Footer } from '@/components/Footer' | |
| 4 | +import { Footer } from '@/layout/components/Footer' | |
| 5 | 5 | import { computed } from 'vue' |
| 6 | 6 | |
| 7 | 7 | const appStore = useAppStore() | ... | ... |
yudao-ui-admin-vue3/src/components/Breadcrumb/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Breadcrumb/index.ts
yudao-ui-admin-vue3/src/components/Breadcrumb/src/Breadcrumb.vue renamed to yudao-ui-admin-vue3/src/layout/components/Breadcrumb/src/Breadcrumb.vue
yudao-ui-admin-vue3/src/components/Breadcrumb/src/helper.ts renamed to yudao-ui-admin-vue3/src/layout/components/Breadcrumb/src/helper.ts
yudao-ui-admin-vue3/src/components/Collapse/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Collapse/index.ts
yudao-ui-admin-vue3/src/components/Collapse/src/Collapse.vue renamed to yudao-ui-admin-vue3/src/layout/components/Collapse/src/Collapse.vue
yudao-ui-admin-vue3/src/components/ContextMenu/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/ContextMenu/index.ts
yudao-ui-admin-vue3/src/components/ContextMenu/src/ContextMenu.vue renamed to yudao-ui-admin-vue3/src/layout/components/ContextMenu/src/ContextMenu.vue
yudao-ui-admin-vue3/src/components/Footer/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Footer/index.ts
yudao-ui-admin-vue3/src/components/Footer/src/Footer.vue renamed to yudao-ui-admin-vue3/src/layout/components/Footer/src/Footer.vue
yudao-ui-admin-vue3/src/components/LocaleDropdown/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/LocaleDropdown/index.ts
yudao-ui-admin-vue3/src/components/LocaleDropdown/src/LocaleDropdown.vue renamed to yudao-ui-admin-vue3/src/layout/components/LocaleDropdown/src/LocaleDropdown.vue
yudao-ui-admin-vue3/src/components/Logo/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Logo/index.ts
yudao-ui-admin-vue3/src/components/Logo/src/Logo.vue renamed to yudao-ui-admin-vue3/src/layout/components/Logo/src/Logo.vue
yudao-ui-admin-vue3/src/components/Menu/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Menu/index.ts
yudao-ui-admin-vue3/src/components/Menu/src/Menu.vue renamed to yudao-ui-admin-vue3/src/layout/components/Menu/src/Menu.vue
yudao-ui-admin-vue3/src/components/Menu/src/components/useRenderMenuItem.tsx renamed to yudao-ui-admin-vue3/src/layout/components/Menu/src/components/useRenderMenuItem.tsx
yudao-ui-admin-vue3/src/components/Menu/src/components/useRenderMenuTitle.tsx renamed to yudao-ui-admin-vue3/src/layout/components/Menu/src/components/useRenderMenuTitle.tsx
yudao-ui-admin-vue3/src/components/Menu/src/helper.ts renamed to yudao-ui-admin-vue3/src/layout/components/Menu/src/helper.ts
yudao-ui-admin-vue3/src/components/Screenfull/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Screenfull/index.ts
yudao-ui-admin-vue3/src/components/Screenfull/src/Screenfull.vue renamed to yudao-ui-admin-vue3/src/layout/components/Screenfull/src/Screenfull.vue
yudao-ui-admin-vue3/src/components/Setting/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/Setting/index.ts
yudao-ui-admin-vue3/src/components/Setting/src/Setting.vue renamed to yudao-ui-admin-vue3/src/layout/components/Setting/src/Setting.vue
| ... | ... | @@ -3,13 +3,13 @@ import { ElDrawer, ElDivider, ElMessage } from 'element-plus' |
| 3 | 3 | import { ref, unref, computed, watch } from 'vue' |
| 4 | 4 | import { useCssVar, useClipboard } from '@vueuse/core' |
| 5 | 5 | import { useI18n } from '@/hooks/web/useI18n' |
| 6 | -import { useCache } from '@/hooks/web/useCache' | |
| 6 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 7 | 7 | import { useDesign } from '@/hooks/web/useDesign' |
| 8 | 8 | |
| 9 | 9 | import { trim, setCssVar } from '@/utils' |
| 10 | 10 | import { colorIsDark, lighten, hexToRGB } from '@/utils/color' |
| 11 | 11 | import { useAppStore } from '@/store/modules/app' |
| 12 | -import { ThemeSwitch } from '@/components/ThemeSwitch' | |
| 12 | +import { ThemeSwitch } from '@/layout/components/ThemeSwitch' | |
| 13 | 13 | import ColorRadioPicker from './components/ColorRadioPicker.vue' |
| 14 | 14 | import InterfaceDisplay from './components/InterfaceDisplay.vue' |
| 15 | 15 | import LayoutRadioPicker from './components/LayoutRadioPicker.vue' |
| ... | ... | @@ -188,9 +188,9 @@ const copyConfig = async () => { |
| 188 | 188 | // 清空缓存 |
| 189 | 189 | const clear = () => { |
| 190 | 190 | const { wsCache } = useCache() |
| 191 | - wsCache.delete('layout') | |
| 192 | - wsCache.delete('theme') | |
| 193 | - wsCache.delete('isDark') | |
| 191 | + wsCache.delete(CACHE_KEY.LAYOUT) | |
| 192 | + wsCache.delete(CACHE_KEY.THEME) | |
| 193 | + wsCache.delete(CACHE_KEY.IS_DARK) | |
| 194 | 194 | window.location.reload() |
| 195 | 195 | } |
| 196 | 196 | </script> | ... | ... |
yudao-ui-admin-vue3/src/components/Setting/src/components/ColorRadioPicker.vue renamed to yudao-ui-admin-vue3/src/layout/components/Setting/src/components/ColorRadioPicker.vue
yudao-ui-admin-vue3/src/components/Setting/src/components/InterfaceDisplay.vue renamed to yudao-ui-admin-vue3/src/layout/components/Setting/src/components/InterfaceDisplay.vue
yudao-ui-admin-vue3/src/components/Setting/src/components/LayoutRadioPicker.vue renamed to yudao-ui-admin-vue3/src/layout/components/Setting/src/components/LayoutRadioPicker.vue
yudao-ui-admin-vue3/src/components/SizeDropdown/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/SizeDropdown/index.ts
yudao-ui-admin-vue3/src/components/SizeDropdown/src/SizeDropdown.vue renamed to yudao-ui-admin-vue3/src/layout/components/SizeDropdown/src/SizeDropdown.vue
yudao-ui-admin-vue3/src/components/TabMenu/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/TabMenu/index.ts
yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue renamed to yudao-ui-admin-vue3/src/layout/components/TabMenu/src/TabMenu.vue
| ... | ... | @@ -5,7 +5,7 @@ import { computed, unref, defineComponent, watch, ref, onMounted } from 'vue' |
| 5 | 5 | import { useI18n } from '@/hooks/web/useI18n' |
| 6 | 6 | import { ElScrollbar } from 'element-plus' |
| 7 | 7 | import { Icon } from '@/components/Icon' |
| 8 | -import { Menu } from '@/components/Menu' | |
| 8 | +import { Menu } from '@/layout/components/Menu' | |
| 9 | 9 | import { useRouter } from 'vue-router' |
| 10 | 10 | import { pathResolve } from '@/utils/routerHelper' |
| 11 | 11 | import { cloneDeep } from 'lodash-es' | ... | ... |
yudao-ui-admin-vue3/src/components/TabMenu/src/helper.ts renamed to yudao-ui-admin-vue3/src/layout/components/TabMenu/src/helper.ts
yudao-ui-admin-vue3/src/components/TagsView/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/TagsView/index.ts
yudao-ui-admin-vue3/src/components/TagsView/src/TagsView.vue renamed to yudao-ui-admin-vue3/src/layout/components/TagsView/src/TagsView.vue
| ... | ... | @@ -7,7 +7,7 @@ import { useTagsViewStore } from '@/store/modules/tagsView' |
| 7 | 7 | import { useAppStore } from '@/store/modules/app' |
| 8 | 8 | import { useI18n } from '@/hooks/web/useI18n' |
| 9 | 9 | import { filterAffixTags } from './helper' |
| 10 | -import { ContextMenu, ContextMenuExpose } from '@/components/ContextMenu' | |
| 10 | +import { ContextMenu, ContextMenuExpose } from '@/layout/components/ContextMenu' | |
| 11 | 11 | import { useDesign } from '@/hooks/web/useDesign' |
| 12 | 12 | import { useTemplateRefsList } from '@vueuse/core' |
| 13 | 13 | import { ElScrollbar } from 'element-plus' |
| ... | ... | @@ -114,8 +114,8 @@ const toLastView = () => { |
| 114 | 114 | addTags() |
| 115 | 115 | return |
| 116 | 116 | } |
| 117 | - // You can set another route | |
| 118 | - push(permissionStore.getAddRouters[0].path) | |
| 117 | + // TODO: You can set another route | |
| 118 | + push('/') | |
| 119 | 119 | } |
| 120 | 120 | } |
| 121 | 121 | |
| ... | ... | @@ -128,7 +128,6 @@ const moveToCurrentTag = async () => { |
| 128 | 128 | if (v.fullPath !== unref(currentRoute).fullPath) { |
| 129 | 129 | tagsViewStore.updateVisitedView(unref(currentRoute)) |
| 130 | 130 | } |
| 131 | - | |
| 132 | 131 | break |
| 133 | 132 | } |
| 134 | 133 | } | ... | ... |
yudao-ui-admin-vue3/src/components/TagsView/src/helper.ts renamed to yudao-ui-admin-vue3/src/layout/components/TagsView/src/helper.ts
yudao-ui-admin-vue3/src/components/ThemeSwitch/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/ThemeSwitch/index.ts
yudao-ui-admin-vue3/src/components/ThemeSwitch/src/ThemeSwitch.vue renamed to yudao-ui-admin-vue3/src/layout/components/ThemeSwitch/src/ThemeSwitch.vue
yudao-ui-admin-vue3/src/layout/components/ToolHeader.vue
| 1 | 1 | <script lang="tsx"> |
| 2 | 2 | import { defineComponent, computed } from 'vue' |
| 3 | -import { Collapse } from '@/components/Collapse' | |
| 4 | -import { LocaleDropdown } from '@/components/LocaleDropdown' | |
| 5 | -import { SizeDropdown } from '@/components/SizeDropdown' | |
| 6 | -import { UserInfo } from '@/components/UserInfo' | |
| 7 | -import { Screenfull } from '@/components/Screenfull' | |
| 8 | -import { Breadcrumb } from '@/components/Breadcrumb' | |
| 3 | +import { Collapse } from '@/layout/components/Collapse' | |
| 4 | +import { LocaleDropdown } from '@/layout/components/LocaleDropdown' | |
| 5 | +import { SizeDropdown } from '@/layout/components/SizeDropdown' | |
| 6 | +import { UserInfo } from '@/layout/components/UserInfo' | |
| 7 | +import { Screenfull } from '@/layout/components/Screenfull' | |
| 8 | +import { Breadcrumb } from '@/layout/components/Breadcrumb' | |
| 9 | 9 | import { useAppStore } from '@/store/modules/app' |
| 10 | 10 | import { useDesign } from '@/hooks/web/useDesign' |
| 11 | 11 | ... | ... |
yudao-ui-admin-vue3/src/components/UserInfo/index.ts renamed to yudao-ui-admin-vue3/src/layout/components/UserInfo/index.ts
yudao-ui-admin-vue3/src/components/UserInfo/src/UserInfo.vue renamed to yudao-ui-admin-vue3/src/layout/components/UserInfo/src/UserInfo.vue
| 1 | 1 | <script setup lang="ts"> |
| 2 | 2 | import { ElDropdown, ElDropdownMenu, ElDropdownItem, ElMessageBox } from 'element-plus' |
| 3 | 3 | import { useI18n } from '@/hooks/web/useI18n' |
| 4 | -import { useCache } from '@/hooks/web/useCache' | |
| 4 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 5 | 5 | import { useRouter } from 'vue-router' |
| 6 | 6 | import { useDesign } from '@/hooks/web/useDesign' |
| 7 | 7 | import avatarImg from '@/assets/imgs/avatar.gif' |
| ... | ... | @@ -22,7 +22,7 @@ const { getPrefixCls } = useDesign() |
| 22 | 22 | |
| 23 | 23 | const prefixCls = getPrefixCls('user-info') |
| 24 | 24 | |
| 25 | -const user = wsCache.get('user') | |
| 25 | +const user = wsCache.get(CACHE_KEY.USER) | |
| 26 | 26 | |
| 27 | 27 | const avatar = user.user.avatar ? user.user.avatar : avatarImg |
| 28 | 28 | ... | ... |
yudao-ui-admin-vue3/src/layout/components/useRenderLayout.tsx
| 1 | 1 | import { computed } from 'vue' |
| 2 | 2 | import { useAppStore } from '@/store/modules/app' |
| 3 | -import { Menu } from '@/components/Menu' | |
| 4 | -import { TabMenu } from '@/components/TabMenu' | |
| 5 | -import { TagsView } from '@/components/TagsView' | |
| 6 | -import { Logo } from '@/components/Logo' | |
| 3 | +import { Menu } from '@/layout/components/Menu' | |
| 4 | +import { TabMenu } from '@/layout/components/TabMenu' | |
| 5 | +import { TagsView } from '@/layout/components/TagsView' | |
| 6 | +import { Logo } from '@/layout/components/Logo' | |
| 7 | 7 | import AppView from './AppView.vue' |
| 8 | 8 | import ToolHeader from './ToolHeader.vue' |
| 9 | 9 | import { ElScrollbar } from 'element-plus' | ... | ... |
yudao-ui-admin-vue3/src/router/index.ts
| 1 | 1 | import type { App } from 'vue' |
| 2 | -import { getAccessToken } from '@/utils/auth' | |
| 3 | 2 | import type { RouteRecordRaw } from 'vue-router' |
| 3 | +import { createRouter, createWebHashHistory } from 'vue-router' | |
| 4 | 4 | import remainingRouter from './modules/remaining' |
| 5 | +import { isRelogin } from '@/config/axios/service' | |
| 6 | +import { getAccessToken } from '@/utils/auth' | |
| 5 | 7 | import { useTitle } from '@/hooks/web/useTitle' |
| 6 | 8 | import { useNProgress } from '@/hooks/web/useNProgress' |
| 9 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 7 | 10 | import { usePageLoading } from '@/hooks/web/usePageLoading' |
| 8 | -import { createRouter, createWebHashHistory } from 'vue-router' | |
| 9 | -import { usePermissionStoreWithOut } from '@/store/modules/permission' | |
| 10 | 11 | import { useDictStoreWithOut } from '@/store/modules/dict' |
| 11 | 12 | import { useUserStoreWithOut } from '@/store/modules/user' |
| 12 | -import { listSimpleDictDataApi } from '@/api/system/dict/dict.data' | |
| 13 | -import { isRelogin } from '@/config/axios/service' | |
| 13 | +import { usePermissionStoreWithOut } from '@/store/modules/permission' | |
| 14 | 14 | import { getInfoApi } from '@/api/login' |
| 15 | -import { useCache } from '@/hooks/web/useCache' | |
| 15 | +import { listSimpleDictDataApi } from '@/api/system/dict/dict.data' | |
| 16 | 16 | |
| 17 | 17 | const { wsCache } = useCache('sessionStorage') |
| 18 | 18 | |
| ... | ... | @@ -50,12 +50,12 @@ router.beforeEach(async (to, from, next) => { |
| 50 | 50 | const dictStore = useDictStoreWithOut() |
| 51 | 51 | const userStore = useUserStoreWithOut() |
| 52 | 52 | const permissionStore = usePermissionStoreWithOut() |
| 53 | - const dictMap = wsCache.get('dictCache') | |
| 53 | + const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) | |
| 54 | 54 | if (!dictMap) { |
| 55 | 55 | const res = await listSimpleDictDataApi() |
| 56 | 56 | dictStore.setDictMap(res) |
| 57 | 57 | } |
| 58 | - if (userStore.getRoles.length === 0) { | |
| 58 | + if (!userStore.getIsSetUser) { | |
| 59 | 59 | isRelogin.show = true |
| 60 | 60 | const res = await getInfoApi() |
| 61 | 61 | await userStore.setUserInfoAction(res) | ... | ... |
yudao-ui-admin-vue3/src/store/modules/app.ts
| ... | ... | @@ -2,7 +2,7 @@ import { defineStore } from 'pinia' |
| 2 | 2 | import { store } from '../index' |
| 3 | 3 | import { setCssVar, humpToUnderline } from '@/utils' |
| 4 | 4 | import { ElMessage } from 'element-plus' |
| 5 | -import { useCache } from '@/hooks/web/useCache' | |
| 5 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 6 | 6 | import { ElementPlusSize } from '@/types/elementPlus' |
| 7 | 7 | import { LayoutType } from '@/types/layout' |
| 8 | 8 | import { ThemeTypes } from '@/types/theme' |
| ... | ... | @@ -61,10 +61,10 @@ export const useAppStore = defineStore('app', { |
| 61 | 61 | greyMode: false, // 是否开始灰色模式,用于特殊悼念日 |
| 62 | 62 | fixedMenu: wsCache.get('fixedMenu') || false, // 是否固定菜单 |
| 63 | 63 | |
| 64 | - layout: wsCache.get('layout') || 'classic', // layout布局 | |
| 65 | - isDark: wsCache.get('isDark') || false, // 是否是暗黑模式 | |
| 64 | + layout: wsCache.get(CACHE_KEY.LAYOUT) || 'classic', // layout布局 | |
| 65 | + isDark: wsCache.get(CACHE_KEY.IS_DARK) || false, // 是否是暗黑模式 | |
| 66 | 66 | currentSize: wsCache.get('default') || 'default', // 组件尺寸 |
| 67 | - theme: wsCache.get('theme') || { | |
| 67 | + theme: wsCache.get(CACHE_KEY.THEME) || { | |
| 68 | 68 | // 主题色 |
| 69 | 69 | elColorPrimary: '#409eff', |
| 70 | 70 | // 左侧菜单边框颜色 |
| ... | ... | @@ -223,7 +223,7 @@ export const useAppStore = defineStore('app', { |
| 223 | 223 | return |
| 224 | 224 | } |
| 225 | 225 | this.layout = layout |
| 226 | - wsCache.set('layout', this.layout) | |
| 226 | + wsCache.set(CACHE_KEY.LAYOUT, this.layout) | |
| 227 | 227 | }, |
| 228 | 228 | setTitle(title: string) { |
| 229 | 229 | this.title = title |
| ... | ... | @@ -237,7 +237,7 @@ export const useAppStore = defineStore('app', { |
| 237 | 237 | document.documentElement.classList.add('light') |
| 238 | 238 | document.documentElement.classList.remove('dark') |
| 239 | 239 | } |
| 240 | - wsCache.set('isDark', this.isDark) | |
| 240 | + wsCache.set(CACHE_KEY.IS_DARK, this.isDark) | |
| 241 | 241 | }, |
| 242 | 242 | setCurrentSize(currentSize: ElementPlusSize) { |
| 243 | 243 | this.currentSize = currentSize |
| ... | ... | @@ -248,7 +248,7 @@ export const useAppStore = defineStore('app', { |
| 248 | 248 | }, |
| 249 | 249 | setTheme(theme: ThemeTypes) { |
| 250 | 250 | this.theme = Object.assign(this.theme, theme) |
| 251 | - wsCache.set('theme', this.theme) | |
| 251 | + wsCache.set(CACHE_KEY.THEME, this.theme) | |
| 252 | 252 | }, |
| 253 | 253 | setCssVarTheme() { |
| 254 | 254 | for (const key in this.theme) { | ... | ... |
yudao-ui-admin-vue3/src/store/modules/dict.ts
| 1 | 1 | import { defineStore } from 'pinia' |
| 2 | 2 | import { store } from '../index' |
| 3 | 3 | import { DictDataVO } from '@/api/system/dict/types' |
| 4 | -import { useCache } from '@/hooks/web/useCache' | |
| 4 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 5 | 5 | const { wsCache } = useCache('sessionStorage') |
| 6 | 6 | |
| 7 | 7 | export interface DictValueType { |
| ... | ... | @@ -24,7 +24,7 @@ export const useDictStore = defineStore('dict', { |
| 24 | 24 | }), |
| 25 | 25 | getters: { |
| 26 | 26 | getDictMap(): Recordable { |
| 27 | - const dictMap = wsCache.get('dictCache') | |
| 27 | + const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) | |
| 28 | 28 | return dictMap ? dictMap : this.dictMap |
| 29 | 29 | }, |
| 30 | 30 | getHasDictData(): boolean { |
| ... | ... | @@ -54,7 +54,7 @@ export const useDictStore = defineStore('dict', { |
| 54 | 54 | }) |
| 55 | 55 | }) |
| 56 | 56 | this.dictMap = dictDataMap |
| 57 | - wsCache.set('dictCache', dictDataMap, { exp: 60 }) // 60 秒 过期 | |
| 57 | + wsCache.set(CACHE_KEY.DICT_CACHE, dictDataMap, { exp: 60 }) // 60 秒 过期 | |
| 58 | 58 | } |
| 59 | 59 | } |
| 60 | 60 | }) | ... | ... |
yudao-ui-admin-vue3/src/store/modules/locale.ts
| ... | ... | @@ -2,7 +2,7 @@ import { defineStore } from 'pinia' |
| 2 | 2 | import { store } from '../index' |
| 3 | 3 | import zhCn from 'element-plus/es/locale/lang/zh-cn' |
| 4 | 4 | import en from 'element-plus/es/locale/lang/en' |
| 5 | -import { useCache } from '@/hooks/web/useCache' | |
| 5 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 6 | 6 | import { LocaleDropdownType } from '@/types/localeDropdown' |
| 7 | 7 | |
| 8 | 8 | const { wsCache } = useCache() |
| ... | ... | @@ -20,8 +20,8 @@ export const useLocaleStore = defineStore('locales', { |
| 20 | 20 | state: (): LocaleState => { |
| 21 | 21 | return { |
| 22 | 22 | currentLocale: { |
| 23 | - lang: wsCache.get('lang') || 'zh-CN', | |
| 24 | - elLocale: elLocaleMap[wsCache.get('lang') || 'zh-CN'] | |
| 23 | + lang: wsCache.get(CACHE_KEY.LANG) || 'zh-CN', | |
| 24 | + elLocale: elLocaleMap[wsCache.get(CACHE_KEY.LANG) || 'zh-CN'] | |
| 25 | 25 | }, |
| 26 | 26 | // 多语言 |
| 27 | 27 | localeMap: [ |
| ... | ... | @@ -49,7 +49,7 @@ export const useLocaleStore = defineStore('locales', { |
| 49 | 49 | // this.locale = Object.assign(this.locale, localeMap) |
| 50 | 50 | this.currentLocale.lang = localeMap?.lang |
| 51 | 51 | this.currentLocale.elLocale = elLocaleMap[localeMap?.lang] |
| 52 | - wsCache.set('lang', localeMap?.lang) | |
| 52 | + wsCache.set(CACHE_KEY.LANG, localeMap?.lang) | |
| 53 | 53 | } |
| 54 | 54 | } |
| 55 | 55 | }) | ... | ... |
yudao-ui-admin-vue3/src/store/modules/permission.ts
| ... | ... | @@ -4,7 +4,7 @@ import { cloneDeep } from 'lodash-es' |
| 4 | 4 | import remainingRouter from '@/router/modules/remaining' |
| 5 | 5 | import { generateRoute, flatMultiLevelRoutes } from '@/utils/routerHelper' |
| 6 | 6 | import { getAsyncRoutesApi } from '@/api/login' |
| 7 | -import { useCache } from '@/hooks/web/useCache' | |
| 7 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 8 | 8 | |
| 9 | 9 | const { wsCache } = useCache() |
| 10 | 10 | |
| ... | ... | @@ -35,11 +35,11 @@ export const usePermissionStore = defineStore('permission', { |
| 35 | 35 | async generateRoutes(): Promise<unknown> { |
| 36 | 36 | return new Promise<void>(async (resolve) => { |
| 37 | 37 | let res: AppCustomRouteRecordRaw[] |
| 38 | - if (wsCache.get('roleRouters')) { | |
| 39 | - res = wsCache.get('roleRouters') as AppCustomRouteRecordRaw[] | |
| 38 | + if (wsCache.get(CACHE_KEY.ROLE_ROUTERS)) { | |
| 39 | + res = wsCache.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[] | |
| 40 | 40 | } else { |
| 41 | 41 | res = await getAsyncRoutesApi() |
| 42 | - wsCache.set('roleRouters', res) | |
| 42 | + wsCache.set(CACHE_KEY.ROLE_ROUTERS, res) | |
| 43 | 43 | } |
| 44 | 44 | const routerMap: AppRouteRecordRaw[] = generateRoute(res as AppCustomRouteRecordRaw[]) |
| 45 | 45 | // 动态路由,404一定要放到最后面 | ... | ... |
yudao-ui-admin-vue3/src/store/modules/user.ts
| 1 | 1 | import { store } from '../index' |
| 2 | 2 | import { defineStore } from 'pinia' |
| 3 | 3 | import { getAccessToken, removeToken } from '@/utils/auth' |
| 4 | -import { useCache } from '@/hooks/web/useCache' | |
| 4 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 5 | 5 | |
| 6 | 6 | const { wsCache } = useCache() |
| 7 | 7 | |
| ... | ... | @@ -13,6 +13,7 @@ interface UserVO { |
| 13 | 13 | interface UserInfoVO { |
| 14 | 14 | permissions: string[] |
| 15 | 15 | roles: string[] |
| 16 | + isSetUser: boolean | |
| 16 | 17 | user: UserVO |
| 17 | 18 | } |
| 18 | 19 | |
| ... | ... | @@ -20,6 +21,7 @@ export const useUserStore = defineStore('admin-user', { |
| 20 | 21 | state: (): UserInfoVO => ({ |
| 21 | 22 | permissions: [], |
| 22 | 23 | roles: [], |
| 24 | + isSetUser: false, | |
| 23 | 25 | user: { |
| 24 | 26 | id: 0, |
| 25 | 27 | avatar: '', |
| ... | ... | @@ -33,6 +35,9 @@ export const useUserStore = defineStore('admin-user', { |
| 33 | 35 | getRoles(): string[] { |
| 34 | 36 | return this.roles |
| 35 | 37 | }, |
| 38 | + getIsSetUser(): boolean { | |
| 39 | + return this.isSetUser | |
| 40 | + }, | |
| 36 | 41 | getUser(): UserVO { |
| 37 | 42 | return this.user |
| 38 | 43 | } |
| ... | ... | @@ -46,7 +51,8 @@ export const useUserStore = defineStore('admin-user', { |
| 46 | 51 | this.permissions = userInfo.permissions |
| 47 | 52 | this.roles = userInfo.roles |
| 48 | 53 | this.user = userInfo.user |
| 49 | - wsCache.set('user', userInfo) | |
| 54 | + this.isSetUser = true | |
| 55 | + wsCache.set(CACHE_KEY.USER, userInfo) | |
| 50 | 56 | }, |
| 51 | 57 | loginOut() { |
| 52 | 58 | removeToken() |
| ... | ... | @@ -56,6 +62,7 @@ export const useUserStore = defineStore('admin-user', { |
| 56 | 62 | resetState() { |
| 57 | 63 | this.permissions = [] |
| 58 | 64 | this.roles = [] |
| 65 | + this.isSetUser = false | |
| 59 | 66 | this.user = { |
| 60 | 67 | id: 0, |
| 61 | 68 | avatar: '', | ... | ... |
yudao-ui-admin-vue3/src/types/components.d.ts
yudao-ui-admin-vue3/src/utils/auth.ts
| 1 | -import Cookies from 'js-cookie' | |
| 1 | +import { useCache } from '@/hooks/web/useCache' | |
| 2 | 2 | import { TokenType } from '@/api/login/types' |
| 3 | 3 | import { decrypt, encrypt } from '@/utils/jsencrypt' |
| 4 | 4 | |
| 5 | +const { wsCache } = useCache() | |
| 6 | + | |
| 5 | 7 | const AccessTokenKey = 'ACCESS_TOKEN' |
| 6 | 8 | const RefreshTokenKey = 'REFRESH_TOKEN' |
| 7 | 9 | |
| 8 | 10 | // 获取token |
| 9 | 11 | export const getAccessToken = () => { |
| 10 | 12 | // 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错 |
| 11 | - return Cookies.get(AccessTokenKey) ? Cookies.get(AccessTokenKey) : Cookies.get('ACCESS_TOKEN') | |
| 13 | + return wsCache.get(AccessTokenKey) ? wsCache.get(AccessTokenKey) : wsCache.get('ACCESS_TOKEN') | |
| 12 | 14 | } |
| 13 | 15 | |
| 14 | 16 | // 刷新token |
| 15 | 17 | export const getRefreshToken = () => { |
| 16 | - return Cookies.get(RefreshTokenKey) | |
| 18 | + return wsCache.get(RefreshTokenKey) | |
| 17 | 19 | } |
| 18 | 20 | |
| 19 | 21 | // 设置token |
| 20 | 22 | export const setToken = (token: TokenType) => { |
| 21 | - Cookies.set(RefreshTokenKey, token.refreshToken, token.expiresTime) | |
| 22 | - Cookies.set(AccessTokenKey, token.accessToken) | |
| 23 | + wsCache.set(RefreshTokenKey, token.refreshToken, { exp: token.expiresTime }) | |
| 24 | + wsCache.set(AccessTokenKey, token.accessToken) | |
| 23 | 25 | } |
| 24 | 26 | |
| 25 | 27 | // 删除token |
| 26 | 28 | export const removeToken = () => { |
| 27 | - Cookies.remove(AccessTokenKey) | |
| 28 | - Cookies.remove(RefreshTokenKey) | |
| 29 | + wsCache.delete(AccessTokenKey) | |
| 30 | + wsCache.delete(RefreshTokenKey) | |
| 29 | 31 | } |
| 30 | 32 | |
| 31 | 33 | /** 格式化token(jwt格式) */ |
| ... | ... | @@ -39,40 +41,40 @@ const PasswordKey = 'PASSWORD' |
| 39 | 41 | const RememberMeKey = 'REMEMBER_ME' |
| 40 | 42 | |
| 41 | 43 | export const getUsername = () => { |
| 42 | - return Cookies.get(UsernameKey) | |
| 44 | + return wsCache.get(UsernameKey) | |
| 43 | 45 | } |
| 44 | 46 | |
| 45 | 47 | export const setUsername = (username: string) => { |
| 46 | - Cookies.set(UsernameKey, username) | |
| 48 | + wsCache.set(UsernameKey, username, { exp: 30 * 24 * 60 * 60 }) | |
| 47 | 49 | } |
| 48 | 50 | |
| 49 | 51 | export const removeUsername = () => { |
| 50 | - Cookies.remove(UsernameKey) | |
| 52 | + wsCache.delete(UsernameKey) | |
| 51 | 53 | } |
| 52 | 54 | |
| 53 | 55 | export const getPassword = () => { |
| 54 | - const password = Cookies.get(PasswordKey) | |
| 56 | + const password = wsCache.get(PasswordKey) | |
| 55 | 57 | return password ? decrypt(password) : undefined |
| 56 | 58 | } |
| 57 | 59 | |
| 58 | 60 | export const setPassword = (password: string) => { |
| 59 | - Cookies.set(PasswordKey, encrypt(password)) | |
| 61 | + wsCache.set(PasswordKey, encrypt(password), { exp: 30 * 24 * 60 * 60 }) | |
| 60 | 62 | } |
| 61 | 63 | |
| 62 | 64 | export const removePassword = () => { |
| 63 | - Cookies.remove(PasswordKey) | |
| 65 | + wsCache.delete(PasswordKey) | |
| 64 | 66 | } |
| 65 | 67 | |
| 66 | 68 | export const getRememberMe = () => { |
| 67 | - return Cookies.get(RememberMeKey) === 'true' | |
| 69 | + return wsCache.get(RememberMeKey) === true | |
| 68 | 70 | } |
| 69 | 71 | |
| 70 | -export const setRememberMe = (rememberMe: string) => { | |
| 71 | - Cookies.set(RememberMeKey, rememberMe) | |
| 72 | +export const setRememberMe = (rememberMe: boolean) => { | |
| 73 | + wsCache.set(RememberMeKey, rememberMe, { exp: 30 * 24 * 60 * 60 }) | |
| 72 | 74 | } |
| 73 | 75 | |
| 74 | 76 | export const removeRememberMe = () => { |
| 75 | - Cookies.remove(RememberMeKey) | |
| 77 | + wsCache.delete(RememberMeKey) | |
| 76 | 78 | } |
| 77 | 79 | |
| 78 | 80 | // ========== 租户相关 ========== |
| ... | ... | @@ -81,25 +83,25 @@ const TenantIdKey = 'TENANT_ID' |
| 81 | 83 | const TenantNameKey = 'TENANT_NAME' |
| 82 | 84 | |
| 83 | 85 | export const getTenantName = () => { |
| 84 | - return Cookies.get(TenantNameKey) | |
| 86 | + return wsCache.get(TenantNameKey) | |
| 85 | 87 | } |
| 86 | 88 | |
| 87 | 89 | export const setTenantName = (username: string) => { |
| 88 | - Cookies.set(TenantNameKey, username) | |
| 90 | + wsCache.set(TenantNameKey, username, { exp: 30 * 24 * 60 * 60 }) | |
| 89 | 91 | } |
| 90 | 92 | |
| 91 | 93 | export const removeTenantName = () => { |
| 92 | - Cookies.remove(TenantNameKey) | |
| 94 | + wsCache.delete(TenantNameKey) | |
| 93 | 95 | } |
| 94 | 96 | |
| 95 | 97 | export const getTenantId = () => { |
| 96 | - return Cookies.get(TenantIdKey) | |
| 98 | + return wsCache.get(TenantIdKey) | |
| 97 | 99 | } |
| 98 | 100 | |
| 99 | 101 | export const setTenantId = (username: string) => { |
| 100 | - Cookies.set(TenantIdKey, username) | |
| 102 | + wsCache.set(TenantIdKey, username) | |
| 101 | 103 | } |
| 102 | 104 | |
| 103 | 105 | export const removeTenantId = () => { |
| 104 | - Cookies.remove(TenantIdKey) | |
| 106 | + wsCache.delete(TenantIdKey) | |
| 105 | 107 | } | ... | ... |
yudao-ui-admin-vue3/src/utils/routerHelper.ts
| ... | ... | @@ -18,7 +18,7 @@ export const getParentLayout = () => { |
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | // 按照路由中meta下的rank等级升序来排序路由 |
| 21 | -export function ascending(arr: any[]) { | |
| 21 | +export const ascending = (arr: any[]) => { | |
| 22 | 22 | arr.forEach((v) => { |
| 23 | 23 | if (v?.meta?.rank === null) v.meta.rank = undefined |
| 24 | 24 | if (v?.meta?.rank === 0) { |
| ... | ... | @@ -109,7 +109,7 @@ export const generateRoute = (routes: AppCustomRouteRecordRaw[]): AppRouteRecord |
| 109 | 109 | data.children = generateRoute(route.children) |
| 110 | 110 | } |
| 111 | 111 | } |
| 112 | - res.push(data) | |
| 112 | + res.push(data as AppRouteRecordRaw) | |
| 113 | 113 | } |
| 114 | 114 | return res |
| 115 | 115 | } |
| ... | ... | @@ -203,7 +203,7 @@ const addToChildren = ( |
| 203 | 203 | } |
| 204 | 204 | } |
| 205 | 205 | } |
| 206 | -function toCamelCase(str: string, upperCaseFirst: boolean) { | |
| 206 | +const toCamelCase = (str: string, upperCaseFirst: boolean) => { | |
| 207 | 207 | str = (str || '').toLowerCase().replace(/-(.)/g, function (group1: string) { |
| 208 | 208 | return group1.toUpperCase() |
| 209 | 209 | }) | ... | ... |
yudao-ui-admin-vue3/src/utils/tree.ts
| ... | ... | @@ -8,6 +8,11 @@ const DEFAULT_CONFIG: TreeHelperConfig = { |
| 8 | 8 | children: 'children', |
| 9 | 9 | pid: 'pid' |
| 10 | 10 | } |
| 11 | +export const defaultProps = { | |
| 12 | + children: 'children', | |
| 13 | + label: 'name', | |
| 14 | + value: 'id' | |
| 15 | +} | |
| 11 | 16 | |
| 12 | 17 | const getConfig = (config: Partial<TreeHelperConfig>) => Object.assign({}, DEFAULT_CONFIG, config) |
| 13 | 18 | |
| ... | ... | @@ -214,6 +219,10 @@ export const eachTree = (treeDatas: any[], callBack: Fn, parentNode = {}) => { |
| 214 | 219 | * @param {*} children 孩子节点字段 默认 'children' |
| 215 | 220 | */ |
| 216 | 221 | export const handleTree = (data: any[], id?: string, parentId?: string, children?: string) => { |
| 222 | + if (!Array.isArray(data)) { | |
| 223 | + console.warn('data must be an array') | |
| 224 | + return [] | |
| 225 | + } | |
| 217 | 226 | const config = { |
| 218 | 227 | id: id || 'id', |
| 219 | 228 | parentId: parentId || 'parentId', | ... | ... |
yudao-ui-admin-vue3/src/views/Error/403.vue
yudao-ui-admin-vue3/src/views/Error/404.vue
yudao-ui-admin-vue3/src/views/Error/500.vue
yudao-ui-admin-vue3/src/views/Home/Index.vue
| ... | ... | @@ -167,20 +167,21 @@ import { EChartsOption } from 'echarts' |
| 167 | 167 | import { ElRow, ElCol, ElSkeleton, ElCard, ElDivider, ElLink } from 'element-plus' |
| 168 | 168 | import { formatTime } from '@/utils' |
| 169 | 169 | import { useI18n } from '@/hooks/web/useI18n' |
| 170 | -import { useCache } from '@/hooks/web/useCache' | |
| 170 | +import { useUserStore } from '@/store/modules/user' | |
| 171 | 171 | import { useWatermark } from '@/hooks/web/useWatermark' |
| 172 | 172 | import { Echart } from '@/components/Echart' |
| 173 | 173 | import { CountTo } from '@/components/CountTo' |
| 174 | 174 | import { Highlight } from '@/components/Highlight' |
| 175 | +import avatarImg from '@/assets/imgs/avatar.gif' | |
| 175 | 176 | import type { WorkplaceTotal, Project, Notice, Shortcut } from './types' |
| 176 | 177 | import { pieOptions, barOptions } from './echarts-data' |
| 177 | 178 | |
| 178 | 179 | const { t } = useI18n() |
| 179 | -const { wsCache } = useCache() | |
| 180 | +const userStore = useUserStore() | |
| 180 | 181 | const { setWatermark } = useWatermark() |
| 181 | 182 | const loading = ref(true) |
| 182 | -const avatar = wsCache.get('user').user.avatar | |
| 183 | -const username = wsCache.get('user').user.nickname | |
| 183 | +const avatar = userStore.getUser.avatar ? userStore.getUser.avatar : avatarImg | |
| 184 | +const username = userStore.getUser.nickname | |
| 184 | 185 | const pieOptionsData = reactive<EChartsOption>(pieOptions) as EChartsOption |
| 185 | 186 | // 获取统计数 |
| 186 | 187 | let totalSate = reactive<WorkplaceTotal>({ | ... | ... |
yudao-ui-admin-vue3/src/views/Login/Login.vue
| ... | ... | @@ -63,8 +63,8 @@ import { underlineToHump } from '@/utils' |
| 63 | 63 | import { useI18n } from '@/hooks/web/useI18n' |
| 64 | 64 | import { useDesign } from '@/hooks/web/useDesign' |
| 65 | 65 | import { useAppStore } from '@/store/modules/app' |
| 66 | -import { ThemeSwitch } from '@/components/ThemeSwitch' | |
| 67 | -import { LocaleDropdown } from '@/components/LocaleDropdown' | |
| 66 | +import { ThemeSwitch } from '@/layout/components/ThemeSwitch' | |
| 67 | +import { LocaleDropdown } from '@/layout/components/LocaleDropdown' | |
| 68 | 68 | import { LoginForm, MobileForm, RegisterForm, QrCodeForm } from './components' |
| 69 | 69 | |
| 70 | 70 | const { t } = useI18n() | ... | ... |
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
| ... | ... | @@ -16,7 +16,7 @@ |
| 16 | 16 | </el-form-item> |
| 17 | 17 | </el-col> |
| 18 | 18 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 19 | - <el-form-item prop="tenantName"> | |
| 19 | + <el-form-item prop="tenantName" v-if="loginData.tenantEnable === 'true'"> | |
| 20 | 20 | <el-input |
| 21 | 21 | type="text" |
| 22 | 22 | v-model="loginData.loginForm.tenantName" |
| ... | ... | @@ -65,9 +65,13 @@ |
| 65 | 65 | </el-col> |
| 66 | 66 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 67 | 67 | <el-form-item> |
| 68 | - <el-button :loading="loginLoading" type="primary" class="w-[100%]" @click="getCode()"> | |
| 69 | - {{ t('login.login') }} | |
| 70 | - </el-button> | |
| 68 | + <XButton | |
| 69 | + :loading="loginLoading" | |
| 70 | + type="primary" | |
| 71 | + class="w-[100%]" | |
| 72 | + :title="t('login.login')" | |
| 73 | + @click="getCode()" | |
| 74 | + /> | |
| 71 | 75 | </el-form-item> |
| 72 | 76 | </el-col> |
| 73 | 77 | <Verify |
| ... | ... | @@ -81,19 +85,25 @@ |
| 81 | 85 | <el-form-item> |
| 82 | 86 | <el-row justify="space-between" style="width: 100%" :gutter="5"> |
| 83 | 87 | <el-col :span="8"> |
| 84 | - <el-button class="w-[100%]" @click="setLoginState(LoginStateEnum.MOBILE)"> | |
| 85 | - {{ t('login.btnMobile') }} | |
| 86 | - </el-button> | |
| 88 | + <XButton | |
| 89 | + class="w-[100%]" | |
| 90 | + :title="t('login.btnMobile')" | |
| 91 | + @click="setLoginState(LoginStateEnum.MOBILE)" | |
| 92 | + /> | |
| 87 | 93 | </el-col> |
| 88 | 94 | <el-col :span="8"> |
| 89 | - <el-button class="w-[100%]" @click="setLoginState(LoginStateEnum.QR_CODE)"> | |
| 90 | - {{ t('login.btnQRCode') }} | |
| 91 | - </el-button> | |
| 95 | + <XButton | |
| 96 | + class="w-[100%]" | |
| 97 | + :title="t('login.btnQRCode')" | |
| 98 | + @click="setLoginState(LoginStateEnum.QR_CODE)" | |
| 99 | + /> | |
| 92 | 100 | </el-col> |
| 93 | 101 | <el-col :span="8"> |
| 94 | - <el-button class="w-[100%]" @click="setLoginState(LoginStateEnum.REGISTER)"> | |
| 95 | - {{ t('login.btnRegister') }} | |
| 96 | - </el-button> | |
| 102 | + <XButton | |
| 103 | + class="w-[100%]" | |
| 104 | + :title="t('login.btnRegister')" | |
| 105 | + @click="setLoginState(LoginStateEnum.REGISTER)" | |
| 106 | + /> | |
| 97 | 107 | </el-col> |
| 98 | 108 | </el-row> |
| 99 | 109 | </el-form-item> |
| ... | ... | @@ -103,32 +113,13 @@ |
| 103 | 113 | <el-form-item> |
| 104 | 114 | <div class="flex justify-between w-[100%]"> |
| 105 | 115 | <Icon |
| 106 | - icon="ant-design:github-filled" | |
| 107 | - :size="30" | |
| 108 | - class="cursor-pointer anticon" | |
| 109 | - color="#999" | |
| 110 | - @click="doSocialLogin('github')" | |
| 111 | - /> | |
| 112 | - <Icon | |
| 113 | - icon="ant-design:wechat-filled" | |
| 116 | + v-for="(item, key) in socialList" | |
| 117 | + :key="key" | |
| 118 | + :icon="item.icon" | |
| 114 | 119 | :size="30" |
| 115 | 120 | class="cursor-pointer anticon" |
| 116 | 121 | color="#999" |
| 117 | - @click="doSocialLogin('wechat')" | |
| 118 | - /> | |
| 119 | - <Icon | |
| 120 | - icon="ant-design:alipay-circle-filled" | |
| 121 | - :size="30" | |
| 122 | - color="#999" | |
| 123 | - class="cursor-pointer anticon" | |
| 124 | - @click="doSocialLogin('alipay')" | |
| 125 | - /> | |
| 126 | - <Icon | |
| 127 | - icon="ant-design:dingtalk-circle-filled" | |
| 128 | - :size="30" | |
| 129 | - color="#999" | |
| 130 | - class="cursor-pointer anticon" | |
| 131 | - @click="doSocialLogin('dingtalk')" | |
| 122 | + @click="doSocialLogin(item.type)" | |
| 132 | 123 | /> |
| 133 | 124 | </div> |
| 134 | 125 | </el-form-item> |
| ... | ... | @@ -150,21 +141,24 @@ import { |
| 150 | 141 | ElDivider, |
| 151 | 142 | ElLoading |
| 152 | 143 | } from 'element-plus' |
| 153 | -import Cookies from 'js-cookie' | |
| 154 | 144 | import { useRouter } from 'vue-router' |
| 155 | 145 | import type { RouteLocationNormalizedLoaded } from 'vue-router' |
| 156 | 146 | import { useI18n } from '@/hooks/web/useI18n' |
| 157 | 147 | import { useIcon } from '@/hooks/web/useIcon' |
| 148 | +import { useMessage } from '@/hooks/web/useMessage' | |
| 158 | 149 | import { required } from '@/utils/formRules' |
| 159 | -import { setToken, setTenantId } from '@/utils/auth' | |
| 160 | -import { decrypt, encrypt } from '@/utils/jsencrypt' | |
| 161 | -import { Icon } from '@/components/Icon' | |
| 150 | +import * as authUtil from '@/utils/auth' | |
| 151 | +import { decrypt } from '@/utils/jsencrypt' | |
| 162 | 152 | import { Verify } from '@/components/Verifition' |
| 163 | 153 | import { usePermissionStore } from '@/store/modules/permission' |
| 164 | 154 | import * as LoginApi from '@/api/login' |
| 165 | 155 | import { LoginStateEnum, useLoginState, useFormValid } from './useLogin' |
| 166 | 156 | |
| 167 | 157 | const { t } = useI18n() |
| 158 | +const message = useMessage() | |
| 159 | +const iconHouse = useIcon({ icon: 'ep:house' }) | |
| 160 | +const iconAvatar = useIcon({ icon: 'ep:avatar' }) | |
| 161 | +const iconLock = useIcon({ icon: 'ep:lock' }) | |
| 168 | 162 | const formLogin = ref() |
| 169 | 163 | const { validForm } = useFormValid(formLogin) |
| 170 | 164 | const { setLoginState, getLoginState } = useLoginState() |
| ... | ... | @@ -172,9 +166,6 @@ const { currentRoute, push } = useRouter() |
| 172 | 166 | const permissionStore = usePermissionStore() |
| 173 | 167 | const redirect = ref<string>('') |
| 174 | 168 | const loginLoading = ref(false) |
| 175 | -const iconHouse = useIcon({ icon: 'ep:house' }) | |
| 176 | -const iconAvatar = useIcon({ icon: 'ep:avatar' }) | |
| 177 | -const iconLock = useIcon({ icon: 'ep:lock' }) | |
| 178 | 169 | const verify = ref() |
| 179 | 170 | const captchaType = ref('blockPuzzle') // blockPuzzle 滑块 clickWord 点击文字 |
| 180 | 171 | |
| ... | ... | @@ -194,16 +185,33 @@ const loginData = reactive({ |
| 194 | 185 | signIn: false |
| 195 | 186 | }, |
| 196 | 187 | loginForm: { |
| 197 | - tenantName: Cookies.get('tenantName') ? Cookies.get('tenantName') : '芋道源码', | |
| 198 | - username: Cookies.get('username') ? Cookies.get('username') : 'admin', | |
| 199 | - password: Cookies.get('password') | |
| 200 | - ? (decrypt(Cookies.get('password')) as unknown as string) | |
| 201 | - : 'admin123', | |
| 188 | + tenantName: '芋道源码', | |
| 189 | + username: 'admin', | |
| 190 | + password: 'admin123', | |
| 202 | 191 | captchaVerification: '', |
| 203 | 192 | rememberMe: false |
| 204 | 193 | } |
| 205 | 194 | }) |
| 206 | 195 | |
| 196 | +const socialList = [ | |
| 197 | + { | |
| 198 | + icon: 'ant-design:github-filled', | |
| 199 | + type: 0 | |
| 200 | + }, | |
| 201 | + { | |
| 202 | + icon: 'ant-design:wechat-filled', | |
| 203 | + type: 30 | |
| 204 | + }, | |
| 205 | + { | |
| 206 | + icon: 'ant-design:alipay-circle-filled', | |
| 207 | + type: 0 | |
| 208 | + }, | |
| 209 | + { | |
| 210 | + icon: 'ant-design:dingtalk-circle-filled', | |
| 211 | + type: 20 | |
| 212 | + } | |
| 213 | +] | |
| 214 | + | |
| 207 | 215 | // 获取验证码 |
| 208 | 216 | const getCode = async () => { |
| 209 | 217 | // 情况一,未开启:则直接登录 |
| ... | ... | @@ -217,17 +225,19 @@ const getCode = async () => { |
| 217 | 225 | } |
| 218 | 226 | //获取租户ID |
| 219 | 227 | const getTenantId = async () => { |
| 220 | - const res = await LoginApi.getTenantIdByNameApi(loginData.loginForm.tenantName) | |
| 221 | - setTenantId(res) | |
| 228 | + if (loginData.tenantEnable === 'true') { | |
| 229 | + const res = await LoginApi.getTenantIdByNameApi(loginData.loginForm.tenantName) | |
| 230 | + authUtil.setTenantId(res) | |
| 231 | + } | |
| 222 | 232 | } |
| 223 | 233 | // 记住我 |
| 224 | 234 | const getCookie = () => { |
| 225 | - const username = Cookies.get('username') | |
| 226 | - const password = Cookies.get('password') | |
| 227 | - ? (decrypt(Cookies.get('password')) as unknown as string) | |
| 235 | + const username = authUtil.getUsername() | |
| 236 | + const password = authUtil.getPassword() | |
| 237 | + ? decrypt(authUtil.getPassword() as unknown as string) | |
| 228 | 238 | : undefined |
| 229 | - const rememberMe = Cookies.get('rememberMe') | |
| 230 | - const tenantName = Cookies.get('tenantName') | |
| 239 | + const rememberMe = authUtil.getRememberMe() | |
| 240 | + const tenantName = authUtil.getTenantName() | |
| 231 | 241 | loginData.loginForm = { |
| 232 | 242 | ...loginData.loginForm, |
| 233 | 243 | username: username ? username : loginData.loginForm.username, |
| ... | ... | @@ -256,19 +266,17 @@ const handleLogin = async (params) => { |
| 256 | 266 | background: 'rgba(0, 0, 0, 0.7)' |
| 257 | 267 | }) |
| 258 | 268 | if (loginData.loginForm.rememberMe) { |
| 259 | - Cookies.set('username', loginData.loginForm.username, { expires: 30 }) | |
| 260 | - Cookies.set('password', encrypt(loginData.loginForm.password as unknown as string), { | |
| 261 | - expires: 30 | |
| 262 | - }) | |
| 263 | - Cookies.set('rememberMe', loginData.loginForm.rememberMe, { expires: 30 }) | |
| 264 | - Cookies.set('tenantName', loginData.loginForm.tenantName, { expires: 30 }) | |
| 269 | + authUtil.setUsername(loginData.loginForm.username) | |
| 270 | + authUtil.setPassword(loginData.loginForm.password) | |
| 271 | + authUtil.setRememberMe(loginData.loginForm.rememberMe) | |
| 272 | + authUtil.setTenantName(loginData.loginForm.tenantName) | |
| 265 | 273 | } else { |
| 266 | - Cookies.remove('username') | |
| 267 | - Cookies.remove('password') | |
| 268 | - Cookies.remove('rememberMe') | |
| 269 | - Cookies.remove('tenantName') | |
| 274 | + authUtil.removeUsername() | |
| 275 | + authUtil.removePassword() | |
| 276 | + authUtil.removeRememberMe() | |
| 277 | + authUtil.removeTenantName() | |
| 270 | 278 | } |
| 271 | - setToken(res) | |
| 279 | + authUtil.setToken(res) | |
| 272 | 280 | if (!redirect.value) { |
| 273 | 281 | redirect.value = '/' |
| 274 | 282 | } |
| ... | ... | @@ -284,14 +292,24 @@ const handleLogin = async (params) => { |
| 284 | 292 | } |
| 285 | 293 | |
| 286 | 294 | // 社交登录 |
| 287 | -const doSocialLogin = async (type: string) => { | |
| 288 | - loginLoading.value = true | |
| 289 | - // 计算 redirectUri | |
| 290 | - const redirectUri = | |
| 291 | - location.origin + '/social-login?type=' + type + '&redirect=' + (redirect.value || '/') | |
| 292 | - // 进行跳转 | |
| 293 | - const res = await LoginApi.socialAuthRedirectApi(type, encodeURIComponent(redirectUri)) | |
| 294 | - window.location.href = res | |
| 295 | +const doSocialLogin = async (type: number) => { | |
| 296 | + if (type === 0) { | |
| 297 | + message.error('此方式未配置') | |
| 298 | + } else { | |
| 299 | + loginLoading.value = true | |
| 300 | + if (loginData.tenantEnable === 'true') { | |
| 301 | + await message.prompt('请输入租户名称', t('common.reminder')).then(async ({ value }) => { | |
| 302 | + const res = await LoginApi.getTenantIdByNameApi(value) | |
| 303 | + authUtil.setTenantId(res) | |
| 304 | + }) | |
| 305 | + } | |
| 306 | + // 计算 redirectUri | |
| 307 | + const redirectUri = | |
| 308 | + location.origin + '/social-login?type=' + type + '&redirect=' + (redirect.value || '/') | |
| 309 | + // 进行跳转 | |
| 310 | + const res = await LoginApi.socialAuthRedirectApi(type, encodeURIComponent(redirectUri)) | |
| 311 | + window.location.href = res | |
| 312 | + } | |
| 295 | 313 | } |
| 296 | 314 | watch( |
| 297 | 315 | () => currentRoute.value, | ... | ... |
yudao-ui-admin-vue3/src/views/Login/components/MobileForm.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | </el-form-item> |
| 18 | 18 | </el-col> |
| 19 | 19 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 20 | - <el-form-item prop="tenantName"> | |
| 20 | + <el-form-item prop="tenantName" v-if="loginData.tenantEnable === 'true'"> | |
| 21 | 21 | <el-input |
| 22 | 22 | type="text" |
| 23 | 23 | v-model="loginData.loginForm.tenantName" |
| ... | ... | @@ -69,16 +69,23 @@ |
| 69 | 69 | <!-- 登录按钮 / 返回按钮 --> |
| 70 | 70 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 71 | 71 | <el-form-item> |
| 72 | - <el-button :loading="loginLoading" type="primary" class="w-[100%]" @click="signIn"> | |
| 73 | - {{ t('login.login') }} | |
| 74 | - </el-button> | |
| 72 | + <XButton | |
| 73 | + :loading="loginLoading" | |
| 74 | + type="primary" | |
| 75 | + class="w-[100%]" | |
| 76 | + :title="t('login.login')" | |
| 77 | + @click="signIn()" | |
| 78 | + /> | |
| 75 | 79 | </el-form-item> |
| 76 | 80 | </el-col> |
| 77 | 81 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 78 | 82 | <el-form-item> |
| 79 | - <el-button :loading="loginLoading" class="w-[100%]" @click="handleBackLogin"> | |
| 80 | - {{ t('login.backLogin') }} | |
| 81 | - </el-button> | |
| 83 | + <XButton | |
| 84 | + :loading="loginLoading" | |
| 85 | + class="w-[100%]" | |
| 86 | + :title="t('login.backLogin')" | |
| 87 | + @click="handleBackLogin()" | |
| 88 | + /> | |
| 82 | 89 | </el-form-item> |
| 83 | 90 | </el-col> |
| 84 | 91 | </el-row> |
| ... | ... | @@ -91,17 +98,15 @@ import { useRouter } from 'vue-router' |
| 91 | 98 | import type { RouteLocationNormalizedLoaded } from 'vue-router' |
| 92 | 99 | import { useI18n } from '@/hooks/web/useI18n' |
| 93 | 100 | import { useIcon } from '@/hooks/web/useIcon' |
| 94 | -import { useCache } from '@/hooks/web/useCache' | |
| 95 | 101 | import { useMessage } from '@/hooks/web/useMessage' |
| 96 | -import { setToken } from '@/utils/auth' | |
| 97 | 102 | import { required } from '@/utils/formRules' |
| 103 | +import { setTenantId, setToken } from '@/utils/auth' | |
| 98 | 104 | import { usePermissionStore } from '@/store/modules/permission' |
| 99 | 105 | import { getTenantIdByNameApi, sendSmsCodeApi, smsLoginApi } from '@/api/login' |
| 100 | 106 | import LoginFormTitle from './LoginFormTitle.vue' |
| 101 | 107 | import { useLoginState, LoginStateEnum, useFormValid } from './useLogin' |
| 102 | 108 | |
| 103 | 109 | const { t } = useI18n() |
| 104 | -const { wsCache } = useCache() | |
| 105 | 110 | const message = useMessage() |
| 106 | 111 | const permissionStore = usePermissionStore() |
| 107 | 112 | const { currentRoute, push } = useRouter() |
| ... | ... | @@ -121,7 +126,7 @@ const rules = { |
| 121 | 126 | } |
| 122 | 127 | const loginData = reactive({ |
| 123 | 128 | codeImg: '', |
| 124 | - tenantEnable: true, | |
| 129 | + tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, | |
| 125 | 130 | token: '', |
| 126 | 131 | loading: { |
| 127 | 132 | signIn: false |
| ... | ... | @@ -171,8 +176,10 @@ watch( |
| 171 | 176 | ) |
| 172 | 177 | // 获取租户 ID |
| 173 | 178 | const getTenantId = async () => { |
| 174 | - const res = await getTenantIdByNameApi(loginData.loginForm.tenantName) | |
| 175 | - wsCache.set('tenantId', res) | |
| 179 | + if (loginData.tenantEnable === 'true') { | |
| 180 | + const res = await getTenantIdByNameApi(loginData.loginForm.tenantName) | |
| 181 | + setTenantId(res) | |
| 182 | + } | |
| 176 | 183 | } |
| 177 | 184 | // 登录 |
| 178 | 185 | const signIn = async () => { | ... | ... |
yudao-ui-admin-vue3/src/views/Login/components/QrCodeForm.vue
| ... | ... | @@ -11,9 +11,7 @@ |
| 11 | 11 | <el-divider class="enter-x">{{ t('login.qrcode') }}</el-divider> |
| 12 | 12 | <el-col :span="24" style="padding-left: 10px; padding-right: 10px"> |
| 13 | 13 | <div class="w-[100%] mt-15px"> |
| 14 | - <el-button class="w-[100%]" @click="handleBackLogin"> | |
| 15 | - {{ t('sys.login.backSignIn') }} | |
| 16 | - </el-button> | |
| 14 | + <XButton class="w-[100%]" :title="t('login.backLogin')" @click="handleBackLogin()" /> | |
| 17 | 15 | </div> |
| 18 | 16 | </el-col> |
| 19 | 17 | </el-row> |
| ... | ... | @@ -21,11 +19,11 @@ |
| 21 | 19 | <script setup lang="ts"> |
| 22 | 20 | import { computed, unref } from 'vue' |
| 23 | 21 | import { ElRow, ElCol, ElCard, ElDivider } from 'element-plus' |
| 24 | -import { useI18n } from '@/hooks/web/useI18n' | |
| 25 | -import { useLoginState, LoginStateEnum } from './useLogin' | |
| 26 | -import LoginFormTitle from './LoginFormTitle.vue' | |
| 27 | 22 | import { Qrcode } from '@/components/Qrcode' |
| 28 | 23 | import logoImg from '@/assets/imgs/logo.png' |
| 24 | +import { useI18n } from '@/hooks/web/useI18n' | |
| 25 | +import LoginFormTitle from './LoginFormTitle.vue' | |
| 26 | +import { useLoginState, LoginStateEnum } from './useLogin' | |
| 29 | 27 | |
| 30 | 28 | const { t } = useI18n() |
| 31 | 29 | const { handleBackLogin, getLoginState } = useLoginState() | ... | ... |
yudao-ui-admin-vue3/src/views/Login/components/RegisterForm.vue
| ... | ... | @@ -21,14 +21,16 @@ |
| 21 | 21 | |
| 22 | 22 | <template #register> |
| 23 | 23 | <div class="w-[100%]"> |
| 24 | - <el-button type="primary" class="w-[100%]" :loading="loading" @click="loginRegister"> | |
| 25 | - {{ t('login.register') }} | |
| 26 | - </el-button> | |
| 24 | + <XButton | |
| 25 | + :loading="loading" | |
| 26 | + type="primary" | |
| 27 | + class="w-[100%]" | |
| 28 | + :title="t('login.register')" | |
| 29 | + @click="loginRegister()" | |
| 30 | + /> | |
| 27 | 31 | </div> |
| 28 | 32 | <div class="w-[100%] mt-15px"> |
| 29 | - <el-button class="w-[100%]" @click="handleBackLogin"> | |
| 30 | - {{ t('login.hasUser') }} | |
| 31 | - </el-button> | |
| 33 | + <XButton class="w-[100%]" :title="t('login.hasUser')" @click="handleBackLogin()" /> | |
| 32 | 34 | </div> |
| 33 | 35 | </template> |
| 34 | 36 | </Form> |
| ... | ... | @@ -40,8 +42,8 @@ import { Form } from '@/components/Form' |
| 40 | 42 | import { useI18n } from '@/hooks/web/useI18n' |
| 41 | 43 | import { useForm } from '@/hooks/web/useForm' |
| 42 | 44 | import { useValidator } from '@/hooks/web/useValidator' |
| 43 | -import { useLoginState, LoginStateEnum } from './useLogin' | |
| 44 | 45 | import LoginFormTitle from './LoginFormTitle.vue' |
| 46 | +import { useLoginState, LoginStateEnum } from './useLogin' | |
| 45 | 47 | import { FormSchema } from '@/types/form' |
| 46 | 48 | |
| 47 | 49 | const { t } = useI18n() | ... | ... |
yudao-ui-admin-vue3/src/views/Profile/components/BasicInfo.vue
| 1 | 1 | <template> |
| 2 | 2 | <Form ref="formRef" :rules="rules" :schema="schema" :labelWidth="80"> |
| 3 | - <template #sex> | |
| 4 | - <el-radio-group v-model="sexVlue"> | |
| 3 | + <template #sex="form"> | |
| 4 | + <el-radio-group v-model="form['sex']"> | |
| 5 | 5 | <el-radio :label="1">{{ t('profile.user.man') }}</el-radio> |
| 6 | 6 | <el-radio :label="2">{{ t('profile.user.woman') }}</el-radio> |
| 7 | 7 | </el-radio-group> |
| ... | ... | @@ -67,7 +67,6 @@ const schema = reactive<FormSchema[]>([ |
| 67 | 67 | value: 0 |
| 68 | 68 | } |
| 69 | 69 | ]) |
| 70 | -const sexVlue = ref<number>() | |
| 71 | 70 | const formRef = ref<FormExpose>() // 表单 Ref |
| 72 | 71 | const submit = () => { |
| 73 | 72 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -75,7 +74,6 @@ const submit = () => { |
| 75 | 74 | elForm.validate(async (valid) => { |
| 76 | 75 | if (valid) { |
| 77 | 76 | const data = unref(formRef)?.formModel as UserProfileUpdateReqVO |
| 78 | - data.sex = sexVlue.value as unknown as number | |
| 79 | 77 | await updateUserProfileApi(data) |
| 80 | 78 | ElMessage.success(t('common.updateSuccess')) |
| 81 | 79 | await init() |
| ... | ... | @@ -84,7 +82,6 @@ const submit = () => { |
| 84 | 82 | } |
| 85 | 83 | const init = async () => { |
| 86 | 84 | const res = await getUserProfileApi() |
| 87 | - sexVlue.value = res.sex | |
| 88 | 85 | unref(formRef)?.setValues(res) |
| 89 | 86 | } |
| 90 | 87 | onMounted(async () => { | ... | ... |
yudao-ui-admin-vue3/src/views/bpm/form/index.vue
| ... | ... | @@ -73,12 +73,12 @@ const submitForm = async () => { |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | // ========== 详情相关 ========== |
| 76 | -const detailRef = ref() // 详情 Ref | |
| 76 | +const detailData = ref() // 详情 Ref | |
| 77 | 77 | |
| 78 | 78 | // 详情操作 |
| 79 | 79 | const handleDetail = async (row: FormVO) => { |
| 80 | 80 | // 设置数据 |
| 81 | - detailRef.value = row | |
| 81 | + detailData.value = row | |
| 82 | 82 | setDialogTile('detail') |
| 83 | 83 | } |
| 84 | 84 | |
| ... | ... | @@ -148,7 +148,7 @@ getList() |
| 148 | 148 | <Descriptions |
| 149 | 149 | v-if="actionType === 'detail'" |
| 150 | 150 | :schema="allSchemas.detailSchema" |
| 151 | - :data="detailRef" | |
| 151 | + :data="detailData" | |
| 152 | 152 | /> |
| 153 | 153 | <!-- 操作按钮 --> |
| 154 | 154 | <template #footer> | ... | ... |
yudao-ui-admin-vue3/src/views/bpm/group/index.vue
| ... | ... | @@ -29,7 +29,6 @@ const dialogTitle = ref('edit') // 弹出层标题 |
| 29 | 29 | const formRef = ref<FormExpose>() // 表单 Ref |
| 30 | 30 | |
| 31 | 31 | // ========== 用户选择 ========== |
| 32 | -const userIds = ref<number[]>([]) | |
| 33 | 32 | const userOptions = ref<UserVO[]>([]) |
| 34 | 33 | const getUserOptions = async () => { |
| 35 | 34 | const res = await getListSimpleUsersApi() |
| ... | ... | @@ -46,7 +45,6 @@ const setDialogTile = (type: string) => { |
| 46 | 45 | // 新增操作 |
| 47 | 46 | const handleCreate = () => { |
| 48 | 47 | setDialogTile('create') |
| 49 | - userIds.value = [] | |
| 50 | 48 | } |
| 51 | 49 | |
| 52 | 50 | // 修改操作 |
| ... | ... | @@ -54,7 +52,6 @@ const handleUpdate = async (row: UserGroupVO) => { |
| 54 | 52 | setDialogTile('update') |
| 55 | 53 | // 设置数据 |
| 56 | 54 | const res = await UserGroupApi.getUserGroupApi(row.id) |
| 57 | - userIds.value = res.memberUserIds | |
| 58 | 55 | unref(formRef)?.setValues(res) |
| 59 | 56 | } |
| 60 | 57 | |
| ... | ... | @@ -68,7 +65,6 @@ const submitForm = async () => { |
| 68 | 65 | // 提交请求 |
| 69 | 66 | try { |
| 70 | 67 | const data = unref(formRef)?.formModel as UserGroupVO |
| 71 | - data.memberUserIds = userIds.value | |
| 72 | 68 | if (actionType.value === 'create') { |
| 73 | 69 | await UserGroupApi.createUserGroupApi(data) |
| 74 | 70 | ElMessage.success(t('common.createSuccess')) |
| ... | ... | @@ -94,12 +90,12 @@ const getUserNickName = (userId: number) => { |
| 94 | 90 | return '未知(' + userId + ')' |
| 95 | 91 | } |
| 96 | 92 | // ========== 详情相关 ========== |
| 97 | -const detailRef = ref() // 详情 Ref | |
| 93 | +const detailData = ref() // 详情 Ref | |
| 98 | 94 | |
| 99 | 95 | // 详情操作 |
| 100 | 96 | const handleDetail = async (row: UserGroupVO) => { |
| 101 | 97 | // 设置数据 |
| 102 | - detailRef.value = row | |
| 98 | + detailData.value = row | |
| 103 | 99 | setDialogTile('detail') |
| 104 | 100 | } |
| 105 | 101 | |
| ... | ... | @@ -183,8 +179,8 @@ onMounted(async () => { |
| 183 | 179 | :rules="rules" |
| 184 | 180 | ref="formRef" |
| 185 | 181 | > |
| 186 | - <template #memberUserIds> | |
| 187 | - <el-select v-model="userIds" multiple> | |
| 182 | + <template #memberUserIds="form"> | |
| 183 | + <el-select v-model="form['memberUserIds']" multiple> | |
| 188 | 184 | <el-option |
| 189 | 185 | v-for="item in userOptions" |
| 190 | 186 | :key="item.id" |
| ... | ... | @@ -198,7 +194,7 @@ onMounted(async () => { |
| 198 | 194 | <Descriptions |
| 199 | 195 | v-if="actionType === 'detail'" |
| 200 | 196 | :schema="allSchemas.detailSchema" |
| 201 | - :data="detailRef" | |
| 197 | + :data="detailData" | |
| 202 | 198 | > |
| 203 | 199 | <template #memberUserIds="{ row }"> |
| 204 | 200 | <span v-for="userId in row.memberUserIds" :key="userId"> | ... | ... |
yudao-ui-admin-vue3/src/views/bpm/model/index.vue
| ... | ... | @@ -92,12 +92,12 @@ const handleChangeState = async (row: ModelVO) => { |
| 92 | 92 | .catch(() => {}) |
| 93 | 93 | } |
| 94 | 94 | // ========== 详情相关 ========== |
| 95 | -const detailRef = ref() // 详情 Ref | |
| 95 | +const detailData = ref() // 详情 Ref | |
| 96 | 96 | |
| 97 | 97 | // 详情操作 |
| 98 | 98 | const handleDetail = async (row: ModelVO) => { |
| 99 | 99 | // 设置数据 |
| 100 | - detailRef.value = row | |
| 100 | + detailData.value = row | |
| 101 | 101 | setDialogTile('detail') |
| 102 | 102 | } |
| 103 | 103 | |
| ... | ... | @@ -198,7 +198,7 @@ getList() |
| 198 | 198 | <Descriptions |
| 199 | 199 | v-if="actionType === 'detail'" |
| 200 | 200 | :schema="allSchemas.detailSchema" |
| 201 | - :data="detailRef" | |
| 201 | + :data="detailData" | |
| 202 | 202 | /> |
| 203 | 203 | <!-- 操作按钮 --> |
| 204 | 204 | <template #footer> | ... | ... |
yudao-ui-admin-vue3/src/views/bpm/processInstance/index.vue
| ... | ... | @@ -38,12 +38,12 @@ const handleCancel = (row: ProcessInstanceVO) => { |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | // ========== 详情相关 ========== |
| 41 | -const detailRef = ref() // 详情 Ref | |
| 41 | +const detailData = ref() // 详情 Ref | |
| 42 | 42 | |
| 43 | 43 | // 详情操作 |
| 44 | 44 | const handleDetail = async (row: ProcessInstanceVO) => { |
| 45 | 45 | // 设置数据 |
| 46 | - detailRef.value = row | |
| 46 | + detailData.value = row | |
| 47 | 47 | dialogVisible.value = true |
| 48 | 48 | } |
| 49 | 49 | |
| ... | ... | @@ -105,7 +105,7 @@ getList() |
| 105 | 105 | |
| 106 | 106 | <XModal v-model="dialogVisible" :title="t('action.detail')"> |
| 107 | 107 | <!-- 对话框(详情) --> |
| 108 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef" /> | |
| 108 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData" /> | |
| 109 | 109 | <!-- 操作按钮 --> |
| 110 | 110 | <template #footer> |
| 111 | 111 | <el-button @click="dialogVisible = false">{{ t('dialog.close') }}</el-button> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/apiAccessLog/index.vue
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | </ContentWrap> |
| 22 | 22 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 23 | 23 | <!-- 对话框(详情) --> |
| 24 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef"> | |
| 24 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData"> | |
| 25 | 25 | <template #duration="{ row }"> |
| 26 | 26 | <span>{{ row.duration + 'ms' }}</span> |
| 27 | 27 | </template> |
| ... | ... | @@ -52,14 +52,14 @@ const { gridOptions } = useVxeGrid<ApiAccessLogApi.ApiAccessLogVO>({ |
| 52 | 52 | getListApi: ApiAccessLogApi.getApiAccessLogPageApi |
| 53 | 53 | }) |
| 54 | 54 | // ========== 详情相关 ========== |
| 55 | -const detailRef = ref() // 详情 Ref | |
| 55 | +const detailData = ref() // 详情 Ref | |
| 56 | 56 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 57 | 57 | const dialogTitle = ref('') // 弹出层标题 |
| 58 | 58 | |
| 59 | 59 | // 详情操作 |
| 60 | 60 | const handleDetail = (row: ApiAccessLogApi.ApiAccessLogVO) => { |
| 61 | 61 | // 设置数据 |
| 62 | - detailRef.value = row | |
| 62 | + detailData.value = row | |
| 63 | 63 | dialogTitle.value = t('action.detail') |
| 64 | 64 | dialogVisible.value = true |
| 65 | 65 | } | ... | ... |
yudao-ui-admin-vue3/src/views/infra/apiErrorLog/index.vue
| ... | ... | @@ -44,7 +44,7 @@ |
| 44 | 44 | </ContentWrap> |
| 45 | 45 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 46 | 46 | <!-- 对话框(详情) --> |
| 47 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef" /> | |
| 47 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData" /> | |
| 48 | 48 | <!-- 操作按钮 --> |
| 49 | 49 | <template #footer> |
| 50 | 50 | <XButton :title="t('dialog.close')" @click="dialogVisible = false" /> |
| ... | ... | @@ -71,14 +71,14 @@ const { gridOptions, getList, exportList } = useVxeGrid<ApiErrorLogApi.ApiErrorL |
| 71 | 71 | exportListApi: ApiErrorLogApi.exportApiErrorLogApi |
| 72 | 72 | }) |
| 73 | 73 | // ========== 详情相关 ========== |
| 74 | -const detailRef = ref() // 详情 Ref | |
| 74 | +const detailData = ref() // 详情 Ref | |
| 75 | 75 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 76 | 76 | const dialogTitle = ref('') // 弹出层标题 |
| 77 | 77 | |
| 78 | 78 | // 详情操作 |
| 79 | 79 | const handleDetail = (row: ApiErrorLogApi.ApiErrorLogVO) => { |
| 80 | 80 | // 设置数据 |
| 81 | - detailRef.value = row | |
| 81 | + detailData.value = row | |
| 82 | 82 | dialogTitle.value = t('action.detail') |
| 83 | 83 | dialogVisible.value = true |
| 84 | 84 | } | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue
| ... | ... | @@ -6,7 +6,7 @@ import { onMounted, PropType, reactive, ref, watch } from 'vue' |
| 6 | 6 | import { Form } from '@/components/Form' |
| 7 | 7 | import { useForm } from '@/hooks/web/useForm' |
| 8 | 8 | import { required } from '@/utils/formRules' |
| 9 | -import { handleTree } from '@/utils/tree' | |
| 9 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 10 | 10 | import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' |
| 11 | 11 | import { listSimpleMenusApi } from '@/api/system/menu' |
| 12 | 12 | import { CodegenTableVO } from '@/api/infra/codegen/types' |
| ... | ... | @@ -17,12 +17,6 @@ const props = defineProps({ |
| 17 | 17 | default: () => null |
| 18 | 18 | } |
| 19 | 19 | }) |
| 20 | -const menuProps = { | |
| 21 | - checkStrictly: true, | |
| 22 | - children: 'children', | |
| 23 | - label: 'name', | |
| 24 | - value: 'id' | |
| 25 | -} | |
| 26 | 20 | const rules = reactive({ |
| 27 | 21 | templateType: [required], |
| 28 | 22 | scene: [required], |
| ... | ... | @@ -104,7 +98,7 @@ const schema = reactive<FormSchema[]>([ |
| 104 | 98 | component: 'TreeSelect', |
| 105 | 99 | componentProps: { |
| 106 | 100 | data: menuOptions, |
| 107 | - props: menuProps, | |
| 101 | + props: defaultProps, | |
| 108 | 102 | checkStrictly: true, |
| 109 | 103 | nodeKey: 'id' |
| 110 | 104 | }, | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/Preview.vue
yudao-ui-admin-vue3/src/views/infra/fileConfig/index.vue
| ... | ... | @@ -35,12 +35,7 @@ |
| 35 | 35 | @click="handleMaster(row)" |
| 36 | 36 | /> |
| 37 | 37 | <!-- 操作:测试 --> |
| 38 | - <XTextButton | |
| 39 | - preIcon="ep:share" | |
| 40 | - :title="t('action.test')" | |
| 41 | - v-hasPermi="['infra:file-config:update']" | |
| 42 | - @click="handleUpdate(row.id)" | |
| 43 | - /> | |
| 38 | + <XTextButton preIcon="ep:share" :title="t('action.test')" @click="handleTest(row.id)" /> | |
| 44 | 39 | <!-- 操作:删除 --> |
| 45 | 40 | <XTextButton |
| 46 | 41 | preIcon="ep:delete" |
| ... | ... | @@ -164,7 +159,7 @@ |
| 164 | 159 | </template> |
| 165 | 160 | <script setup lang="ts" name="FileConfig"> |
| 166 | 161 | // 全局相关的 import |
| 167 | -import { reactive, ref } from 'vue' | |
| 162 | +import { ref } from 'vue' | |
| 168 | 163 | import { |
| 169 | 164 | ElForm, |
| 170 | 165 | ElFormItem, |
| ... | ... | @@ -202,7 +197,7 @@ const dialogVisible = ref(false) // 是否显示弹出层 |
| 202 | 197 | const dialogTitle = ref('edit') // 弹出层标题 |
| 203 | 198 | const formRef = ref<FormInstance>() // 表单 Ref |
| 204 | 199 | const detailData = ref() // 详情 Ref |
| 205 | -let form = reactive<FileConfigApi.FileConfigVO>({ | |
| 200 | +let form = ref<FileConfigApi.FileConfigVO>({ | |
| 206 | 201 | id: 0, |
| 207 | 202 | name: '', |
| 208 | 203 | storage: 0, |
| ... | ... | @@ -211,7 +206,7 @@ let form = reactive<FileConfigApi.FileConfigVO>({ |
| 211 | 206 | config: { |
| 212 | 207 | basePath: '', |
| 213 | 208 | host: '', |
| 214 | - port: '', | |
| 209 | + port: 0, | |
| 215 | 210 | username: '', |
| 216 | 211 | password: '', |
| 217 | 212 | mode: '', |
| ... | ... | @@ -222,7 +217,7 @@ let form = reactive<FileConfigApi.FileConfigVO>({ |
| 222 | 217 | domain: '' |
| 223 | 218 | }, |
| 224 | 219 | remark: '', |
| 225 | - createTime: '' | |
| 220 | + createTime: new Date() | |
| 226 | 221 | }) |
| 227 | 222 | // 设置标题 |
| 228 | 223 | const setDialogTile = (type: string) => { |
| ... | ... | @@ -241,7 +236,7 @@ const handleCreate = (formEl: FormInstance | undefined) => { |
| 241 | 236 | const handleUpdate = async (rowId: number) => { |
| 242 | 237 | // 设置数据 |
| 243 | 238 | const res = await FileConfigApi.getFileConfigApi(rowId) |
| 244 | - form = res | |
| 239 | + form.value = res | |
| 245 | 240 | setDialogTile('update') |
| 246 | 241 | } |
| 247 | 242 | |
| ... | ... | @@ -263,6 +258,11 @@ const handleMaster = (row: FileConfigApi.FileConfigVO) => { |
| 263 | 258 | }) |
| 264 | 259 | } |
| 265 | 260 | |
| 261 | +const handleTest = async (rowId: number) => { | |
| 262 | + const res = await FileConfigApi.testFileConfigApi(rowId) | |
| 263 | + message.alert('测试通过,上传文件成功!访问地址:' + res) | |
| 264 | +} | |
| 265 | + | |
| 266 | 266 | // 删除操作 |
| 267 | 267 | const handleDelete = async (rowId: number) => { |
| 268 | 268 | await deleteData(xGrid, rowId) |
| ... | ... | @@ -277,10 +277,10 @@ const submitForm = async (formEl: FormInstance | undefined) => { |
| 277 | 277 | // 提交请求 |
| 278 | 278 | try { |
| 279 | 279 | if (actionType.value === 'create') { |
| 280 | - await FileConfigApi.createFileConfigApi(form) | |
| 280 | + await FileConfigApi.createFileConfigApi(form.value) | |
| 281 | 281 | message.success(t('common.createSuccess')) |
| 282 | 282 | } else { |
| 283 | - await FileConfigApi.updateFileConfigApi(form) | |
| 283 | + await FileConfigApi.updateFileConfigApi(form.value) | |
| 284 | 284 | message.success(t('common.updateSuccess')) |
| 285 | 285 | } |
| 286 | 286 | dialogVisible.value = false | ... | ... |
yudao-ui-admin-vue3/src/views/infra/fileList/index.vue
yudao-ui-admin-vue3/src/views/infra/job/JobLog.vue
| ... | ... | @@ -33,7 +33,7 @@ |
| 33 | 33 | </ContentWrap> |
| 34 | 34 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 35 | 35 | <!-- 对话框(详情) --> |
| 36 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef"> | |
| 36 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData"> | |
| 37 | 37 | <template #retryInterval="{ row }"> |
| 38 | 38 | <span>{{ row.retryInterval + '毫秒' }} </span> |
| 39 | 39 | </template> |
| ... | ... | @@ -69,13 +69,13 @@ const dialogVisible = ref(false) // 是否显示弹出层 |
| 69 | 69 | const dialogTitle = ref('') // 弹出层标题 |
| 70 | 70 | |
| 71 | 71 | // ========== 详情相关 ========== |
| 72 | -const detailRef = ref() // 详情 Ref | |
| 72 | +const detailData = ref() // 详情 Ref | |
| 73 | 73 | |
| 74 | 74 | // 详情操作 |
| 75 | 75 | const handleDetail = async (row: JobLogApi.JobLogVO) => { |
| 76 | 76 | // 设置数据 |
| 77 | 77 | const res = JobLogApi.getJobLogApi(row.id) |
| 78 | - detailRef.value = res | |
| 78 | + detailData.value = res | |
| 79 | 79 | dialogTitle.value = t('action.detail') |
| 80 | 80 | dialogVisible.value = true |
| 81 | 81 | } | ... | ... |
yudao-ui-admin-vue3/src/views/infra/job/index.vue
| ... | ... | @@ -93,15 +93,15 @@ |
| 93 | 93 | :rules="rules" |
| 94 | 94 | ref="formRef" |
| 95 | 95 | > |
| 96 | - <template #cronExpression> | |
| 97 | - <Crontab v-model="cronExpression" :shortcuts="shortcuts" /> | |
| 96 | + <template #cronExpression="form"> | |
| 97 | + <Crontab v-model="form['cronExpression']" :shortcuts="shortcuts" /> | |
| 98 | 98 | </template> |
| 99 | 99 | </Form> |
| 100 | 100 | <!-- 对话框(详情) --> |
| 101 | 101 | <Descriptions |
| 102 | 102 | v-if="actionType === 'detail'" |
| 103 | 103 | :schema="allSchemas.detailSchema" |
| 104 | - :data="detailRef" | |
| 104 | + :data="detailData" | |
| 105 | 105 | > |
| 106 | 106 | <template #retryInterval="{ row }"> |
| 107 | 107 | <span>{{ row.retryInterval + '毫秒' }} </span> |
| ... | ... | @@ -161,8 +161,7 @@ const actionType = ref('') // 操作按钮的类型 |
| 161 | 161 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 162 | 162 | const dialogTitle = ref('edit') // 弹出层标题 |
| 163 | 163 | const formRef = ref<FormExpose>() // 表单 Ref |
| 164 | -const detailRef = ref() // 详情 Ref | |
| 165 | -const cronExpression = ref('') | |
| 164 | +const detailData = ref() // 详情 Ref | |
| 166 | 165 | const nextTimes = ref([]) |
| 167 | 166 | const shortcuts = ref([ |
| 168 | 167 | { |
| ... | ... | @@ -179,7 +178,6 @@ const setDialogTile = (type: string) => { |
| 179 | 178 | |
| 180 | 179 | // 新增操作 |
| 181 | 180 | const handleCreate = () => { |
| 182 | - cronExpression.value = '' | |
| 183 | 181 | setDialogTile('create') |
| 184 | 182 | } |
| 185 | 183 | |
| ... | ... | @@ -193,7 +191,6 @@ const handleUpdate = async (rowId: number) => { |
| 193 | 191 | setDialogTile('update') |
| 194 | 192 | // 设置数据 |
| 195 | 193 | const res = await JobApi.getJobApi(rowId) |
| 196 | - cronExpression.value = res.cronExpression | |
| 197 | 194 | unref(formRef)?.setValues(res) |
| 198 | 195 | } |
| 199 | 196 | |
| ... | ... | @@ -201,7 +198,7 @@ const handleUpdate = async (rowId: number) => { |
| 201 | 198 | const handleDetail = async (rowId: number) => { |
| 202 | 199 | // 设置数据 |
| 203 | 200 | const res = await JobApi.getJobApi(rowId) |
| 204 | - detailRef.value = res | |
| 201 | + detailData.value = res | |
| 205 | 202 | // 后续执行时长 |
| 206 | 203 | const jobNextTime = await JobApi.getJobNextTimesApi(rowId) |
| 207 | 204 | nextTimes.value = jobNextTime |
| ... | ... | @@ -305,7 +302,6 @@ const submitForm = async () => { |
| 305 | 302 | // 提交请求 |
| 306 | 303 | try { |
| 307 | 304 | const data = unref(formRef)?.formModel as JobApi.JobVO |
| 308 | - data.cronExpression = cronExpression.value | |
| 309 | 305 | if (actionType.value === 'create') { |
| 310 | 306 | await JobApi.createJobApi(data) |
| 311 | 307 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/dept/index.vue
| ... | ... | @@ -38,20 +38,19 @@ |
| 38 | 38 | <!-- 添加或修改菜单对话框 --> |
| 39 | 39 | <XModal id="deptModel" v-model="dialogVisible" :title="dialogTitle"> |
| 40 | 40 | <!-- 对话框(添加 / 修改) --> |
| 41 | - <!-- 操作工具栏 --> | |
| 42 | 41 | <Form ref="formRef" :schema="allSchemas.formSchema" :rules="rules"> |
| 43 | - <template #parentId> | |
| 42 | + <template #parentId="form"> | |
| 44 | 43 | <el-tree-select |
| 45 | 44 | node-key="id" |
| 46 | - v-model="deptParentId" | |
| 45 | + v-model="form['parentId']" | |
| 47 | 46 | :props="defaultProps" |
| 48 | 47 | :data="deptOptions" |
| 49 | 48 | :default-expanded-keys="[100]" |
| 50 | 49 | check-strictly |
| 51 | 50 | /> |
| 52 | 51 | </template> |
| 53 | - <template #leaderUserId> | |
| 54 | - <el-select v-model="leaderUserId"> | |
| 52 | + <template #leaderUserId="form"> | |
| 53 | + <el-select v-model="form['leaderUserId']"> | |
| 55 | 54 | <el-option |
| 56 | 55 | v-for="item in userOption" |
| 57 | 56 | :key="item.id" |
| ... | ... | @@ -79,7 +78,7 @@ |
| 79 | 78 | import { nextTick, onMounted, reactive, ref, unref } from 'vue' |
| 80 | 79 | import { ElSelect, ElTreeSelect, ElOption } from 'element-plus' |
| 81 | 80 | import { VxeGridInstance } from 'vxe-table' |
| 82 | -import { handleTree } from '@/utils/tree' | |
| 81 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 83 | 82 | import { required } from '@/utils/formRules.js' |
| 84 | 83 | import { useI18n } from '@/hooks/web/useI18n' |
| 85 | 84 | import { useMessage } from '@/hooks/web/useMessage' |
| ... | ... | @@ -105,8 +104,6 @@ const dialogVisible = ref(false) // 是否显示弹出层 |
| 105 | 104 | const dialogTitle = ref('edit') // 弹出层标题 |
| 106 | 105 | const actionType = ref('') // 操作按钮的类型 |
| 107 | 106 | const actionLoading = ref(false) // 遮罩层 |
| 108 | -const deptParentId = ref(0) // 上级ID | |
| 109 | -const leaderUserId = ref() | |
| 110 | 107 | const formRef = ref<FormExpose>() // 表单 Ref |
| 111 | 108 | const deptOptions = ref() // 树形结构 |
| 112 | 109 | const userOption = ref<UserVO[]>([]) |
| ... | ... | @@ -118,13 +115,6 @@ const rules = reactive({ |
| 118 | 115 | status: [required] |
| 119 | 116 | }) |
| 120 | 117 | |
| 121 | -// 下拉框[上级]的配置项目 | |
| 122 | -const defaultProps = { | |
| 123 | - checkStrictly: true, | |
| 124 | - children: 'children', | |
| 125 | - label: 'name', | |
| 126 | - value: 'id' | |
| 127 | -} | |
| 128 | 118 | const getUserList = async () => { |
| 129 | 119 | const res = await getListSimpleUsersApi() |
| 130 | 120 | userOption.value = res |
| ... | ... | @@ -154,8 +144,6 @@ const setDialogTile = (type: string) => { |
| 154 | 144 | |
| 155 | 145 | // 新增操作 |
| 156 | 146 | const handleCreate = async () => { |
| 157 | - deptParentId.value = 0 | |
| 158 | - leaderUserId.value = null | |
| 159 | 147 | setDialogTile('create') |
| 160 | 148 | } |
| 161 | 149 | |
| ... | ... | @@ -164,8 +152,6 @@ const handleUpdate = async (rowId: number) => { |
| 164 | 152 | setDialogTile('update') |
| 165 | 153 | // 设置数据 |
| 166 | 154 | const res = await DeptApi.getDeptApi(rowId) |
| 167 | - deptParentId.value = res.parentId | |
| 168 | - leaderUserId.value = res.leaderUserId | |
| 169 | 155 | await nextTick() |
| 170 | 156 | unref(formRef)?.setValues(res) |
| 171 | 157 | } |
| ... | ... | @@ -180,8 +166,6 @@ const submitForm = async () => { |
| 180 | 166 | // 提交请求 |
| 181 | 167 | try { |
| 182 | 168 | const data = unref(formRef)?.formModel as DeptApi.DeptVO |
| 183 | - data.parentId = deptParentId.value | |
| 184 | - data.leaderUserId = leaderUserId.value | |
| 185 | 169 | if (actionType.value === 'create') { |
| 186 | 170 | await DeptApi.createDeptApi(data) |
| 187 | 171 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | <Descriptions |
| 51 | 51 | v-if="actionType === 'detail'" |
| 52 | 52 | :schema="allSchemas.detailSchema" |
| 53 | - :data="detailRef" | |
| 53 | + :data="detailData" | |
| 54 | 54 | /> |
| 55 | 55 | <template #footer> |
| 56 | 56 | <!-- 按钮:保存 --> |
| ... | ... | @@ -93,7 +93,7 @@ const dialogTitle = ref('edit') // 弹出层标题 |
| 93 | 93 | const actionType = ref('') // 操作按钮的类型 |
| 94 | 94 | const actionLoading = ref(false) // 按钮 Loading |
| 95 | 95 | const formRef = ref<FormExpose>() // 表单 Ref |
| 96 | -const detailRef = ref() // 详情 Ref | |
| 96 | +const detailData = ref() // 详情 Ref | |
| 97 | 97 | |
| 98 | 98 | // 设置标题 |
| 99 | 99 | const setDialogTile = (type: string) => { |
| ... | ... | @@ -120,7 +120,7 @@ const handleDetail = async (rowId: number) => { |
| 120 | 120 | setDialogTile('detail') |
| 121 | 121 | // 设置数据 |
| 122 | 122 | const res = await ErrorCodeApi.getErrorCodeApi(rowId) |
| 123 | - detailRef.value = res | |
| 123 | + detailData.value = res | |
| 124 | 124 | } |
| 125 | 125 | |
| 126 | 126 | // 删除操作 | ... | ... |
yudao-ui-admin-vue3/src/views/system/loginlog/index.vue
| ... | ... | @@ -20,7 +20,7 @@ |
| 20 | 20 | <!-- 弹窗 --> |
| 21 | 21 | <XModal id="postModel" v-model="dialogVisible" :title="dialogTitle"> |
| 22 | 22 | <!-- 表单:详情 --> |
| 23 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef" /> | |
| 23 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData" /> | |
| 24 | 24 | <template #footer> |
| 25 | 25 | <!-- 按钮:关闭 --> |
| 26 | 26 | <XButton :title="t('dialog.close')" @click="dialogVisible = false" /> |
| ... | ... | @@ -47,13 +47,13 @@ const { gridOptions, exportList } = useVxeGrid<LoginLogVO>({ |
| 47 | 47 | }) |
| 48 | 48 | |
| 49 | 49 | // 详情操作 |
| 50 | -const detailRef = ref() // 详情 Ref | |
| 50 | +const detailData = ref() // 详情 Ref | |
| 51 | 51 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 52 | 52 | const dialogTitle = ref(t('action.detail')) // 弹出层标题 |
| 53 | 53 | // 详情 |
| 54 | 54 | const handleDetail = async (row: LoginLogVO) => { |
| 55 | 55 | // 设置数据 |
| 56 | - detailRef.value = row | |
| 56 | + detailData.value = row | |
| 57 | 57 | dialogVisible.value = true |
| 58 | 58 | } |
| 59 | 59 | ... | ... |
yudao-ui-admin-vue3/src/views/system/loginlog/loginLog.data.ts
| ... | ... | @@ -8,7 +8,7 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 8 | 8 | primaryType: 'seq', |
| 9 | 9 | primaryTitle: '日志编号', |
| 10 | 10 | action: true, |
| 11 | - actionWidth: '80px', | |
| 11 | + actionWidth: '100px', | |
| 12 | 12 | columns: [ |
| 13 | 13 | { |
| 14 | 14 | title: '日志类型', |
| ... | ... | @@ -28,10 +28,7 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 28 | 28 | }, |
| 29 | 29 | { |
| 30 | 30 | title: '浏览器', |
| 31 | - field: 'userAgent', | |
| 32 | - table: { | |
| 33 | - width: 100 | |
| 34 | - } | |
| 31 | + field: 'userAgent' | |
| 35 | 32 | }, |
| 36 | 33 | { |
| 37 | 34 | title: '登陆结果', |
| ... | ... | @@ -44,7 +41,7 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 44 | 41 | field: 'createTime', |
| 45 | 42 | formatter: 'formatDate', |
| 46 | 43 | table: { |
| 47 | - width: 100 | |
| 44 | + width: 150 | |
| 48 | 45 | }, |
| 49 | 46 | search: { |
| 50 | 47 | show: true, | ... | ... |
yudao-ui-admin-vue3/src/views/system/menu/index.vue
| ... | ... | @@ -98,20 +98,28 @@ |
| 98 | 98 | <!-- 添加或修改菜单对话框 --> |
| 99 | 99 | <XModal id="menuModel" v-model="dialogVisible" :title="dialogTitle"> |
| 100 | 100 | <!-- 对话框(添加 / 修改) --> |
| 101 | - <el-form ref="formRef" :model="menuForm" :rules="rules" label-width="auto" label-position="top"> | |
| 101 | + <el-form | |
| 102 | + ref="formRef" | |
| 103 | + :model="menuForm" | |
| 104 | + :rules="rules" | |
| 105 | + label-width="100px" | |
| 106 | + label-position="right" | |
| 107 | + > | |
| 102 | 108 | <el-form-item label="上级菜单"> |
| 103 | 109 | <el-tree-select |
| 104 | 110 | node-key="id" |
| 105 | 111 | v-model="menuForm.parentId" |
| 106 | - :props="menuProps" | |
| 112 | + :props="defaultProps" | |
| 107 | 113 | :data="menuOptions" |
| 108 | 114 | :default-expanded-keys="[0]" |
| 109 | 115 | check-strictly |
| 110 | 116 | /> |
| 111 | 117 | </el-form-item> |
| 112 | - <el-form-item label="菜单名称" prop="name" span="12"> | |
| 113 | - <el-input v-model="menuForm.name" placeholder="请输入菜单名称" clearable /> | |
| 114 | - </el-form-item> | |
| 118 | + <el-col :span="16"> | |
| 119 | + <el-form-item label="菜单名称" prop="name"> | |
| 120 | + <el-input v-model="menuForm.name" placeholder="请输入菜单名称" clearable /> | |
| 121 | + </el-form-item> | |
| 122 | + </el-col> | |
| 115 | 123 | <el-form-item label="菜单类型" prop="type"> |
| 116 | 124 | <el-radio-group v-model="menuForm.type"> |
| 117 | 125 | <el-radio-button |
| ... | ... | @@ -127,74 +135,88 @@ |
| 127 | 135 | <el-form-item label="菜单图标"> |
| 128 | 136 | <IconSelect v-model="menuForm.icon" clearable /> |
| 129 | 137 | </el-form-item> |
| 130 | - <el-form-item label="路由地址" prop="path"> | |
| 131 | - <template #label> | |
| 132 | - <Tooltip | |
| 133 | - titel="路由地址" | |
| 134 | - message="访问的路由地址,如:`user`。如需外网地址时,则以 `http(s)://` 开头" | |
| 135 | - /> | |
| 136 | - </template> | |
| 137 | - <el-input v-model="menuForm.path" placeholder="请输入路由地址" clearable /> | |
| 138 | - </el-form-item> | |
| 138 | + <el-col :span="16"> | |
| 139 | + <el-form-item label="路由地址" prop="path"> | |
| 140 | + <template #label> | |
| 141 | + <Tooltip | |
| 142 | + titel="路由地址" | |
| 143 | + message="访问的路由地址,如:`user`。如需外网地址时,则以 `http(s)://` 开头" | |
| 144 | + /> | |
| 145 | + </template> | |
| 146 | + <el-input v-model="menuForm.path" placeholder="请输入路由地址" clearable /> | |
| 147 | + </el-form-item> | |
| 148 | + </el-col> | |
| 139 | 149 | </template> |
| 140 | 150 | <template v-if="menuForm.type === 2"> |
| 141 | - <el-form-item label="路由地址" prop="component"> | |
| 142 | - <el-input v-model="menuForm.component" placeholder="请输入组件地址" clearable /> | |
| 143 | - </el-form-item> | |
| 151 | + <el-col :span="16"> | |
| 152 | + <el-form-item label="路由地址" prop="component"> | |
| 153 | + <el-input v-model="menuForm.component" placeholder="请输入组件地址" clearable /> | |
| 154 | + </el-form-item> | |
| 155 | + </el-col> | |
| 144 | 156 | </template> |
| 145 | 157 | <template v-if="menuForm.type !== 1"> |
| 146 | - <el-form-item label="权限标识" prop="permission"> | |
| 147 | - <template #label> | |
| 148 | - <Tooltip | |
| 149 | - titel="权限标识" | |
| 150 | - message="Controller 方法上的权限字符,如:@PreAuthorize(`@ss.hasPermission('system:user:list')`)" | |
| 151 | - /> | |
| 152 | - </template> | |
| 153 | - <el-input v-model="menuForm.permission" placeholder="请输入权限标识" clearable /> | |
| 154 | - </el-form-item> | |
| 158 | + <el-col :span="16"> | |
| 159 | + <el-form-item label="权限标识" prop="permission"> | |
| 160 | + <template #label> | |
| 161 | + <Tooltip | |
| 162 | + titel="权限标识" | |
| 163 | + message="Controller 方法上的权限字符,如:@PreAuthorize(`@ss.hasPermission('system:user:list')`)" | |
| 164 | + /> | |
| 165 | + </template> | |
| 166 | + <el-input v-model="menuForm.permission" placeholder="请输入权限标识" clearable /> | |
| 167 | + </el-form-item> | |
| 168 | + </el-col> | |
| 155 | 169 | </template> |
| 156 | - <el-form-item label="显示排序" prop="sort"> | |
| 157 | - <el-input-number v-model="menuForm.sort" controls-position="right" :min="0" clearable /> | |
| 158 | - </el-form-item> | |
| 159 | - <el-form-item label="菜单状态" prop="status"> | |
| 160 | - <el-radio-group v-model="menuForm.status"> | |
| 161 | - <el-radio | |
| 162 | - border | |
| 163 | - v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" | |
| 164 | - :key="dict.value" | |
| 165 | - :label="dict.value" | |
| 166 | - > | |
| 167 | - {{ dict.label }} | |
| 168 | - </el-radio> | |
| 169 | - </el-radio-group> | |
| 170 | - </el-form-item> | |
| 171 | - <template v-if="menuForm.type !== 3"> | |
| 172 | - <el-form-item label="显示状态" prop="status"> | |
| 173 | - <template #label> | |
| 174 | - <Tooltip | |
| 175 | - titel="显示状态" | |
| 176 | - message="选择隐藏时,路由将不会出现在侧边栏,但仍然可以访问" | |
| 177 | - /> | |
| 178 | - </template> | |
| 179 | - <el-radio-group v-model="menuForm.visible"> | |
| 180 | - <el-radio border key="true" :label="true">显示</el-radio> | |
| 181 | - <el-radio border key="false" :label="false">隐藏</el-radio> | |
| 170 | + <el-col :span="16"> | |
| 171 | + <el-form-item label="显示排序" prop="sort"> | |
| 172 | + <el-input-number v-model="menuForm.sort" controls-position="right" :min="0" clearable /> | |
| 173 | + </el-form-item> | |
| 174 | + </el-col> | |
| 175 | + <el-col :span="16"> | |
| 176 | + <el-form-item label="菜单状态" prop="status"> | |
| 177 | + <el-radio-group v-model="menuForm.status"> | |
| 178 | + <el-radio | |
| 179 | + border | |
| 180 | + v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" | |
| 181 | + :key="dict.value" | |
| 182 | + :label="dict.value" | |
| 183 | + > | |
| 184 | + {{ dict.label }} | |
| 185 | + </el-radio> | |
| 182 | 186 | </el-radio-group> |
| 183 | 187 | </el-form-item> |
| 188 | + </el-col> | |
| 189 | + <template v-if="menuForm.type !== 3"> | |
| 190 | + <el-col :span="16"> | |
| 191 | + <el-form-item label="显示状态" prop="status"> | |
| 192 | + <template #label> | |
| 193 | + <Tooltip | |
| 194 | + titel="显示状态" | |
| 195 | + message="选择隐藏时,路由将不会出现在侧边栏,但仍然可以访问" | |
| 196 | + /> | |
| 197 | + </template> | |
| 198 | + <el-radio-group v-model="menuForm.visible"> | |
| 199 | + <el-radio border key="true" :label="true">显示</el-radio> | |
| 200 | + <el-radio border key="false" :label="false">隐藏</el-radio> | |
| 201 | + </el-radio-group> | |
| 202 | + </el-form-item> | |
| 203 | + </el-col> | |
| 184 | 204 | </template> |
| 185 | 205 | <template v-if="menuForm.type === 2"> |
| 186 | - <el-form-item label="缓存状态" prop="keepAlive"> | |
| 187 | - <template #label> | |
| 188 | - <Tooltip | |
| 189 | - titel="缓存状态" | |
| 190 | - message="选择缓存时,则会被 `keep-alive` 缓存,需要匹配组件的 `name` 和路由地址保持一致" | |
| 191 | - /> | |
| 192 | - </template> | |
| 193 | - <el-radio-group v-model="menuForm.keepAlive"> | |
| 194 | - <el-radio border key="true" :label="true">缓存</el-radio> | |
| 195 | - <el-radio border key="false" :label="false">不缓存</el-radio> | |
| 196 | - </el-radio-group> | |
| 197 | - </el-form-item> | |
| 206 | + <el-col :span="16"> | |
| 207 | + <el-form-item label="缓存状态" prop="keepAlive"> | |
| 208 | + <template #label> | |
| 209 | + <Tooltip | |
| 210 | + titel="缓存状态" | |
| 211 | + message="选择缓存时,则会被 `keep-alive` 缓存,需要匹配组件的 `name` 和路由地址保持一致" | |
| 212 | + /> | |
| 213 | + </template> | |
| 214 | + <el-radio-group v-model="menuForm.keepAlive"> | |
| 215 | + <el-radio border key="true" :label="true">缓存</el-radio> | |
| 216 | + <el-radio border key="false" :label="false">不缓存</el-radio> | |
| 217 | + </el-radio-group> | |
| 218 | + </el-form-item> | |
| 219 | + </el-col> | |
| 198 | 220 | </template> |
| 199 | 221 | </el-form> |
| 200 | 222 | <template #footer> |
| ... | ... | @@ -215,8 +237,10 @@ |
| 215 | 237 | // 全局相关的 import |
| 216 | 238 | import { onMounted, reactive, ref } from 'vue' |
| 217 | 239 | import { useI18n } from '@/hooks/web/useI18n' |
| 240 | +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 218 | 241 | import { useMessage } from '@/hooks/web/useMessage' |
| 219 | 242 | import { |
| 243 | + ElCol, | |
| 220 | 244 | ElForm, |
| 221 | 245 | ElFormItem, |
| 222 | 246 | ElInput, |
| ... | ... | @@ -237,11 +261,11 @@ import * as MenuApi from '@/api/system/menu' |
| 237 | 261 | import { required } from '@/utils/formRules.js' |
| 238 | 262 | import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' |
| 239 | 263 | import { SystemMenuTypeEnum, CommonStatusEnum } from '@/utils/constants' |
| 240 | -import { handleTree } from '@/utils/tree' | |
| 241 | -import { deepCopy } from 'windicss/utils' | |
| 264 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 242 | 265 | |
| 243 | 266 | const { t } = useI18n() // 国际化 |
| 244 | 267 | const message = useMessage() // 消息弹窗 |
| 268 | +const { wsCache } = useCache() | |
| 245 | 269 | // 列表相关的变量 |
| 246 | 270 | const xTable = ref<VxeTableInstance>() |
| 247 | 271 | const tableLoading = ref(false) |
| ... | ... | @@ -253,7 +277,7 @@ const actionType = ref('') // 操作按钮的类型 |
| 253 | 277 | const actionLoading = ref(false) // 遮罩层 |
| 254 | 278 | // 新增和修改的表单值 |
| 255 | 279 | const formRef = ref<FormInstance>() |
| 256 | -const menuFormNull = { | |
| 280 | +const menuForm = ref<MenuApi.MenuVO>({ | |
| 257 | 281 | id: 0, |
| 258 | 282 | name: '', |
| 259 | 283 | permission: '', |
| ... | ... | @@ -266,9 +290,8 @@ const menuFormNull = { |
| 266 | 290 | status: CommonStatusEnum.ENABLE, |
| 267 | 291 | visible: true, |
| 268 | 292 | keepAlive: true, |
| 269 | - createTime: '' | |
| 270 | -} | |
| 271 | -const menuForm = ref<MenuApi.MenuVO>(menuFormNull) | |
| 293 | + createTime: new Date() | |
| 294 | +}) | |
| 272 | 295 | // 新增和修改的表单校验 |
| 273 | 296 | const rules = reactive({ |
| 274 | 297 | name: [required], |
| ... | ... | @@ -278,13 +301,6 @@ const rules = reactive({ |
| 278 | 301 | }) |
| 279 | 302 | |
| 280 | 303 | // ========== 下拉框[上级菜单] ========== |
| 281 | -// 下拉框[上级菜单]的配置项目 | |
| 282 | -const menuProps = { | |
| 283 | - checkStrictly: true, | |
| 284 | - children: 'children', | |
| 285 | - label: 'name', | |
| 286 | - value: 'id' | |
| 287 | -} | |
| 288 | 304 | const menuOptions = ref<any[]>([]) // 树形结构 |
| 289 | 305 | // 获取下拉框[上级菜单]的数据 |
| 290 | 306 | const getTree = async () => { |
| ... | ... | @@ -335,7 +351,21 @@ const handleCreate = () => { |
| 335 | 351 | setDialogTile('create') |
| 336 | 352 | // 重置表单 |
| 337 | 353 | formRef.value?.resetFields() |
| 338 | - menuForm.value = deepCopy(menuFormNull) | |
| 354 | + menuForm.value = { | |
| 355 | + id: 0, | |
| 356 | + name: '', | |
| 357 | + permission: '', | |
| 358 | + type: SystemMenuTypeEnum.DIR, | |
| 359 | + sort: 1, | |
| 360 | + parentId: 0, | |
| 361 | + path: '', | |
| 362 | + icon: '', | |
| 363 | + component: '', | |
| 364 | + status: CommonStatusEnum.ENABLE, | |
| 365 | + visible: true, | |
| 366 | + keepAlive: true, | |
| 367 | + createTime: new Date() | |
| 368 | + } | |
| 339 | 369 | } |
| 340 | 370 | |
| 341 | 371 | // 修改操作 |
| ... | ... | @@ -375,6 +405,7 @@ const submitForm = async () => { |
| 375 | 405 | } finally { |
| 376 | 406 | dialogVisible.value = false |
| 377 | 407 | actionLoading.value = false |
| 408 | + wsCache.delete(CACHE_KEY.ROLE_ROUTERS) | |
| 378 | 409 | // 操作成功,重新加载列表 |
| 379 | 410 | await getList() |
| 380 | 411 | } | ... | ... |
yudao-ui-admin-vue3/src/views/system/notice/index.vue
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | <Descriptions |
| 51 | 51 | v-if="actionType === 'detail'" |
| 52 | 52 | :schema="allSchemas.detailSchema" |
| 53 | - :data="detailRef" | |
| 53 | + :data="detailData" | |
| 54 | 54 | > |
| 55 | 55 | <template #content="{ row }"> |
| 56 | 56 | <Editor :model-value="row.content" read-only="true" /> |
| ... | ... | @@ -98,7 +98,7 @@ const dialogTitle = ref('edit') // 弹出层标题 |
| 98 | 98 | const actionType = ref('') // 操作按钮的类型 |
| 99 | 99 | const actionLoading = ref(false) // 按钮 Loading |
| 100 | 100 | const formRef = ref<FormExpose>() // 表单 Ref |
| 101 | -const detailRef = ref() // 详情 Ref | |
| 101 | +const detailData = ref() // 详情 Ref | |
| 102 | 102 | |
| 103 | 103 | // 设置标题 |
| 104 | 104 | const setDialogTile = (type: string) => { |
| ... | ... | @@ -125,7 +125,7 @@ const handleDetail = async (rowId: number) => { |
| 125 | 125 | setDialogTile('detail') |
| 126 | 126 | // 设置数据 |
| 127 | 127 | const res = await NoticeApi.getNoticeApi(rowId) |
| 128 | - detailRef.value = res | |
| 128 | + detailData.value = res | |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | // 删除操作 | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/client/client.data.ts
yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
| ... | ... | @@ -61,16 +61,12 @@ |
| 61 | 61 | v-if="['create', 'update'].includes(actionType)" |
| 62 | 62 | :schema="allSchemas.formSchema" |
| 63 | 63 | :rules="rules" |
| 64 | - > | |
| 65 | - <template #logo> | |
| 66 | - <UploadImg :imgs="uploadLogo" :limit="1" /> | |
| 67 | - </template> | |
| 68 | - </Form> | |
| 64 | + /> | |
| 69 | 65 | <!-- 表单:详情 --> |
| 70 | 66 | <Descriptions |
| 71 | 67 | v-if="actionType === 'detail'" |
| 72 | 68 | :schema="allSchemas.detailSchema" |
| 73 | - :data="detailRef" | |
| 69 | + :data="detailData" | |
| 74 | 70 | > |
| 75 | 71 | <template #accessTokenValiditySeconds="{ row }"> |
| 76 | 72 | {{ row.accessTokenValiditySeconds + '秒' }} |
| ... | ... | @@ -142,7 +138,6 @@ import { useMessage } from '@/hooks/web/useMessage' |
| 142 | 138 | import { useVxeGrid } from '@/hooks/web/useVxeGrid' |
| 143 | 139 | import { VxeGridInstance } from 'vxe-table' |
| 144 | 140 | import { FormExpose } from '@/components/Form' |
| 145 | -import { UploadImg } from '@/components/UploadFile' | |
| 146 | 141 | // 业务相关的 import |
| 147 | 142 | import * as ClientApi from '@/api/system/oauth2/client' |
| 148 | 143 | import { rules, allSchemas } from './client.data' |
| ... | ... | @@ -163,8 +158,7 @@ const dialogTitle = ref('edit') // 弹出层标题 |
| 163 | 158 | const actionType = ref('') // 操作按钮的类型 |
| 164 | 159 | const actionLoading = ref(false) // 按钮 Loading |
| 165 | 160 | const formRef = ref<FormExpose>() // 表单 Ref |
| 166 | -const detailRef = ref() // 详情 Ref | |
| 167 | -const uploadLogo = ref('') | |
| 161 | +const detailData = ref() // 详情 Ref | |
| 168 | 162 | // 设置标题 |
| 169 | 163 | const setDialogTile = (type: string) => { |
| 170 | 164 | dialogTitle.value = t('action.' + type) |
| ... | ... | @@ -174,7 +168,6 @@ const setDialogTile = (type: string) => { |
| 174 | 168 | |
| 175 | 169 | // 新增操作 |
| 176 | 170 | const handleCreate = () => { |
| 177 | - uploadLogo.value = '' | |
| 178 | 171 | setDialogTile('create') |
| 179 | 172 | } |
| 180 | 173 | |
| ... | ... | @@ -183,7 +176,6 @@ const handleUpdate = async (rowId: number) => { |
| 183 | 176 | setDialogTile('update') |
| 184 | 177 | // 设置数据 |
| 185 | 178 | const res = await ClientApi.getOAuth2ClientApi(rowId) |
| 186 | - uploadLogo.value = res.logo | |
| 187 | 179 | unref(formRef)?.setValues(res) |
| 188 | 180 | } |
| 189 | 181 | |
| ... | ... | @@ -191,7 +183,7 @@ const handleUpdate = async (rowId: number) => { |
| 191 | 183 | const handleDetail = async (rowId: number) => { |
| 192 | 184 | setDialogTile('detail') |
| 193 | 185 | const res = await ClientApi.getOAuth2ClientApi(rowId) |
| 194 | - detailRef.value = res | |
| 186 | + detailData.value = res | |
| 195 | 187 | } |
| 196 | 188 | |
| 197 | 189 | // 删除操作 |
| ... | ... | @@ -209,7 +201,6 @@ const submitForm = async () => { |
| 209 | 201 | // 提交请求 |
| 210 | 202 | try { |
| 211 | 203 | const data = unref(formRef)?.formModel as ClientApi.OAuth2ClientVO |
| 212 | - data.logo = uploadLogo.value | |
| 213 | 204 | if (actionType.value === 'create') { |
| 214 | 205 | await ClientApi.createOAuth2ClientApi(data) |
| 215 | 206 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/token/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | </ContentWrap> |
| 18 | 18 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 19 | 19 | <!-- 对话框(详情) --> |
| 20 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef" /> | |
| 20 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData" /> | |
| 21 | 21 | <!-- 操作按钮 --> |
| 22 | 22 | <template #footer> |
| 23 | 23 | <XButton :title="t('dialog.close')" @click="dialogVisible = false" /> |
| ... | ... | @@ -45,13 +45,13 @@ const { gridOptions, getList } = useVxeGrid<TokenApi.OAuth2TokenVO>({ |
| 45 | 45 | }) |
| 46 | 46 | |
| 47 | 47 | // ========== 详情相关 ========== |
| 48 | -const detailRef = ref() // 详情 Ref | |
| 48 | +const detailData = ref() // 详情 Ref | |
| 49 | 49 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 50 | 50 | const dialogTitle = ref(t('action.detail')) // 弹出层标题 |
| 51 | 51 | // 详情 |
| 52 | 52 | const handleDetail = async (row: TokenApi.OAuth2TokenVO) => { |
| 53 | 53 | // 设置数据 |
| 54 | - detailRef.value = row | |
| 54 | + detailData.value = row | |
| 55 | 55 | dialogVisible.value = true |
| 56 | 56 | } |
| 57 | 57 | ... | ... |
yudao-ui-admin-vue3/src/views/system/operatelog/index.vue
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | <!-- 弹窗 --> |
| 28 | 28 | <XModal id="postModel" v-model="dialogVisible" :title="t('action.detail')"> |
| 29 | 29 | <!-- 对话框(详情) --> |
| 30 | - <Descriptions :schema="allSchemas.detailSchema" :data="detailRef"> | |
| 30 | + <Descriptions :schema="allSchemas.detailSchema" :data="detailData"> | |
| 31 | 31 | <template #resultCode="{ row }"> |
| 32 | 32 | <span>{{ row.resultCode === 0 ? '成功' : '失败' }}</span> |
| 33 | 33 | </template> |
| ... | ... | @@ -63,16 +63,16 @@ const { gridOptions, exportList } = useVxeGrid<OperateLogApi.OperateLogVO>({ |
| 63 | 63 | // 弹窗相关的变量 |
| 64 | 64 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 65 | 65 | const actionLoading = ref(false) // 按钮 Loading |
| 66 | -const detailRef = ref() // 详情 Ref | |
| 66 | +const detailData = ref() // 详情 Ref | |
| 67 | 67 | // 详情 |
| 68 | 68 | const handleDetail = (row: OperateLogApi.OperateLogVO) => { |
| 69 | 69 | // 设置数据 |
| 70 | - detailRef.value = row | |
| 70 | + detailData.value = row | |
| 71 | 71 | dialogVisible.value = true |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | // 导出操作 |
| 75 | 75 | const handleExport = async () => { |
| 76 | - await exportList(xGrid, '岗位列表.xls') | |
| 76 | + await exportList(xGrid, '操作日志.xls') | |
| 77 | 77 | } |
| 78 | 78 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/role/index.vue
| ... | ... | @@ -64,7 +64,7 @@ |
| 64 | 64 | <Descriptions |
| 65 | 65 | v-if="actionType === 'detail'" |
| 66 | 66 | :schema="allSchemas.detailSchema" |
| 67 | - :data="detailRef" | |
| 67 | + :data="detailData" | |
| 68 | 68 | /> |
| 69 | 69 | <!-- 操作按钮 --> |
| 70 | 70 | <template #footer> |
| ... | ... | @@ -92,9 +92,9 @@ |
| 92 | 92 | <el-select v-model="dataScopeForm.dataScope"> |
| 93 | 93 | <el-option |
| 94 | 94 | v-for="item in dataScopeDictDatas" |
| 95 | - :key="parseInt(item.value)" | |
| 95 | + :key="item.value" | |
| 96 | 96 | :label="item.label" |
| 97 | - :value="parseInt(item.value)" | |
| 97 | + :value="item.value" | |
| 98 | 98 | /> |
| 99 | 99 | </el-select> |
| 100 | 100 | </el-form-item> |
| ... | ... | @@ -105,7 +105,7 @@ |
| 105 | 105 | actionScopeType === 'menu' || dataScopeForm.dataScope === SystemDataScopeEnum.DEPT_CUSTOM |
| 106 | 106 | " |
| 107 | 107 | > |
| 108 | - <el-card class="box-card"> | |
| 108 | + <el-card shadow="never"> | |
| 109 | 109 | <template #header> |
| 110 | 110 | 父子联动(选中父节点,自动选择子节点): |
| 111 | 111 | <el-switch v-model="checkStrictly" inline-prompt active-text="是" inactive-text="否" /> |
| ... | ... | @@ -164,9 +164,9 @@ import { FormExpose } from '@/components/Form' |
| 164 | 164 | import { useI18n } from '@/hooks/web/useI18n' |
| 165 | 165 | import { useMessage } from '@/hooks/web/useMessage' |
| 166 | 166 | import { useVxeGrid } from '@/hooks/web/useVxeGrid' |
| 167 | -import { handleTree } from '@/utils/tree' | |
| 167 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 168 | 168 | import { SystemDataScopeEnum } from '@/utils/constants' |
| 169 | -import { DICT_TYPE, getDictOptions } from '@/utils/dict' | |
| 169 | +import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' | |
| 170 | 170 | import { rules, allSchemas } from './role.data' |
| 171 | 171 | import * as RoleApi from '@/api/system/role' |
| 172 | 172 | import { listSimpleMenusApi } from '@/api/system/menu' |
| ... | ... | @@ -189,7 +189,7 @@ const actionType = ref('') // 操作按钮的类型 |
| 189 | 189 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 190 | 190 | const dialogTitle = ref('edit') // 弹出层标题 |
| 191 | 191 | const formRef = ref<FormExpose>() // 表单 Ref |
| 192 | -const detailRef = ref() // 详情 Ref | |
| 192 | +const detailData = ref() // 详情 Ref | |
| 193 | 193 | |
| 194 | 194 | // 设置标题 |
| 195 | 195 | const setDialogTile = (type: string) => { |
| ... | ... | @@ -216,7 +216,7 @@ const handleDetail = async (rowId: number) => { |
| 216 | 216 | setDialogTile('detail') |
| 217 | 217 | // 设置数据 |
| 218 | 218 | const res = await RoleApi.getRoleApi(rowId) |
| 219 | - detailRef.value = res | |
| 219 | + detailData.value = res | |
| 220 | 220 | } |
| 221 | 221 | |
| 222 | 222 | // 删除操作 |
| ... | ... | @@ -259,11 +259,6 @@ const dataScopeForm = reactive({ |
| 259 | 259 | dataScope: 0, |
| 260 | 260 | checkList: [] |
| 261 | 261 | }) |
| 262 | -const defaultProps = { | |
| 263 | - children: 'children', | |
| 264 | - label: 'name', | |
| 265 | - value: 'id' | |
| 266 | -} | |
| 267 | 262 | const treeOptions = ref<any[]>([]) // 菜单树形结构 |
| 268 | 263 | const treeRef = ref<InstanceType<typeof ElTree>>() |
| 269 | 264 | const dialogScopeVisible = ref(false) |
| ... | ... | @@ -306,18 +301,20 @@ const handleScope = async (type: string, row: RoleApi.RoleVO) => { |
| 306 | 301 | } |
| 307 | 302 | // 保存权限 |
| 308 | 303 | const submitScope = async () => { |
| 309 | - const keys = treeRef.value!.getCheckedKeys(false) as unknown as Array<number> | |
| 310 | 304 | if ('data' === actionScopeType.value) { |
| 311 | 305 | const data = ref<PermissionApi.PermissionAssignRoleDataScopeReqVO>({ |
| 312 | 306 | roleId: dataScopeForm.id, |
| 313 | 307 | dataScope: dataScopeForm.dataScope, |
| 314 | - dataScopeDeptIds: dataScopeForm.dataScope !== SystemDataScopeEnum.DEPT_CUSTOM ? [] : keys | |
| 308 | + dataScopeDeptIds: | |
| 309 | + dataScopeForm.dataScope !== SystemDataScopeEnum.DEPT_CUSTOM | |
| 310 | + ? [] | |
| 311 | + : (treeRef.value!.getCheckedKeys(false) as unknown as Array<number>) | |
| 315 | 312 | }) |
| 316 | 313 | await PermissionApi.assignRoleDataScopeApi(data.value) |
| 317 | 314 | } else if ('menu' === actionScopeType.value) { |
| 318 | 315 | const data = ref<PermissionApi.PermissionAssignRoleMenuReqVO>({ |
| 319 | 316 | roleId: dataScopeForm.id, |
| 320 | - menuIds: keys | |
| 317 | + menuIds: treeRef.value!.getCheckedKeys(false) as unknown as Array<number> | |
| 321 | 318 | }) |
| 322 | 319 | await PermissionApi.assignRoleMenuApi(data.value) |
| 323 | 320 | } |
| ... | ... | @@ -325,7 +322,7 @@ const submitScope = async () => { |
| 325 | 322 | dialogScopeVisible.value = false |
| 326 | 323 | } |
| 327 | 324 | const init = () => { |
| 328 | - dataScopeDictDatas.value = getDictOptions(DICT_TYPE.SYSTEM_DATA_SCOPE) | |
| 325 | + dataScopeDictDatas.value = getIntDictOptions(DICT_TYPE.SYSTEM_DATA_SCOPE) | |
| 329 | 326 | } |
| 330 | 327 | // ========== 初始化 ========== |
| 331 | 328 | onMounted(() => { | ... | ... |
yudao-ui-admin-vue3/src/views/system/role/role.data.ts
| ... | ... | @@ -28,7 +28,8 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 28 | 28 | title: '角色类型', |
| 29 | 29 | field: 'type', |
| 30 | 30 | dictType: DICT_TYPE.SYSTEM_ROLE_TYPE, |
| 31 | - dictClass: 'number' | |
| 31 | + dictClass: 'number', | |
| 32 | + isForm: false | |
| 32 | 33 | }, |
| 33 | 34 | { |
| 34 | 35 | title: '角色标识', |
| ... | ... | @@ -40,6 +41,21 @@ const crudSchemas = reactive<VxeCrudSchema>({ |
| 40 | 41 | field: 'sort' |
| 41 | 42 | }, |
| 42 | 43 | { |
| 44 | + title: t('form.remark'), | |
| 45 | + field: 'remark', | |
| 46 | + isTable: false, | |
| 47 | + form: { | |
| 48 | + component: 'Input', | |
| 49 | + componentProps: { | |
| 50 | + type: 'textarea', | |
| 51 | + rows: 4 | |
| 52 | + }, | |
| 53 | + colProps: { | |
| 54 | + span: 24 | |
| 55 | + } | |
| 56 | + } | |
| 57 | + }, | |
| 58 | + { | |
| 43 | 59 | title: t('common.status'), |
| 44 | 60 | field: 'status', |
| 45 | 61 | dictType: DICT_TYPE.COMMON_STATUS, | ... | ... |
yudao-ui-admin-vue3/src/views/system/sensitiveWord/index.vue
| ... | ... | @@ -64,8 +64,8 @@ |
| 64 | 64 | :rules="rules" |
| 65 | 65 | ref="formRef" |
| 66 | 66 | > |
| 67 | - <template #tags> | |
| 68 | - <el-select v-model="tags" multiple placeholder="请选择"> | |
| 67 | + <template #tags="form"> | |
| 68 | + <el-select v-model="form['tags']" multiple placeholder="请选择"> | |
| 69 | 69 | <el-option v-for="item in tagsOptions" :key="item" :label="item" :value="item" /> |
| 70 | 70 | </el-select> |
| 71 | 71 | </template> |
| ... | ... | @@ -130,7 +130,6 @@ const dialogVisible = ref(false) // 是否显示弹出层 |
| 130 | 130 | const dialogTitle = ref('edit') // 弹出层标题 |
| 131 | 131 | const formRef = ref<FormExpose>() // 表单 Ref |
| 132 | 132 | const detailData = ref() // 详情 Ref |
| 133 | -const tags = ref() | |
| 134 | 133 | |
| 135 | 134 | // 获取标签 |
| 136 | 135 | const tagsOptions = ref() |
| ... | ... | @@ -148,7 +147,6 @@ const setDialogTile = (type: string) => { |
| 148 | 147 | |
| 149 | 148 | // 新增操作 |
| 150 | 149 | const handleCreate = () => { |
| 151 | - tags.value = null | |
| 152 | 150 | setDialogTile('create') |
| 153 | 151 | } |
| 154 | 152 | |
| ... | ... | @@ -162,7 +160,6 @@ const handleUpdate = async (rowId: number) => { |
| 162 | 160 | setDialogTile('update') |
| 163 | 161 | // 设置数据 |
| 164 | 162 | const res = await SensitiveWordApi.getSensitiveWordApi(rowId) |
| 165 | - tags.value = res.tags | |
| 166 | 163 | unref(formRef)?.setValues(res) |
| 167 | 164 | } |
| 168 | 165 | |
| ... | ... | @@ -188,7 +185,6 @@ const submitForm = async () => { |
| 188 | 185 | // 提交请求 |
| 189 | 186 | try { |
| 190 | 187 | const data = unref(formRef)?.formModel as SensitiveWordApi.SensitiveWordVO |
| 191 | - data.tags = tags.value | |
| 192 | 188 | if (actionType.value === 'create') { |
| 193 | 189 | await SensitiveWordApi.createSensitiveWordApi(data) |
| 194 | 190 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/sms/smsLog/index.vue
| ... | ... | @@ -22,7 +22,7 @@ |
| 22 | 22 | <Descriptions |
| 23 | 23 | v-if="actionType === 'detail'" |
| 24 | 24 | :schema="allSchemas.detailSchema" |
| 25 | - :data="detailRef" | |
| 25 | + :data="detailData" | |
| 26 | 26 | /> |
| 27 | 27 | <!-- 操作按钮 --> |
| 28 | 28 | <template #footer> |
| ... | ... | @@ -53,10 +53,10 @@ const dialogVisible = ref(false) // 是否显示弹出层 |
| 53 | 53 | const dialogTitle = ref('edit') // 弹出层标题 |
| 54 | 54 | const actionType = ref('') // 操作按钮的类型 |
| 55 | 55 | // ========== 详情相关 ========== |
| 56 | -const detailRef = ref() // 详情 Ref | |
| 56 | +const detailData = ref() // 详情 Ref | |
| 57 | 57 | const handleDetail = (row: SmsLoglApi.SmsLogVO) => { |
| 58 | 58 | // 设置数据 |
| 59 | - detailRef.value = row | |
| 59 | + detailData.value = row | |
| 60 | 60 | dialogVisible.value = true |
| 61 | 61 | } |
| 62 | 62 | ... | ... |
yudao-ui-admin-vue3/src/views/system/tenant/index.vue
| ... | ... | @@ -63,7 +63,7 @@ |
| 63 | 63 | <Descriptions |
| 64 | 64 | v-if="actionType === 'detail'" |
| 65 | 65 | :schema="allSchemas.detailSchema" |
| 66 | - :data="detailRef" | |
| 66 | + :data="detailData" | |
| 67 | 67 | > |
| 68 | 68 | <template #packageId="{ row }"> |
| 69 | 69 | <el-tag v-if="row.packageId === 0" type="danger">系统租户</el-tag> |
| ... | ... | @@ -112,7 +112,7 @@ const actionType = ref('') // 操作按钮的类型 |
| 112 | 112 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 113 | 113 | const dialogTitle = ref('edit') // 弹出层标题 |
| 114 | 114 | const formRef = ref<FormExpose>() // 表单 Ref |
| 115 | -const detailRef = ref() // 详情 Ref | |
| 115 | +const detailData = ref() // 详情 Ref | |
| 116 | 116 | const getPackageName = (packageId: number) => { |
| 117 | 117 | for (let item of tenantPackageOption) { |
| 118 | 118 | if (item.value === packageId) { |
| ... | ... | @@ -147,7 +147,7 @@ const handleUpdate = async (rowId: number) => { |
| 147 | 147 | const handleDetail = async (rowId: number) => { |
| 148 | 148 | // 设置数据 |
| 149 | 149 | const res = await TenantApi.getTenantApi(rowId) |
| 150 | - detailRef.value = res | |
| 150 | + detailData.value = res | |
| 151 | 151 | setDialogTile('detail') |
| 152 | 152 | } |
| 153 | 153 | ... | ... |
yudao-ui-admin-vue3/src/views/system/tenantPackage/index.vue
| ... | ... | @@ -66,7 +66,7 @@ |
| 66 | 66 | </template> |
| 67 | 67 | <script setup lang="ts" name="TenantPackage"> |
| 68 | 68 | import { onMounted, ref, unref } from 'vue' |
| 69 | -import { handleTree } from '@/utils/tree' | |
| 69 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 70 | 70 | import { useI18n } from '@/hooks/web/useI18n' |
| 71 | 71 | import { useMessage } from '@/hooks/web/useMessage' |
| 72 | 72 | import { useVxeGrid } from '@/hooks/web/useVxeGrid' |
| ... | ... | @@ -93,12 +93,6 @@ const actionType = ref('') // 操作按钮的类型 |
| 93 | 93 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 94 | 94 | const dialogTitle = ref('edit') // 弹出层标题 |
| 95 | 95 | |
| 96 | -const defaultProps = { | |
| 97 | - children: 'children', | |
| 98 | - label: 'name', | |
| 99 | - value: 'id' | |
| 100 | -} | |
| 101 | - | |
| 102 | 96 | // 全选/全不选 |
| 103 | 97 | const handleCheckedTreeNodeAll = () => { |
| 104 | 98 | treeRef.value!.setCheckedNodes(treeNodeAll.value ? menuOptions.value : []) |
| ... | ... | @@ -155,7 +149,7 @@ const submitForm = async () => { |
| 155 | 149 | // 提交请求 |
| 156 | 150 | try { |
| 157 | 151 | const data = unref(formRef)?.formModel as TenantPackageApi.TenantPackageVO |
| 158 | - data.menuIds = treeRef.value!.getCheckedKeys(false) as string[] | |
| 152 | + data.menuIds = treeRef.value!.getCheckedKeys(false) as number[] | |
| 159 | 153 | if (actionType.value === 'create') { |
| 160 | 154 | await TenantPackageApi.createTenantPackageTypeApi(data) |
| 161 | 155 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/user/index.vue
| ... | ... | @@ -77,7 +77,14 @@ |
| 77 | 77 | v-hasPermi="['system:user:update']" |
| 78 | 78 | @click="handleDetail(row.id)" |
| 79 | 79 | /> |
| 80 | - <el-dropdown class="p-0.5" v-hasPermi="['infra:job:trigger', 'infra:job:query']"> | |
| 80 | + <el-dropdown | |
| 81 | + class="p-0.5" | |
| 82 | + v-hasPermi="[ | |
| 83 | + 'system:user:update-password', | |
| 84 | + 'system:permission:assign-user-role', | |
| 85 | + 'system:user:delete' | |
| 86 | + ]" | |
| 87 | + > | |
| 81 | 88 | <XTextButton :title="t('action.more')" postIcon="ep:arrow-down" /> |
| 82 | 89 | <template #dropdown> |
| 83 | 90 | <el-dropdown-menu> |
| ... | ... | @@ -123,17 +130,17 @@ |
| 123 | 130 | :schema="allSchemas.formSchema" |
| 124 | 131 | ref="formRef" |
| 125 | 132 | > |
| 126 | - <template #deptId> | |
| 133 | + <template #deptId="form"> | |
| 127 | 134 | <el-tree-select |
| 128 | 135 | node-key="id" |
| 129 | - v-model="deptId" | |
| 136 | + v-model="form['deptId']" | |
| 130 | 137 | :props="defaultProps" |
| 131 | 138 | :data="deptOptions" |
| 132 | 139 | check-strictly |
| 133 | 140 | /> |
| 134 | 141 | </template> |
| 135 | - <template #postIds> | |
| 136 | - <el-select v-model="postIds" multiple :placeholder="t('common.selectText')"> | |
| 142 | + <template #postIds="form"> | |
| 143 | + <el-select v-model="form['postIds']" multiple :placeholder="t('common.selectText')"> | |
| 137 | 144 | <el-option |
| 138 | 145 | v-for="item in postOptions" |
| 139 | 146 | :key="item.id" |
| ... | ... | @@ -277,7 +284,7 @@ import { |
| 277 | 284 | } from 'element-plus' |
| 278 | 285 | import { useRouter } from 'vue-router' |
| 279 | 286 | import { VxeGridInstance } from 'vxe-table' |
| 280 | -import { handleTree } from '@/utils/tree' | |
| 287 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 281 | 288 | import download from '@/utils/download' |
| 282 | 289 | import { CommonStatusEnum } from '@/utils/constants' |
| 283 | 290 | import { getAccessToken, getTenantId } from '@/utils/auth' |
| ... | ... | @@ -299,11 +306,6 @@ import { |
| 299 | 306 | const { t } = useI18n() // 国际化 |
| 300 | 307 | const message = useMessage() // 消息弹窗 |
| 301 | 308 | |
| 302 | -const defaultProps = { | |
| 303 | - children: 'children', | |
| 304 | - label: 'name', | |
| 305 | - value: 'id' | |
| 306 | -} | |
| 307 | 309 | const queryParams = reactive({ |
| 308 | 310 | deptId: null |
| 309 | 311 | }) |
| ... | ... | @@ -320,7 +322,7 @@ const { gridOptions, getList, deleteData, exportList } = useVxeGrid<UserApi.User |
| 320 | 322 | }) |
| 321 | 323 | // ========== 创建部门树结构 ========== |
| 322 | 324 | const filterText = ref('') |
| 323 | -const deptOptions = ref<any[]>([]) // 树形结构 | |
| 325 | +const deptOptions = ref<Tree[]>([]) // 树形结构 | |
| 324 | 326 | const treeRef = ref<InstanceType<typeof ElTree>>() |
| 325 | 327 | const getTree = async () => { |
| 326 | 328 | const res = await listSimpleDeptApi() |
| ... | ... | @@ -347,8 +349,6 @@ const actionType = ref('') // 操作按钮的类型 |
| 347 | 349 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 348 | 350 | const dialogTitle = ref('edit') // 弹出层标题 |
| 349 | 351 | const formRef = ref<FormExpose>() // 表单 Ref |
| 350 | -const deptId = ref() // 部门ID | |
| 351 | -const postIds = ref<string[]>([]) // 岗位ID | |
| 352 | 352 | const postOptions = ref<PostVO[]>([]) //岗位列表 |
| 353 | 353 | |
| 354 | 354 | // 获取岗位列表 |
| ... | ... | @@ -367,8 +367,6 @@ const setDialogTile = async (type: string) => { |
| 367 | 367 | const handleCreate = async () => { |
| 368 | 368 | setDialogTile('create') |
| 369 | 369 | // 重置表单 |
| 370 | - deptId.value = null | |
| 371 | - postIds.value = [] | |
| 372 | 370 | await nextTick() |
| 373 | 371 | if (allSchemas.formSchema[0].field !== 'username') { |
| 374 | 372 | unref(formRef)?.addSchema( |
| ... | ... | @@ -398,8 +396,6 @@ const handleUpdate = async (rowId: number) => { |
| 398 | 396 | unref(formRef)?.delSchema('password') |
| 399 | 397 | // 设置数据 |
| 400 | 398 | const res = await UserApi.getUserApi(rowId) |
| 401 | - deptId.value = res.deptId | |
| 402 | - postIds.value = res.postIds | |
| 403 | 399 | unref(formRef)?.setValues(res) |
| 404 | 400 | } |
| 405 | 401 | const detailData = ref() |
| ... | ... | @@ -421,8 +417,6 @@ const submitForm = async () => { |
| 421 | 417 | // 提交请求 |
| 422 | 418 | try { |
| 423 | 419 | const data = unref(formRef)?.formModel as UserApi.UserVO |
| 424 | - data.deptId = deptId.value | |
| 425 | - data.postIds = postIds.value | |
| 426 | 420 | if (actionType.value === 'create') { |
| 427 | 421 | await UserApi.createUserApi(data) |
| 428 | 422 | message.success(t('common.createSuccess')) | ... | ... |
yudao-ui-admin-vue3/src/views/system/user/user.data.ts
yudao-ui-admin-vue3/vite.config.ts
| 1 | 1 | import { resolve } from 'path' |
| 2 | 2 | import { loadEnv } from 'vite' |
| 3 | 3 | import type { UserConfig, ConfigEnv } from 'vite' |
| 4 | -import Vue from '@vitejs/plugin-vue' | |
| 5 | -import VueJsx from '@vitejs/plugin-vue-jsx' | |
| 6 | -import VueI18n from '@intlify/vite-plugin-vue-i18n' | |
| 7 | -import WindiCSS from 'vite-plugin-windicss' | |
| 8 | -import progress from 'vite-plugin-progress' | |
| 9 | -import EslintPlugin from 'vite-plugin-eslint' | |
| 10 | -import PurgeIcons from 'vite-plugin-purge-icons' | |
| 11 | -import { createHtmlPlugin } from 'vite-plugin-html' | |
| 12 | -import viteCompression from 'vite-plugin-compression' | |
| 13 | -import vueSetupExtend from 'vite-plugin-vue-setup-extend' | |
| 14 | -import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' | |
| 15 | -import { createStyleImportPlugin, ElementPlusResolve, VxeTableResolve } from 'vite-plugin-style-import' | |
| 16 | - | |
| 4 | +import { createVitePlugins } from './build/vite' | |
| 5 | +import { include, exclude } from "./build/vite/optimize" | |
| 17 | 6 | // 当前执行node命令时文件夹的地址(工作目录) |
| 18 | 7 | const root = process.cwd() |
| 19 | 8 | |
| ... | ... | @@ -44,68 +33,16 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { |
| 44 | 33 | open: env.VITE_OPEN, |
| 45 | 34 | // 本地跨域代理 |
| 46 | 35 | proxy: { |
| 47 | - ['/dev-api']: { | |
| 36 | + ['/admin-api']: { | |
| 48 | 37 | target: env.VITE_BASE_URL, |
| 49 | 38 | ws: false, |
| 50 | 39 | changeOrigin: true, |
| 51 | - rewrite: (path) => path.replace(new RegExp(`^/dev-api`), ''), | |
| 40 | + rewrite: (path) => path.replace(new RegExp(`^/admin-api`), ''), | |
| 52 | 41 | }, |
| 53 | 42 | }, |
| 54 | 43 | }, |
| 55 | - plugins: [ | |
| 56 | - Vue(), | |
| 57 | - VueJsx(), | |
| 58 | - WindiCSS(), | |
| 59 | - progress(), | |
| 60 | - PurgeIcons(), | |
| 61 | - vueSetupExtend(), | |
| 62 | - createStyleImportPlugin({ | |
| 63 | - resolves: [ElementPlusResolve(),VxeTableResolve()], | |
| 64 | - libs: [{ | |
| 65 | - libraryName: 'element-plus', | |
| 66 | - esModule: true, | |
| 67 | - resolveStyle: (name) => { | |
| 68 | - return `element-plus/es/components/${name.substring(3)}/style/css` | |
| 69 | - } | |
| 70 | - },{ | |
| 71 | - libraryName: 'vxe-table', | |
| 72 | - esModule: true, | |
| 73 | - resolveStyle: (name) => { | |
| 74 | - return `vxe-table/es/${name}/style.css` | |
| 75 | - } | |
| 76 | - }] | |
| 77 | - }), | |
| 78 | - EslintPlugin({ | |
| 79 | - cache: false, | |
| 80 | - include: ['src/**/*.vue', 'src/**/*.ts', 'src/**/*.tsx'] // 检查的文件 | |
| 81 | - }), | |
| 82 | - VueI18n({ | |
| 83 | - runtimeOnly: true, | |
| 84 | - compositionOnly: true, | |
| 85 | - include: [resolve(__dirname, 'src/locales/**')] | |
| 86 | - }), | |
| 87 | - createSvgIconsPlugin({ | |
| 88 | - iconDirs: [pathResolve('src/assets/svgs')], | |
| 89 | - symbolId: 'icon-[dir]-[name]', | |
| 90 | - svgoOptions: true | |
| 91 | - }), | |
| 92 | - viteCompression({ | |
| 93 | - verbose: true, // 是否在控制台输出压缩结果 | |
| 94 | - disable: false, // 是否禁用 | |
| 95 | - threshold: 10240, // 体积大于 threshold 才会被压缩,单位 b | |
| 96 | - algorithm: 'gzip', // 压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw'] | |
| 97 | - ext: '.gz', // 生成的压缩包后缀 | |
| 98 | - deleteOriginFile: true //压缩后是否删除源文件 | |
| 99 | - }), | |
| 100 | - createHtmlPlugin({ | |
| 101 | - inject: { | |
| 102 | - data: { | |
| 103 | - title: env.VITE_APP_TITLE, | |
| 104 | - injectScript: `<script src="./inject.js"></script>` | |
| 105 | - } | |
| 106 | - } | |
| 107 | - }) | |
| 108 | - ], | |
| 44 | + // 项目使用的vite插件。 单独提取到build/vite/plugin中管理 | |
| 45 | + plugins: createVitePlugins(env.VITE_APP_TITLE), | |
| 109 | 46 | css: { |
| 110 | 47 | preprocessorOptions: { |
| 111 | 48 | scss: { |
| ... | ... | @@ -139,32 +76,6 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { |
| 139 | 76 | } |
| 140 | 77 | } |
| 141 | 78 | }, |
| 142 | - optimizeDeps: { | |
| 143 | - include: [ | |
| 144 | - 'vue', | |
| 145 | - 'vue-router', | |
| 146 | - 'vue-types', | |
| 147 | - 'vue-i18n', | |
| 148 | - 'vxe-table', | |
| 149 | - 'xe-utils', | |
| 150 | - 'lodash-es', | |
| 151 | - 'element-plus/es', | |
| 152 | - 'element-plus/es/locale/lang/zh-cn', | |
| 153 | - 'element-plus/es/locale/lang/en', | |
| 154 | - '@iconify/iconify', | |
| 155 | - '@vueuse/core', | |
| 156 | - 'axios', | |
| 157 | - 'qs', | |
| 158 | - 'dayjs', | |
| 159 | - 'echarts', | |
| 160 | - 'echarts-wordcloud', | |
| 161 | - 'intro.js', | |
| 162 | - 'qrcode', | |
| 163 | - 'pinia', | |
| 164 | - 'crypto-js', | |
| 165 | - '@wangeditor/editor', | |
| 166 | - '@wangeditor/editor-for-vue' | |
| 167 | - ] | |
| 168 | - } | |
| 79 | + optimizeDeps: { include, exclude } | |
| 169 | 80 | } |
| 170 | 81 | } | ... | ... |
yudao-ui-admin/src/components/Verifition/Verify/VerifyPoints.vue
yudao-ui-admin/src/views/login.vue
| ... | ... | @@ -53,10 +53,10 @@ |
| 53 | 53 | <el-form-item prop="mobileCode"> |
| 54 | 54 | <el-input v-model="loginForm.mobileCode" type="text" auto-complete="off" placeholder="短信验证码" |
| 55 | 55 | @keyup.enter.native="handleLogin"> |
| 56 | - <template slot="icon"> | |
| 56 | + <template v-slot="icon"> | |
| 57 | 57 | <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon"/> |
| 58 | 58 | </template> |
| 59 | - <template slot="append"> | |
| 59 | + <template v-slot="append"> | |
| 60 | 60 | <span v-if="mobileCodeTimer <= 0" class="getMobileCode" @click="getSmsCode" style="cursor: pointer;">获取验证码</span> |
| 61 | 61 | <span v-if="mobileCodeTimer > 0" class="getMobileCode">{{ mobileCodeTimer }}秒后可重新获取</span> |
| 62 | 62 | </template> |
| ... | ... | @@ -115,6 +115,7 @@ import { |
| 115 | 115 | } from "@/utils/auth"; |
| 116 | 116 | |
| 117 | 117 | import Verify from '@/components/Verifition/Verify'; |
| 118 | +import {resetUserPwd} from "@/api/system/user"; | |
| 118 | 119 | |
| 119 | 120 | export default { |
| 120 | 121 | name: "Login", |
| ... | ... | @@ -254,19 +255,40 @@ export default { |
| 254 | 255 | } |
| 255 | 256 | }); |
| 256 | 257 | }, |
| 257 | - doSocialLogin(socialTypeEnum) { | |
| 258 | + async doSocialLogin(socialTypeEnum) { | |
| 258 | 259 | // 设置登录中 |
| 259 | 260 | this.loading = true; |
| 260 | - // 计算 redirectUri | |
| 261 | - const redirectUri = location.origin + '/social-login?' | |
| 262 | - + encodeURIComponent('type=' + socialTypeEnum.type + '&redirect=' + (this.redirect || "/")); // 重定向不能丢 | |
| 263 | - // const redirectUri = 'http://127.0.0.1:48080/api/gitee/callback'; | |
| 264 | - // const redirectUri = 'http://127.0.0.1:48080/api/dingtalk/callback'; | |
| 265 | - // 进行跳转 | |
| 266 | - socialAuthRedirect(socialTypeEnum.type, encodeURIComponent(redirectUri)).then((res) => { | |
| 267 | - // console.log(res.url); | |
| 268 | - window.location.href = res.data; | |
| 269 | - }); | |
| 261 | + let tenant = false; | |
| 262 | + if (this.tenantEnable) { | |
| 263 | + await this.$prompt('请输入租户名称', "提示", { | |
| 264 | + confirmButtonText: "确定", | |
| 265 | + cancelButtonText: "取消" | |
| 266 | + }).then(({value}) => { | |
| 267 | + getTenantIdByName(value).then(res => { | |
| 268 | + const tenantId = res.data; | |
| 269 | + tenant = true | |
| 270 | + if (tenantId && tenantId >= 0) { | |
| 271 | + setTenantId(tenantId) | |
| 272 | + } | |
| 273 | + }); | |
| 274 | + }).catch(() => { | |
| 275 | + return false | |
| 276 | + }); | |
| 277 | + } else { | |
| 278 | + tenant = true | |
| 279 | + } | |
| 280 | + if(tenant){ | |
| 281 | + // 计算 redirectUri | |
| 282 | + const redirectUri = location.origin + '/social-login?' | |
| 283 | + + encodeURIComponent('type=' + socialTypeEnum.type + '&redirect=' + (this.redirect || "/")); // 重定向不能丢 | |
| 284 | + // const redirectUri = 'http://127.0.0.1:48080/api/gitee/callback'; | |
| 285 | + // const redirectUri = 'http://127.0.0.1:48080/api/dingtalk/callback'; | |
| 286 | + // 进行跳转 | |
| 287 | + socialAuthRedirect(socialTypeEnum.type, encodeURIComponent(redirectUri)).then((res) => { | |
| 288 | + // console.log(res.url); | |
| 289 | + window.location.href = res.data; | |
| 290 | + }); | |
| 291 | + } | |
| 270 | 292 | }, |
| 271 | 293 | /** ========== 以下为升级短信登录 ========== */ |
| 272 | 294 | getSmsCode() { | ... | ... |