Commit 1c0d8fc1eb7da8cf87e2f6fdfdae14a3293359f8
Merge remote-tracking branch 'origin/dev' into feature/springdoc
# Conflicts: # yudao-dependencies/pom.xml # yudao-framework/yudao-spring-boot-starter-web/pom.xml # yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java # yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/core/SpringFoxHandlerProviderBeanPostProcessor.java # yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/captcha/CaptchaController.java
Showing
117 changed files
with
2762 additions
and
2558 deletions
Too many changes.
To preserve performance only 100 of 117 files are displayed.
README.md
| ... | ... | @@ -191,19 +191,19 @@ ps:核心功能已经实现,正在对接微信小程序中... |
| 191 | 191 | | [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.7 | [文档](https://github.com/YunaiV/SpringBoot-Labs) | |
| 192 | 192 | | [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | | |
| 193 | 193 | | [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.15 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | |
| 194 | -| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.3 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) | | |
| 194 | +| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) | | |
| 195 | 195 | | [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | |
| 196 | 196 | | [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | | |
| 197 | 197 | | [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.18.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) | |
| 198 | 198 | | [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 5.3.24 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) | |
| 199 | -| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.5 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) | | |
| 199 | +| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.6 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) | | |
| 200 | 200 | | [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.5 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) | |
| 201 | 201 | | [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.8.0 | [文档](https://doc.iocoder.cn/bpm/) | |
| 202 | 202 | | [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) | |
| 203 | 203 | | [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 4.0.0 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) | |
| 204 | 204 | | [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.1 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) | |
| 205 | 205 | | [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.12.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) | |
| 206 | -| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.7.9 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) | | |
| 206 | +| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.7.10 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) | | |
| 207 | 207 | | [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.13.3 | | |
| 208 | 208 | | [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.5.3.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) | |
| 209 | 209 | | [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.24 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) | |
| ... | ... | @@ -227,7 +227,7 @@ ps:核心功能已经实现,正在对接微信小程序中... |
| 227 | 227 | | [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.4 | |
| 228 | 228 | | [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.28 | |
| 229 | 229 | | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | |
| 230 | -| [vxe-table](https://vxetable.cn/) | vue最强表单 | 4.3.7 | | |
| 230 | +| [vxe-table](https://vxetable.cn/) | vue最强表单 | 4.3.9 | | |
| 231 | 231 | |
| 232 | 232 | ### [管理后台 uni-app 跨端](./yudao-ui-admin-uniapp) |
| 233 | 233 | ... | ... |
pom.xml
| ... | ... | @@ -29,15 +29,16 @@ |
| 29 | 29 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 30 | 30 | |
| 31 | 31 | <properties> |
| 32 | - <revision>1.6.5-snapshot</revision> | |
| 32 | + <revision>1.6.6-snapshot</revision> | |
| 33 | 33 | <!-- Maven 相关 --> |
| 34 | 34 | <java.version>1.8</java.version> |
| 35 | 35 | <maven.compiler.source>${java.version}</maven.compiler.source> |
| 36 | 36 | <maven.compiler.target>${java.version}</maven.compiler.target> |
| 37 | 37 | <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> |
| 38 | - <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> | |
| 38 | + <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> | |
| 39 | 39 | <!-- 看看咋放到 bom 里 --> |
| 40 | 40 | <lombok.version>1.18.24</lombok.version> |
| 41 | + <spring.boot.version>2.7.7</spring.boot.version> | |
| 41 | 42 | <mapstruct.version>1.5.3.Final</mapstruct.version> |
| 42 | 43 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| 43 | 44 | </properties> |
| ... | ... | @@ -64,7 +65,8 @@ |
| 64 | 65 | <artifactId>maven-surefire-plugin</artifactId> |
| 65 | 66 | <version>${maven-surefire-plugin.version}</version> |
| 66 | 67 | </plugin> |
| 67 | - <!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 --> | |
| 68 | + <!-- maven-compiler-plugin 插件,解决 spring-boot-configuration-processor + Lombok + MapStruct 组合 --> | |
| 69 | + <!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada --> | |
| 68 | 70 | <plugin> |
| 69 | 71 | <groupId>org.apache.maven.plugins</groupId> |
| 70 | 72 | <artifactId>maven-compiler-plugin</artifactId> |
| ... | ... | @@ -72,6 +74,11 @@ |
| 72 | 74 | <configuration> |
| 73 | 75 | <annotationProcessorPaths> |
| 74 | 76 | <path> |
| 77 | + <groupId>org.springframework.boot</groupId> | |
| 78 | + <artifactId>spring-boot-configuration-processor</artifactId> | |
| 79 | + <version>${spring.boot.version}</version> | |
| 80 | + </path> | |
| 81 | + <path> | |
| 75 | 82 | <groupId>org.projectlombok</groupId> |
| 76 | 83 | <artifactId>lombok</artifactId> |
| 77 | 84 | <version>${lombok.version}</version> | ... | ... |
sql/mysql/optional/vue3-menu.sql
| ... | ... | @@ -262,5 +262,6 @@ INSERT INTO `system_menu` VALUES (1266, '客户端更新', 'system:oauth2-client |
| 262 | 262 | INSERT INTO `system_menu` VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0'); |
| 263 | 263 | INSERT INTO `system_menu` VALUES (1281, '可视化报表', '', 1, 12, 0, '/visualization', 'ep:histogram', NULL, 0, b'1', b'1', '1', '2022-07-10 20:22:15', '1', '2022-07-10 20:33:30', b'0'); |
| 264 | 264 | INSERT INTO `system_menu` VALUES (1282, '积木报表', '', 2, 1, 1281, 'jimu-report', 'ep:histogram', 'visualization/jmreport/index', 0, b'1', b'1', '1', '2022-07-10 20:26:36', '1', '2022-07-28 21:17:34', b'0'); |
| 265 | +INSERT INTO `system_menu` VALUES (1283, 'webSocket连接', '', 2, 14, 2, 'webSocket', 'ep:turn-off', 'infra/webSocket/index', 0, b'1', b'1', '1', '2023-01-01 11:43:04', '1', '2023-01-01 11:43:04', b'0'); | |
| 265 | 266 | |
| 266 | 267 | SET FOREIGN_KEY_CHECKS = 1; | ... | ... |
sql/mysql/ruoyi-vue-pro.sql
| ... | ... | @@ -1710,6 +1710,8 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i |
| 1710 | 1710 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0'); |
| 1711 | 1711 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1281, '可视化报表', '', 1, 12, 0, '/visualization', 'chart', NULL, 0, b'1', b'1', '1', '2022-07-10 20:22:15', '1', '2022-07-10 20:33:30', b'0'); |
| 1712 | 1712 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1282, '积木报表', '', 2, 1, 1281, 'jimu-report', 'example', 'visualization/jmreport/index', 0, b'1', b'1', '1', '2022-07-10 20:26:36', '1', '2022-07-28 21:17:34', b'0'); |
| 1713 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1283, 'webSocket连接', '', 2, 14, 2, 'webSocket', 'message', 'infra/webSocket/index', 0, b'1', b'1', '1', '2023-01-01 11:43:04', '1', '2023-01-01 11:43:04', b'0'); | |
| 1714 | + | |
| 1713 | 1715 | COMMIT; |
| 1714 | 1716 | |
| 1715 | 1717 | -- ---------------------------- | ... | ... |
sql/optional/visualization/jimureport.mysql5.7.create.sql
| ... | ... | @@ -1344,6 +1344,7 @@ CREATE TABLE `jimu_report_share` ( |
| 1344 | 1344 | `last_update_time` datetime NULL DEFAULT NULL COMMENT '最后更新时间', |
| 1345 | 1345 | `term_of_validity` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效期(0:永久有效,1:1天,2:7天)', |
| 1346 | 1346 | `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否过期(0未过期,1已过期)', |
| 1347 | + `preview_lock_status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码锁状态', | |
| 1347 | 1348 | PRIMARY KEY (`id`) USING BTREE |
| 1348 | 1349 | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表预览权限表' ROW_FORMAT = Dynamic; |
| 1349 | 1350 | ... | ... |
yudao-dependencies/pom.xml
| ... | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 15 | 15 | |
| 16 | 16 | <properties> |
| 17 | - <revision>1.6.5-snapshot</revision> | |
| 17 | + <revision>1.6.6-snapshot</revision> | |
| 18 | 18 | <!-- 统一依赖管理 --> |
| 19 | 19 | <spring.boot.version>2.7.7</spring.boot.version> |
| 20 | 20 | <!-- Web 相关 --> |
| ... | ... | @@ -23,8 +23,8 @@ |
| 23 | 23 | <servlet.versoin>2.5</servlet.versoin> |
| 24 | 24 | <!-- DB 相关 --> |
| 25 | 25 | <druid.version>1.2.15</druid.version> |
| 26 | - <mybatis-plus.version>3.5.3</mybatis-plus.version> | |
| 27 | - <mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version> | |
| 26 | + <mybatis-plus.version>3.5.3.1</mybatis-plus.version> | |
| 27 | + <mybatis-plus-generator.version>3.5.3.1</mybatis-plus-generator.version> | |
| 28 | 28 | <dynamic-datasource.version>3.6.1</dynamic-datasource.version> |
| 29 | 29 | <redisson.version>3.18.0</redisson.version> |
| 30 | 30 | <!-- 服务保障相关 --> |
| ... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | <resilience4j.version>1.7.1</resilience4j.version> |
| 33 | 33 | <!-- 监控相关 --> |
| 34 | 34 | <skywalking.version>8.12.0</skywalking.version> |
| 35 | - <spring-boot-admin.version>2.7.9</spring-boot-admin.version> | |
| 35 | + <spring-boot-admin.version>2.7.10</spring-boot-admin.version> | |
| 36 | 36 | <opentracing.version>0.33.0</opentracing.version> |
| 37 | 37 | <!-- Test 测试相关 --> |
| 38 | 38 | <podam.version>7.2.11.RELEASE</podam.version> |
| ... | ... | @@ -41,10 +41,12 @@ |
| 41 | 41 | <!-- Bpm 工作流相关 --> |
| 42 | 42 | <flowable.version>6.8.0</flowable.version> |
| 43 | 43 | <!-- 工具类相关 --> |
| 44 | + <captcha-plus.version>1.0.0</captcha-plus.version> | |
| 45 | + <jsoup.version>1.15.3</jsoup.version> | |
| 44 | 46 | <lombok.version>1.18.24</lombok.version> |
| 45 | 47 | <mapstruct.version>1.5.3.Final</mapstruct.version> |
| 46 | 48 | <hutool.version>5.8.11</hutool.version> |
| 47 | - <easyexcel.verion>3.1.4</easyexcel.verion> | |
| 49 | + <easyexcel.verion>3.1.5</easyexcel.verion> | |
| 48 | 50 | <velocity.version>2.3</velocity.version> |
| 49 | 51 | <screw.version>1.0.5</screw.version> |
| 50 | 52 | <fastjson.version>1.2.83</fastjson.version> |
| ... | ... | @@ -54,16 +56,15 @@ |
| 54 | 56 | <commons-net.version>3.8.0</commons-net.version> |
| 55 | 57 | <jsch.version>0.1.55</jsch.version> |
| 56 | 58 | <tika-core.version>2.6.0</tika-core.version> |
| 57 | - <aj-captcha.version>1.3.0</aj-captcha.version> | |
| 58 | 59 | <netty-all.version>4.1.86.Final</netty-all.version> |
| 59 | 60 | <ip2region.version>2.6.6</ip2region.version> |
| 60 | 61 | <!-- 三方云服务相关 --> |
| 61 | 62 | <okio.version>3.0.0</okio.version> |
| 62 | 63 | <okhttp3.version>4.10.0</okhttp3.version> |
| 63 | - <minio.version>8.4.6</minio.version> | |
| 64 | + <minio.version>8.5.1</minio.version> | |
| 64 | 65 | <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version> |
| 65 | 66 | <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version> |
| 66 | - <tencentcloud-sdk-java.version>3.1.660</tencentcloud-sdk-java.version> | |
| 67 | + <tencentcloud-sdk-java.version>3.1.676</tencentcloud-sdk-java.version> | |
| 67 | 68 | <justauth.version>1.4.0</justauth.version> |
| 68 | 69 | <jimureport.version>1.5.6</jimureport.version> |
| 69 | 70 | <xercesImpl.version>2.12.2</xercesImpl.version> |
| ... | ... | @@ -440,12 +441,6 @@ |
| 440 | 441 | </dependency> |
| 441 | 442 | |
| 442 | 443 | <dependency> |
| 443 | - <groupId>com.anji-plus</groupId> | |
| 444 | - <artifactId>spring-boot-starter-captcha</artifactId> | |
| 445 | - <version>${aj-captcha.version}</version> | |
| 446 | - </dependency> | |
| 447 | - | |
| 448 | - <dependency> | |
| 449 | 444 | <groupId>org.apache.velocity</groupId> |
| 450 | 445 | <artifactId>velocity-engine-core</artifactId> |
| 451 | 446 | <version>${velocity.version}</version> |
| ... | ... | @@ -510,11 +505,23 @@ |
| 510 | 505 | </dependency> |
| 511 | 506 | |
| 512 | 507 | <dependency> |
| 508 | + <groupId>com.xingyuv</groupId> | |
| 509 | + <artifactId>spring-boot-starter-captcha-plus</artifactId> | |
| 510 | + <version>${captcha-plus.version}</version> | |
| 511 | + </dependency> | |
| 512 | + | |
| 513 | + <dependency> | |
| 513 | 514 | <groupId>org.lionsoul</groupId> |
| 514 | 515 | <artifactId>ip2region</artifactId> |
| 515 | 516 | <version>${ip2region.version}</version> |
| 516 | 517 | </dependency> |
| 517 | 518 | |
| 519 | + <dependency> | |
| 520 | + <groupId>org.jsoup</groupId> | |
| 521 | + <artifactId>jsoup</artifactId> | |
| 522 | + <version>${jsoup.version}</version> | |
| 523 | + </dependency> | |
| 524 | + | |
| 518 | 525 | <!-- 三方云服务相关 --> |
| 519 | 526 | <dependency> |
| 520 | 527 | <groupId>com.squareup.okio</groupId> |
| ... | ... | @@ -588,6 +595,12 @@ |
| 588 | 595 | <artifactId>xercesImpl</artifactId> |
| 589 | 596 | <version>${xercesImpl.version}</version> |
| 590 | 597 | </dependency> |
| 598 | + <!-- SpringBoot Websocket --> | |
| 599 | + <dependency> | |
| 600 | + <groupId>org.springframework.boot</groupId> | |
| 601 | + <artifactId>spring-boot-starter-websocket</artifactId> | |
| 602 | + <version>${spring.boot.version}</version> | |
| 603 | + </dependency> | |
| 591 | 604 | </dependencies> |
| 592 | 605 | </dependencyManagement> |
| 593 | 606 | ... | ... |
yudao-framework/pom.xml
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/validation/ValidationUtils.java
yudao-framework/yudao-spring-boot-starter-biz-pay/pom.xml
yudao-framework/yudao-spring-boot-starter-captcha/pom.xml
| ... | ... | @@ -17,6 +17,10 @@ |
| 17 | 17 | </description> |
| 18 | 18 | |
| 19 | 19 | <dependencies> |
| 20 | + <dependency> | |
| 21 | + <groupId>com.xingyuv</groupId> | |
| 22 | + <artifactId>spring-boot-starter-captcha-plus</artifactId> | |
| 23 | + </dependency> | |
| 20 | 24 | <!-- Spring 核心 --> |
| 21 | 25 | <dependency> |
| 22 | 26 | <groupId>org.springframework.boot</groupId> |
| ... | ... | @@ -29,11 +33,6 @@ |
| 29 | 33 | <artifactId>yudao-spring-boot-starter-redis</artifactId> |
| 30 | 34 | </dependency> |
| 31 | 35 | |
| 32 | - <!-- 验证码相关 --> | |
| 33 | - <dependency> | |
| 34 | - <groupId>com.anji-plus</groupId> | |
| 35 | - <artifactId>spring-boot-starter-captcha</artifactId> | |
| 36 | - </dependency> | |
| 37 | 36 | </dependencies> |
| 38 | 37 | |
| 39 | 38 | </project> | ... | ... |
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java
| ... | ... | @@ -2,12 +2,9 @@ package cn.iocoder.yudao.framework.captcha.core.enums; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine; |
| 4 | 4 | import com.anji.captcha.model.vo.PointVO; |
| 5 | -import org.redisson.api.RLock; | |
| 6 | 5 | |
| 7 | 6 | import java.time.Duration; |
| 8 | -import java.util.Map; | |
| 9 | 7 | |
| 10 | -import static cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.KeyTypeEnum.HASH; | |
| 11 | 8 | import static cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.KeyTypeEnum.STRING; |
| 12 | 9 | |
| 13 | 10 | /** | ... | ... |
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java
| ... | ... | @@ -3,7 +3,6 @@ package cn.iocoder.yudao.framework.captcha.core.service; |
| 3 | 3 | import com.anji.captcha.service.CaptchaCacheService; |
| 4 | 4 | import lombok.AllArgsConstructor; |
| 5 | 5 | import lombok.NoArgsConstructor; |
| 6 | -import lombok.RequiredArgsConstructor; | |
| 7 | 6 | import org.springframework.data.redis.core.StringRedisTemplate; |
| 8 | 7 | |
| 9 | 8 | import javax.annotation.Resource; | ... | ... |
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/mapper/BaseMapperX.java
| ... | ... | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.mybatis.core.mapper; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | 5 | import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; |
| 7 | 6 | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| 8 | 7 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| ... | ... | @@ -10,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 10 | 9 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 11 | 10 | import com.baomidou.mybatisplus.core.metadata.IPage; |
| 12 | 11 | import com.baomidou.mybatisplus.core.toolkit.support.SFunction; |
| 12 | +import com.baomidou.mybatisplus.extension.toolkit.Db; | |
| 13 | 13 | import org.apache.ibatis.annotations.Param; |
| 14 | 14 | |
| 15 | 15 | import java.util.Collection; |
| ... | ... | @@ -92,8 +92,22 @@ public interface BaseMapperX<T> extends BaseMapper<T> { |
| 92 | 92 | entities.forEach(this::insert); |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | + /** | |
| 96 | + * 批量插入,适合大量数据插入 | |
| 97 | + * | |
| 98 | + * @param entities 实体们 | |
| 99 | + * @param size 插入数量 Db.saveBatch 默认为1000 | |
| 100 | + */ | |
| 101 | + default void insertBatch(Collection<T> entities, int size) { | |
| 102 | + Db.saveBatch(entities, size); | |
| 103 | + } | |
| 104 | + | |
| 95 | 105 | default void updateBatch(T update) { |
| 96 | 106 | update(update, new QueryWrapper<>()); |
| 97 | 107 | } |
| 98 | 108 | |
| 109 | + default void updateBatch(Collection<T> entities, int size) { | |
| 110 | + Db.updateBatchById(entities, size); | |
| 111 | + } | |
| 112 | + | |
| 99 | 113 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java
| ... | ... | @@ -129,6 +129,8 @@ public class YudaoWebSecurityConfigurerAdapter { |
| 129 | 129 | .antMatchers(buildAppApi("/**")).permitAll() |
| 130 | 130 | // 1.5 验证码captcha 允许匿名访问 |
| 131 | 131 | .antMatchers("/captcha/get", "/captcha/check").permitAll() |
| 132 | + // 1.6 webSocket 允许匿名访问 | |
| 133 | + .antMatchers("/websocket/message").permitAll() | |
| 132 | 134 | // ②:每个项目的自定义规则 |
| 133 | 135 | .and().authorizeRequests(registry -> // 下面,循环设置自定义规则 |
| 134 | 136 | authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(registry))) | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/pom.xml
| ... | ... | @@ -68,6 +68,12 @@ |
| 68 | 68 | <scope>provided</scope> <!-- 设置为 provided,主要是 GlobalExceptionHandler 使用 --> |
| 69 | 69 | </dependency> |
| 70 | 70 | |
| 71 | + <!-- xss --> | |
| 72 | + <dependency> | |
| 73 | + <groupId>org.jsoup</groupId> | |
| 74 | + <artifactId>jsoup</artifactId> | |
| 75 | + </dependency> | |
| 76 | + | |
| 71 | 77 | </dependencies> |
| 72 | 78 | |
| 73 | 79 | </project> | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
| ... | ... | @@ -2,15 +2,22 @@ package cn.iocoder.yudao.framework.web.config; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkService; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum; |
| 5 | +import cn.iocoder.yudao.framework.web.core.clean.JsoupXssCleaner; | |
| 6 | +import cn.iocoder.yudao.framework.web.core.clean.XssCleaner; | |
| 5 | 7 | import cn.iocoder.yudao.framework.web.core.filter.CacheRequestBodyFilter; |
| 6 | 8 | import cn.iocoder.yudao.framework.web.core.filter.DemoFilter; |
| 7 | 9 | import cn.iocoder.yudao.framework.web.core.filter.XssFilter; |
| 8 | 10 | import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; |
| 9 | 11 | import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; |
| 12 | +import cn.iocoder.yudao.framework.web.core.json.XssStringJsonDeserializer; | |
| 10 | 13 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 14 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 11 | 15 | import org.springframework.beans.factory.annotation.Value; |
| 12 | 16 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| 17 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | |
| 18 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |
| 13 | 19 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| 20 | +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; | |
| 14 | 21 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 15 | 22 | import org.springframework.boot.web.servlet.FilterRegistrationBean; |
| 16 | 23 | import org.springframework.context.annotation.Bean; |
| ... | ... | @@ -48,7 +55,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { |
| 48 | 55 | * 设置 API 前缀,仅仅匹配 controller 包下的 |
| 49 | 56 | * |
| 50 | 57 | * @param configurer 配置 |
| 51 | - * @param api API 配置 | |
| 58 | + * @param api API 配置 | |
| 52 | 59 | */ |
| 53 | 60 | private void configurePathMatch(PathMatchConfigurer configurer, WebProperties.Api api) { |
| 54 | 61 | AntPathMatcher antPathMatcher = new AntPathMatcher("."); |
| ... | ... | @@ -104,8 +111,9 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { |
| 104 | 111 | * 创建 XssFilter Bean,解决 Xss 安全问题 |
| 105 | 112 | */ |
| 106 | 113 | @Bean |
| 107 | - public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher) { | |
| 108 | - return createFilterBean(new XssFilter(properties, pathMatcher), WebFilterOrderEnum.XSS_FILTER); | |
| 114 | + @ConditionalOnBean(XssCleaner.class) | |
| 115 | + public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher, XssCleaner xssCleaner) { | |
| 116 | + return createFilterBean(new XssFilter(properties, pathMatcher, xssCleaner), WebFilterOrderEnum.XSS_FILTER); | |
| 109 | 117 | } |
| 110 | 118 | |
| 111 | 119 | /** |
| ... | ... | @@ -117,6 +125,32 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { |
| 117 | 125 | return createFilterBean(new DemoFilter(), WebFilterOrderEnum.DEMO_FILTER); |
| 118 | 126 | } |
| 119 | 127 | |
| 128 | + | |
| 129 | + /** | |
| 130 | + * Xss 清理者 | |
| 131 | + * | |
| 132 | + * @return XssCleaner | |
| 133 | + */ | |
| 134 | + @Bean | |
| 135 | + @ConditionalOnMissingBean(XssCleaner.class) | |
| 136 | + public XssCleaner xssCleaner() { | |
| 137 | + return new JsoupXssCleaner(); | |
| 138 | + } | |
| 139 | + | |
| 140 | + /** | |
| 141 | + * 注册 Jackson 的序列化器,用于处理 json 类型参数的 xss 过滤 | |
| 142 | + * | |
| 143 | + * @return Jackson2ObjectMapperBuilderCustomizer | |
| 144 | + */ | |
| 145 | + @Bean | |
| 146 | + @ConditionalOnMissingBean(name = "xssJacksonCustomizer") | |
| 147 | + @ConditionalOnBean(ObjectMapper.class) | |
| 148 | + @ConditionalOnProperty(value = "yudao.xss.enable", havingValue = "true") | |
| 149 | + public Jackson2ObjectMapperBuilderCustomizer xssJacksonCustomizer(XssCleaner xssCleaner) { | |
| 150 | + // 在反序列化时进行 xss 过滤,可以替换使用 XssStringJsonSerializer,在序列化时进行处理 | |
| 151 | + return builder -> builder.deserializerByType(String.class, new XssStringJsonDeserializer(xssCleaner)); | |
| 152 | + } | |
| 153 | + | |
| 120 | 154 | private static <T extends Filter> FilterRegistrationBean<T> createFilterBean(T filter, Integer order) { |
| 121 | 155 | FilterRegistrationBean<T> bean = new FilterRegistrationBean<>(filter); |
| 122 | 156 | bean.setOrder(order); | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/clean/JsoupXssCleaner.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.web.core.clean; | |
| 2 | + | |
| 3 | +import org.jsoup.Jsoup; | |
| 4 | +import org.jsoup.nodes.Document; | |
| 5 | +import org.jsoup.safety.Safelist; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * jsonp 过滤字符串 | |
| 9 | + */ | |
| 10 | +public class JsoupXssCleaner implements XssCleaner { | |
| 11 | + | |
| 12 | + private final Safelist safelist; | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * 用于在 src 属性使用相对路径时,强制转换为绝对路径。 为空时不处理,值应为绝对路径的前缀(包含协议部分) | |
| 16 | + */ | |
| 17 | + private final String baseUri; | |
| 18 | + | |
| 19 | + /** | |
| 20 | + * 无参构造,默认使用 {@link JsoupXssCleaner#buildSafelist} 方法构建一个安全列表 | |
| 21 | + */ | |
| 22 | + public JsoupXssCleaner() { | |
| 23 | + this.safelist = buildSafelist(); | |
| 24 | + this.baseUri = ""; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public JsoupXssCleaner(Safelist safelist) { | |
| 28 | + this.safelist = safelist; | |
| 29 | + this.baseUri = ""; | |
| 30 | + } | |
| 31 | + | |
| 32 | + public JsoupXssCleaner(String baseUri) { | |
| 33 | + this.safelist = buildSafelist(); | |
| 34 | + this.baseUri = baseUri; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public JsoupXssCleaner(Safelist safelist, String baseUri) { | |
| 38 | + this.safelist = safelist; | |
| 39 | + this.baseUri = baseUri; | |
| 40 | + } | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * 构建一个 Xss 清理的 Safelist 规则。 | |
| 44 | + * 基于 Safelist#relaxed() 的基础上: | |
| 45 | + * 1. 扩展支持了 style 和 class 属性 | |
| 46 | + * 2. a 标签额外支持了 target 属性 | |
| 47 | + * 3. img 标签额外支持了 data 协议,便于支持 base64 | |
| 48 | + * | |
| 49 | + * @return Safelist | |
| 50 | + */ | |
| 51 | + private Safelist buildSafelist() { | |
| 52 | + // 使用 jsoup 提供的默认的 | |
| 53 | + Safelist relaxedSafelist = Safelist.relaxed(); | |
| 54 | + // 富文本编辑时一些样式是使用 style 来进行实现的 | |
| 55 | + // 比如红色字体 style="color:red;", 所以需要给所有标签添加 style 属性 | |
| 56 | + // 注意:style 属性会有注入风险 <img STYLE="background-image:url(javascript:alert('XSS'))"> | |
| 57 | + relaxedSafelist.addAttributes(":all", "style", "class"); | |
| 58 | + // 保留 a 标签的 target 属性 | |
| 59 | + relaxedSafelist.addAttributes("a", "target"); | |
| 60 | + // 支持img 为base64 | |
| 61 | + relaxedSafelist.addProtocols("img", "src", "data"); | |
| 62 | + | |
| 63 | + // 保留相对路径, 保留相对路径时,必须提供对应的 baseUri 属性,否则依然会被删除 | |
| 64 | + // WHITELIST.preserveRelativeLinks(false); | |
| 65 | + | |
| 66 | + // 移除 a 标签和 img 标签的一些协议限制,这会导致 xss 防注入失效,如 <img src=javascript:alert("xss")> | |
| 67 | + // 虽然可以重写 WhiteList#isSafeAttribute 来处理,但是有隐患,所以暂时不支持相对路径 | |
| 68 | + // WHITELIST.removeProtocols("a", "href", "ftp", "http", "https", "mailto"); | |
| 69 | + // WHITELIST.removeProtocols("img", "src", "http", "https"); | |
| 70 | + | |
| 71 | + return relaxedSafelist; | |
| 72 | + } | |
| 73 | + | |
| 74 | + @Override | |
| 75 | + public String clean(String html) { | |
| 76 | + return Jsoup.clean(html, baseUri, safelist, new Document.OutputSettings().prettyPrint(false)); | |
| 77 | + } | |
| 78 | + | |
| 79 | +} | |
| 80 | + | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/clean/XssCleaner.java
0 → 100644
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/XssFilter.java
| 1 | 1 | package cn.iocoder.yudao.framework.web.core.filter; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.web.config.XssProperties; |
| 4 | +import cn.iocoder.yudao.framework.web.core.clean.XssCleaner; | |
| 4 | 5 | import lombok.AllArgsConstructor; |
| 5 | 6 | import org.springframework.util.PathMatcher; |
| 6 | 7 | import org.springframework.web.filter.OncePerRequestFilter; |
| ... | ... | @@ -13,7 +14,7 @@ import java.io.IOException; |
| 13 | 14 | |
| 14 | 15 | /** |
| 15 | 16 | * Xss 过滤器 |
| 16 | - * | |
| 17 | + * <p> | |
| 17 | 18 | * 对 Xss 不了解的胖友,可以看看 http://www.iocoder.cn/Fight/The-new-girl-asked-me-why-AJAX-requests-are-not-secure-I-did-not-answer/ |
| 18 | 19 | * |
| 19 | 20 | * @author 芋道源码 |
| ... | ... | @@ -30,10 +31,12 @@ public class XssFilter extends OncePerRequestFilter { |
| 30 | 31 | */ |
| 31 | 32 | private final PathMatcher pathMatcher; |
| 32 | 33 | |
| 34 | + private final XssCleaner xssCleaner; | |
| 35 | + | |
| 33 | 36 | @Override |
| 34 | 37 | protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) |
| 35 | 38 | throws IOException, ServletException { |
| 36 | - filterChain.doFilter(new XssRequestWrapper(request), response); | |
| 39 | + filterChain.doFilter(new XssRequestWrapper(request, xssCleaner), response); | |
| 37 | 40 | } |
| 38 | 41 | |
| 39 | 42 | @Override | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/XssRequestWrapper.java
| 1 | 1 | package cn.iocoder.yudao.framework.web.core.filter; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | -import cn.hutool.core.io.IoUtil; | |
| 5 | -import cn.hutool.core.util.ArrayUtil; | |
| 6 | -import cn.hutool.core.util.ReflectUtil; | |
| 7 | -import cn.hutool.core.util.StrUtil; | |
| 8 | -import cn.hutool.http.HTMLFilter; | |
| 9 | -import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; | |
| 3 | +import cn.iocoder.yudao.framework.web.core.clean.XssCleaner; | |
| 10 | 4 | |
| 11 | -import javax.servlet.ReadListener; | |
| 12 | -import javax.servlet.ServletInputStream; | |
| 13 | 5 | import javax.servlet.http.HttpServletRequest; |
| 14 | 6 | import javax.servlet.http.HttpServletRequestWrapper; |
| 15 | -import java.io.BufferedReader; | |
| 16 | -import java.io.ByteArrayInputStream; | |
| 17 | -import java.io.IOException; | |
| 18 | -import java.io.InputStreamReader; | |
| 7 | +import java.util.LinkedHashMap; | |
| 19 | 8 | import java.util.Map; |
| 20 | 9 | |
| 21 | 10 | /** |
| ... | ... | @@ -24,113 +13,79 @@ import java.util.Map; |
| 24 | 13 | * @author 芋道源码 |
| 25 | 14 | */ |
| 26 | 15 | public class XssRequestWrapper extends HttpServletRequestWrapper { |
| 16 | + private final XssCleaner xssCleaner; | |
| 27 | 17 | |
| 28 | - /** | |
| 29 | - * 基于线程级别的 HTMLFilter 对象,因为它线程非安全 | |
| 30 | - */ | |
| 31 | - private static final ThreadLocal<HTMLFilter> HTML_FILTER = ThreadLocal.withInitial(() -> { | |
| 32 | - HTMLFilter htmlFilter = new HTMLFilter(); | |
| 33 | - // 反射修改 encodeQuotes 属性为 false,避免 " 被转移成 " 字符 | |
| 34 | - ReflectUtil.setFieldValue(htmlFilter, "encodeQuotes", false); | |
| 35 | - return htmlFilter; | |
| 36 | - }); | |
| 37 | - | |
| 38 | - public XssRequestWrapper(HttpServletRequest request) { | |
| 18 | + public XssRequestWrapper(HttpServletRequest request, XssCleaner xssCleaner) { | |
| 39 | 19 | super(request); |
| 20 | + this.xssCleaner = xssCleaner; | |
| 40 | 21 | } |
| 41 | 22 | |
| 42 | - private static String filterXss(String content) { | |
| 43 | - if (StrUtil.isEmpty(content)) { | |
| 44 | - return content; | |
| 45 | - } | |
| 46 | - return HTML_FILTER.get().filter(content); | |
| 47 | - } | |
| 48 | - | |
| 49 | - // ========== IO 流相关 ========== | |
| 50 | - | |
| 23 | + // ============================ parameter ============================ | |
| 51 | 24 | @Override |
| 52 | - public BufferedReader getReader() throws IOException { | |
| 53 | - return new BufferedReader(new InputStreamReader(this.getInputStream())); | |
| 25 | + public Map<String, String[]> getParameterMap() { | |
| 26 | + Map<String, String[]> map = new LinkedHashMap<>(); | |
| 27 | + Map<String, String[]> parameters = super.getParameterMap(); | |
| 28 | + for (Map.Entry<String, String[]> entry : parameters.entrySet()) { | |
| 29 | + String[] values = entry.getValue(); | |
| 30 | + for (int i = 0; i < values.length; i++) { | |
| 31 | + values[i] = xssCleaner.clean(values[i]); | |
| 32 | + } | |
| 33 | + map.put(entry.getKey(), values); | |
| 34 | + } | |
| 35 | + return map; | |
| 54 | 36 | } |
| 55 | 37 | |
| 56 | 38 | @Override |
| 57 | - public ServletInputStream getInputStream() throws IOException { | |
| 58 | - // 如果非 json 请求,不进行 Xss 处理 | |
| 59 | - if (!ServletUtils.isJsonRequest(this)) { | |
| 60 | - return super.getInputStream(); | |
| 39 | + public String[] getParameterValues(String name) { | |
| 40 | + String[] values = super.getParameterValues(name); | |
| 41 | + if (values == null) { | |
| 42 | + return null; | |
| 61 | 43 | } |
| 62 | - | |
| 63 | - // 读取内容,并过滤 | |
| 64 | - String content = IoUtil.readUtf8(super.getInputStream()); | |
| 65 | - content = filterXss(content); | |
| 66 | - final ByteArrayInputStream newInputStream = new ByteArrayInputStream(content.getBytes()); | |
| 67 | - // 返回 ServletInputStream | |
| 68 | - return new ServletInputStream() { | |
| 69 | - | |
| 70 | - @Override | |
| 71 | - public int read() { | |
| 72 | - return newInputStream.read(); | |
| 73 | - } | |
| 74 | - | |
| 75 | - @Override | |
| 76 | - public boolean isFinished() { | |
| 77 | - return true; | |
| 78 | - } | |
| 79 | - | |
| 80 | - @Override | |
| 81 | - public boolean isReady() { | |
| 82 | - return true; | |
| 83 | - } | |
| 84 | - | |
| 85 | - @Override | |
| 86 | - public void setReadListener(ReadListener readListener) {} | |
| 87 | - | |
| 88 | - }; | |
| 44 | + int count = values.length; | |
| 45 | + String[] encodedValues = new String[count]; | |
| 46 | + for (int i = 0; i < count; i++) { | |
| 47 | + encodedValues[i] = xssCleaner.clean(values[i]); | |
| 48 | + } | |
| 49 | + return encodedValues; | |
| 89 | 50 | } |
| 90 | 51 | |
| 91 | - // ========== Param 相关 ========== | |
| 92 | - | |
| 93 | 52 | @Override |
| 94 | 53 | public String getParameter(String name) { |
| 95 | 54 | String value = super.getParameter(name); |
| 96 | - return filterXss(value); | |
| 55 | + if (value == null) { | |
| 56 | + return null; | |
| 57 | + } | |
| 58 | + return xssCleaner.clean(value); | |
| 97 | 59 | } |
| 98 | 60 | |
| 61 | + // ============================ attribute ============================ | |
| 99 | 62 | @Override |
| 100 | - public String[] getParameterValues(String name) { | |
| 101 | - String[] values = super.getParameterValues(name); | |
| 102 | - if (ArrayUtil.isEmpty(values)) { | |
| 103 | - return values; | |
| 104 | - } | |
| 105 | - // 过滤处理 | |
| 106 | - for (int i = 0; i < values.length; i++) { | |
| 107 | - values[i] = filterXss(values[i]); | |
| 63 | + public Object getAttribute(String name) { | |
| 64 | + Object value = super.getAttribute(name); | |
| 65 | + if (value instanceof String) { | |
| 66 | + xssCleaner.clean((String) value); | |
| 108 | 67 | } |
| 109 | - return values; | |
| 68 | + return value; | |
| 110 | 69 | } |
| 111 | 70 | |
| 71 | + // ============================ header ============================ | |
| 112 | 72 | @Override |
| 113 | - public Map<String, String[]> getParameterMap() { | |
| 114 | - Map<String, String[]> valueMap = super.getParameterMap(); | |
| 115 | - if (CollUtil.isEmpty(valueMap)) { | |
| 116 | - return valueMap; | |
| 117 | - } | |
| 118 | - // 过滤处理 | |
| 119 | - for (Map.Entry<String, String[]> entry : valueMap.entrySet()) { | |
| 120 | - String[] values = entry.getValue(); | |
| 121 | - for (int i = 0; i < values.length; i++) { | |
| 122 | - values[i] = filterXss(values[i]); | |
| 123 | - } | |
| 73 | + public String getHeader(String name) { | |
| 74 | + String value = super.getHeader(name); | |
| 75 | + if (value == null) { | |
| 76 | + return null; | |
| 124 | 77 | } |
| 125 | - return valueMap; | |
| 78 | + return xssCleaner.clean(value); | |
| 126 | 79 | } |
| 127 | 80 | |
| 128 | - // ========== Header 相关 ========== | |
| 129 | - | |
| 81 | + // ============================ queryString ============================ | |
| 130 | 82 | @Override |
| 131 | - public String getHeader(String name) { | |
| 132 | - String value = super.getHeader(name); | |
| 133 | - return filterXss(value); | |
| 83 | + public String getQueryString() { | |
| 84 | + String value = super.getQueryString(); | |
| 85 | + if (value == null) { | |
| 86 | + return null; | |
| 87 | + } | |
| 88 | + return xssCleaner.clean(value); | |
| 134 | 89 | } |
| 135 | 90 | |
| 136 | 91 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/json/XssStringJsonDeserializer.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.web.core.json; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.web.core.clean.XssCleaner; | |
| 4 | +import com.fasterxml.jackson.core.JsonParser; | |
| 5 | +import com.fasterxml.jackson.core.JsonToken; | |
| 6 | +import com.fasterxml.jackson.databind.DeserializationContext; | |
| 7 | +import com.fasterxml.jackson.databind.deser.std.StringDeserializer; | |
| 8 | +import lombok.AllArgsConstructor; | |
| 9 | +import lombok.extern.slf4j.Slf4j; | |
| 10 | + | |
| 11 | +import java.io.IOException; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * XSS 过滤 jackson 反序列化器。 | |
| 15 | + * 在反序列化的过程中,会对字符串进行 XSS 过滤。 | |
| 16 | + * | |
| 17 | + * @author Hccake | |
| 18 | + */ | |
| 19 | +@Slf4j | |
| 20 | +@AllArgsConstructor | |
| 21 | +public class XssStringJsonDeserializer extends StringDeserializer { | |
| 22 | + | |
| 23 | + private final XssCleaner xssCleaner; | |
| 24 | + | |
| 25 | + @Override | |
| 26 | + public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { | |
| 27 | + if (p.hasToken(JsonToken.VALUE_STRING)) { | |
| 28 | + return xssCleaner.clean(p.getText()); | |
| 29 | + } | |
| 30 | + JsonToken t = p.currentToken(); | |
| 31 | + // [databind#381] | |
| 32 | + if (t == JsonToken.START_ARRAY) { | |
| 33 | + return _deserializeFromArray(p, ctxt); | |
| 34 | + } | |
| 35 | + // need to gracefully handle byte[] data, as base64 | |
| 36 | + if (t == JsonToken.VALUE_EMBEDDED_OBJECT) { | |
| 37 | + Object ob = p.getEmbeddedObject(); | |
| 38 | + if (ob == null) { | |
| 39 | + return null; | |
| 40 | + } | |
| 41 | + if (ob instanceof byte[]) { | |
| 42 | + return ctxt.getBase64Variant().encode((byte[]) ob, false); | |
| 43 | + } | |
| 44 | + // otherwise, try conversion using toString()... | |
| 45 | + return ob.toString(); | |
| 46 | + } | |
| 47 | + // 29-Jun-2020, tatu: New! "Scalar from Object" (mostly for XML) | |
| 48 | + if (t == JsonToken.START_OBJECT) { | |
| 49 | + return ctxt.extractScalarFromObject(p, this, _valueClass); | |
| 50 | + } | |
| 51 | + | |
| 52 | + if (t.isScalarValue()) { | |
| 53 | + String text = p.getValueAsString(); | |
| 54 | + return xssCleaner.clean(text); | |
| 55 | + } | |
| 56 | + return (String) ctxt.handleUnexpectedToken(_valueClass, p); | |
| 57 | + } | |
| 58 | +} | |
| 59 | + | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/pom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | |
| 3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| 4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| 5 | + <parent> | |
| 6 | + <groupId>cn.iocoder.boot</groupId> | |
| 7 | + <artifactId>yudao-framework</artifactId> | |
| 8 | + <version>${revision}</version> | |
| 9 | + </parent> | |
| 10 | + <modelVersion>4.0.0</modelVersion> | |
| 11 | + <artifactId>yudao-spring-boot-starter-websocket</artifactId> | |
| 12 | + <packaging>jar</packaging> | |
| 13 | + | |
| 14 | + <name>${project.artifactId}</name> | |
| 15 | + <description>WebSocket</description> | |
| 16 | + <url>https://github.com/YunaiV/ruoyi-vue-pro</url> | |
| 17 | + | |
| 18 | + | |
| 19 | + <dependencies> | |
| 20 | + | |
| 21 | + <dependency> | |
| 22 | + <groupId>cn.iocoder.boot</groupId> | |
| 23 | + <artifactId>yudao-common</artifactId> | |
| 24 | + </dependency> | |
| 25 | + | |
| 26 | + <dependency> | |
| 27 | + <groupId>cn.iocoder.boot</groupId> | |
| 28 | + <artifactId>yudao-spring-boot-starter-security</artifactId> | |
| 29 | + </dependency> | |
| 30 | + | |
| 31 | + <dependency> | |
| 32 | + <groupId>org.springframework.boot</groupId> | |
| 33 | + <artifactId>spring-boot-starter-websocket</artifactId> | |
| 34 | + </dependency> | |
| 35 | + </dependencies> | |
| 36 | + | |
| 37 | +</project> | |
| 0 | 38 | \ No newline at end of file | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/config/WebSocketHandlerConfig.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.config; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.websocket.core.UserHandshakeInterceptor; | |
| 4 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | |
| 5 | +import org.springframework.context.annotation.Bean; | |
| 6 | +import org.springframework.web.socket.server.HandshakeInterceptor; | |
| 7 | + | |
| 8 | +@EnableConfigurationProperties(WebSocketProperties.class) | |
| 9 | +public class WebSocketHandlerConfig { | |
| 10 | + @Bean | |
| 11 | + public HandshakeInterceptor handshakeInterceptor() { | |
| 12 | + return new UserHandshakeInterceptor(); | |
| 13 | + } | |
| 14 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/config/WebSocketProperties.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.config; | |
| 2 | + | |
| 3 | +import lombok.Data; | |
| 4 | +import org.springframework.boot.context.properties.ConfigurationProperties; | |
| 5 | +import org.springframework.validation.annotation.Validated; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * WebSocket 配置项 | |
| 9 | + * | |
| 10 | + * @author xingyu4j | |
| 11 | + */ | |
| 12 | +@ConfigurationProperties("yudao.websocket") | |
| 13 | +@Data | |
| 14 | +@Validated | |
| 15 | +public class WebSocketProperties { | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * 路径 | |
| 19 | + */ | |
| 20 | + private String path = ""; | |
| 21 | + /** | |
| 22 | + * 默认最多允许同时在线用户数 | |
| 23 | + */ | |
| 24 | + private int maxOnlineCount = 0; | |
| 25 | + /** | |
| 26 | + * 是否保存session | |
| 27 | + */ | |
| 28 | + private boolean sessionMap = true; | |
| 29 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/config/YudaoWebSocketAutoConfiguration.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.config; | |
| 2 | + | |
| 3 | +import org.springframework.boot.autoconfigure.AutoConfiguration; | |
| 4 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |
| 5 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |
| 6 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | |
| 7 | +import org.springframework.context.annotation.Bean; | |
| 8 | +import org.springframework.web.socket.WebSocketHandler; | |
| 9 | +import org.springframework.web.socket.config.annotation.WebSocketConfigurer; | |
| 10 | +import org.springframework.web.socket.server.HandshakeInterceptor; | |
| 11 | + | |
| 12 | +import java.util.List; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * WebSocket 自动配置 | |
| 16 | + * | |
| 17 | + * @author xingyu4j | |
| 18 | + */ | |
| 19 | +@AutoConfiguration | |
| 20 | +// 允许使用 yudao.websocket.enable=false 禁用websocket | |
| 21 | +@ConditionalOnProperty(prefix = "yudao.websocket", value = "enable", matchIfMissing = true) | |
| 22 | +@EnableConfigurationProperties(WebSocketProperties.class) | |
| 23 | +public class YudaoWebSocketAutoConfiguration { | |
| 24 | + @Bean | |
| 25 | + @ConditionalOnMissingBean | |
| 26 | + public WebSocketConfigurer webSocketConfigurer(List<HandshakeInterceptor> handshakeInterceptor, | |
| 27 | + WebSocketHandler webSocketHandler, | |
| 28 | + WebSocketProperties webSocketProperties) { | |
| 29 | + | |
| 30 | + return registry -> registry | |
| 31 | + .addHandler(webSocketHandler, webSocketProperties.getPath()) | |
| 32 | + .addInterceptors(handshakeInterceptor.toArray(new HandshakeInterceptor[0])); | |
| 33 | + } | |
| 34 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/UserHandshakeInterceptor.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.core; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 4 | +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | |
| 5 | +import org.springframework.http.server.ServerHttpRequest; | |
| 6 | +import org.springframework.http.server.ServerHttpResponse; | |
| 7 | +import org.springframework.web.socket.WebSocketHandler; | |
| 8 | +import org.springframework.web.socket.server.HandshakeInterceptor; | |
| 9 | + | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +public class UserHandshakeInterceptor implements HandshakeInterceptor { | |
| 13 | + @Override | |
| 14 | + public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception { | |
| 15 | + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); | |
| 16 | + attributes.put(WebSocketKeyDefine.LOGIN_USER, loginUser); | |
| 17 | + return true; | |
| 18 | + } | |
| 19 | + | |
| 20 | + @Override | |
| 21 | + public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) { | |
| 22 | + | |
| 23 | + } | |
| 24 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/WebSocketKeyDefine.java
0 → 100644
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/WebSocketMessageDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.core; | |
| 2 | + | |
| 3 | +import lombok.Data; | |
| 4 | +import lombok.experimental.Accessors; | |
| 5 | + | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +@Data | |
| 9 | +@Accessors(chain = true) | |
| 10 | +public class WebSocketMessageDO { | |
| 11 | + /** | |
| 12 | + * 接收消息的seesion | |
| 13 | + */ | |
| 14 | + private List<Object> seesionKeyList; | |
| 15 | + /** | |
| 16 | + * 发送消息 | |
| 17 | + */ | |
| 18 | + private String msgText; | |
| 19 | + | |
| 20 | + public static WebSocketMessageDO build(List<Object> seesionKeyList, String msgText) { | |
| 21 | + return new WebSocketMessageDO().setMsgText(msgText).setSeesionKeyList(seesionKeyList); | |
| 22 | + } | |
| 23 | + | |
| 24 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/WebSocketSessionHandler.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.core; | |
| 2 | + | |
| 3 | +import org.springframework.web.socket.WebSocketSession; | |
| 4 | + | |
| 5 | +import java.util.Collection; | |
| 6 | +import java.util.Map; | |
| 7 | +import java.util.Set; | |
| 8 | +import java.util.concurrent.ConcurrentHashMap; | |
| 9 | + | |
| 10 | +public final class WebSocketSessionHandler { | |
| 11 | + private WebSocketSessionHandler() { | |
| 12 | + } | |
| 13 | + | |
| 14 | + private static final Map<String, WebSocketSession> SESSION_MAP = new ConcurrentHashMap<>(); | |
| 15 | + | |
| 16 | + public static void addSession(Object sessionKey, WebSocketSession session) { | |
| 17 | + SESSION_MAP.put(sessionKey.toString(), session); | |
| 18 | + } | |
| 19 | + | |
| 20 | + public static void removeSession(Object sessionKey) { | |
| 21 | + SESSION_MAP.remove(sessionKey.toString()); | |
| 22 | + } | |
| 23 | + | |
| 24 | + public static WebSocketSession getSession(Object sessionKey) { | |
| 25 | + return SESSION_MAP.get(sessionKey.toString()); | |
| 26 | + } | |
| 27 | + | |
| 28 | + public static Collection<WebSocketSession> getSessions() { | |
| 29 | + return SESSION_MAP.values(); | |
| 30 | + } | |
| 31 | + | |
| 32 | + public static Set<String> getSessionKeys() { | |
| 33 | + return SESSION_MAP.keySet(); | |
| 34 | + } | |
| 35 | + | |
| 36 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/WebSocketUtils.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.core; | |
| 2 | + | |
| 3 | +import lombok.extern.slf4j.Slf4j; | |
| 4 | +import org.springframework.web.socket.TextMessage; | |
| 5 | +import org.springframework.web.socket.WebSocketSession; | |
| 6 | + | |
| 7 | +import java.io.IOException; | |
| 8 | + | |
| 9 | +@Slf4j | |
| 10 | +public class WebSocketUtils { | |
| 11 | + public static boolean sendMessage(WebSocketSession seesion, String message) { | |
| 12 | + if (seesion == null) { | |
| 13 | + log.error("seesion 不存在"); | |
| 14 | + return false; | |
| 15 | + } | |
| 16 | + if (seesion.isOpen()) { | |
| 17 | + try { | |
| 18 | + seesion.sendMessage(new TextMessage(message)); | |
| 19 | + } catch (IOException e) { | |
| 20 | + log.error("WebSocket 消息发送异常 Session={} | msg= {} | exception={}", seesion, message, e); | |
| 21 | + return false; | |
| 22 | + } | |
| 23 | + } | |
| 24 | + return true; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public static boolean sendMessage(Object sessionKey, String message) { | |
| 28 | + WebSocketSession session = WebSocketSessionHandler.getSession(sessionKey); | |
| 29 | + return sendMessage(session, message); | |
| 30 | + } | |
| 31 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/YudaoWebSocketHandlerDecorator.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket.core; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 4 | +import org.springframework.web.socket.CloseStatus; | |
| 5 | +import org.springframework.web.socket.WebSocketHandler; | |
| 6 | +import org.springframework.web.socket.WebSocketSession; | |
| 7 | +import org.springframework.web.socket.handler.WebSocketHandlerDecorator; | |
| 8 | + | |
| 9 | +public class YudaoWebSocketHandlerDecorator extends WebSocketHandlerDecorator { | |
| 10 | + public YudaoWebSocketHandlerDecorator(WebSocketHandler delegate) { | |
| 11 | + super(delegate); | |
| 12 | + } | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * websocket 连接时执行的动作 | |
| 16 | + * @param session websocket session 对象 | |
| 17 | + * @throws Exception 异常对象 | |
| 18 | + */ | |
| 19 | + @Override | |
| 20 | + public void afterConnectionEstablished(final WebSocketSession session) throws Exception { | |
| 21 | + Object sessionKey = sessionKeyGen(session); | |
| 22 | + WebSocketSessionHandler.addSession(sessionKey, session); | |
| 23 | + } | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * websocket 关闭连接时执行的动作 | |
| 27 | + * @param session websocket session 对象 | |
| 28 | + * @param closeStatus 关闭状态对象 | |
| 29 | + * @throws Exception 异常对象 | |
| 30 | + */ | |
| 31 | + @Override | |
| 32 | + public void afterConnectionClosed(final WebSocketSession session, CloseStatus closeStatus) throws Exception { | |
| 33 | + Object sessionKey = sessionKeyGen(session); | |
| 34 | + WebSocketSessionHandler.removeSession(sessionKey); | |
| 35 | + } | |
| 36 | + | |
| 37 | + public Object sessionKeyGen(WebSocketSession webSocketSession) { | |
| 38 | + | |
| 39 | + Object obj = webSocketSession.getAttributes().get(WebSocketKeyDefine.LOGIN_USER); | |
| 40 | + | |
| 41 | + if (obj instanceof LoginUser) { | |
| 42 | + LoginUser loginUser = (LoginUser) obj; | |
| 43 | + // userId 作为唯一区分 | |
| 44 | + return String.valueOf(loginUser.getId()); | |
| 45 | + } | |
| 46 | + | |
| 47 | + return null; | |
| 48 | + } | |
| 49 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/package-info.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.websocket; | ... | ... |
yudao-framework/yudao-spring-boot-starter-websocket/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
0 → 100644
yudao-module-infra/yudao-module-infra-biz/pom.xml
| ... | ... | @@ -111,6 +111,12 @@ |
| 111 | 111 | <groupId>cn.iocoder.boot</groupId> |
| 112 | 112 | <artifactId>yudao-spring-boot-starter-file</artifactId> |
| 113 | 113 | </dependency> |
| 114 | + | |
| 115 | + <!-- WebSocket --> | |
| 116 | + <dependency> | |
| 117 | + <groupId>org.springframework.boot</groupId> | |
| 118 | + <artifactId>spring-boot-starter-websocket</artifactId> | |
| 119 | + </dependency> | |
| 114 | 120 | </dependencies> |
| 115 | 121 | |
| 116 | 122 | </project> | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
| ... | ... | @@ -75,7 +75,7 @@ public class ConfigController { |
| 75 | 75 | if (config == null) { |
| 76 | 76 | return null; |
| 77 | 77 | } |
| 78 | - if (config.getVisible()) { | |
| 78 | + if (!config.getVisible()) { | |
| 79 | 79 | throw ServiceExceptionUtil.exception(ErrorCodeConstants.CONFIG_GET_VALUE_ERROR_IF_VISIBLE); |
| 80 | 80 | } |
| 81 | 81 | return success(config.getValue()); | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/codegen/CodegenConvert.java
| ... | ... | @@ -11,9 +11,11 @@ import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO; |
| 11 | 11 | import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO; |
| 12 | 12 | import com.baomidou.mybatisplus.generator.config.po.TableField; |
| 13 | 13 | import com.baomidou.mybatisplus.generator.config.po.TableInfo; |
| 14 | +import org.apache.ibatis.type.JdbcType; | |
| 14 | 15 | import org.mapstruct.Mapper; |
| 15 | 16 | import org.mapstruct.Mapping; |
| 16 | 17 | import org.mapstruct.Mappings; |
| 18 | +import org.mapstruct.Named; | |
| 17 | 19 | import org.mapstruct.factory.Mappers; |
| 18 | 20 | |
| 19 | 21 | import java.util.List; |
| ... | ... | @@ -37,7 +39,7 @@ public interface CodegenConvert { |
| 37 | 39 | |
| 38 | 40 | @Mappings({ |
| 39 | 41 | @Mapping(source = "name", target = "columnName"), |
| 40 | - @Mapping(source = "type", target = "dataType"), | |
| 42 | + @Mapping(source = "metaInfo.jdbcType", target = "dataType", qualifiedByName = "getDataType"), | |
| 41 | 43 | @Mapping(source = "comment", target = "columnComment"), |
| 42 | 44 | @Mapping(source = "metaInfo.nullable", target = "nullable"), |
| 43 | 45 | @Mapping(source = "keyFlag", target = "primaryKey"), |
| ... | ... | @@ -47,6 +49,11 @@ public interface CodegenConvert { |
| 47 | 49 | }) |
| 48 | 50 | CodegenColumnDO convert(TableField bean); |
| 49 | 51 | |
| 52 | + @Named("getDataType") | |
| 53 | + default String getDataType(JdbcType jdbcType) { | |
| 54 | + return jdbcType.name(); | |
| 55 | + } | |
| 56 | + | |
| 50 | 57 | // ========== CodegenTableDO 相关 ========== |
| 51 | 58 | |
| 52 | 59 | // List<CodegenTableRespVO> convertList02(List<CodegenTableDO> list); | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
| ... | ... | @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnu |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 7 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 8 | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| 9 | +import com.baomidou.mybatisplus.generator.config.po.TableField; | |
| 9 | 10 | import lombok.Data; |
| 10 | 11 | import lombok.EqualsAndHashCode; |
| 11 | 12 | import lombok.experimental.Accessors; |
| ... | ... | @@ -29,7 +30,7 @@ public class CodegenColumnDO extends BaseDO { |
| 29 | 30 | private Long id; |
| 30 | 31 | /** |
| 31 | 32 | * 表编号 |
| 32 | - * | |
| 33 | + * <p> | |
| 33 | 34 | * 关联 {@link CodegenTableDO#getId()} |
| 34 | 35 | */ |
| 35 | 36 | private Long tableId; |
| ... | ... | @@ -41,7 +42,8 @@ public class CodegenColumnDO extends BaseDO { |
| 41 | 42 | */ |
| 42 | 43 | private String columnName; |
| 43 | 44 | /** |
| 44 | - * 字段类型 | |
| 45 | + * 数据库字段类型 | |
| 46 | + * 关联 {@link TableField.MetaInfo#getJdbcType()} | |
| 45 | 47 | */ |
| 46 | 48 | private String dataType; |
| 47 | 49 | /** |
| ... | ... | @@ -69,7 +71,7 @@ public class CodegenColumnDO extends BaseDO { |
| 69 | 71 | |
| 70 | 72 | /** |
| 71 | 73 | * Java 属性类型 |
| 72 | - * | |
| 74 | + * <p> | |
| 73 | 75 | * 例如说 String、Boolean 等等 |
| 74 | 76 | */ |
| 75 | 77 | private String javaType; |
| ... | ... | @@ -79,7 +81,7 @@ public class CodegenColumnDO extends BaseDO { |
| 79 | 81 | private String javaField; |
| 80 | 82 | /** |
| 81 | 83 | * 字典类型 |
| 82 | - * | |
| 84 | + * <p> | |
| 83 | 85 | * 关联 DictTypeDO 的 type 属性 |
| 84 | 86 | */ |
| 85 | 87 | private String dictType; |
| ... | ... | @@ -104,7 +106,7 @@ public class CodegenColumnDO extends BaseDO { |
| 104 | 106 | private Boolean listOperation; |
| 105 | 107 | /** |
| 106 | 108 | * List 查询操作的条件类型 |
| 107 | - * | |
| 109 | + * <p> | |
| 108 | 110 | * 枚举 {@link CodegenColumnListConditionEnum} |
| 109 | 111 | */ |
| 110 | 112 | private String listOperationCondition; |
| ... | ... | @@ -117,7 +119,7 @@ public class CodegenColumnDO extends BaseDO { |
| 117 | 119 | |
| 118 | 120 | /** |
| 119 | 121 | * 显示类型 |
| 120 | - * | |
| 122 | + * <p> | |
| 121 | 123 | * 枚举 {@link CodegenColumnHtmlTypeEnum} |
| 122 | 124 | */ |
| 123 | 125 | private String htmlType; | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/websocket/SemaphoreUtils.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.infra.websocket; | |
| 2 | + | |
| 3 | +import lombok.extern.slf4j.Slf4j; | |
| 4 | + | |
| 5 | +import java.util.concurrent.Semaphore; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 信号量相关处理 | |
| 9 | + * | |
| 10 | + */ | |
| 11 | +@Slf4j | |
| 12 | +public class SemaphoreUtils { | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * 获取信号量 | |
| 16 | + * | |
| 17 | + * @param semaphore | |
| 18 | + * @return | |
| 19 | + */ | |
| 20 | + public static boolean tryAcquire(Semaphore semaphore) { | |
| 21 | + boolean flag = false; | |
| 22 | + | |
| 23 | + try { | |
| 24 | + flag = semaphore.tryAcquire(); | |
| 25 | + } catch (Exception e) { | |
| 26 | + log.error("获取信号量异常", e); | |
| 27 | + } | |
| 28 | + | |
| 29 | + return flag; | |
| 30 | + } | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 释放信号量 | |
| 34 | + * | |
| 35 | + * @param semaphore | |
| 36 | + */ | |
| 37 | + public static void release(Semaphore semaphore) { | |
| 38 | + | |
| 39 | + try { | |
| 40 | + semaphore.release(); | |
| 41 | + } catch (Exception e) { | |
| 42 | + log.error("释放信号量异常", e); | |
| 43 | + } | |
| 44 | + } | |
| 45 | +} | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/websocket/WebSocketConfig.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.infra.websocket; | |
| 2 | + | |
| 3 | +import org.springframework.context.annotation.Bean; | |
| 4 | +import org.springframework.context.annotation.Configuration; | |
| 5 | +import org.springframework.web.socket.server.standard.ServerEndpointExporter; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * websocket 配置 | |
| 9 | + */ | |
| 10 | +@Configuration | |
| 11 | +public class WebSocketConfig { | |
| 12 | + @Bean | |
| 13 | + public ServerEndpointExporter serverEndpointExporter() { | |
| 14 | + return new ServerEndpointExporter(); | |
| 15 | + } | |
| 16 | +} | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/websocket/WebSocketServer.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.infra.websocket; | |
| 2 | + | |
| 3 | +import lombok.extern.slf4j.Slf4j; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | + | |
| 6 | +import javax.websocket.*; | |
| 7 | +import javax.websocket.server.ServerEndpoint; | |
| 8 | +import java.util.concurrent.Semaphore; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * websocket 消息处理 | |
| 12 | + */ | |
| 13 | +@Component | |
| 14 | +@ServerEndpoint("/websocket/message") | |
| 15 | +@Slf4j | |
| 16 | +public class WebSocketServer { | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 默认最多允许同时在线用户数100 | |
| 20 | + */ | |
| 21 | + public static int socketMaxOnlineCount = 100; | |
| 22 | + | |
| 23 | + private static final Semaphore SOCKET_SEMAPHORE = new Semaphore(socketMaxOnlineCount); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 连接建立成功调用的方法 | |
| 27 | + */ | |
| 28 | + @OnOpen | |
| 29 | + public void onOpen(Session session) throws Exception { | |
| 30 | + // 尝试获取信号量 | |
| 31 | + boolean semaphoreFlag = SemaphoreUtils.tryAcquire(SOCKET_SEMAPHORE); | |
| 32 | + if (!semaphoreFlag) { | |
| 33 | + // 未获取到信号量 | |
| 34 | + log.error("当前在线人数超过限制数:{}", socketMaxOnlineCount); | |
| 35 | + WebSocketUsers.sendMessage(session, "当前在线人数超过限制数:" + socketMaxOnlineCount); | |
| 36 | + session.close(); | |
| 37 | + } else { | |
| 38 | + String userId = WebSocketUsers.getParam("userId", session); | |
| 39 | + if (userId != null) { | |
| 40 | + // 添加用户 | |
| 41 | + WebSocketUsers.addSession(userId, session); | |
| 42 | + log.info("用户【userId={}】建立连接,当前连接用户总数:{}", userId, WebSocketUsers.getUsers().size()); | |
| 43 | + WebSocketUsers.sendMessage(session, "接收内容:连接成功"); | |
| 44 | + } else { | |
| 45 | + WebSocketUsers.sendMessage(session, "接收内容:连接失败"); | |
| 46 | + } | |
| 47 | + } | |
| 48 | + } | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * 连接关闭时处理 | |
| 52 | + */ | |
| 53 | + @OnClose | |
| 54 | + public void onClose(Session session) { | |
| 55 | + log.info("用户【sessionId={}】关闭连接!", session.getId()); | |
| 56 | + // 移除用户 | |
| 57 | + WebSocketUsers.removeSession(session); | |
| 58 | + // 获取到信号量则需释放 | |
| 59 | + SemaphoreUtils.release(SOCKET_SEMAPHORE); | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 抛出异常时处理 | |
| 64 | + */ | |
| 65 | + @OnError | |
| 66 | + public void onError(Session session, Throwable exception) throws Exception { | |
| 67 | + if (session.isOpen()) { | |
| 68 | + // 关闭连接 | |
| 69 | + session.close(); | |
| 70 | + } | |
| 71 | + String sessionId = session.getId(); | |
| 72 | + log.info("用户【sessionId={}】连接异常!异常信息:{}", sessionId, exception); | |
| 73 | + // 移出用户 | |
| 74 | + WebSocketUsers.removeSession(session); | |
| 75 | + // 获取到信号量则需释放 | |
| 76 | + SemaphoreUtils.release(SOCKET_SEMAPHORE); | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 收到客户端消息时调用的方法 | |
| 81 | + */ | |
| 82 | + @OnMessage | |
| 83 | + public void onMessage(Session session, String message) { | |
| 84 | + WebSocketUsers.sendMessage(session, "接收内容:" + message); | |
| 85 | + } | |
| 86 | +} | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/websocket/WebSocketUsers.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.infra.websocket; | |
| 2 | + | |
| 3 | +import cn.hutool.core.map.MapUtil; | |
| 4 | +import cn.hutool.core.util.StrUtil; | |
| 5 | +import lombok.extern.slf4j.Slf4j; | |
| 6 | +import org.bouncycastle.util.Strings; | |
| 7 | + | |
| 8 | +import javax.validation.constraints.NotNull; | |
| 9 | +import javax.websocket.Session; | |
| 10 | +import java.io.IOException; | |
| 11 | +import java.util.List; | |
| 12 | +import java.util.Map; | |
| 13 | +import java.util.Set; | |
| 14 | +import java.util.concurrent.ConcurrentHashMap; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * websocket 客户端用户 | |
| 18 | + */ | |
| 19 | +@Slf4j | |
| 20 | +public class WebSocketUsers { | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 用户集 | |
| 24 | + * TODO 需要登录用户的session? | |
| 25 | + */ | |
| 26 | + private static final Map<String, Session> SESSION_MAP = new ConcurrentHashMap<>(); | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 存储用户 | |
| 30 | + * | |
| 31 | + * @param userId 唯一键 | |
| 32 | + * @param session 用户信息 | |
| 33 | + */ | |
| 34 | + public static void addSession(String userId, Session session) { | |
| 35 | + SESSION_MAP.put(userId, session); | |
| 36 | + } | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 移除用户 | |
| 40 | + * | |
| 41 | + * @param session 用户信息 | |
| 42 | + * @return 移除结果 | |
| 43 | + */ | |
| 44 | + public static boolean removeSession(Session session) { | |
| 45 | + String key = null; | |
| 46 | + boolean flag = SESSION_MAP.containsValue(session); | |
| 47 | + if (flag) { | |
| 48 | + Set<Map.Entry<String, Session>> entries = SESSION_MAP.entrySet(); | |
| 49 | + for (Map.Entry<String, Session> entry : entries) { | |
| 50 | + Session value = entry.getValue(); | |
| 51 | + if (value.equals(session)) { | |
| 52 | + key = entry.getKey(); | |
| 53 | + break; | |
| 54 | + } | |
| 55 | + } | |
| 56 | + } else { | |
| 57 | + return true; | |
| 58 | + } | |
| 59 | + return removeSession(key); | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 移出用户 | |
| 64 | + * | |
| 65 | + * @param userId 用户id | |
| 66 | + */ | |
| 67 | + public static boolean removeSession(String userId) { | |
| 68 | + log.info("用户【userId={}】退出", userId); | |
| 69 | + Session remove = SESSION_MAP.remove(userId); | |
| 70 | + if (remove != null) { | |
| 71 | + boolean containsValue = SESSION_MAP.containsValue(remove); | |
| 72 | + log.info("用户【userId={}】退出{},当前连接用户总数:{}", userId, containsValue ? "失败" : "成功", SESSION_MAP.size()); | |
| 73 | + return containsValue; | |
| 74 | + } else { | |
| 75 | + return true; | |
| 76 | + } | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 获取在线用户列表 | |
| 81 | + * | |
| 82 | + * @return 返回用户集合 | |
| 83 | + */ | |
| 84 | + public static Map<String, Session> getUsers() { | |
| 85 | + return SESSION_MAP; | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * 向所有在线人发送消息 | |
| 90 | + * | |
| 91 | + * @param message 消息内容 | |
| 92 | + */ | |
| 93 | + public static void sendMessageToAll(String message) { | |
| 94 | + SESSION_MAP.forEach((userId, session) -> { | |
| 95 | + if (session.isOpen()) { | |
| 96 | + sendMessage(session, message); | |
| 97 | + } | |
| 98 | + }); | |
| 99 | + } | |
| 100 | + | |
| 101 | + /** | |
| 102 | + * 异步发送文本消息 | |
| 103 | + * | |
| 104 | + * @param session 用户session | |
| 105 | + * @param message 消息内容 | |
| 106 | + */ | |
| 107 | + public static void sendMessageAsync(Session session, String message) { | |
| 108 | + if (session.isOpen()) { | |
| 109 | + // TODO 需要加synchronized锁(synchronized(session))?单个session创建线程? | |
| 110 | + session.getAsyncRemote().sendText(message); | |
| 111 | + } else { | |
| 112 | + log.warn("用户【session={}】不在线", session.getId()); | |
| 113 | + } | |
| 114 | + } | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * 同步发送文本消息 | |
| 118 | + * | |
| 119 | + * @param session 用户session | |
| 120 | + * @param message 消息内容 | |
| 121 | + */ | |
| 122 | + public static void sendMessage(Session session, String message) { | |
| 123 | + try { | |
| 124 | + if (session.isOpen()) { | |
| 125 | + // TODO 需要加synchronized锁(synchronized(session))?单个session创建线程? | |
| 126 | + session.getBasicRemote().sendText(message); | |
| 127 | + } else { | |
| 128 | + log.warn("用户【session={}】不在线", session.getId()); | |
| 129 | + } | |
| 130 | + } catch (IOException e) { | |
| 131 | + log.error("发送消息异常", e); | |
| 132 | + } | |
| 133 | + | |
| 134 | + } | |
| 135 | + | |
| 136 | + /** | |
| 137 | + * 根据用户id发送消息 | |
| 138 | + * | |
| 139 | + * @param userId 用户id | |
| 140 | + * @param message 消息内容 | |
| 141 | + */ | |
| 142 | + public static void sendMessage(String userId, String message) { | |
| 143 | + Session session = SESSION_MAP.get(userId); | |
| 144 | + //判断是否存在该用户的session,并且是否在线 | |
| 145 | + if (session == null || !session.isOpen()) { | |
| 146 | + return; | |
| 147 | + } | |
| 148 | + sendMessage(session, message); | |
| 149 | + } | |
| 150 | + | |
| 151 | + | |
| 152 | + /** | |
| 153 | + * 获取session中的指定参数值 | |
| 154 | + * | |
| 155 | + * @param key 参数key | |
| 156 | + * @param session 用户session | |
| 157 | + */ | |
| 158 | + public static String getParam(@NotNull String key, Session session) { | |
| 159 | + //TODO 目前只针对获取一个key的值,后期根据情况拓展多个 或者直接在onClose onOpen上获取参数? | |
| 160 | + String value = null; | |
| 161 | + Map<String, List<String>> parameters = session.getRequestParameterMap(); | |
| 162 | + if (MapUtil.isNotEmpty(parameters)) { | |
| 163 | + value = parameters.get(key).get(0); | |
| 164 | + } else { | |
| 165 | + String queryString = session.getQueryString(); | |
| 166 | + if (!StrUtil.isEmpty(queryString)) { | |
| 167 | + String[] params = Strings.split(queryString, '&'); | |
| 168 | + for (String paramPair : params) { | |
| 169 | + String[] nameValues = Strings.split(paramPair, '='); | |
| 170 | + if (key.equals(nameValues[0])) { | |
| 171 | + value = nameValues[1]; | |
| 172 | + } | |
| 173 | + } | |
| 174 | + } | |
| 175 | + } | |
| 176 | + return value; | |
| 177 | + } | |
| 178 | +} | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['${permissionPrefix}:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('${table.classComment}.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -40,7 +40,7 @@ |
| 40 | 40 | preIcon="ep:delete" |
| 41 | 41 | :title="t('action.del')" |
| 42 | 42 | v-hasPermi="['${permissionPrefix}:delete']" |
| 43 | - @click="handleDelete(row.id)" | |
| 43 | + @click="deleteData(row.id)" | |
| 44 | 44 | /> |
| 45 | 45 | </template> |
| 46 | 46 | </XTable> |
| ... | ... | @@ -119,11 +119,6 @@ const handleCreate = () => { |
| 119 | 119 | modelLoading.value = false |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | -// 导出操作 | |
| 123 | -const handleExport = async () => { | |
| 124 | - await exportList('${table.classComment}.xls') | |
| 125 | -} | |
| 126 | - | |
| 127 | 122 | // 修改操作 |
| 128 | 123 | const handleUpdate = async (rowId: number) => { |
| 129 | 124 | setDialogTile('update') |
| ... | ... | @@ -141,11 +136,6 @@ const handleDetail = async (rowId: number) => { |
| 141 | 136 | modelLoading.value = false |
| 142 | 137 | } |
| 143 | 138 | |
| 144 | -// 删除操作 | |
| 145 | -const handleDelete = async (rowId: number) => { | |
| 146 | - await deleteData(rowId) | |
| 147 | -} | |
| 148 | - | |
| 149 | 139 | // 提交按钮 |
| 150 | 140 | const submitForm = async () => { |
| 151 | 141 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/DefaultDatabaseQueryTest.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.service; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | -import com.baomidou.mybatisplus.generator.IDatabaseQuery.DefaultDatabaseQuery; | |
| 4 | +import com.baomidou.mybatisplus.generator.query.DefaultQuery; | |
| 5 | 5 | import com.baomidou.mybatisplus.generator.config.DataSourceConfig; |
| 6 | 6 | import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder; |
| 7 | 7 | import com.baomidou.mybatisplus.generator.config.po.TableInfo; |
| ... | ... | @@ -19,7 +19,7 @@ public class DefaultDatabaseQueryTest { |
| 19 | 19 | |
| 20 | 20 | ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, null, null, null, null); |
| 21 | 21 | |
| 22 | - DefaultDatabaseQuery query = new DefaultDatabaseQuery(builder); | |
| 22 | + DefaultQuery query = new DefaultQuery(builder); | |
| 23 | 23 | |
| 24 | 24 | long time = System.currentTimeMillis(); |
| 25 | 25 | List<TableInfo> tableInfos = query.queryTables(); | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/captcha/CaptchaController.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.captcha; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.util.StrUtil; | |
| 4 | +import cn.hutool.extra.servlet.ServletUtil; | |
| 3 | 5 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 4 | 6 | import com.anji.captcha.model.common.ResponseModel; |
| 5 | 7 | import com.anji.captcha.model.vo.CaptchaVO; |
| 6 | -import io.swagger.v3.oas.annotations.tags.Tag; | |
| 7 | -import io.swagger.v3.oas.annotations.Operation; | |
| 8 | +import com.anji.captcha.service.CaptchaService; | |
| 9 | +import io.swagger.annotations.Api; | |
| 10 | +import io.swagger.annotations.ApiOperation; | |
| 8 | 11 | import org.springframework.web.bind.annotation.PostMapping; |
| 9 | 12 | import org.springframework.web.bind.annotation.RequestBody; |
| 10 | 13 | import org.springframework.web.bind.annotation.RequestMapping; |
| 11 | 14 | import org.springframework.web.bind.annotation.RestController; |
| 12 | 15 | |
| 16 | +import javax.annotation.Resource; | |
| 13 | 17 | import javax.annotation.security.PermitAll; |
| 14 | 18 | import javax.servlet.http.HttpServletRequest; |
| 15 | 19 | |
| 16 | 20 | /** |
| 17 | 21 | * 验证码 |
| 18 | 22 | * |
| 19 | - * 问题:为什么不直接使用 anji 提供的 CaptchaController,而要另外继承? | |
| 20 | - * 回答:管理使用 /admin-api/* 作为前缀,所以需要继承! | |
| 21 | - * | |
| 22 | 23 | * @author 芋道源码 |
| 23 | 24 | */ |
| 24 | -@Tag(name = "管理后台 - 验证码") | |
| 25 | +@Api(tags = "管理后台 - 验证码") | |
| 25 | 26 | @RestController("adminCaptchaController") |
| 26 | 27 | @RequestMapping("/system/captcha") |
| 27 | -public class CaptchaController extends com.anji.captcha.controller.CaptchaController { | |
| 28 | +public class CaptchaController { | |
| 29 | + | |
| 30 | + @Resource | |
| 31 | + private CaptchaService captchaService; | |
| 28 | 32 | |
| 29 | 33 | @PostMapping({"/get"}) |
| 30 | - @Operation(summary = "获得验证码") | |
| 34 | + @ApiOperation("获得验证码") | |
| 31 | 35 | @PermitAll |
| 32 | 36 | @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 |
| 33 | - @Override | |
| 34 | 37 | public ResponseModel get(@RequestBody CaptchaVO data, HttpServletRequest request) { |
| 35 | - return super.get(data, request); | |
| 38 | + assert request.getRemoteHost() != null; | |
| 39 | + data.setBrowserInfo(getRemoteId(request)); | |
| 40 | + return captchaService.get(data); | |
| 36 | 41 | } |
| 37 | 42 | |
| 38 | 43 | @PostMapping("/check") |
| 39 | - @Operation(summary = "校验验证码") | |
| 44 | + @ApiOperation("校验验证码") | |
| 40 | 45 | @PermitAll |
| 41 | 46 | @OperateLog(enable = false) // 避免 Post 请求被记录操作日志 |
| 42 | - @Override | |
| 43 | 47 | public ResponseModel check(@RequestBody CaptchaVO data, HttpServletRequest request) { |
| 44 | - return super.check(data, request); | |
| 48 | + data.setBrowserInfo(getRemoteId(request)); | |
| 49 | + return captchaService.check(data); | |
| 50 | + } | |
| 51 | + | |
| 52 | + public static String getRemoteId(HttpServletRequest request) { | |
| 53 | + String ip = ServletUtil.getClientIP(request); | |
| 54 | + String ua = request.getHeader("user-agent"); | |
| 55 | + if (StrUtil.isNotBlank(ip)) { | |
| 56 | + return ip + ua; | |
| 57 | + } | |
| 58 | + return request.getRemoteAddr() + ua; | |
| 45 | 59 | } |
| 46 | 60 | |
| 47 | 61 | } | ... | ... |
yudao-module-visualization/yudao-module-visualization-biz/src/main/java/cn/iocoder/yudao/module/visualization/framework/jmreport/config/JmReportConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.module.visualization.framework.jmreport.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.security.config.SecurityProperties; | |
| 3 | 4 | import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; |
| 4 | 5 | import cn.iocoder.yudao.module.visualization.framework.jmreport.core.service.JmReportTokenServiceImpl; |
| 5 | 6 | import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| ... | ... | @@ -18,8 +19,8 @@ public class JmReportConfiguration { |
| 18 | 19 | |
| 19 | 20 | @Bean |
| 20 | 21 | @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") |
| 21 | - public JmReportTokenServiceI jmReportTokenService(OAuth2TokenApi oAuth2TokenApi) { | |
| 22 | - return new JmReportTokenServiceImpl(oAuth2TokenApi); | |
| 22 | + public JmReportTokenServiceI jmReportTokenService(OAuth2TokenApi oAuth2TokenApi, SecurityProperties securityProperties) { | |
| 23 | + return new JmReportTokenServiceImpl(oAuth2TokenApi, securityProperties); | |
| 23 | 24 | } |
| 24 | 25 | |
| 25 | 26 | } | ... | ... |
yudao-module-visualization/yudao-module-visualization-biz/src/main/java/cn/iocoder/yudao/module/visualization/framework/jmreport/core/service/JmReportTokenServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.visualization.framework.jmreport.core.service; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.util.ObjectUtil; | |
| 3 | 4 | import cn.hutool.core.util.StrUtil; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 6 | +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; | |
| 7 | +import cn.iocoder.yudao.framework.security.config.SecurityProperties; | |
| 5 | 8 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 6 | 9 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 7 | 10 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| ... | ... | @@ -10,6 +13,10 @@ import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; |
| 10 | 13 | import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; |
| 11 | 14 | import lombok.RequiredArgsConstructor; |
| 12 | 15 | import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| 16 | +import org.springframework.http.HttpHeaders; | |
| 17 | + | |
| 18 | +import javax.servlet.http.HttpServletRequest; | |
| 19 | +import java.util.Objects; | |
| 13 | 20 | |
| 14 | 21 | /** |
| 15 | 22 | * {@link JmReportTokenServiceI} 实现类,提供积木报表的 Token 校验、用户信息的查询等功能 |
| ... | ... | @@ -19,8 +26,37 @@ import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| 19 | 26 | @RequiredArgsConstructor |
| 20 | 27 | public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 21 | 28 | |
| 29 | + /** | |
| 30 | + * 积木 token head 头 | |
| 31 | + */ | |
| 32 | + private static final String JM_TOKEN_HEADER = "X-Access-Token"; | |
| 33 | + /** | |
| 34 | + * auth 相关格式 | |
| 35 | + */ | |
| 36 | + private static final String AUTHORIZATION_FORMAT = SecurityFrameworkUtils.AUTHORIZATION_BEARER + " %s"; | |
| 37 | + | |
| 22 | 38 | private final OAuth2TokenApi oauth2TokenApi; |
| 23 | 39 | |
| 40 | + private final SecurityProperties securityProperties; | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * 自定义 API 数据集appian自定义 Header,解决 Token 传递。 | |
| 44 | + * 参考 <a href="http://report.jeecg.com/2222224">api数据集token机制详解</a> 文档 | |
| 45 | + * | |
| 46 | + * @return 新 head | |
| 47 | + */ | |
| 48 | + @Override | |
| 49 | + public HttpHeaders customApiHeader() { | |
| 50 | + // 读取积木标标系统的 token | |
| 51 | + HttpServletRequest request = ServletUtils.getRequest(); | |
| 52 | + String token = request.getHeader(JM_TOKEN_HEADER); | |
| 53 | + | |
| 54 | + // 设置到 yudao 系统的 token | |
| 55 | + HttpHeaders headers = new HttpHeaders(); | |
| 56 | + headers.add(securityProperties.getTokenHeader(), String.format(AUTHORIZATION_FORMAT, token)); | |
| 57 | + return headers; | |
| 58 | + } | |
| 59 | + | |
| 24 | 60 | /** |
| 25 | 61 | * 校验 Token 是否有效,即验证通过 |
| 26 | 62 | * |
| ... | ... | @@ -29,8 +65,40 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 29 | 65 | */ |
| 30 | 66 | @Override |
| 31 | 67 | public Boolean verifyToken(String token) { |
| 68 | + Long userId = SecurityFrameworkUtils.getLoginUserId(); | |
| 69 | + if (!Objects.isNull(userId)) { | |
| 70 | + return true; | |
| 71 | + } | |
| 72 | + return buildLoginUserByToken(token) != null; | |
| 73 | + } | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * 获得用户编号 | |
| 77 | + * <p> | |
| 78 | + * 虽然方法名获得的是 username,实际对应到项目中是用户编号 | |
| 79 | + * | |
| 80 | + * @param token JmReport 前端传递的 token | |
| 81 | + * @return 用户编号 | |
| 82 | + */ | |
| 83 | + @Override | |
| 84 | + public String getUsername(String token) { | |
| 85 | + Long userId = SecurityFrameworkUtils.getLoginUserId(); | |
| 86 | + if (ObjectUtil.isNotNull(userId)) { | |
| 87 | + return String.valueOf(userId); | |
| 88 | + } | |
| 89 | + LoginUser user = buildLoginUserByToken(token); | |
| 90 | + return user == null ? null : String.valueOf(user.getId()); | |
| 91 | + } | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 基于 token 构建登录用户 | |
| 95 | + * | |
| 96 | + * @param token token | |
| 97 | + * @return 返回 token 对应的用户信息 | |
| 98 | + */ | |
| 99 | + private LoginUser buildLoginUserByToken(String token) { | |
| 32 | 100 | if (StrUtil.isEmpty(token)) { |
| 33 | - return false; | |
| 101 | + return null; | |
| 34 | 102 | } |
| 35 | 103 | // TODO 如下的实现不算特别优雅,主要咱是不想搞的太复杂,所以参考对应的 Filter 先实现了 |
| 36 | 104 | |
| ... | ... | @@ -41,7 +109,7 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 41 | 109 | try { |
| 42 | 110 | OAuth2AccessTokenCheckRespDTO accessToken = oauth2TokenApi.checkAccessToken(token); |
| 43 | 111 | if (accessToken == null) { |
| 44 | - return false; | |
| 112 | + return null; | |
| 45 | 113 | } |
| 46 | 114 | user = new LoginUser().setId(accessToken.getUserId()).setUserType(accessToken.getUserType()) |
| 47 | 115 | .setTenantId(accessToken.getTenantId()).setScopes(accessToken.getScopes()); |
| ... | ... | @@ -49,7 +117,7 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 49 | 117 | // do nothing:如果报错,说明认证失败,则返回 false 即可 |
| 50 | 118 | } |
| 51 | 119 | if (user == null) { |
| 52 | - return false; | |
| 120 | + return null; | |
| 53 | 121 | } |
| 54 | 122 | SecurityFrameworkUtils.setLoginUser(user, WebFrameworkUtils.getRequest()); |
| 55 | 123 | |
| ... | ... | @@ -57,21 +125,7 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 57 | 125 | // 目的:基于 LoginUser 获得到的租户编号,设置到 Tenant 上下文,避免查询数据库时的报错 |
| 58 | 126 | TenantContextHolder.setIgnore(false); |
| 59 | 127 | TenantContextHolder.setTenantId(user.getTenantId()); |
| 60 | - return true; | |
| 61 | - } | |
| 62 | - | |
| 63 | - /** | |
| 64 | - * 获得用户编号 | |
| 65 | - * | |
| 66 | - * 虽然方法名获得的是 username,实际对应到项目中是用户编号 | |
| 67 | - * | |
| 68 | - * @param token JmReport 前端传递的 token | |
| 69 | - * @return 用户编号 | |
| 70 | - */ | |
| 71 | - @Override | |
| 72 | - public String getUsername(String token) { | |
| 73 | - Long userId = SecurityFrameworkUtils.getLoginUserId(); | |
| 74 | - return userId != null ? String.valueOf(userId) : null; | |
| 128 | + return user; | |
| 75 | 129 | } |
| 76 | 130 | |
| 77 | 131 | } | ... | ... |
yudao-server/pom.xml
| ... | ... | @@ -104,7 +104,7 @@ |
| 104 | 104 | <plugin> |
| 105 | 105 | <groupId>org.springframework.boot</groupId> |
| 106 | 106 | <artifactId>spring-boot-maven-plugin</artifactId> |
| 107 | - <version>2.7.6</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 --> | |
| 107 | + <version>2.7.7</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 --> | |
| 108 | 108 | <configuration> |
| 109 | 109 | <fork>true</fork> |
| 110 | 110 | </configuration> | ... | ... |
yudao-server/src/main/resources/application.yaml
| ... | ... | @@ -97,6 +97,11 @@ yudao: |
| 97 | 97 | security: |
| 98 | 98 | permit-all_urls: |
| 99 | 99 | - /admin-ui/** # /resources/admin-ui 目录下的静态资源 |
| 100 | + websocket: | |
| 101 | + enable: true # websocket的开关 | |
| 102 | + path: /websocket/message # 路径 | |
| 103 | + maxOnlineCount: 0 # 最大连接人数 | |
| 104 | + sessionMap: true # 保存sessionMap | |
| 100 | 105 | swagger: |
| 101 | 106 | title: 管理后台 |
| 102 | 107 | description: 提供管理员管理的所有功能 | ... | ... |
yudao-ui-admin-vue3/README.md
| ... | ... | @@ -34,7 +34,7 @@ |
| 34 | 34 | | [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.4 | |
| 35 | 35 | | [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.28 | |
| 36 | 36 | | [vueuse](https://vueuse.org/) | 常用工具集 | 9.10.0 | |
| 37 | -| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.7 | | |
| 37 | +| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.9 | | |
| 38 | 38 | | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | |
| 39 | 39 | | [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 | |
| 40 | 40 | | [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 | | ... | ... |
yudao-ui-admin-vue3/package.json
| 1 | 1 | { |
| 2 | 2 | "name": "yudao-ui-admin-vue3", |
| 3 | - "version": "1.6.5.1901", | |
| 3 | + "version": "1.6.6-snapshot.1912", | |
| 4 | 4 | "description": "基于vue3、vite4、element-plus、typesScript", |
| 5 | 5 | "author": "xingyu", |
| 6 | 6 | "private": false, |
| ... | ... | @@ -42,7 +42,7 @@ |
| 42 | 42 | "lodash-es": "^4.17.21", |
| 43 | 43 | "mitt": "^3.0.0", |
| 44 | 44 | "nprogress": "^0.2.0", |
| 45 | - "pinia": "^2.0.28", | |
| 45 | + "pinia": "^2.0.29", | |
| 46 | 46 | "qrcode": "^1.5.1", |
| 47 | 47 | "qs": "^6.11.0", |
| 48 | 48 | "url": "^0.11.0", |
| ... | ... | @@ -50,14 +50,14 @@ |
| 50 | 50 | "vue-i18n": "9.2.2", |
| 51 | 51 | "vue-router": "^4.1.6", |
| 52 | 52 | "vue-types": "^5.0.2", |
| 53 | - "vxe-table": "^4.3.7", | |
| 53 | + "vxe-table": "^4.3.9", | |
| 54 | 54 | "web-storage-cache": "^1.1.1", |
| 55 | 55 | "xe-utils": "^3.5.7" |
| 56 | 56 | }, |
| 57 | 57 | "devDependencies": { |
| 58 | - "@commitlint/cli": "^17.3.0", | |
| 59 | - "@commitlint/config-conventional": "^17.3.0", | |
| 60 | - "@iconify/json": "^2.2.1", | |
| 58 | + "@commitlint/cli": "^17.4.2", | |
| 59 | + "@commitlint/config-conventional": "^17.4.2", | |
| 60 | + "@iconify/json": "^2.2.7", | |
| 61 | 61 | "@intlify/unplugin-vue-i18n": "^0.8.1", |
| 62 | 62 | "@purge-icons/generated": "^0.9.0", |
| 63 | 63 | "@types/intro.js": "^5.1.0", |
| ... | ... | @@ -66,32 +66,32 @@ |
| 66 | 66 | "@types/nprogress": "^0.2.0", |
| 67 | 67 | "@types/qrcode": "^1.5.0", |
| 68 | 68 | "@types/qs": "^6.9.7", |
| 69 | - "@typescript-eslint/eslint-plugin": "^5.48.0", | |
| 70 | - "@typescript-eslint/parser": "^5.48.0", | |
| 69 | + "@typescript-eslint/eslint-plugin": "^5.48.1", | |
| 70 | + "@typescript-eslint/parser": "^5.48.1", | |
| 71 | 71 | "@vitejs/plugin-legacy": "^3.0.1", |
| 72 | 72 | "@vitejs/plugin-vue": "^4.0.0", |
| 73 | 73 | "@vitejs/plugin-vue-jsx": "^3.0.0", |
| 74 | 74 | "autoprefixer": "^10.4.13", |
| 75 | 75 | "consola": "^2.15.3", |
| 76 | - "eslint": "^8.31.0", | |
| 76 | + "eslint": "^8.32.0", | |
| 77 | 77 | "eslint-config-prettier": "^8.6.0", |
| 78 | - "eslint-define-config": "^1.13.0", | |
| 78 | + "eslint-define-config": "^1.14.0", | |
| 79 | 79 | "eslint-plugin-prettier": "^4.2.1", |
| 80 | - "eslint-plugin-vue": "^9.8.0", | |
| 80 | + "eslint-plugin-vue": "^9.9.0", | |
| 81 | 81 | "lint-staged": "^13.1.0", |
| 82 | - "postcss": "^8.4.20", | |
| 82 | + "postcss": "^8.4.21", | |
| 83 | 83 | "postcss-html": "^1.5.0", |
| 84 | 84 | "postcss-scss": "^4.0.6", |
| 85 | - "prettier": "^2.8.1", | |
| 86 | - "rimraf": "^3.0.2", | |
| 87 | - "rollup": "^3.9.1", | |
| 85 | + "prettier": "^2.8.3", | |
| 86 | + "rimraf": "^4.0.7", | |
| 87 | + "rollup": "^3.10.0", | |
| 88 | 88 | "sass": "^1.57.1", |
| 89 | 89 | "stylelint": "^14.16.1", |
| 90 | 90 | "stylelint-config-html": "^1.1.0", |
| 91 | 91 | "stylelint-config-prettier": "^9.0.4", |
| 92 | 92 | "stylelint-config-recommended": "^9.0.0", |
| 93 | 93 | "stylelint-config-standard": "^29.0.0", |
| 94 | - "stylelint-order": "^5.0.0", | |
| 94 | + "stylelint-order": "^6.0.1", | |
| 95 | 95 | "terser": "^5.16.1", |
| 96 | 96 | "typescript": "4.9.4", |
| 97 | 97 | "vite": "4.0.4", |
| ... | ... | @@ -104,7 +104,7 @@ |
| 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.10", |
| 107 | - "vue-tsc": "^1.0.20", | |
| 107 | + "vue-tsc": "^1.0.24", | |
| 108 | 108 | "windicss": "^3.5.6" |
| 109 | 109 | }, |
| 110 | 110 | "engines": { | ... | ... |
yudao-ui-admin-vue3/pnpm-lock.yaml
| 1 | 1 | lockfileVersion: 5.4 |
| 2 | 2 | |
| 3 | 3 | specifiers: |
| 4 | - '@commitlint/cli': ^17.3.0 | |
| 5 | - '@commitlint/config-conventional': ^17.3.0 | |
| 4 | + '@commitlint/cli': ^17.4.2 | |
| 5 | + '@commitlint/config-conventional': ^17.4.2 | |
| 6 | 6 | '@iconify/iconify': ^3.0.1 |
| 7 | - '@iconify/json': ^2.2.1 | |
| 7 | + '@iconify/json': ^2.2.7 | |
| 8 | 8 | '@intlify/unplugin-vue-i18n': ^0.8.1 |
| 9 | 9 | '@purge-icons/generated': ^0.9.0 |
| 10 | 10 | '@types/intro.js': ^5.1.0 |
| ... | ... | @@ -13,8 +13,8 @@ specifiers: |
| 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.48.0 | |
| 17 | - '@typescript-eslint/parser': ^5.48.0 | |
| 16 | + '@typescript-eslint/eslint-plugin': ^5.48.1 | |
| 17 | + '@typescript-eslint/parser': ^5.48.1 | |
| 18 | 18 | '@vitejs/plugin-legacy': ^3.0.1 |
| 19 | 19 | '@vitejs/plugin-vue': ^4.0.0 |
| 20 | 20 | '@vitejs/plugin-vue-jsx': ^3.0.0 |
| ... | ... | @@ -32,33 +32,33 @@ specifiers: |
| 32 | 32 | echarts: ^5.4.1 |
| 33 | 33 | echarts-wordcloud: ^2.1.0 |
| 34 | 34 | element-plus: 2.2.28 |
| 35 | - eslint: ^8.31.0 | |
| 35 | + eslint: ^8.32.0 | |
| 36 | 36 | eslint-config-prettier: ^8.6.0 |
| 37 | - eslint-define-config: ^1.13.0 | |
| 37 | + eslint-define-config: ^1.14.0 | |
| 38 | 38 | eslint-plugin-prettier: ^4.2.1 |
| 39 | - eslint-plugin-vue: ^9.8.0 | |
| 39 | + eslint-plugin-vue: ^9.9.0 | |
| 40 | 40 | intro.js: ^6.0.0 |
| 41 | 41 | jsencrypt: ^3.3.1 |
| 42 | 42 | lint-staged: ^13.1.0 |
| 43 | 43 | lodash-es: ^4.17.21 |
| 44 | 44 | mitt: ^3.0.0 |
| 45 | 45 | nprogress: ^0.2.0 |
| 46 | - pinia: ^2.0.28 | |
| 47 | - postcss: ^8.4.20 | |
| 46 | + pinia: ^2.0.29 | |
| 47 | + postcss: ^8.4.21 | |
| 48 | 48 | postcss-html: ^1.5.0 |
| 49 | 49 | postcss-scss: ^4.0.6 |
| 50 | - prettier: ^2.8.1 | |
| 50 | + prettier: ^2.8.3 | |
| 51 | 51 | qrcode: ^1.5.1 |
| 52 | 52 | qs: ^6.11.0 |
| 53 | - rimraf: ^3.0.2 | |
| 54 | - rollup: ^3.9.1 | |
| 53 | + rimraf: ^4.0.7 | |
| 54 | + rollup: ^3.10.0 | |
| 55 | 55 | sass: ^1.57.1 |
| 56 | 56 | stylelint: ^14.16.1 |
| 57 | 57 | stylelint-config-html: ^1.1.0 |
| 58 | 58 | stylelint-config-prettier: ^9.0.4 |
| 59 | 59 | stylelint-config-recommended: ^9.0.0 |
| 60 | 60 | stylelint-config-standard: ^29.0.0 |
| 61 | - stylelint-order: ^5.0.0 | |
| 61 | + stylelint-order: ^6.0.1 | |
| 62 | 62 | terser: ^5.16.1 |
| 63 | 63 | typescript: 4.9.4 |
| 64 | 64 | url: ^0.11.0 |
| ... | ... | @@ -75,9 +75,9 @@ specifiers: |
| 75 | 75 | vue: 3.2.45 |
| 76 | 76 | vue-i18n: 9.2.2 |
| 77 | 77 | vue-router: ^4.1.6 |
| 78 | - vue-tsc: ^1.0.20 | |
| 78 | + vue-tsc: ^1.0.24 | |
| 79 | 79 | vue-types: ^5.0.2 |
| 80 | - vxe-table: ^4.3.7 | |
| 80 | + vxe-table: ^4.3.9 | |
| 81 | 81 | web-storage-cache: ^1.1.1 |
| 82 | 82 | windicss: ^3.5.6 |
| 83 | 83 | xe-utils: ^3.5.7 |
| ... | ... | @@ -93,7 +93,7 @@ dependencies: |
| 93 | 93 | cropperjs: 1.5.13 |
| 94 | 94 | crypto-js: 4.1.1 |
| 95 | 95 | dayjs: 1.11.7 |
| 96 | - echarts: registry.npmmirror.com/echarts/5.4.1 | |
| 96 | + echarts: 5.4.1 | |
| 97 | 97 | echarts-wordcloud: 2.1.0_echarts@5.4.1 |
| 98 | 98 | element-plus: 2.2.28_vue@3.2.45 |
| 99 | 99 | intro.js: 6.0.0 |
| ... | ... | @@ -101,7 +101,7 @@ dependencies: |
| 101 | 101 | lodash-es: 4.17.21 |
| 102 | 102 | mitt: 3.0.0 |
| 103 | 103 | nprogress: 0.2.0 |
| 104 | - pinia: registry.npmmirror.com/pinia/2.0.28_prq2uz4lho2pwp6irk4cfkrxwu | |
| 104 | + pinia: 2.0.29_prq2uz4lho2pwp6irk4cfkrxwu | |
| 105 | 105 | qrcode: 1.5.1 |
| 106 | 106 | qs: 6.11.0 |
| 107 | 107 | url: 0.11.0 |
| ... | ... | @@ -109,14 +109,14 @@ dependencies: |
| 109 | 109 | vue-i18n: 9.2.2_vue@3.2.45 |
| 110 | 110 | vue-router: 4.1.6_vue@3.2.45 |
| 111 | 111 | vue-types: 5.0.2_vue@3.2.45 |
| 112 | - vxe-table: registry.npmmirror.com/vxe-table/4.3.7_vue@3.2.45+xe-utils@3.5.7 | |
| 112 | + vxe-table: 4.3.9_vue@3.2.45+xe-utils@3.5.7 | |
| 113 | 113 | web-storage-cache: 1.1.1 |
| 114 | 114 | xe-utils: 3.5.7 |
| 115 | 115 | |
| 116 | 116 | devDependencies: |
| 117 | - '@commitlint/cli': 17.3.0 | |
| 118 | - '@commitlint/config-conventional': 17.3.0 | |
| 119 | - '@iconify/json': 2.2.1 | |
| 117 | + '@commitlint/cli': 17.4.2 | |
| 118 | + '@commitlint/config-conventional': 17.4.2 | |
| 119 | + '@iconify/json': 2.2.7 | |
| 120 | 120 | '@intlify/unplugin-vue-i18n': 0.8.1_vue-i18n@9.2.2 |
| 121 | 121 | '@purge-icons/generated': 0.9.0 |
| 122 | 122 | '@types/intro.js': 5.1.0 |
| ... | ... | @@ -125,66 +125,258 @@ devDependencies: |
| 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.48.0_k73wpmdolxikpyqun3p36akaaq | |
| 129 | - '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 130 | - '@vitejs/plugin-legacy': registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.4 | |
| 131 | - '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45 | |
| 132 | - '@vitejs/plugin-vue-jsx': registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.4+vue@3.2.45 | |
| 133 | - autoprefixer: 10.4.13_postcss@8.4.20 | |
| 128 | + '@typescript-eslint/eslint-plugin': 5.48.1_oomjohfipuyaxs2zyomcx4f5by | |
| 129 | + '@typescript-eslint/parser': 5.48.1_7uibuqfxkfaozanbtbziikiqje | |
| 130 | + '@vitejs/plugin-legacy': 3.0.1_terser@5.16.1+vite@4.0.4 | |
| 131 | + '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 | |
| 132 | + '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.0.4+vue@3.2.45 | |
| 133 | + autoprefixer: 10.4.13_postcss@8.4.21 | |
| 134 | 134 | consola: 2.15.3 |
| 135 | - eslint: 8.31.0 | |
| 136 | - eslint-config-prettier: 8.6.0_eslint@8.31.0 | |
| 137 | - eslint-define-config: 1.13.0 | |
| 138 | - eslint-plugin-prettier: 4.2.1_32m5uc2milwdw3tnkcq5del26y | |
| 139 | - eslint-plugin-vue: 9.8.0_eslint@8.31.0 | |
| 135 | + eslint: 8.32.0 | |
| 136 | + eslint-config-prettier: 8.6.0_eslint@8.32.0 | |
| 137 | + eslint-define-config: 1.14.0 | |
| 138 | + eslint-plugin-prettier: 4.2.1_cn4lalcyadplruoxa5mhp7j3dq | |
| 139 | + eslint-plugin-vue: 9.9.0_eslint@8.32.0 | |
| 140 | 140 | lint-staged: 13.1.0 |
| 141 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 141 | + postcss: 8.4.21 | |
| 142 | 142 | postcss-html: 1.5.0 |
| 143 | - postcss-scss: 4.0.6_postcss@8.4.20 | |
| 144 | - prettier: 2.8.1 | |
| 145 | - rimraf: 3.0.2 | |
| 146 | - rollup: 3.9.1 | |
| 143 | + postcss-scss: 4.0.6_postcss@8.4.21 | |
| 144 | + prettier: 2.8.3 | |
| 145 | + rimraf: 4.0.7 | |
| 146 | + rollup: 3.10.0 | |
| 147 | 147 | sass: 1.57.1 |
| 148 | 148 | stylelint: 14.16.1 |
| 149 | 149 | stylelint-config-html: 1.1.0_kbto3rg3njmczth2rrsgfnlsqa |
| 150 | 150 | stylelint-config-prettier: 9.0.4_stylelint@14.16.1 |
| 151 | 151 | stylelint-config-recommended: 9.0.0_stylelint@14.16.1 |
| 152 | 152 | stylelint-config-standard: 29.0.0_stylelint@14.16.1 |
| 153 | - stylelint-order: 5.0.0_stylelint@14.16.1 | |
| 153 | + stylelint-order: 6.0.1_stylelint@14.16.1 | |
| 154 | 154 | terser: 5.16.1 |
| 155 | 155 | typescript: 4.9.4 |
| 156 | 156 | vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i |
| 157 | 157 | vite-plugin-compression: 0.5.1_vite@4.0.4 |
| 158 | 158 | vite-plugin-ejs: 1.6.4 |
| 159 | - vite-plugin-eslint: 1.8.1_eslint@8.31.0+vite@4.0.4 | |
| 159 | + vite-plugin-eslint: 1.8.1_eslint@8.32.0+vite@4.0.4 | |
| 160 | 160 | vite-plugin-progress: 0.0.6_vite@4.0.4 |
| 161 | - vite-plugin-purge-icons: registry.npmmirror.com/vite-plugin-purge-icons/0.9.2_vite@4.0.4 | |
| 161 | + vite-plugin-purge-icons: 0.9.2_vite@4.0.4 | |
| 162 | 162 | vite-plugin-style-import: 2.0.0_vite@4.0.4 |
| 163 | 163 | vite-plugin-svg-icons: 2.0.1_vite@4.0.4 |
| 164 | 164 | vite-plugin-vue-setup-extend: 0.4.0_vite@4.0.4 |
| 165 | - vite-plugin-windicss: registry.npmmirror.com/vite-plugin-windicss/1.8.10_vite@4.0.4 | |
| 166 | - vue-tsc: 1.0.20_typescript@4.9.4 | |
| 165 | + vite-plugin-windicss: 1.8.10_vite@4.0.4 | |
| 166 | + vue-tsc: 1.0.24_typescript@4.9.4 | |
| 167 | 167 | windicss: 3.5.6 |
| 168 | 168 | |
| 169 | 169 | packages: |
| 170 | 170 | |
| 171 | + /@ampproject/remapping/2.2.0: | |
| 172 | + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@ampproject/remapping/-/remapping-2.2.0.tgz} | |
| 173 | + engines: {node: '>=6.0.0'} | |
| 174 | + dependencies: | |
| 175 | + '@jridgewell/gen-mapping': 0.1.1 | |
| 176 | + '@jridgewell/trace-mapping': 0.3.17 | |
| 177 | + dev: true | |
| 178 | + | |
| 179 | + /@antfu/utils/0.7.2: | |
| 180 | + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@antfu/utils/-/utils-0.7.2.tgz} | |
| 181 | + dev: true | |
| 182 | + | |
| 171 | 183 | /@babel/code-frame/7.18.6: |
| 172 | - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} | |
| 184 | + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/code-frame/-/code-frame-7.18.6.tgz} | |
| 173 | 185 | engines: {node: '>=6.9.0'} |
| 174 | 186 | dependencies: |
| 175 | 187 | '@babel/highlight': 7.18.6 |
| 176 | 188 | dev: true |
| 177 | 189 | |
| 190 | + /@babel/compat-data/7.20.1: | |
| 191 | + resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/compat-data/-/compat-data-7.20.1.tgz} | |
| 192 | + engines: {node: '>=6.9.0'} | |
| 193 | + dev: true | |
| 194 | + | |
| 195 | + /@babel/core/7.20.5: | |
| 196 | + resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/core/-/core-7.20.5.tgz} | |
| 197 | + engines: {node: '>=6.9.0'} | |
| 198 | + dependencies: | |
| 199 | + '@ampproject/remapping': 2.2.0 | |
| 200 | + '@babel/code-frame': 7.18.6 | |
| 201 | + '@babel/generator': 7.20.5 | |
| 202 | + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5 | |
| 203 | + '@babel/helper-module-transforms': 7.20.2 | |
| 204 | + '@babel/helpers': 7.20.6 | |
| 205 | + '@babel/parser': 7.20.5 | |
| 206 | + '@babel/template': 7.18.10 | |
| 207 | + '@babel/traverse': 7.20.5 | |
| 208 | + '@babel/types': 7.20.5 | |
| 209 | + convert-source-map: 1.9.0 | |
| 210 | + debug: 4.3.4 | |
| 211 | + gensync: 1.0.0-beta.2 | |
| 212 | + json5: 2.2.1 | |
| 213 | + semver: 6.3.0 | |
| 214 | + transitivePeerDependencies: | |
| 215 | + - supports-color | |
| 216 | + dev: true | |
| 217 | + | |
| 218 | + /@babel/generator/7.20.5: | |
| 219 | + resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/generator/-/generator-7.20.5.tgz} | |
| 220 | + engines: {node: '>=6.9.0'} | |
| 221 | + dependencies: | |
| 222 | + '@babel/types': 7.20.5 | |
| 223 | + '@jridgewell/gen-mapping': 0.3.2 | |
| 224 | + jsesc: 2.5.2 | |
| 225 | + dev: true | |
| 226 | + | |
| 227 | + /@babel/helper-annotate-as-pure/7.18.6: | |
| 228 | + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz} | |
| 229 | + engines: {node: '>=6.9.0'} | |
| 230 | + dependencies: | |
| 231 | + '@babel/types': 7.20.5 | |
| 232 | + dev: true | |
| 233 | + | |
| 234 | + /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5: | |
| 235 | + resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz} | |
| 236 | + engines: {node: '>=6.9.0'} | |
| 237 | + peerDependencies: | |
| 238 | + '@babel/core': ^7.0.0 | |
| 239 | + dependencies: | |
| 240 | + '@babel/compat-data': 7.20.1 | |
| 241 | + '@babel/core': 7.20.5 | |
| 242 | + '@babel/helper-validator-option': 7.18.6 | |
| 243 | + browserslist: 4.21.4 | |
| 244 | + semver: 6.3.0 | |
| 245 | + dev: true | |
| 246 | + | |
| 247 | + /@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.5: | |
| 248 | + resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz} | |
| 249 | + engines: {node: '>=6.9.0'} | |
| 250 | + peerDependencies: | |
| 251 | + '@babel/core': ^7.0.0 | |
| 252 | + dependencies: | |
| 253 | + '@babel/core': 7.20.5 | |
| 254 | + '@babel/helper-annotate-as-pure': 7.18.6 | |
| 255 | + '@babel/helper-environment-visitor': 7.18.9 | |
| 256 | + '@babel/helper-function-name': 7.19.0 | |
| 257 | + '@babel/helper-member-expression-to-functions': 7.18.9 | |
| 258 | + '@babel/helper-optimise-call-expression': 7.18.6 | |
| 259 | + '@babel/helper-replace-supers': 7.19.1 | |
| 260 | + '@babel/helper-split-export-declaration': 7.18.6 | |
| 261 | + transitivePeerDependencies: | |
| 262 | + - supports-color | |
| 263 | + dev: true | |
| 264 | + | |
| 265 | + /@babel/helper-environment-visitor/7.18.9: | |
| 266 | + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz} | |
| 267 | + engines: {node: '>=6.9.0'} | |
| 268 | + dev: true | |
| 269 | + | |
| 270 | + /@babel/helper-function-name/7.19.0: | |
| 271 | + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz} | |
| 272 | + engines: {node: '>=6.9.0'} | |
| 273 | + dependencies: | |
| 274 | + '@babel/template': 7.18.10 | |
| 275 | + '@babel/types': 7.20.5 | |
| 276 | + dev: true | |
| 277 | + | |
| 278 | + /@babel/helper-hoist-variables/7.18.6: | |
| 279 | + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz} | |
| 280 | + engines: {node: '>=6.9.0'} | |
| 281 | + dependencies: | |
| 282 | + '@babel/types': 7.20.5 | |
| 283 | + dev: true | |
| 284 | + | |
| 285 | + /@babel/helper-member-expression-to-functions/7.18.9: | |
| 286 | + resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz} | |
| 287 | + engines: {node: '>=6.9.0'} | |
| 288 | + dependencies: | |
| 289 | + '@babel/types': 7.20.5 | |
| 290 | + dev: true | |
| 291 | + | |
| 292 | + /@babel/helper-module-imports/7.18.6: | |
| 293 | + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz} | |
| 294 | + engines: {node: '>=6.9.0'} | |
| 295 | + dependencies: | |
| 296 | + '@babel/types': 7.20.5 | |
| 297 | + dev: true | |
| 298 | + | |
| 299 | + /@babel/helper-module-transforms/7.20.2: | |
| 300 | + resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz} | |
| 301 | + engines: {node: '>=6.9.0'} | |
| 302 | + dependencies: | |
| 303 | + '@babel/helper-environment-visitor': 7.18.9 | |
| 304 | + '@babel/helper-module-imports': 7.18.6 | |
| 305 | + '@babel/helper-simple-access': 7.20.2 | |
| 306 | + '@babel/helper-split-export-declaration': 7.18.6 | |
| 307 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 308 | + '@babel/template': 7.18.10 | |
| 309 | + '@babel/traverse': 7.20.5 | |
| 310 | + '@babel/types': 7.20.5 | |
| 311 | + transitivePeerDependencies: | |
| 312 | + - supports-color | |
| 313 | + dev: true | |
| 314 | + | |
| 315 | + /@babel/helper-optimise-call-expression/7.18.6: | |
| 316 | + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz} | |
| 317 | + engines: {node: '>=6.9.0'} | |
| 318 | + dependencies: | |
| 319 | + '@babel/types': 7.20.5 | |
| 320 | + dev: true | |
| 321 | + | |
| 322 | + /@babel/helper-plugin-utils/7.20.2: | |
| 323 | + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz} | |
| 324 | + engines: {node: '>=6.9.0'} | |
| 325 | + dev: true | |
| 326 | + | |
| 327 | + /@babel/helper-replace-supers/7.19.1: | |
| 328 | + resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz} | |
| 329 | + engines: {node: '>=6.9.0'} | |
| 330 | + dependencies: | |
| 331 | + '@babel/helper-environment-visitor': 7.18.9 | |
| 332 | + '@babel/helper-member-expression-to-functions': 7.18.9 | |
| 333 | + '@babel/helper-optimise-call-expression': 7.18.6 | |
| 334 | + '@babel/traverse': 7.20.5 | |
| 335 | + '@babel/types': 7.20.5 | |
| 336 | + transitivePeerDependencies: | |
| 337 | + - supports-color | |
| 338 | + dev: true | |
| 339 | + | |
| 340 | + /@babel/helper-simple-access/7.20.2: | |
| 341 | + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz} | |
| 342 | + engines: {node: '>=6.9.0'} | |
| 343 | + dependencies: | |
| 344 | + '@babel/types': 7.20.5 | |
| 345 | + dev: true | |
| 346 | + | |
| 347 | + /@babel/helper-split-export-declaration/7.18.6: | |
| 348 | + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz} | |
| 349 | + engines: {node: '>=6.9.0'} | |
| 350 | + dependencies: | |
| 351 | + '@babel/types': 7.20.5 | |
| 352 | + dev: true | |
| 353 | + | |
| 178 | 354 | /@babel/helper-string-parser/7.19.4: |
| 179 | - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} | |
| 355 | + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz} | |
| 180 | 356 | engines: {node: '>=6.9.0'} |
| 181 | 357 | |
| 182 | 358 | /@babel/helper-validator-identifier/7.19.1: |
| 183 | - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} | |
| 359 | + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz} | |
| 360 | + engines: {node: '>=6.9.0'} | |
| 361 | + | |
| 362 | + /@babel/helper-validator-option/7.18.6: | |
| 363 | + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz} | |
| 364 | + engines: {node: '>=6.9.0'} | |
| 365 | + dev: true | |
| 366 | + | |
| 367 | + /@babel/helpers/7.20.6: | |
| 368 | + resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/helpers/-/helpers-7.20.6.tgz} | |
| 184 | 369 | engines: {node: '>=6.9.0'} |
| 370 | + dependencies: | |
| 371 | + '@babel/template': 7.18.10 | |
| 372 | + '@babel/traverse': 7.20.5 | |
| 373 | + '@babel/types': 7.20.5 | |
| 374 | + transitivePeerDependencies: | |
| 375 | + - supports-color | |
| 376 | + dev: true | |
| 185 | 377 | |
| 186 | 378 | /@babel/highlight/7.18.6: |
| 187 | - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} | |
| 379 | + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/highlight/-/highlight-7.18.6.tgz} | |
| 188 | 380 | engines: {node: '>=6.9.0'} |
| 189 | 381 | dependencies: |
| 190 | 382 | '@babel/helper-validator-identifier': 7.19.1 |
| ... | ... | @@ -197,40 +389,133 @@ packages: |
| 197 | 389 | engines: {node: '>=6.0.0'} |
| 198 | 390 | hasBin: true |
| 199 | 391 | dependencies: |
| 200 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 392 | + '@babel/types': 7.20.5 | |
| 201 | 393 | |
| 202 | 394 | /@babel/parser/7.20.5: |
| 203 | - resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} | |
| 395 | + resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/parser/-/parser-7.20.5.tgz} | |
| 204 | 396 | engines: {node: '>=6.0.0'} |
| 205 | 397 | hasBin: true |
| 206 | 398 | dependencies: |
| 207 | 399 | '@babel/types': 7.20.5 |
| 208 | 400 | |
| 401 | + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5: | |
| 402 | + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz} | |
| 403 | + engines: {node: '>=6.9.0'} | |
| 404 | + peerDependencies: | |
| 405 | + '@babel/core': ^7.0.0-0 | |
| 406 | + dependencies: | |
| 407 | + '@babel/core': 7.20.5 | |
| 408 | + '@babel/helper-plugin-utils': 7.20.2 | |
| 409 | + dev: true | |
| 410 | + | |
| 411 | + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5: | |
| 412 | + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz} | |
| 413 | + engines: {node: '>=6.9.0'} | |
| 414 | + peerDependencies: | |
| 415 | + '@babel/core': ^7.0.0-0 | |
| 416 | + dependencies: | |
| 417 | + '@babel/core': 7.20.5 | |
| 418 | + '@babel/helper-plugin-utils': 7.20.2 | |
| 419 | + dev: true | |
| 420 | + | |
| 421 | + /@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.5: | |
| 422 | + resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz} | |
| 423 | + engines: {node: '>=6.9.0'} | |
| 424 | + peerDependencies: | |
| 425 | + '@babel/core': ^7.0.0-0 | |
| 426 | + dependencies: | |
| 427 | + '@babel/core': 7.20.5 | |
| 428 | + '@babel/helper-create-class-features-plugin': 7.20.2_@babel+core@7.20.5 | |
| 429 | + '@babel/helper-plugin-utils': 7.20.2 | |
| 430 | + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.5 | |
| 431 | + transitivePeerDependencies: | |
| 432 | + - supports-color | |
| 433 | + dev: true | |
| 434 | + | |
| 209 | 435 | /@babel/runtime/7.20.1: |
| 210 | 436 | resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} |
| 211 | 437 | engines: {node: '>=6.9.0'} |
| 212 | 438 | dependencies: |
| 213 | - regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11 | |
| 439 | + regenerator-runtime: 0.13.11 | |
| 214 | 440 | dev: false |
| 215 | 441 | |
| 442 | + /@babel/standalone/7.20.6: | |
| 443 | + resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/standalone/-/standalone-7.20.6.tgz} | |
| 444 | + engines: {node: '>=6.9.0'} | |
| 445 | + dev: true | |
| 446 | + | |
| 447 | + /@babel/template/7.18.10: | |
| 448 | + resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/template/-/template-7.18.10.tgz} | |
| 449 | + engines: {node: '>=6.9.0'} | |
| 450 | + dependencies: | |
| 451 | + '@babel/code-frame': 7.18.6 | |
| 452 | + '@babel/parser': 7.20.5 | |
| 453 | + '@babel/types': 7.20.5 | |
| 454 | + dev: true | |
| 455 | + | |
| 456 | + /@babel/traverse/7.20.1: | |
| 457 | + resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/traverse/-/traverse-7.20.1.tgz} | |
| 458 | + engines: {node: '>=6.9.0'} | |
| 459 | + dependencies: | |
| 460 | + '@babel/code-frame': 7.18.6 | |
| 461 | + '@babel/generator': 7.20.5 | |
| 462 | + '@babel/helper-environment-visitor': 7.18.9 | |
| 463 | + '@babel/helper-function-name': 7.19.0 | |
| 464 | + '@babel/helper-hoist-variables': 7.18.6 | |
| 465 | + '@babel/helper-split-export-declaration': 7.18.6 | |
| 466 | + '@babel/parser': 7.20.5 | |
| 467 | + '@babel/types': 7.20.5 | |
| 468 | + debug: 4.3.4 | |
| 469 | + globals: 11.12.0 | |
| 470 | + transitivePeerDependencies: | |
| 471 | + - supports-color | |
| 472 | + dev: true | |
| 473 | + | |
| 474 | + /@babel/traverse/7.20.5: | |
| 475 | + resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/traverse/-/traverse-7.20.5.tgz} | |
| 476 | + engines: {node: '>=6.9.0'} | |
| 477 | + dependencies: | |
| 478 | + '@babel/code-frame': 7.18.6 | |
| 479 | + '@babel/generator': 7.20.5 | |
| 480 | + '@babel/helper-environment-visitor': 7.18.9 | |
| 481 | + '@babel/helper-function-name': 7.19.0 | |
| 482 | + '@babel/helper-hoist-variables': 7.18.6 | |
| 483 | + '@babel/helper-split-export-declaration': 7.18.6 | |
| 484 | + '@babel/parser': 7.20.5 | |
| 485 | + '@babel/types': 7.20.5 | |
| 486 | + debug: 4.3.4 | |
| 487 | + globals: 11.12.0 | |
| 488 | + transitivePeerDependencies: | |
| 489 | + - supports-color | |
| 490 | + dev: true | |
| 491 | + | |
| 492 | + /@babel/types/7.20.2: | |
| 493 | + resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/types/-/types-7.20.2.tgz} | |
| 494 | + engines: {node: '>=6.9.0'} | |
| 495 | + dependencies: | |
| 496 | + '@babel/helper-string-parser': 7.19.4 | |
| 497 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 498 | + to-fast-properties: 2.0.0 | |
| 499 | + dev: true | |
| 500 | + | |
| 216 | 501 | /@babel/types/7.20.5: |
| 217 | - resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} | |
| 502 | + resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/types/-/types-7.20.5.tgz} | |
| 218 | 503 | engines: {node: '>=6.9.0'} |
| 219 | 504 | dependencies: |
| 220 | 505 | '@babel/helper-string-parser': 7.19.4 |
| 221 | 506 | '@babel/helper-validator-identifier': 7.19.1 |
| 222 | 507 | to-fast-properties: 2.0.0 |
| 223 | 508 | |
| 224 | - /@commitlint/cli/17.3.0: | |
| 225 | - resolution: {integrity: sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==} | |
| 509 | + /@commitlint/cli/17.4.2: | |
| 510 | + resolution: {integrity: sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA==} | |
| 226 | 511 | engines: {node: '>=v14'} |
| 227 | 512 | hasBin: true |
| 228 | 513 | dependencies: |
| 229 | - '@commitlint/format': 17.0.0 | |
| 230 | - '@commitlint/lint': 17.3.0 | |
| 231 | - '@commitlint/load': 17.3.0 | |
| 232 | - '@commitlint/read': 17.2.0 | |
| 233 | - '@commitlint/types': 17.0.0 | |
| 514 | + '@commitlint/format': 17.4.0 | |
| 515 | + '@commitlint/lint': 17.4.2 | |
| 516 | + '@commitlint/load': 17.4.2 | |
| 517 | + '@commitlint/read': 17.4.2 | |
| 518 | + '@commitlint/types': 17.4.0 | |
| 234 | 519 | execa: 5.1.1 |
| 235 | 520 | lodash.isfunction: 3.0.9 |
| 236 | 521 | resolve-from: 5.0.0 |
| ... | ... | @@ -241,26 +526,26 @@ packages: |
| 241 | 526 | - '@swc/wasm' |
| 242 | 527 | dev: true |
| 243 | 528 | |
| 244 | - /@commitlint/config-conventional/17.3.0: | |
| 245 | - resolution: {integrity: sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==} | |
| 529 | + /@commitlint/config-conventional/17.4.2: | |
| 530 | + resolution: {integrity: sha512-JVo1moSj5eDMoql159q8zKCU8lkOhQ+b23Vl3LVVrS6PXDLQIELnJ34ChQmFVbBdSSRNAbbXnRDhosFU+wnuHw==} | |
| 246 | 531 | engines: {node: '>=v14'} |
| 247 | 532 | dependencies: |
| 248 | 533 | conventional-changelog-conventionalcommits: 5.0.0 |
| 249 | 534 | dev: true |
| 250 | 535 | |
| 251 | - /@commitlint/config-validator/17.1.0: | |
| 252 | - resolution: {integrity: sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==} | |
| 536 | + /@commitlint/config-validator/17.4.0: | |
| 537 | + resolution: {integrity: sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==} | |
| 253 | 538 | engines: {node: '>=v14'} |
| 254 | 539 | dependencies: |
| 255 | - '@commitlint/types': 17.0.0 | |
| 540 | + '@commitlint/types': 17.4.0 | |
| 256 | 541 | ajv: 8.11.2 |
| 257 | 542 | dev: true |
| 258 | 543 | |
| 259 | - /@commitlint/ensure/17.3.0: | |
| 260 | - resolution: {integrity: sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==} | |
| 544 | + /@commitlint/ensure/17.4.0: | |
| 545 | + resolution: {integrity: sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==} | |
| 261 | 546 | engines: {node: '>=v14'} |
| 262 | 547 | dependencies: |
| 263 | - '@commitlint/types': 17.0.0 | |
| 548 | + '@commitlint/types': 17.4.0 | |
| 264 | 549 | lodash.camelcase: 4.3.0 |
| 265 | 550 | lodash.kebabcase: 4.1.1 |
| 266 | 551 | lodash.snakecase: 4.1.1 |
| ... | ... | @@ -268,122 +553,122 @@ packages: |
| 268 | 553 | lodash.upperfirst: 4.3.1 |
| 269 | 554 | dev: true |
| 270 | 555 | |
| 271 | - /@commitlint/execute-rule/17.0.0: | |
| 272 | - resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==} | |
| 556 | + /@commitlint/execute-rule/17.4.0: | |
| 557 | + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} | |
| 273 | 558 | engines: {node: '>=v14'} |
| 274 | 559 | dev: true |
| 275 | 560 | |
| 276 | - /@commitlint/format/17.0.0: | |
| 277 | - resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==} | |
| 561 | + /@commitlint/format/17.4.0: | |
| 562 | + resolution: {integrity: sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==} | |
| 278 | 563 | engines: {node: '>=v14'} |
| 279 | 564 | dependencies: |
| 280 | - '@commitlint/types': 17.0.0 | |
| 565 | + '@commitlint/types': 17.4.0 | |
| 281 | 566 | chalk: 4.1.2 |
| 282 | 567 | dev: true |
| 283 | 568 | |
| 284 | - /@commitlint/is-ignored/17.2.0: | |
| 285 | - resolution: {integrity: sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==} | |
| 569 | + /@commitlint/is-ignored/17.4.2: | |
| 570 | + resolution: {integrity: sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q==} | |
| 286 | 571 | engines: {node: '>=v14'} |
| 287 | 572 | dependencies: |
| 288 | - '@commitlint/types': 17.0.0 | |
| 289 | - semver: registry.npmmirror.com/semver/7.3.7 | |
| 573 | + '@commitlint/types': 17.4.0 | |
| 574 | + semver: 7.3.8 | |
| 290 | 575 | dev: true |
| 291 | 576 | |
| 292 | - /@commitlint/lint/17.3.0: | |
| 293 | - resolution: {integrity: sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==} | |
| 577 | + /@commitlint/lint/17.4.2: | |
| 578 | + resolution: {integrity: sha512-HcymabrdBhsDMNzIv146+ZPNBPBK5gMNsVH+el2lCagnYgCi/4ixrHooeVyS64Fgce2K26+MC7OQ4vVH8wQWVw==} | |
| 294 | 579 | engines: {node: '>=v14'} |
| 295 | 580 | dependencies: |
| 296 | - '@commitlint/is-ignored': 17.2.0 | |
| 297 | - '@commitlint/parse': 17.2.0 | |
| 298 | - '@commitlint/rules': 17.3.0 | |
| 299 | - '@commitlint/types': 17.0.0 | |
| 581 | + '@commitlint/is-ignored': 17.4.2 | |
| 582 | + '@commitlint/parse': 17.4.2 | |
| 583 | + '@commitlint/rules': 17.4.2 | |
| 584 | + '@commitlint/types': 17.4.0 | |
| 300 | 585 | dev: true |
| 301 | 586 | |
| 302 | - /@commitlint/load/17.3.0: | |
| 303 | - resolution: {integrity: sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==} | |
| 587 | + /@commitlint/load/17.4.2: | |
| 588 | + resolution: {integrity: sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw==} | |
| 304 | 589 | engines: {node: '>=v14'} |
| 305 | 590 | dependencies: |
| 306 | - '@commitlint/config-validator': 17.1.0 | |
| 307 | - '@commitlint/execute-rule': 17.0.0 | |
| 308 | - '@commitlint/resolve-extends': 17.3.0 | |
| 309 | - '@commitlint/types': 17.0.0 | |
| 310 | - '@types/node': 14.18.33 | |
| 591 | + '@commitlint/config-validator': 17.4.0 | |
| 592 | + '@commitlint/execute-rule': 17.4.0 | |
| 593 | + '@commitlint/resolve-extends': 17.4.0 | |
| 594 | + '@commitlint/types': 17.4.0 | |
| 595 | + '@types/node': 18.11.18 | |
| 311 | 596 | chalk: 4.1.2 |
| 312 | - cosmiconfig: 7.1.0 | |
| 313 | - cosmiconfig-typescript-loader: 4.2.0_wb7bklcl6jlvxijczjyxggip4a | |
| 597 | + cosmiconfig: 8.0.0 | |
| 598 | + cosmiconfig-typescript-loader: 4.2.0_bxtyj3et3xbsdyxhh3oblnfbj4 | |
| 314 | 599 | lodash.isplainobject: 4.0.6 |
| 315 | 600 | lodash.merge: 4.6.2 |
| 316 | 601 | lodash.uniq: 4.5.0 |
| 317 | 602 | resolve-from: 5.0.0 |
| 318 | - ts-node: 10.9.1_rju6pyblifsagdmqm3y74zsi6q | |
| 603 | + ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq | |
| 319 | 604 | typescript: 4.9.4 |
| 320 | 605 | transitivePeerDependencies: |
| 321 | 606 | - '@swc/core' |
| 322 | 607 | - '@swc/wasm' |
| 323 | 608 | dev: true |
| 324 | 609 | |
| 325 | - /@commitlint/message/17.2.0: | |
| 326 | - resolution: {integrity: sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==} | |
| 610 | + /@commitlint/message/17.4.2: | |
| 611 | + resolution: {integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==} | |
| 327 | 612 | engines: {node: '>=v14'} |
| 328 | 613 | dev: true |
| 329 | 614 | |
| 330 | - /@commitlint/parse/17.2.0: | |
| 331 | - resolution: {integrity: sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==} | |
| 615 | + /@commitlint/parse/17.4.2: | |
| 616 | + resolution: {integrity: sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA==} | |
| 332 | 617 | engines: {node: '>=v14'} |
| 333 | 618 | dependencies: |
| 334 | - '@commitlint/types': 17.0.0 | |
| 619 | + '@commitlint/types': 17.4.0 | |
| 335 | 620 | conventional-changelog-angular: 5.0.13 |
| 336 | 621 | conventional-commits-parser: 3.2.4 |
| 337 | 622 | dev: true |
| 338 | 623 | |
| 339 | - /@commitlint/read/17.2.0: | |
| 340 | - resolution: {integrity: sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==} | |
| 624 | + /@commitlint/read/17.4.2: | |
| 625 | + resolution: {integrity: sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg==} | |
| 341 | 626 | engines: {node: '>=v14'} |
| 342 | 627 | dependencies: |
| 343 | - '@commitlint/top-level': 17.0.0 | |
| 344 | - '@commitlint/types': 17.0.0 | |
| 345 | - fs-extra: 10.1.0 | |
| 628 | + '@commitlint/top-level': 17.4.0 | |
| 629 | + '@commitlint/types': 17.4.0 | |
| 630 | + fs-extra: 11.1.0 | |
| 346 | 631 | git-raw-commits: 2.0.11 |
| 347 | 632 | minimist: 1.2.7 |
| 348 | 633 | dev: true |
| 349 | 634 | |
| 350 | - /@commitlint/resolve-extends/17.3.0: | |
| 351 | - resolution: {integrity: sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==} | |
| 635 | + /@commitlint/resolve-extends/17.4.0: | |
| 636 | + resolution: {integrity: sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==} | |
| 352 | 637 | engines: {node: '>=v14'} |
| 353 | 638 | dependencies: |
| 354 | - '@commitlint/config-validator': 17.1.0 | |
| 355 | - '@commitlint/types': 17.0.0 | |
| 639 | + '@commitlint/config-validator': 17.4.0 | |
| 640 | + '@commitlint/types': 17.4.0 | |
| 356 | 641 | import-fresh: 3.3.0 |
| 357 | 642 | lodash.mergewith: 4.6.2 |
| 358 | 643 | resolve-from: 5.0.0 |
| 359 | 644 | resolve-global: 1.0.0 |
| 360 | 645 | dev: true |
| 361 | 646 | |
| 362 | - /@commitlint/rules/17.3.0: | |
| 363 | - resolution: {integrity: sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==} | |
| 647 | + /@commitlint/rules/17.4.2: | |
| 648 | + resolution: {integrity: sha512-OGrPsMb9Fx3/bZ64/EzJehY9YDSGWzp81Pj+zJiY+r/NSgJI3nUYdlS37jykNIugzazdEXfMtQ10kmA+Kx2pZQ==} | |
| 364 | 649 | engines: {node: '>=v14'} |
| 365 | 650 | dependencies: |
| 366 | - '@commitlint/ensure': 17.3.0 | |
| 367 | - '@commitlint/message': 17.2.0 | |
| 368 | - '@commitlint/to-lines': 17.0.0 | |
| 369 | - '@commitlint/types': 17.0.0 | |
| 651 | + '@commitlint/ensure': 17.4.0 | |
| 652 | + '@commitlint/message': 17.4.2 | |
| 653 | + '@commitlint/to-lines': 17.4.0 | |
| 654 | + '@commitlint/types': 17.4.0 | |
| 370 | 655 | execa: 5.1.1 |
| 371 | 656 | dev: true |
| 372 | 657 | |
| 373 | - /@commitlint/to-lines/17.0.0: | |
| 374 | - resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==} | |
| 658 | + /@commitlint/to-lines/17.4.0: | |
| 659 | + resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} | |
| 375 | 660 | engines: {node: '>=v14'} |
| 376 | 661 | dev: true |
| 377 | 662 | |
| 378 | - /@commitlint/top-level/17.0.0: | |
| 379 | - resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==} | |
| 663 | + /@commitlint/top-level/17.4.0: | |
| 664 | + resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} | |
| 380 | 665 | engines: {node: '>=v14'} |
| 381 | 666 | dependencies: |
| 382 | 667 | find-up: 5.0.0 |
| 383 | 668 | dev: true |
| 384 | 669 | |
| 385 | - /@commitlint/types/17.0.0: | |
| 386 | - resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==} | |
| 670 | + /@commitlint/types/17.4.0: | |
| 671 | + resolution: {integrity: sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==} | |
| 387 | 672 | engines: {node: '>=v14'} |
| 388 | 673 | dependencies: |
| 389 | 674 | chalk: 4.1.2 |
| ... | ... | @@ -393,17 +678,17 @@ packages: |
| 393 | 678 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} |
| 394 | 679 | engines: {node: '>=12'} |
| 395 | 680 | dependencies: |
| 396 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9 | |
| 681 | + '@jridgewell/trace-mapping': 0.3.9 | |
| 397 | 682 | dev: true |
| 398 | 683 | |
| 399 | - /@csstools/selector-specificity/2.0.2_2xshye3abirqjlplmebvmaxyna: | |
| 684 | + /@csstools/selector-specificity/2.0.2_wajs5nedgkikc5pcuwett7legi: | |
| 400 | 685 | resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} |
| 401 | 686 | engines: {node: ^12 || ^14 || >=16} |
| 402 | 687 | peerDependencies: |
| 403 | 688 | postcss: ^8.2 |
| 404 | 689 | postcss-selector-parser: ^6.0.10 |
| 405 | 690 | dependencies: |
| 406 | - postcss: 8.4.20 | |
| 691 | + postcss: 8.4.21 | |
| 407 | 692 | postcss-selector-parser: 6.0.11 |
| 408 | 693 | dev: true |
| 409 | 694 | |
| ... | ... | @@ -665,13 +950,21 @@ packages: |
| 665 | 950 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} |
| 666 | 951 | dev: true |
| 667 | 952 | |
| 953 | + /@iconify/iconify/2.1.2: | |
| 954 | + resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@iconify/iconify/-/iconify-2.1.2.tgz} | |
| 955 | + dependencies: | |
| 956 | + cross-fetch: 3.1.5 | |
| 957 | + transitivePeerDependencies: | |
| 958 | + - encoding | |
| 959 | + dev: true | |
| 960 | + | |
| 668 | 961 | /@iconify/iconify/3.0.1: |
| 669 | 962 | resolution: {integrity: sha512-OPqVBTh8YsfrYZRVFv3OkmFNLqacM0dy/Oiw1h2wO+RZW5LieNGHlG2f9pzaeVRFWbEB8LHTeo8mcwgUTUbibQ==} |
| 670 | 963 | dependencies: |
| 671 | 964 | '@iconify/types': 2.0.0 |
| 672 | 965 | |
| 673 | - /@iconify/json/2.2.1: | |
| 674 | - resolution: {integrity: sha512-h6QAV4i0B/QdpJRWExgE5am3WtmNAy/NucsAGNtYsNzeLBa+TVig4QpO9nQrX172tQvEZAfSqUkvCx/y7GN0GQ==} | |
| 966 | + /@iconify/json/2.2.7: | |
| 967 | + resolution: {integrity: sha512-cWDwr+KE0KNSFmxrR0rvM5AmP4JmJWCZiyhFZ1bywwBJsrV/x+19bLbEAvmn4pmKKYWCAy4F9clpVWynYslzoQ==} | |
| 675 | 968 | dependencies: |
| 676 | 969 | '@iconify/types': 2.0.0 |
| 677 | 970 | pathe: 1.0.0 |
| ... | ... | @@ -692,8 +985,8 @@ packages: |
| 692 | 985 | vue-i18n: |
| 693 | 986 | optional: true |
| 694 | 987 | dependencies: |
| 695 | - '@intlify/message-compiler': 9.3.0-beta.12 | |
| 696 | - '@intlify/shared': 9.3.0-beta.12 | |
| 988 | + '@intlify/message-compiler': 9.3.0-beta.16 | |
| 989 | + '@intlify/shared': 9.3.0-beta.16 | |
| 697 | 990 | jsonc-eslint-parser: 1.4.1 |
| 698 | 991 | source-map: 0.6.1 |
| 699 | 992 | vue-i18n: 9.2.2_vue@3.2.45 |
| ... | ... | @@ -722,11 +1015,11 @@ packages: |
| 722 | 1015 | '@intlify/shared': 9.2.2 |
| 723 | 1016 | source-map: 0.6.1 |
| 724 | 1017 | |
| 725 | - /@intlify/message-compiler/9.3.0-beta.12: | |
| 726 | - resolution: {integrity: sha512-A8/s7pb3v8nf6HG77qFPJntxgQKI9GXxGnkn7aO+b03/X/GkF/4WceDSAIk3i+yLeIgszeBn9GZ23tSg4sTEHA==} | |
| 1018 | + /@intlify/message-compiler/9.3.0-beta.16: | |
| 1019 | + resolution: {integrity: sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw==} | |
| 727 | 1020 | engines: {node: '>= 14'} |
| 728 | 1021 | dependencies: |
| 729 | - '@intlify/shared': 9.3.0-beta.11 | |
| 1022 | + '@intlify/shared': 9.3.0-beta.16 | |
| 730 | 1023 | source-map: 0.6.1 |
| 731 | 1024 | dev: true |
| 732 | 1025 | |
| ... | ... | @@ -734,13 +1027,8 @@ packages: |
| 734 | 1027 | resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} |
| 735 | 1028 | engines: {node: '>= 14'} |
| 736 | 1029 | |
| 737 | - /@intlify/shared/9.3.0-beta.11: | |
| 738 | - resolution: {integrity: sha512-CtbotesxTRiC3bRyXyv1NG39fkqJ790f8z8xFaeIXSZpOdiyxoh5BIyypCzSFQZDGLwz0Q9gyWbW1XpxQJm68Q==} | |
| 739 | - engines: {node: '>= 14'} | |
| 740 | - dev: true | |
| 741 | - | |
| 742 | - /@intlify/shared/9.3.0-beta.12: | |
| 743 | - resolution: {integrity: sha512-WsmaS54sA8xuwezPKpa/OMoaX1v2VF2fCgAmYS6prDr2ir0CkUFWPm9A8ilmxzv4nkS61/v8+vf4lGGkn5uBdA==} | |
| 1030 | + /@intlify/shared/9.3.0-beta.16: | |
| 1031 | + resolution: {integrity: sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig==} | |
| 744 | 1032 | engines: {node: '>= 14'} |
| 745 | 1033 | dev: true |
| 746 | 1034 | |
| ... | ... | @@ -760,7 +1048,7 @@ packages: |
| 760 | 1048 | optional: true |
| 761 | 1049 | dependencies: |
| 762 | 1050 | '@intlify/bundle-utils': 3.4.0_vue-i18n@9.2.2 |
| 763 | - '@intlify/shared': 9.3.0-beta.12 | |
| 1051 | + '@intlify/shared': 9.3.0-beta.16 | |
| 764 | 1052 | '@rollup/pluginutils': 4.2.1 |
| 765 | 1053 | '@vue/compiler-sfc': 3.2.45 |
| 766 | 1054 | debug: 4.3.4 |
| ... | ... | @@ -783,13 +1071,31 @@ packages: |
| 783 | 1071 | '@intlify/core-base': 9.2.2 |
| 784 | 1072 | '@intlify/shared': 9.2.2 |
| 785 | 1073 | |
| 1074 | + /@jridgewell/gen-mapping/0.1.1: | |
| 1075 | + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz} | |
| 1076 | + engines: {node: '>=6.0.0'} | |
| 1077 | + dependencies: | |
| 1078 | + '@jridgewell/set-array': 1.1.2 | |
| 1079 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1080 | + dev: true | |
| 1081 | + | |
| 786 | 1082 | /@jridgewell/gen-mapping/0.3.2: |
| 787 | 1083 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} |
| 788 | 1084 | engines: {node: '>=6.0.0'} |
| 789 | 1085 | dependencies: |
| 790 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 791 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 792 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 1086 | + '@jridgewell/set-array': 1.1.2 | |
| 1087 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1088 | + '@jridgewell/trace-mapping': 0.3.17 | |
| 1089 | + dev: true | |
| 1090 | + | |
| 1091 | + /@jridgewell/resolve-uri/3.1.0: | |
| 1092 | + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} | |
| 1093 | + engines: {node: '>=6.0.0'} | |
| 1094 | + dev: true | |
| 1095 | + | |
| 1096 | + /@jridgewell/set-array/1.1.2: | |
| 1097 | + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@jridgewell/set-array/-/set-array-1.1.2.tgz} | |
| 1098 | + engines: {node: '>=6.0.0'} | |
| 793 | 1099 | dev: true |
| 794 | 1100 | |
| 795 | 1101 | /@jridgewell/source-map/0.3.2: |
| ... | ... | @@ -799,11 +1105,22 @@ packages: |
| 799 | 1105 | '@jridgewell/trace-mapping': 0.3.17 |
| 800 | 1106 | dev: true |
| 801 | 1107 | |
| 1108 | + /@jridgewell/sourcemap-codec/1.4.14: | |
| 1109 | + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} | |
| 1110 | + dev: true | |
| 1111 | + | |
| 802 | 1112 | /@jridgewell/trace-mapping/0.3.17: |
| 803 | 1113 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} |
| 804 | 1114 | dependencies: |
| 805 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 806 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 1115 | + '@jridgewell/resolve-uri': 3.1.0 | |
| 1116 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1117 | + dev: true | |
| 1118 | + | |
| 1119 | + /@jridgewell/trace-mapping/0.3.9: | |
| 1120 | + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} | |
| 1121 | + dependencies: | |
| 1122 | + '@jridgewell/resolve-uri': 3.1.0 | |
| 1123 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 807 | 1124 | dev: true |
| 808 | 1125 | |
| 809 | 1126 | /@nodelib/fs.scandir/2.1.5: |
| ... | ... | @@ -827,6 +1144,19 @@ packages: |
| 827 | 1144 | fastq: 1.13.0 |
| 828 | 1145 | dev: true |
| 829 | 1146 | |
| 1147 | + /@purge-icons/core/0.9.1: | |
| 1148 | + resolution: {integrity: sha512-sx8/a30MbbqQVEqhuMPE1wJpdVRRbEmwEPZpFzVkcDixzX4p+R2A0WVxqkb0xfHUBAVQwrSE2SeAyniIQLqbLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@purge-icons/core/-/core-0.9.1.tgz} | |
| 1149 | + dependencies: | |
| 1150 | + '@iconify/iconify': 2.1.2 | |
| 1151 | + axios: 0.26.1_debug@4.3.4 | |
| 1152 | + debug: 4.3.4 | |
| 1153 | + fast-glob: 3.2.12 | |
| 1154 | + fs-extra: 10.1.0 | |
| 1155 | + transitivePeerDependencies: | |
| 1156 | + - encoding | |
| 1157 | + - supports-color | |
| 1158 | + dev: true | |
| 1159 | + | |
| 830 | 1160 | /@purge-icons/generated/0.9.0: |
| 831 | 1161 | resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==} |
| 832 | 1162 | dependencies: |
| ... | ... | @@ -909,10 +1239,6 @@ packages: |
| 909 | 1239 | resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} |
| 910 | 1240 | dev: true |
| 911 | 1241 | |
| 912 | - /@types/node/14.18.33: | |
| 913 | - resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} | |
| 914 | - dev: true | |
| 915 | - | |
| 916 | 1242 | /@types/node/18.11.18: |
| 917 | 1243 | resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} |
| 918 | 1244 | dev: true |
| ... | ... | @@ -953,8 +1279,8 @@ packages: |
| 953 | 1279 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} |
| 954 | 1280 | dev: false |
| 955 | 1281 | |
| 956 | - /@typescript-eslint/eslint-plugin/5.48.0_k73wpmdolxikpyqun3p36akaaq: | |
| 957 | - resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==} | |
| 1282 | + /@typescript-eslint/eslint-plugin/5.48.1_oomjohfipuyaxs2zyomcx4f5by: | |
| 1283 | + resolution: {integrity: sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==} | |
| 958 | 1284 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 959 | 1285 | peerDependencies: |
| 960 | 1286 | '@typescript-eslint/parser': ^5.0.0 |
| ... | ... | @@ -964,12 +1290,12 @@ packages: |
| 964 | 1290 | typescript: |
| 965 | 1291 | optional: true |
| 966 | 1292 | dependencies: |
| 967 | - '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 968 | - '@typescript-eslint/scope-manager': 5.48.0 | |
| 969 | - '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 970 | - '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 1293 | + '@typescript-eslint/parser': 5.48.1_7uibuqfxkfaozanbtbziikiqje | |
| 1294 | + '@typescript-eslint/scope-manager': 5.48.1 | |
| 1295 | + '@typescript-eslint/type-utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje | |
| 1296 | + '@typescript-eslint/utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje | |
| 971 | 1297 | debug: 4.3.4 |
| 972 | - eslint: 8.31.0 | |
| 1298 | + eslint: 8.32.0 | |
| 973 | 1299 | ignore: 5.2.1 |
| 974 | 1300 | natural-compare-lite: 1.4.0 |
| 975 | 1301 | regexpp: 3.2.0 |
| ... | ... | @@ -980,8 +1306,8 @@ packages: |
| 980 | 1306 | - supports-color |
| 981 | 1307 | dev: true |
| 982 | 1308 | |
| 983 | - /@typescript-eslint/parser/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 984 | - resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==} | |
| 1309 | + /@typescript-eslint/parser/5.48.1_7uibuqfxkfaozanbtbziikiqje: | |
| 1310 | + resolution: {integrity: sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==} | |
| 985 | 1311 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 986 | 1312 | peerDependencies: |
| 987 | 1313 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| ... | ... | @@ -990,26 +1316,26 @@ packages: |
| 990 | 1316 | typescript: |
| 991 | 1317 | optional: true |
| 992 | 1318 | dependencies: |
| 993 | - '@typescript-eslint/scope-manager': 5.48.0 | |
| 994 | - '@typescript-eslint/types': 5.48.0 | |
| 995 | - '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 1319 | + '@typescript-eslint/scope-manager': 5.48.1 | |
| 1320 | + '@typescript-eslint/types': 5.48.1 | |
| 1321 | + '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 | |
| 996 | 1322 | debug: 4.3.4 |
| 997 | - eslint: 8.31.0 | |
| 1323 | + eslint: 8.32.0 | |
| 998 | 1324 | typescript: 4.9.4 |
| 999 | 1325 | transitivePeerDependencies: |
| 1000 | 1326 | - supports-color |
| 1001 | 1327 | dev: true |
| 1002 | 1328 | |
| 1003 | - /@typescript-eslint/scope-manager/5.48.0: | |
| 1004 | - resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==} | |
| 1329 | + /@typescript-eslint/scope-manager/5.48.1: | |
| 1330 | + resolution: {integrity: sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==} | |
| 1005 | 1331 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1006 | 1332 | dependencies: |
| 1007 | - '@typescript-eslint/types': 5.48.0 | |
| 1008 | - '@typescript-eslint/visitor-keys': 5.48.0 | |
| 1333 | + '@typescript-eslint/types': 5.48.1 | |
| 1334 | + '@typescript-eslint/visitor-keys': 5.48.1 | |
| 1009 | 1335 | dev: true |
| 1010 | 1336 | |
| 1011 | - /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 1012 | - resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==} | |
| 1337 | + /@typescript-eslint/type-utils/5.48.1_7uibuqfxkfaozanbtbziikiqje: | |
| 1338 | + resolution: {integrity: sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==} | |
| 1013 | 1339 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1014 | 1340 | peerDependencies: |
| 1015 | 1341 | eslint: '*' |
| ... | ... | @@ -1018,23 +1344,23 @@ packages: |
| 1018 | 1344 | typescript: |
| 1019 | 1345 | optional: true |
| 1020 | 1346 | dependencies: |
| 1021 | - '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 1022 | - '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 1347 | + '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 | |
| 1348 | + '@typescript-eslint/utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje | |
| 1023 | 1349 | debug: 4.3.4 |
| 1024 | - eslint: 8.31.0 | |
| 1350 | + eslint: 8.32.0 | |
| 1025 | 1351 | tsutils: 3.21.0_typescript@4.9.4 |
| 1026 | 1352 | typescript: 4.9.4 |
| 1027 | 1353 | transitivePeerDependencies: |
| 1028 | 1354 | - supports-color |
| 1029 | 1355 | dev: true |
| 1030 | 1356 | |
| 1031 | - /@typescript-eslint/types/5.48.0: | |
| 1032 | - resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==} | |
| 1357 | + /@typescript-eslint/types/5.48.1: | |
| 1358 | + resolution: {integrity: sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==} | |
| 1033 | 1359 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1034 | 1360 | dev: true |
| 1035 | 1361 | |
| 1036 | - /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4: | |
| 1037 | - resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==} | |
| 1362 | + /@typescript-eslint/typescript-estree/5.48.1_typescript@4.9.4: | |
| 1363 | + resolution: {integrity: sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==} | |
| 1038 | 1364 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1039 | 1365 | peerDependencies: |
| 1040 | 1366 | typescript: '*' |
| ... | ... | @@ -1042,8 +1368,8 @@ packages: |
| 1042 | 1368 | typescript: |
| 1043 | 1369 | optional: true |
| 1044 | 1370 | dependencies: |
| 1045 | - '@typescript-eslint/types': 5.48.0 | |
| 1046 | - '@typescript-eslint/visitor-keys': 5.48.0 | |
| 1371 | + '@typescript-eslint/types': 5.48.1 | |
| 1372 | + '@typescript-eslint/visitor-keys': 5.48.1 | |
| 1047 | 1373 | debug: 4.3.4 |
| 1048 | 1374 | globby: 11.1.0 |
| 1049 | 1375 | is-glob: 4.0.3 |
| ... | ... | @@ -1054,31 +1380,31 @@ packages: |
| 1054 | 1380 | - supports-color |
| 1055 | 1381 | dev: true |
| 1056 | 1382 | |
| 1057 | - /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 1058 | - resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==} | |
| 1383 | + /@typescript-eslint/utils/5.48.1_7uibuqfxkfaozanbtbziikiqje: | |
| 1384 | + resolution: {integrity: sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==} | |
| 1059 | 1385 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1060 | 1386 | peerDependencies: |
| 1061 | 1387 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| 1062 | 1388 | dependencies: |
| 1063 | 1389 | '@types/json-schema': 7.0.11 |
| 1064 | 1390 | '@types/semver': 7.3.13 |
| 1065 | - '@typescript-eslint/scope-manager': 5.48.0 | |
| 1066 | - '@typescript-eslint/types': 5.48.0 | |
| 1067 | - '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 1068 | - eslint: 8.31.0 | |
| 1391 | + '@typescript-eslint/scope-manager': 5.48.1 | |
| 1392 | + '@typescript-eslint/types': 5.48.1 | |
| 1393 | + '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 | |
| 1394 | + eslint: 8.32.0 | |
| 1069 | 1395 | eslint-scope: 5.1.1 |
| 1070 | - eslint-utils: 3.0.0_eslint@8.31.0 | |
| 1396 | + eslint-utils: 3.0.0_eslint@8.32.0 | |
| 1071 | 1397 | semver: 7.3.8 |
| 1072 | 1398 | transitivePeerDependencies: |
| 1073 | 1399 | - supports-color |
| 1074 | 1400 | - typescript |
| 1075 | 1401 | dev: true |
| 1076 | 1402 | |
| 1077 | - /@typescript-eslint/visitor-keys/5.48.0: | |
| 1078 | - resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==} | |
| 1403 | + /@typescript-eslint/visitor-keys/5.48.1: | |
| 1404 | + resolution: {integrity: sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==} | |
| 1079 | 1405 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1080 | 1406 | dependencies: |
| 1081 | - '@typescript-eslint/types': 5.48.0 | |
| 1407 | + '@typescript-eslint/types': 5.48.1 | |
| 1082 | 1408 | eslint-visitor-keys: 3.3.0 |
| 1083 | 1409 | dev: true |
| 1084 | 1410 | |
| ... | ... | @@ -1123,30 +1449,73 @@ packages: |
| 1123 | 1449 | nanoid: 3.3.4 |
| 1124 | 1450 | dev: false |
| 1125 | 1451 | |
| 1126 | - /@volar/language-core/1.0.20: | |
| 1127 | - resolution: {integrity: sha512-FU6TC+xQDLkBmp226NTeZ454MTb8VFLga6CIzWP+TsxuxGwB9Exvzof9TKpilIhTdF4IGVJJ4X1aCP6ycnLMbg==} | |
| 1452 | + /@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.4: | |
| 1453 | + resolution: {integrity: sha512-XCtEjxoR3rmy000ujYRBp5kggWqzHz9+F20/yIMUWOzbvu0+KW1e14Fvb8h7SpNn+bfjGW1RiAs1Vrgb7Js+iQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vitejs/plugin-legacy/-/plugin-legacy-3.0.1.tgz} | |
| 1454 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1455 | + peerDependencies: | |
| 1456 | + terser: ^5.4.0 | |
| 1457 | + vite: ^4.0.0 | |
| 1458 | + dependencies: | |
| 1459 | + '@babel/standalone': 7.20.6 | |
| 1460 | + core-js: 3.26.1 | |
| 1461 | + magic-string: 0.27.0 | |
| 1462 | + regenerator-runtime: 0.13.11 | |
| 1463 | + systemjs: 6.13.0 | |
| 1464 | + terser: 5.16.1 | |
| 1465 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1466 | + dev: true | |
| 1467 | + | |
| 1468 | + /@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.4+vue@3.2.45: | |
| 1469 | + resolution: {integrity: sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.0.tgz} | |
| 1470 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1471 | + peerDependencies: | |
| 1472 | + vite: ^4.0.0 | |
| 1473 | + vue: ^3.0.0 | |
| 1474 | + dependencies: | |
| 1475 | + '@babel/core': 7.20.5 | |
| 1476 | + '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.20.5 | |
| 1477 | + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.5 | |
| 1478 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1479 | + vue: 3.2.45 | |
| 1480 | + transitivePeerDependencies: | |
| 1481 | + - supports-color | |
| 1482 | + dev: true | |
| 1483 | + | |
| 1484 | + /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45: | |
| 1485 | + resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz} | |
| 1486 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1487 | + peerDependencies: | |
| 1488 | + vite: ^4.0.0 | |
| 1489 | + vue: ^3.2.25 | |
| 1490 | + dependencies: | |
| 1491 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1492 | + vue: 3.2.45 | |
| 1493 | + dev: true | |
| 1494 | + | |
| 1495 | + /@volar/language-core/1.0.24: | |
| 1496 | + resolution: {integrity: sha512-vTN+alJiWwK0Pax6POqrmevbtFW2dXhjwWiW/MW4f48eDYPLdyURWcr8TixO7EN/nHsUBj2udT7igFKPtjyAKg==} | |
| 1128 | 1497 | dependencies: |
| 1129 | - '@volar/source-map': 1.0.20 | |
| 1498 | + '@volar/source-map': 1.0.24 | |
| 1130 | 1499 | muggle-string: 0.1.0 |
| 1131 | 1500 | dev: true |
| 1132 | 1501 | |
| 1133 | - /@volar/source-map/1.0.20: | |
| 1134 | - resolution: {integrity: sha512-6wwrvAjuy7HepvHW7CqCw5b57YIFrj9mcfJvjic1WCX9TqjnXAcuHFqiUPid7EdZ4SCRKCYQbWmWreThYbHaZw==} | |
| 1502 | + /@volar/source-map/1.0.24: | |
| 1503 | + resolution: {integrity: sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A==} | |
| 1135 | 1504 | dependencies: |
| 1136 | 1505 | muggle-string: 0.1.0 |
| 1137 | 1506 | dev: true |
| 1138 | 1507 | |
| 1139 | - /@volar/typescript/1.0.20: | |
| 1140 | - resolution: {integrity: sha512-98D2+rC4igqPL7emqIf0NtIx3UYXZ8xqILiP/ihwP7G2T4oyoGr2vKEOwo49sUzvgUvQl2AI5p8ZQ71mFJfP7w==} | |
| 1508 | + /@volar/typescript/1.0.24: | |
| 1509 | + resolution: {integrity: sha512-f8hCSk+PfKR1/RQHxZ79V1NpDImHoivqoizK+mstphm25tn/YJ/JnKNjZHB+o21fuW0yKlI26NV3jkVb2Cc/7A==} | |
| 1141 | 1510 | dependencies: |
| 1142 | - '@volar/language-core': 1.0.20 | |
| 1511 | + '@volar/language-core': 1.0.24 | |
| 1143 | 1512 | dev: true |
| 1144 | 1513 | |
| 1145 | - /@volar/vue-language-core/1.0.20: | |
| 1146 | - resolution: {integrity: sha512-Zz6yuxtA6BG6YU8KPwV4qhO5kh3e2Et6+YOu0QC43SiDgjIw2Vzzi+qAqm8UYofg9UBn82OArO1L+VrZPCCK8A==} | |
| 1514 | + /@volar/vue-language-core/1.0.24: | |
| 1515 | + resolution: {integrity: sha512-2NTJzSgrwKu6uYwPqLiTMuAzi7fAY3yFy5PJ255bGJc82If0Xr+cW8pC80vpjG0D/aVLmlwAdO4+Ya2BI8GdDg==} | |
| 1147 | 1516 | dependencies: |
| 1148 | - '@volar/language-core': 1.0.20 | |
| 1149 | - '@volar/source-map': 1.0.20 | |
| 1517 | + '@volar/language-core': 1.0.24 | |
| 1518 | + '@volar/source-map': 1.0.24 | |
| 1150 | 1519 | '@vue/compiler-dom': 3.2.45 |
| 1151 | 1520 | '@vue/compiler-sfc': 3.2.45 |
| 1152 | 1521 | '@vue/reactivity': 3.2.45 |
| ... | ... | @@ -1155,11 +1524,32 @@ packages: |
| 1155 | 1524 | vue-template-compiler: 2.7.14 |
| 1156 | 1525 | dev: true |
| 1157 | 1526 | |
| 1158 | - /@volar/vue-typescript/1.0.20: | |
| 1159 | - resolution: {integrity: sha512-FxucnAIZc503CfkdEGmUSw8EQfT31gi0DST7YmCNBK3cWOqJTF7UaHaBDpejnYGbsB568KZQbWTLNSpid5S/lA==} | |
| 1527 | + /@volar/vue-typescript/1.0.24: | |
| 1528 | + resolution: {integrity: sha512-9a25oHDvGaNC0okRS47uqJI6FxY4hUQZUsxeOUFHcqVxZEv8s17LPuP/pMMXyz7jPygrZubB/qXqHY5jEu/akA==} | |
| 1529 | + dependencies: | |
| 1530 | + '@volar/typescript': 1.0.24 | |
| 1531 | + '@volar/vue-language-core': 1.0.24 | |
| 1532 | + dev: true | |
| 1533 | + | |
| 1534 | + /@vue/babel-helper-vue-transform-on/1.0.2: | |
| 1535 | + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz} | |
| 1536 | + dev: true | |
| 1537 | + | |
| 1538 | + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5: | |
| 1539 | + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz} | |
| 1160 | 1540 | dependencies: |
| 1161 | - '@volar/typescript': 1.0.20 | |
| 1162 | - '@volar/vue-language-core': 1.0.20 | |
| 1541 | + '@babel/helper-module-imports': 7.18.6 | |
| 1542 | + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 | |
| 1543 | + '@babel/template': 7.18.10 | |
| 1544 | + '@babel/traverse': 7.20.1 | |
| 1545 | + '@babel/types': 7.20.2 | |
| 1546 | + '@vue/babel-helper-vue-transform-on': 1.0.2 | |
| 1547 | + camelcase: 6.3.0 | |
| 1548 | + html-tags: 3.2.0 | |
| 1549 | + svg-tags: 1.0.0 | |
| 1550 | + transitivePeerDependencies: | |
| 1551 | + - '@babel/core' | |
| 1552 | + - supports-color | |
| 1163 | 1553 | dev: true |
| 1164 | 1554 | |
| 1165 | 1555 | /@vue/compiler-core/3.2.45: |
| ... | ... | @@ -1186,8 +1576,8 @@ packages: |
| 1186 | 1576 | '@vue/reactivity-transform': 3.2.45 |
| 1187 | 1577 | '@vue/shared': 3.2.45 |
| 1188 | 1578 | estree-walker: 2.0.2 |
| 1189 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 1190 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 1579 | + magic-string: 0.25.9 | |
| 1580 | + postcss: 8.4.21 | |
| 1191 | 1581 | source-map: 0.6.1 |
| 1192 | 1582 | |
| 1193 | 1583 | /@vue/compiler-ssr/3.2.45: |
| ... | ... | @@ -1197,7 +1587,7 @@ packages: |
| 1197 | 1587 | '@vue/shared': 3.2.45 |
| 1198 | 1588 | |
| 1199 | 1589 | /@vue/devtools-api/6.4.5: |
| 1200 | - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} | |
| 1590 | + resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz} | |
| 1201 | 1591 | |
| 1202 | 1592 | /@vue/reactivity-transform/3.2.45: |
| 1203 | 1593 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} |
| ... | ... | @@ -1206,7 +1596,7 @@ packages: |
| 1206 | 1596 | '@vue/compiler-core': 3.2.45 |
| 1207 | 1597 | '@vue/shared': 3.2.45 |
| 1208 | 1598 | estree-walker: 2.0.2 |
| 1209 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 1599 | + magic-string: 0.25.9 | |
| 1210 | 1600 | |
| 1211 | 1601 | /@vue/reactivity/3.2.45: |
| 1212 | 1602 | resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} |
| ... | ... | @@ -1449,6 +1839,30 @@ packages: |
| 1449 | 1839 | snabbdom: 3.5.1 |
| 1450 | 1840 | dev: false |
| 1451 | 1841 | |
| 1842 | + /@windicss/config/1.8.10: | |
| 1843 | + resolution: {integrity: sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@windicss/config/-/config-1.8.10.tgz} | |
| 1844 | + dependencies: | |
| 1845 | + debug: 4.3.4 | |
| 1846 | + jiti: 1.16.0 | |
| 1847 | + windicss: 3.5.6 | |
| 1848 | + transitivePeerDependencies: | |
| 1849 | + - supports-color | |
| 1850 | + dev: true | |
| 1851 | + | |
| 1852 | + /@windicss/plugin-utils/1.8.10: | |
| 1853 | + resolution: {integrity: sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz} | |
| 1854 | + dependencies: | |
| 1855 | + '@antfu/utils': 0.7.2 | |
| 1856 | + '@windicss/config': 1.8.10 | |
| 1857 | + debug: 4.3.4 | |
| 1858 | + fast-glob: 3.2.12 | |
| 1859 | + magic-string: 0.27.0 | |
| 1860 | + micromatch: 4.0.5 | |
| 1861 | + windicss: 3.5.6 | |
| 1862 | + transitivePeerDependencies: | |
| 1863 | + - supports-color | |
| 1864 | + dev: true | |
| 1865 | + | |
| 1452 | 1866 | /@zxcvbn-ts/core/2.1.0: |
| 1453 | 1867 | resolution: {integrity: sha512-doxol9xrO7LgyVJhguXe7vO0xthnIYmsOKoDwrLg0Ho2kkpQaVtM+AOQw+BkEiKIqNg1V48eUf4/cTzMElXdiA==} |
| 1454 | 1868 | dev: false |
| ... | ... | @@ -1554,7 +1968,7 @@ packages: |
| 1554 | 1968 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} |
| 1555 | 1969 | engines: {node: '>=4'} |
| 1556 | 1970 | dependencies: |
| 1557 | - color-convert: registry.npmmirror.com/color-convert/1.9.3 | |
| 1971 | + color-convert: 1.9.3 | |
| 1558 | 1972 | dev: true |
| 1559 | 1973 | |
| 1560 | 1974 | /ansi-styles/4.3.0: |
| ... | ... | @@ -1562,7 +1976,6 @@ packages: |
| 1562 | 1976 | engines: {node: '>=8'} |
| 1563 | 1977 | dependencies: |
| 1564 | 1978 | color-convert: 2.0.1 |
| 1565 | - dev: true | |
| 1566 | 1979 | |
| 1567 | 1980 | /ansi-styles/6.2.1: |
| 1568 | 1981 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} |
| ... | ... | @@ -1647,7 +2060,7 @@ packages: |
| 1647 | 2060 | hasBin: true |
| 1648 | 2061 | dev: true |
| 1649 | 2062 | |
| 1650 | - /autoprefixer/10.4.13_postcss@8.4.20: | |
| 2063 | + /autoprefixer/10.4.13_postcss@8.4.21: | |
| 1651 | 2064 | resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} |
| 1652 | 2065 | engines: {node: ^10 || ^12 || >=14} |
| 1653 | 2066 | hasBin: true |
| ... | ... | @@ -1659,7 +2072,7 @@ packages: |
| 1659 | 2072 | fraction.js: 4.2.0 |
| 1660 | 2073 | normalize-range: 0.1.2 |
| 1661 | 2074 | picocolors: 1.0.0 |
| 1662 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 2075 | + postcss: 8.4.21 | |
| 1663 | 2076 | postcss-value-parser: 4.2.0 |
| 1664 | 2077 | dev: true |
| 1665 | 2078 | |
| ... | ... | @@ -1732,11 +2145,29 @@ packages: |
| 1732 | 2145 | balanced-match: 1.0.2 |
| 1733 | 2146 | dev: true |
| 1734 | 2147 | |
| 2148 | + /braces/2.3.2: | |
| 2149 | + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/braces/-/braces-2.3.2.tgz} | |
| 2150 | + engines: {node: '>=0.10.0'} | |
| 2151 | + dependencies: | |
| 2152 | + arr-flatten: 1.1.0 | |
| 2153 | + array-unique: 0.3.2 | |
| 2154 | + extend-shallow: 2.0.1 | |
| 2155 | + fill-range: 4.0.0 | |
| 2156 | + isobject: 3.0.1 | |
| 2157 | + repeat-element: 1.1.4 | |
| 2158 | + snapdragon: 0.8.2 | |
| 2159 | + snapdragon-node: 2.1.1 | |
| 2160 | + split-string: 3.1.0 | |
| 2161 | + to-regex: 3.0.2 | |
| 2162 | + transitivePeerDependencies: | |
| 2163 | + - supports-color | |
| 2164 | + dev: true | |
| 2165 | + | |
| 1735 | 2166 | /braces/3.0.2: |
| 1736 | 2167 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} |
| 1737 | 2168 | engines: {node: '>=8'} |
| 1738 | 2169 | dependencies: |
| 1739 | - fill-range: registry.npmmirror.com/fill-range/7.0.1 | |
| 2170 | + fill-range: 7.0.1 | |
| 1740 | 2171 | dev: true |
| 1741 | 2172 | |
| 1742 | 2173 | /browserslist/4.21.4: |
| ... | ... | @@ -1785,18 +2216,27 @@ packages: |
| 1785 | 2216 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} |
| 1786 | 2217 | dependencies: |
| 1787 | 2218 | pascal-case: 3.1.2 |
| 1788 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2219 | + tslib: 2.4.1 | |
| 1789 | 2220 | dev: true |
| 1790 | 2221 | |
| 1791 | 2222 | /camelcase-keys/6.2.2: |
| 1792 | 2223 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} |
| 1793 | 2224 | engines: {node: '>=8'} |
| 1794 | 2225 | dependencies: |
| 1795 | - camelcase: registry.npmmirror.com/camelcase/5.3.1 | |
| 2226 | + camelcase: 5.3.1 | |
| 1796 | 2227 | map-obj: 4.3.0 |
| 1797 | 2228 | quick-lru: 4.0.1 |
| 1798 | 2229 | dev: true |
| 1799 | 2230 | |
| 2231 | + /camelcase/5.3.1: | |
| 2232 | + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} | |
| 2233 | + engines: {node: '>=6'} | |
| 2234 | + | |
| 2235 | + /camelcase/6.3.0: | |
| 2236 | + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/camelcase/-/camelcase-6.3.0.tgz} | |
| 2237 | + engines: {node: '>=10'} | |
| 2238 | + dev: true | |
| 2239 | + | |
| 1800 | 2240 | /caniuse-lite/1.0.30001431: |
| 1801 | 2241 | resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} |
| 1802 | 2242 | dev: true |
| ... | ... | @@ -1805,7 +2245,7 @@ packages: |
| 1805 | 2245 | resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} |
| 1806 | 2246 | dependencies: |
| 1807 | 2247 | no-case: 3.0.4 |
| 1808 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2248 | + tslib: 2.4.1 | |
| 1809 | 2249 | upper-case-first: 2.0.2 |
| 1810 | 2250 | dev: true |
| 1811 | 2251 | |
| ... | ... | @@ -1937,13 +2377,25 @@ packages: |
| 1937 | 2377 | object-visit: 1.0.1 |
| 1938 | 2378 | dev: true |
| 1939 | 2379 | |
| 2380 | + /color-convert/1.9.3: | |
| 2381 | + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} | |
| 2382 | + dependencies: | |
| 2383 | + color-name: 1.1.3 | |
| 2384 | + dev: true | |
| 2385 | + | |
| 1940 | 2386 | /color-convert/2.0.1: |
| 1941 | 2387 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} |
| 1942 | 2388 | engines: {node: '>=7.0.0'} |
| 1943 | 2389 | dependencies: |
| 1944 | - color-name: registry.npmmirror.com/color-name/1.1.4 | |
| 2390 | + color-name: 1.1.4 | |
| 2391 | + | |
| 2392 | + /color-name/1.1.3: | |
| 2393 | + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} | |
| 1945 | 2394 | dev: true |
| 1946 | 2395 | |
| 2396 | + /color-name/1.1.4: | |
| 2397 | + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} | |
| 2398 | + | |
| 1947 | 2399 | /colord/2.9.3: |
| 1948 | 2400 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} |
| 1949 | 2401 | dev: true |
| ... | ... | @@ -2004,7 +2456,7 @@ packages: |
| 2004 | 2456 | resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} |
| 2005 | 2457 | dependencies: |
| 2006 | 2458 | no-case: 3.0.4 |
| 2007 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2459 | + tslib: 2.4.1 | |
| 2008 | 2460 | upper-case: 2.0.2 |
| 2009 | 2461 | dev: true |
| 2010 | 2462 | |
| ... | ... | @@ -2038,11 +2490,20 @@ packages: |
| 2038 | 2490 | through2: 4.0.2 |
| 2039 | 2491 | dev: true |
| 2040 | 2492 | |
| 2493 | + /convert-source-map/1.9.0: | |
| 2494 | + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/convert-source-map/-/convert-source-map-1.9.0.tgz} | |
| 2495 | + dev: true | |
| 2496 | + | |
| 2041 | 2497 | /copy-descriptor/0.1.1: |
| 2042 | 2498 | resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} |
| 2043 | 2499 | engines: {node: '>=0.10.0'} |
| 2044 | 2500 | dev: true |
| 2045 | 2501 | |
| 2502 | + /core-js/3.26.1: | |
| 2503 | + resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/core-js/-/core-js-3.26.1.tgz} | |
| 2504 | + requiresBuild: true | |
| 2505 | + dev: true | |
| 2506 | + | |
| 2046 | 2507 | /cors/2.8.5: |
| 2047 | 2508 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} |
| 2048 | 2509 | engines: {node: '>= 0.10'} |
| ... | ... | @@ -2051,7 +2512,7 @@ packages: |
| 2051 | 2512 | vary: 1.1.2 |
| 2052 | 2513 | dev: true |
| 2053 | 2514 | |
| 2054 | - /cosmiconfig-typescript-loader/4.2.0_wb7bklcl6jlvxijczjyxggip4a: | |
| 2515 | + /cosmiconfig-typescript-loader/4.2.0_bxtyj3et3xbsdyxhh3oblnfbj4: | |
| 2055 | 2516 | resolution: {integrity: sha512-NkANeMnaHrlaSSlpKGyvn2R4rqUDeE/9E5YHx+b4nwo0R8dZyAqcih8/gxpCZvqWP9Vf6xuLpMSzSgdVEIM78g==} |
| 2056 | 2517 | engines: {node: '>=12', npm: '>=6'} |
| 2057 | 2518 | peerDependencies: |
| ... | ... | @@ -2060,9 +2521,9 @@ packages: |
| 2060 | 2521 | ts-node: '>=10' |
| 2061 | 2522 | typescript: '>=3' |
| 2062 | 2523 | dependencies: |
| 2063 | - '@types/node': 14.18.33 | |
| 2064 | - cosmiconfig: 7.1.0 | |
| 2065 | - ts-node: 10.9.1_rju6pyblifsagdmqm3y74zsi6q | |
| 2524 | + '@types/node': 18.11.18 | |
| 2525 | + cosmiconfig: 8.0.0 | |
| 2526 | + ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq | |
| 2066 | 2527 | typescript: 4.9.4 |
| 2067 | 2528 | dev: true |
| 2068 | 2529 | |
| ... | ... | @@ -2077,6 +2538,16 @@ packages: |
| 2077 | 2538 | yaml: 1.10.2 |
| 2078 | 2539 | dev: true |
| 2079 | 2540 | |
| 2541 | + /cosmiconfig/8.0.0: | |
| 2542 | + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} | |
| 2543 | + engines: {node: '>=14'} | |
| 2544 | + dependencies: | |
| 2545 | + import-fresh: 3.3.0 | |
| 2546 | + js-yaml: 4.1.0 | |
| 2547 | + parse-json: 5.2.0 | |
| 2548 | + path-type: 4.0.0 | |
| 2549 | + dev: true | |
| 2550 | + | |
| 2080 | 2551 | /create-require/1.1.1: |
| 2081 | 2552 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} |
| 2082 | 2553 | dev: true |
| ... | ... | @@ -2085,6 +2556,14 @@ packages: |
| 2085 | 2556 | resolution: {integrity: sha512-by7jKAo73y5/Do0K6sxdTKHgndY0NMjG2bEdgeJxycbcmHuCiMXqw8sxy5C5Y5WTOTcDGmbT7Sr5CgKOXR06OA==} |
| 2086 | 2557 | dev: false |
| 2087 | 2558 | |
| 2559 | + /cross-fetch/3.1.5: | |
| 2560 | + resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/cross-fetch/-/cross-fetch-3.1.5.tgz} | |
| 2561 | + dependencies: | |
| 2562 | + node-fetch: 2.6.7 | |
| 2563 | + transitivePeerDependencies: | |
| 2564 | + - encoding | |
| 2565 | + dev: true | |
| 2566 | + | |
| 2088 | 2567 | /cross-spawn/7.0.3: |
| 2089 | 2568 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} |
| 2090 | 2569 | engines: {node: '>= 8'} |
| ... | ... | @@ -2340,7 +2819,7 @@ packages: |
| 2340 | 2819 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} |
| 2341 | 2820 | dependencies: |
| 2342 | 2821 | no-case: 3.0.4 |
| 2343 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2822 | + tslib: 2.4.1 | |
| 2344 | 2823 | dev: true |
| 2345 | 2824 | |
| 2346 | 2825 | /dot-prop/5.3.0: |
| ... | ... | @@ -2359,7 +2838,14 @@ packages: |
| 2359 | 2838 | peerDependencies: |
| 2360 | 2839 | echarts: ^5.0.1 |
| 2361 | 2840 | dependencies: |
| 2362 | - echarts: registry.npmmirror.com/echarts/5.4.1 | |
| 2841 | + echarts: 5.4.1 | |
| 2842 | + dev: false | |
| 2843 | + | |
| 2844 | + /echarts/5.4.1: | |
| 2845 | + resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/echarts/-/echarts-5.4.1.tgz} | |
| 2846 | + dependencies: | |
| 2847 | + tslib: 2.3.0 | |
| 2848 | + zrender: 5.4.1 | |
| 2363 | 2849 | dev: false |
| 2364 | 2850 | |
| 2365 | 2851 | /ejs/3.1.8: |
| ... | ... | @@ -2512,21 +2998,21 @@ packages: |
| 2512 | 2998 | engines: {node: '>=10'} |
| 2513 | 2999 | dev: true |
| 2514 | 3000 | |
| 2515 | - /eslint-config-prettier/8.6.0_eslint@8.31.0: | |
| 3001 | + /eslint-config-prettier/8.6.0_eslint@8.32.0: | |
| 2516 | 3002 | resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} |
| 2517 | 3003 | hasBin: true |
| 2518 | 3004 | peerDependencies: |
| 2519 | 3005 | eslint: '>=7.0.0' |
| 2520 | 3006 | dependencies: |
| 2521 | - eslint: 8.31.0 | |
| 3007 | + eslint: 8.32.0 | |
| 2522 | 3008 | dev: true |
| 2523 | 3009 | |
| 2524 | - /eslint-define-config/1.13.0: | |
| 2525 | - resolution: {integrity: sha512-d0BfmPGBcMusfiz6QY/piAhWaEyJriJtvk9SHfuJzI7am9k4ce07SfmPkpcR0ckXNyu4FBons10akOO2Tx+X+Q==} | |
| 3010 | + /eslint-define-config/1.14.0: | |
| 3011 | + resolution: {integrity: sha512-NREt5SzMwKmLAY28YdaqIiTSJxfPpuZ+1ZLJxY2Wbj02dYF4QX81z0q9MPMjZB8C+SlCu66qAhcPpFJyhXOiuA==} | |
| 2526 | 3012 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13', pnpm: '>= 7.0.0'} |
| 2527 | 3013 | dev: true |
| 2528 | 3014 | |
| 2529 | - /eslint-plugin-prettier/4.2.1_32m5uc2milwdw3tnkcq5del26y: | |
| 3015 | + /eslint-plugin-prettier/4.2.1_cn4lalcyadplruoxa5mhp7j3dq: | |
| 2530 | 3016 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} |
| 2531 | 3017 | engines: {node: '>=12.0.0'} |
| 2532 | 3018 | peerDependencies: |
| ... | ... | @@ -2537,25 +3023,25 @@ packages: |
| 2537 | 3023 | eslint-config-prettier: |
| 2538 | 3024 | optional: true |
| 2539 | 3025 | dependencies: |
| 2540 | - eslint: 8.31.0 | |
| 2541 | - eslint-config-prettier: 8.6.0_eslint@8.31.0 | |
| 2542 | - prettier: 2.8.1 | |
| 3026 | + eslint: 8.32.0 | |
| 3027 | + eslint-config-prettier: 8.6.0_eslint@8.32.0 | |
| 3028 | + prettier: 2.8.3 | |
| 2543 | 3029 | prettier-linter-helpers: 1.0.0 |
| 2544 | 3030 | dev: true |
| 2545 | 3031 | |
| 2546 | - /eslint-plugin-vue/9.8.0_eslint@8.31.0: | |
| 2547 | - resolution: {integrity: sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==} | |
| 3032 | + /eslint-plugin-vue/9.9.0_eslint@8.32.0: | |
| 3033 | + resolution: {integrity: sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==} | |
| 2548 | 3034 | engines: {node: ^14.17.0 || >=16.0.0} |
| 2549 | 3035 | peerDependencies: |
| 2550 | 3036 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 |
| 2551 | 3037 | dependencies: |
| 2552 | - eslint: 8.31.0 | |
| 2553 | - eslint-utils: 3.0.0_eslint@8.31.0 | |
| 3038 | + eslint: 8.32.0 | |
| 3039 | + eslint-utils: 3.0.0_eslint@8.32.0 | |
| 2554 | 3040 | natural-compare: 1.4.0 |
| 2555 | 3041 | nth-check: 2.1.1 |
| 2556 | - postcss-selector-parser: 6.0.10 | |
| 3042 | + postcss-selector-parser: 6.0.11 | |
| 2557 | 3043 | semver: 7.3.8 |
| 2558 | - vue-eslint-parser: 9.1.0_eslint@8.31.0 | |
| 3044 | + vue-eslint-parser: 9.1.0_eslint@8.32.0 | |
| 2559 | 3045 | xml-name-validator: 4.0.0 |
| 2560 | 3046 | transitivePeerDependencies: |
| 2561 | 3047 | - supports-color |
| ... | ... | @@ -2584,13 +3070,13 @@ packages: |
| 2584 | 3070 | eslint-visitor-keys: 1.3.0 |
| 2585 | 3071 | dev: true |
| 2586 | 3072 | |
| 2587 | - /eslint-utils/3.0.0_eslint@8.31.0: | |
| 3073 | + /eslint-utils/3.0.0_eslint@8.32.0: | |
| 2588 | 3074 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} |
| 2589 | 3075 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} |
| 2590 | 3076 | peerDependencies: |
| 2591 | 3077 | eslint: '>=5' |
| 2592 | 3078 | dependencies: |
| 2593 | - eslint: 8.31.0 | |
| 3079 | + eslint: 8.32.0 | |
| 2594 | 3080 | eslint-visitor-keys: 2.1.0 |
| 2595 | 3081 | dev: true |
| 2596 | 3082 | |
| ... | ... | @@ -2609,8 +3095,8 @@ packages: |
| 2609 | 3095 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2610 | 3096 | dev: true |
| 2611 | 3097 | |
| 2612 | - /eslint/8.31.0: | |
| 2613 | - resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==} | |
| 3098 | + /eslint/8.32.0: | |
| 3099 | + resolution: {integrity: sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==} | |
| 2614 | 3100 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2615 | 3101 | hasBin: true |
| 2616 | 3102 | dependencies: |
| ... | ... | @@ -2625,7 +3111,7 @@ packages: |
| 2625 | 3111 | doctrine: 3.0.0 |
| 2626 | 3112 | escape-string-regexp: 4.0.0 |
| 2627 | 3113 | eslint-scope: 7.1.1 |
| 2628 | - eslint-utils: 3.0.0_eslint@8.31.0 | |
| 3114 | + eslint-utils: 3.0.0_eslint@8.32.0 | |
| 2629 | 3115 | eslint-visitor-keys: 3.3.0 |
| 2630 | 3116 | espree: 9.4.1 |
| 2631 | 3117 | esquery: 1.4.0 |
| ... | ... | @@ -2852,6 +3338,23 @@ packages: |
| 2852 | 3338 | minimatch: 5.1.2 |
| 2853 | 3339 | dev: true |
| 2854 | 3340 | |
| 3341 | + /fill-range/4.0.0: | |
| 3342 | + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fill-range/-/fill-range-4.0.0.tgz} | |
| 3343 | + engines: {node: '>=0.10.0'} | |
| 3344 | + dependencies: | |
| 3345 | + extend-shallow: 2.0.1 | |
| 3346 | + is-number: 3.0.0 | |
| 3347 | + repeat-string: 1.6.1 | |
| 3348 | + to-regex-range: 2.1.1 | |
| 3349 | + dev: true | |
| 3350 | + | |
| 3351 | + /fill-range/7.0.1: | |
| 3352 | + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fill-range/-/fill-range-7.0.1.tgz} | |
| 3353 | + engines: {node: '>=8'} | |
| 3354 | + dependencies: | |
| 3355 | + to-regex-range: 5.0.1 | |
| 3356 | + dev: true | |
| 3357 | + | |
| 2855 | 3358 | /find-up/4.1.0: |
| 2856 | 3359 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} |
| 2857 | 3360 | engines: {node: '>=8'} |
| ... | ... | @@ -2922,6 +3425,15 @@ packages: |
| 2922 | 3425 | universalify: 2.0.0 |
| 2923 | 3426 | dev: true |
| 2924 | 3427 | |
| 3428 | + /fs-extra/11.1.0: | |
| 3429 | + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} | |
| 3430 | + engines: {node: '>=14.14'} | |
| 3431 | + dependencies: | |
| 3432 | + graceful-fs: 4.2.10 | |
| 3433 | + jsonfile: 6.1.0 | |
| 3434 | + universalify: 2.0.0 | |
| 3435 | + dev: true | |
| 3436 | + | |
| 2925 | 3437 | /fs.realpath/1.0.0: |
| 2926 | 3438 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} |
| 2927 | 3439 | dev: true |
| ... | ... | @@ -2937,6 +3449,11 @@ packages: |
| 2937 | 3449 | /function-bind/1.1.1: |
| 2938 | 3450 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} |
| 2939 | 3451 | |
| 3452 | + /gensync/1.0.0-beta.2: | |
| 3453 | + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/gensync/-/gensync-1.0.0-beta.2.tgz} | |
| 3454 | + engines: {node: '>=6.9.0'} | |
| 3455 | + dev: true | |
| 3456 | + | |
| 2940 | 3457 | /get-caller-file/2.0.5: |
| 2941 | 3458 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} |
| 2942 | 3459 | engines: {node: 6.* || 8.* || >= 10.*} |
| ... | ... | @@ -3114,7 +3631,7 @@ packages: |
| 3114 | 3631 | resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} |
| 3115 | 3632 | engines: {node: '>=0.10.0'} |
| 3116 | 3633 | dependencies: |
| 3117 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 3634 | + is-number: 3.0.0 | |
| 3118 | 3635 | kind-of: 4.0.0 |
| 3119 | 3636 | dev: true |
| 3120 | 3637 | |
| ... | ... | @@ -3133,7 +3650,7 @@ packages: |
| 3133 | 3650 | resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} |
| 3134 | 3651 | dependencies: |
| 3135 | 3652 | capital-case: 1.0.4 |
| 3136 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 3653 | + tslib: 2.4.1 | |
| 3137 | 3654 | dev: true |
| 3138 | 3655 | |
| 3139 | 3656 | /hosted-git-info/2.8.9: |
| ... | ... | @@ -3144,7 +3661,7 @@ packages: |
| 3144 | 3661 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} |
| 3145 | 3662 | engines: {node: '>=10'} |
| 3146 | 3663 | dependencies: |
| 3147 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 3664 | + lru-cache: 6.0.0 | |
| 3148 | 3665 | dev: true |
| 3149 | 3666 | |
| 3150 | 3667 | /html-tags/3.2.0: |
| ... | ... | @@ -3357,6 +3874,18 @@ packages: |
| 3357 | 3874 | resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} |
| 3358 | 3875 | dev: false |
| 3359 | 3876 | |
| 3877 | + /is-number/3.0.0: | |
| 3878 | + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-number/-/is-number-3.0.0.tgz} | |
| 3879 | + engines: {node: '>=0.10.0'} | |
| 3880 | + dependencies: | |
| 3881 | + kind-of: 3.2.2 | |
| 3882 | + dev: true | |
| 3883 | + | |
| 3884 | + /is-number/7.0.0: | |
| 3885 | + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-number/-/is-number-7.0.0.tgz} | |
| 3886 | + engines: {node: '>=0.12.0'} | |
| 3887 | + dev: true | |
| 3888 | + | |
| 3360 | 3889 | /is-obj/2.0.0: |
| 3361 | 3890 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} |
| 3362 | 3891 | engines: {node: '>=8'} |
| ... | ... | @@ -3440,6 +3969,11 @@ packages: |
| 3440 | 3969 | minimatch: 3.1.2 |
| 3441 | 3970 | dev: true |
| 3442 | 3971 | |
| 3972 | + /jiti/1.16.0: | |
| 3973 | + resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jiti/-/jiti-1.16.0.tgz} | |
| 3974 | + hasBin: true | |
| 3975 | + dev: true | |
| 3976 | + | |
| 3443 | 3977 | /js-base64/2.6.4: |
| 3444 | 3978 | resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} |
| 3445 | 3979 | dev: true |
| ... | ... | @@ -3449,7 +3983,7 @@ packages: |
| 3449 | 3983 | dev: true |
| 3450 | 3984 | |
| 3451 | 3985 | /js-tokens/4.0.0: |
| 3452 | - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} | |
| 3986 | + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/js-tokens/-/js-tokens-4.0.0.tgz} | |
| 3453 | 3987 | dev: true |
| 3454 | 3988 | |
| 3455 | 3989 | /js-tokens/8.0.0: |
| ... | ... | @@ -3467,6 +4001,12 @@ packages: |
| 3467 | 4001 | resolution: {integrity: sha512-dVvV54GdFuJgmEKn+oBiaifDMen4p6o6j/lJh0OVMcouME8sST0bJ7bldIgKBQk4za0zyGn0/pm4vOznR25mLw==} |
| 3468 | 4002 | dev: false |
| 3469 | 4003 | |
| 4004 | + /jsesc/2.5.2: | |
| 4005 | + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jsesc/-/jsesc-2.5.2.tgz} | |
| 4006 | + engines: {node: '>=4'} | |
| 4007 | + hasBin: true | |
| 4008 | + dev: true | |
| 4009 | + | |
| 3470 | 4010 | /json-parse-even-better-errors/2.3.1: |
| 3471 | 4011 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} |
| 3472 | 4012 | dev: true |
| ... | ... | @@ -3510,7 +4050,7 @@ packages: |
| 3510 | 4050 | /jsonfile/6.1.0: |
| 3511 | 4051 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} |
| 3512 | 4052 | dependencies: |
| 3513 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 4053 | + universalify: 2.0.0 | |
| 3514 | 4054 | optionalDependencies: |
| 3515 | 4055 | graceful-fs: 4.2.10 |
| 3516 | 4056 | dev: true |
| ... | ... | @@ -3548,6 +4088,10 @@ packages: |
| 3548 | 4088 | resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} |
| 3549 | 4089 | dev: true |
| 3550 | 4090 | |
| 4091 | + /kolorist/1.6.0: | |
| 4092 | + resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/kolorist/-/kolorist-1.6.0.tgz} | |
| 4093 | + dev: true | |
| 4094 | + | |
| 3551 | 4095 | /levn/0.4.1: |
| 3552 | 4096 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} |
| 3553 | 4097 | engines: {node: '>= 0.8.0'} |
| ... | ... | @@ -3728,7 +4272,7 @@ packages: |
| 3728 | 4272 | /lower-case/2.0.2: |
| 3729 | 4273 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} |
| 3730 | 4274 | dependencies: |
| 3731 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4275 | + tslib: 2.4.1 | |
| 3732 | 4276 | dev: true |
| 3733 | 4277 | |
| 3734 | 4278 | /lru-cache/6.0.0: |
| ... | ... | @@ -3742,6 +4286,12 @@ packages: |
| 3742 | 4286 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} |
| 3743 | 4287 | dependencies: |
| 3744 | 4288 | sourcemap-codec: 1.4.8 |
| 4289 | + | |
| 4290 | + /magic-string/0.27.0: | |
| 4291 | + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/magic-string/-/magic-string-0.27.0.tgz} | |
| 4292 | + engines: {node: '>=12'} | |
| 4293 | + dependencies: | |
| 4294 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 3745 | 4295 | dev: true |
| 3746 | 4296 | |
| 3747 | 4297 | /make-error/1.3.6: |
| ... | ... | @@ -3839,7 +4389,7 @@ packages: |
| 3839 | 4389 | dependencies: |
| 3840 | 4390 | arr-diff: 4.0.0 |
| 3841 | 4391 | array-unique: 0.3.2 |
| 3842 | - braces: registry.npmmirror.com/braces/2.3.2 | |
| 4392 | + braces: 2.3.2 | |
| 3843 | 4393 | define-property: 1.0.0 |
| 3844 | 4394 | extend-shallow: 2.0.1 |
| 3845 | 4395 | extglob: 2.0.4 |
| ... | ... | @@ -3989,7 +4539,19 @@ packages: |
| 3989 | 4539 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} |
| 3990 | 4540 | dependencies: |
| 3991 | 4541 | lower-case: 2.0.2 |
| 3992 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4542 | + tslib: 2.4.1 | |
| 4543 | + dev: true | |
| 4544 | + | |
| 4545 | + /node-fetch/2.6.7: | |
| 4546 | + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/node-fetch/-/node-fetch-2.6.7.tgz} | |
| 4547 | + engines: {node: 4.x || >=6.0.0} | |
| 4548 | + peerDependencies: | |
| 4549 | + encoding: ^0.1.0 | |
| 4550 | + peerDependenciesMeta: | |
| 4551 | + encoding: | |
| 4552 | + optional: true | |
| 4553 | + dependencies: | |
| 4554 | + whatwg-url: 5.0.0 | |
| 3993 | 4555 | dev: true |
| 3994 | 4556 | |
| 3995 | 4557 | /node-releases/2.0.6: |
| ... | ... | @@ -4011,7 +4573,7 @@ packages: |
| 4011 | 4573 | dependencies: |
| 4012 | 4574 | hosted-git-info: 4.1.0 |
| 4013 | 4575 | is-core-module: 2.11.0 |
| 4014 | - semver: registry.npmmirror.com/semver/7.3.8 | |
| 4576 | + semver: 7.3.8 | |
| 4015 | 4577 | validate-npm-package-license: 3.0.4 |
| 4016 | 4578 | dev: true |
| 4017 | 4579 | |
| ... | ... | @@ -4157,7 +4719,7 @@ packages: |
| 4157 | 4719 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} |
| 4158 | 4720 | dependencies: |
| 4159 | 4721 | dot-case: 3.0.4 |
| 4160 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4722 | + tslib: 2.4.1 | |
| 4161 | 4723 | dev: true |
| 4162 | 4724 | |
| 4163 | 4725 | /parent-module/1.0.1: |
| ... | ... | @@ -4181,7 +4743,7 @@ packages: |
| 4181 | 4743 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} |
| 4182 | 4744 | dependencies: |
| 4183 | 4745 | no-case: 3.0.4 |
| 4184 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4746 | + tslib: 2.4.1 | |
| 4185 | 4747 | dev: true |
| 4186 | 4748 | |
| 4187 | 4749 | /pascalcase/0.1.1: |
| ... | ... | @@ -4193,7 +4755,7 @@ packages: |
| 4193 | 4755 | resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} |
| 4194 | 4756 | dependencies: |
| 4195 | 4757 | dot-case: 3.0.4 |
| 4196 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4758 | + tslib: 2.4.1 | |
| 4197 | 4759 | dev: true |
| 4198 | 4760 | |
| 4199 | 4761 | /path-exists/4.0.0: |
| ... | ... | @@ -4234,7 +4796,6 @@ packages: |
| 4234 | 4796 | |
| 4235 | 4797 | /picocolors/1.0.0: |
| 4236 | 4798 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} |
| 4237 | - dev: true | |
| 4238 | 4799 | |
| 4239 | 4800 | /picomatch/2.3.1: |
| 4240 | 4801 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} |
| ... | ... | @@ -4247,6 +4808,24 @@ packages: |
| 4247 | 4808 | hasBin: true |
| 4248 | 4809 | dev: true |
| 4249 | 4810 | |
| 4811 | + /pinia/2.0.29_prq2uz4lho2pwp6irk4cfkrxwu: | |
| 4812 | + resolution: {integrity: sha512-5z/KpFecq/cIgfeTnulJXldiLcTITRkTe3N58RKYSj0Pc1EdR6oyCdnf5A9jLoVwBqX5LtHhd0kGlpzWvk9oiQ==} | |
| 4813 | + peerDependencies: | |
| 4814 | + '@vue/composition-api': ^1.4.0 | |
| 4815 | + typescript: '>=4.4.4' | |
| 4816 | + vue: ^2.6.14 || ^3.2.0 | |
| 4817 | + peerDependenciesMeta: | |
| 4818 | + '@vue/composition-api': | |
| 4819 | + optional: true | |
| 4820 | + typescript: | |
| 4821 | + optional: true | |
| 4822 | + dependencies: | |
| 4823 | + '@vue/devtools-api': 6.4.5 | |
| 4824 | + typescript: 4.9.4 | |
| 4825 | + vue: 3.2.45 | |
| 4826 | + vue-demi: 0.13.11_vue@3.2.45 | |
| 4827 | + dev: false | |
| 4828 | + | |
| 4250 | 4829 | /pngjs/5.0.0: |
| 4251 | 4830 | resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} |
| 4252 | 4831 | engines: {node: '>=10.13.0'} |
| ... | ... | @@ -4263,8 +4842,8 @@ packages: |
| 4263 | 4842 | dependencies: |
| 4264 | 4843 | htmlparser2: 8.0.1 |
| 4265 | 4844 | js-tokens: 8.0.0 |
| 4266 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4267 | - postcss-safe-parser: 6.0.0_postcss@8.4.20 | |
| 4845 | + postcss: 8.4.21 | |
| 4846 | + postcss-safe-parser: 6.0.0_postcss@8.4.21 | |
| 4268 | 4847 | dev: true |
| 4269 | 4848 | |
| 4270 | 4849 | /postcss-media-query-parser/0.2.3: |
| ... | ... | @@ -4283,30 +4862,22 @@ packages: |
| 4283 | 4862 | resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} |
| 4284 | 4863 | dev: true |
| 4285 | 4864 | |
| 4286 | - /postcss-safe-parser/6.0.0_postcss@8.4.20: | |
| 4865 | + /postcss-safe-parser/6.0.0_postcss@8.4.21: | |
| 4287 | 4866 | resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} |
| 4288 | 4867 | engines: {node: '>=12.0'} |
| 4289 | 4868 | peerDependencies: |
| 4290 | 4869 | postcss: ^8.3.3 |
| 4291 | 4870 | dependencies: |
| 4292 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4871 | + postcss: 8.4.21 | |
| 4293 | 4872 | dev: true |
| 4294 | 4873 | |
| 4295 | - /postcss-scss/4.0.6_postcss@8.4.20: | |
| 4874 | + /postcss-scss/4.0.6_postcss@8.4.21: | |
| 4296 | 4875 | resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} |
| 4297 | 4876 | engines: {node: '>=12.0'} |
| 4298 | 4877 | peerDependencies: |
| 4299 | 4878 | postcss: ^8.4.19 |
| 4300 | 4879 | dependencies: |
| 4301 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4302 | - dev: true | |
| 4303 | - | |
| 4304 | - /postcss-selector-parser/6.0.10: | |
| 4305 | - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} | |
| 4306 | - engines: {node: '>=4'} | |
| 4307 | - dependencies: | |
| 4308 | - cssesc: 3.0.0 | |
| 4309 | - util-deprecate: 1.0.2 | |
| 4880 | + postcss: 8.4.21 | |
| 4310 | 4881 | dev: true |
| 4311 | 4882 | |
| 4312 | 4883 | /postcss-selector-parser/6.0.11: |
| ... | ... | @@ -4317,12 +4888,12 @@ packages: |
| 4317 | 4888 | util-deprecate: 1.0.2 |
| 4318 | 4889 | dev: true |
| 4319 | 4890 | |
| 4320 | - /postcss-sorting/7.0.1_postcss@8.4.20: | |
| 4321 | - resolution: {integrity: sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==} | |
| 4891 | + /postcss-sorting/8.0.1_postcss@8.4.21: | |
| 4892 | + resolution: {integrity: sha512-go9Zoxx7KQH+uLrJ9xa5wRErFeXu01ydA6O8m7koPXkmAN7Ts//eRcIqjo0stBR4+Nir2gMYDOWAOx7O5EPUZA==} | |
| 4322 | 4893 | peerDependencies: |
| 4323 | - postcss: ^8.3.9 | |
| 4894 | + postcss: ^8.4.20 | |
| 4324 | 4895 | dependencies: |
| 4325 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4896 | + postcss: 8.4.21 | |
| 4326 | 4897 | dev: true |
| 4327 | 4898 | |
| 4328 | 4899 | /postcss-value-parser/4.2.0: |
| ... | ... | @@ -4336,17 +4907,16 @@ packages: |
| 4336 | 4907 | chalk: 1.1.3 |
| 4337 | 4908 | js-base64: 2.6.4 |
| 4338 | 4909 | source-map: 0.5.7 |
| 4339 | - supports-color: registry.npmmirror.com/supports-color/3.2.3 | |
| 4910 | + supports-color: 3.2.3 | |
| 4340 | 4911 | dev: true |
| 4341 | 4912 | |
| 4342 | - /postcss/8.4.20: | |
| 4343 | - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} | |
| 4913 | + /postcss/8.4.21: | |
| 4914 | + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} | |
| 4344 | 4915 | engines: {node: ^10 || ^12 || >=14} |
| 4345 | 4916 | dependencies: |
| 4346 | 4917 | nanoid: 3.3.4 |
| 4347 | 4918 | picocolors: 1.0.0 |
| 4348 | 4919 | source-map-js: 1.0.2 |
| 4349 | - dev: true | |
| 4350 | 4920 | |
| 4351 | 4921 | /posthtml-parser/0.2.1: |
| 4352 | 4922 | resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} |
| ... | ... | @@ -4399,8 +4969,8 @@ packages: |
| 4399 | 4969 | fast-diff: 1.2.0 |
| 4400 | 4970 | dev: true |
| 4401 | 4971 | |
| 4402 | - /prettier/2.8.1: | |
| 4403 | - resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} | |
| 4972 | + /prettier/2.8.3: | |
| 4973 | + resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} | |
| 4404 | 4974 | engines: {node: '>=10.13.0'} |
| 4405 | 4975 | hasBin: true |
| 4406 | 4976 | dev: true |
| ... | ... | @@ -4523,6 +5093,9 @@ packages: |
| 4523 | 5093 | strip-indent: 3.0.0 |
| 4524 | 5094 | dev: true |
| 4525 | 5095 | |
| 5096 | + /regenerator-runtime/0.13.11: | |
| 5097 | + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz} | |
| 5098 | + | |
| 4526 | 5099 | /regex-not/1.0.2: |
| 4527 | 5100 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} |
| 4528 | 5101 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -4619,6 +5192,23 @@ packages: |
| 4619 | 5192 | glob: 7.2.3 |
| 4620 | 5193 | dev: true |
| 4621 | 5194 | |
| 5195 | + /rimraf/4.0.7: | |
| 5196 | + resolution: {integrity: sha512-CUEDDrZvc0swDgVdXGiv3FcYYQMpJxjvSGt85Amj6yU+MCVWurrLCeLiJDdJPHCzNJnwuebBEdcO//eP11Xa7w==} | |
| 5197 | + engines: {node: '>=14'} | |
| 5198 | + hasBin: true | |
| 5199 | + dev: true | |
| 5200 | + | |
| 5201 | + /rollup-plugin-purge-icons/0.9.1: | |
| 5202 | + resolution: {integrity: sha512-hRDKBsPUz47UMdBufki2feTmBF2ClEJlYqL7N6vpVAHSLd7V2BJUaNKOF7YYbLMofVVF+9hm44YSkYO6k9hUgg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.9.1.tgz} | |
| 5203 | + engines: {node: '>= 12'} | |
| 5204 | + dependencies: | |
| 5205 | + '@purge-icons/core': 0.9.1 | |
| 5206 | + '@purge-icons/generated': 0.9.0 | |
| 5207 | + transitivePeerDependencies: | |
| 5208 | + - encoding | |
| 5209 | + - supports-color | |
| 5210 | + dev: true | |
| 5211 | + | |
| 4622 | 5212 | /rollup/2.79.1: |
| 4623 | 5213 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} |
| 4624 | 5214 | engines: {node: '>=10.0.0'} |
| ... | ... | @@ -4627,8 +5217,8 @@ packages: |
| 4627 | 5217 | fsevents: 2.3.2 |
| 4628 | 5218 | dev: true |
| 4629 | 5219 | |
| 4630 | - /rollup/3.9.1: | |
| 4631 | - resolution: {integrity: sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==} | |
| 5220 | + /rollup/3.10.0: | |
| 5221 | + resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==} | |
| 4632 | 5222 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} |
| 4633 | 5223 | hasBin: true |
| 4634 | 5224 | optionalDependencies: |
| ... | ... | @@ -4644,7 +5234,7 @@ packages: |
| 4644 | 5234 | /rxjs/7.5.7: |
| 4645 | 5235 | resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} |
| 4646 | 5236 | dependencies: |
| 4647 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5237 | + tslib: 2.4.1 | |
| 4648 | 5238 | dev: true |
| 4649 | 5239 | |
| 4650 | 5240 | /safe-buffer/5.2.1: |
| ... | ... | @@ -4695,7 +5285,7 @@ packages: |
| 4695 | 5285 | resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} |
| 4696 | 5286 | dependencies: |
| 4697 | 5287 | no-case: 3.0.4 |
| 4698 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5288 | + tslib: 2.4.1 | |
| 4699 | 5289 | upper-case-first: 2.0.2 |
| 4700 | 5290 | dev: true |
| 4701 | 5291 | |
| ... | ... | @@ -4772,7 +5362,7 @@ packages: |
| 4772 | 5362 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} |
| 4773 | 5363 | engines: {node: '>=10'} |
| 4774 | 5364 | dependencies: |
| 4775 | - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 | |
| 5365 | + ansi-styles: 4.3.0 | |
| 4776 | 5366 | astral-regex: 2.0.0 |
| 4777 | 5367 | is-fullwidth-code-point: 3.0.0 |
| 4778 | 5368 | dev: true |
| ... | ... | @@ -4794,7 +5384,7 @@ packages: |
| 4794 | 5384 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} |
| 4795 | 5385 | dependencies: |
| 4796 | 5386 | dot-case: 3.0.4 |
| 4797 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5387 | + tslib: 2.4.1 | |
| 4798 | 5388 | dev: true |
| 4799 | 5389 | |
| 4800 | 5390 | /snapdragon-node/2.1.1: |
| ... | ... | @@ -4832,7 +5422,6 @@ packages: |
| 4832 | 5422 | /source-map-js/1.0.2: |
| 4833 | 5423 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} |
| 4834 | 5424 | engines: {node: '>=0.10.0'} |
| 4835 | - dev: true | |
| 4836 | 5425 | |
| 4837 | 5426 | /source-map-resolve/0.5.3: |
| 4838 | 5427 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} |
| ... | ... | @@ -5039,13 +5628,13 @@ packages: |
| 5039 | 5628 | stylelint-config-recommended: 9.0.0_stylelint@14.16.1 |
| 5040 | 5629 | dev: true |
| 5041 | 5630 | |
| 5042 | - /stylelint-order/5.0.0_stylelint@14.16.1: | |
| 5043 | - resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==} | |
| 5631 | + /stylelint-order/6.0.1_stylelint@14.16.1: | |
| 5632 | + resolution: {integrity: sha512-C9gJDZArRBZvn+4MPgggwYTp7dK49WPnYa5+6tBEkZnW/YWj4xBVNJdQjIik14w5orlF9RqFpYDHN0FPWIFOSQ==} | |
| 5044 | 5633 | peerDependencies: |
| 5045 | 5634 | stylelint: ^14.0.0 |
| 5046 | 5635 | dependencies: |
| 5047 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 5048 | - postcss-sorting: 7.0.1_postcss@8.4.20 | |
| 5636 | + postcss: 8.4.21 | |
| 5637 | + postcss-sorting: 8.0.1_postcss@8.4.21 | |
| 5049 | 5638 | stylelint: 14.16.1 |
| 5050 | 5639 | dev: true |
| 5051 | 5640 | |
| ... | ... | @@ -5054,7 +5643,7 @@ packages: |
| 5054 | 5643 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} |
| 5055 | 5644 | hasBin: true |
| 5056 | 5645 | dependencies: |
| 5057 | - '@csstools/selector-specificity': 2.0.2_2xshye3abirqjlplmebvmaxyna | |
| 5646 | + '@csstools/selector-specificity': 2.0.2_wajs5nedgkikc5pcuwett7legi | |
| 5058 | 5647 | balanced-match: 2.0.0 |
| 5059 | 5648 | colord: 2.9.3 |
| 5060 | 5649 | cosmiconfig: 7.1.0 |
| ... | ... | @@ -5077,10 +5666,10 @@ packages: |
| 5077 | 5666 | micromatch: 4.0.5 |
| 5078 | 5667 | normalize-path: 3.0.0 |
| 5079 | 5668 | picocolors: 1.0.0 |
| 5080 | - postcss: 8.4.20 | |
| 5669 | + postcss: 8.4.21 | |
| 5081 | 5670 | postcss-media-query-parser: 0.2.3 |
| 5082 | 5671 | postcss-resolve-nested-selector: 0.1.1 |
| 5083 | - postcss-safe-parser: 6.0.0_postcss@8.4.20 | |
| 5672 | + postcss-safe-parser: 6.0.0_postcss@8.4.21 | |
| 5084 | 5673 | postcss-selector-parser: 6.0.11 |
| 5085 | 5674 | postcss-value-parser: 4.2.0 |
| 5086 | 5675 | resolve-from: 5.0.0 |
| ... | ... | @@ -5101,6 +5690,13 @@ packages: |
| 5101 | 5690 | engines: {node: '>=0.8.0'} |
| 5102 | 5691 | dev: true |
| 5103 | 5692 | |
| 5693 | + /supports-color/3.2.3: | |
| 5694 | + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} | |
| 5695 | + engines: {node: '>=0.8.0'} | |
| 5696 | + dependencies: | |
| 5697 | + has-flag: 1.0.0 | |
| 5698 | + dev: true | |
| 5699 | + | |
| 5104 | 5700 | /supports-color/5.5.0: |
| 5105 | 5701 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} |
| 5106 | 5702 | engines: {node: '>=4'} |
| ... | ... | @@ -5162,10 +5758,14 @@ packages: |
| 5162 | 5758 | css-select: 4.3.0 |
| 5163 | 5759 | css-tree: 1.1.3 |
| 5164 | 5760 | csso: 4.2.0 |
| 5165 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 5761 | + picocolors: 1.0.0 | |
| 5166 | 5762 | stable: 0.1.8 |
| 5167 | 5763 | dev: true |
| 5168 | 5764 | |
| 5765 | + /systemjs/6.13.0: | |
| 5766 | + resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/systemjs/-/systemjs-6.13.0.tgz} | |
| 5767 | + dev: true | |
| 5768 | + | |
| 5169 | 5769 | /table/6.8.1: |
| 5170 | 5770 | resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} |
| 5171 | 5771 | engines: {node: '>=10.0.0'} |
| ... | ... | @@ -5212,7 +5812,7 @@ packages: |
| 5212 | 5812 | dev: false |
| 5213 | 5813 | |
| 5214 | 5814 | /to-fast-properties/2.0.0: |
| 5215 | - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} | |
| 5815 | + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz} | |
| 5216 | 5816 | engines: {node: '>=4'} |
| 5217 | 5817 | |
| 5218 | 5818 | /to-object-path/0.3.0: |
| ... | ... | @@ -5222,6 +5822,21 @@ packages: |
| 5222 | 5822 | kind-of: 3.2.2 |
| 5223 | 5823 | dev: true |
| 5224 | 5824 | |
| 5825 | + /to-regex-range/2.1.1: | |
| 5826 | + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/to-regex-range/-/to-regex-range-2.1.1.tgz} | |
| 5827 | + engines: {node: '>=0.10.0'} | |
| 5828 | + dependencies: | |
| 5829 | + is-number: 3.0.0 | |
| 5830 | + repeat-string: 1.6.1 | |
| 5831 | + dev: true | |
| 5832 | + | |
| 5833 | + /to-regex-range/5.0.1: | |
| 5834 | + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/to-regex-range/-/to-regex-range-5.0.1.tgz} | |
| 5835 | + engines: {node: '>=8.0'} | |
| 5836 | + dependencies: | |
| 5837 | + is-number: 7.0.0 | |
| 5838 | + dev: true | |
| 5839 | + | |
| 5225 | 5840 | /to-regex/3.0.2: |
| 5226 | 5841 | resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} |
| 5227 | 5842 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -5232,6 +5847,10 @@ packages: |
| 5232 | 5847 | safe-regex: 1.1.0 |
| 5233 | 5848 | dev: true |
| 5234 | 5849 | |
| 5850 | + /tr46/0.0.3: | |
| 5851 | + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/tr46/-/tr46-0.0.3.tgz} | |
| 5852 | + dev: true | |
| 5853 | + | |
| 5235 | 5854 | /traverse/0.6.7: |
| 5236 | 5855 | resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} |
| 5237 | 5856 | dev: true |
| ... | ... | @@ -5241,7 +5860,7 @@ packages: |
| 5241 | 5860 | engines: {node: '>=8'} |
| 5242 | 5861 | dev: true |
| 5243 | 5862 | |
| 5244 | - /ts-node/10.9.1_rju6pyblifsagdmqm3y74zsi6q: | |
| 5863 | + /ts-node/10.9.1_awa2wsr5thmg3i7jqycphctjfq: | |
| 5245 | 5864 | resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} |
| 5246 | 5865 | hasBin: true |
| 5247 | 5866 | peerDependencies: |
| ... | ... | @@ -5260,7 +5879,7 @@ packages: |
| 5260 | 5879 | '@tsconfig/node12': 1.0.11 |
| 5261 | 5880 | '@tsconfig/node14': 1.0.3 |
| 5262 | 5881 | '@tsconfig/node16': 1.0.3 |
| 5263 | - '@types/node': 14.18.33 | |
| 5882 | + '@types/node': 18.11.18 | |
| 5264 | 5883 | acorn: 8.8.1 |
| 5265 | 5884 | acorn-walk: 8.2.0 |
| 5266 | 5885 | arg: 4.1.3 |
| ... | ... | @@ -5276,6 +5895,10 @@ packages: |
| 5276 | 5895 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} |
| 5277 | 5896 | dev: true |
| 5278 | 5897 | |
| 5898 | + /tslib/2.3.0: | |
| 5899 | + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/tslib/-/tslib-2.3.0.tgz} | |
| 5900 | + dev: false | |
| 5901 | + | |
| 5279 | 5902 | /tslib/2.4.1: |
| 5280 | 5903 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} |
| 5281 | 5904 | dev: true |
| ... | ... | @@ -5381,13 +6004,13 @@ packages: |
| 5381 | 6004 | /upper-case-first/2.0.2: |
| 5382 | 6005 | resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} |
| 5383 | 6006 | dependencies: |
| 5384 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 6007 | + tslib: 2.4.1 | |
| 5385 | 6008 | dev: true |
| 5386 | 6009 | |
| 5387 | 6010 | /upper-case/2.0.2: |
| 5388 | 6011 | resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} |
| 5389 | 6012 | dependencies: |
| 5390 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 6013 | + tslib: 2.4.1 | |
| 5391 | 6014 | dev: true |
| 5392 | 6015 | |
| 5393 | 6016 | /uri-js/4.4.1: |
| ... | ... | @@ -5456,7 +6079,7 @@ packages: |
| 5456 | 6079 | ejs: 3.1.8 |
| 5457 | 6080 | dev: true |
| 5458 | 6081 | |
| 5459 | - /vite-plugin-eslint/1.8.1_eslint@8.31.0+vite@4.0.4: | |
| 6082 | + /vite-plugin-eslint/1.8.1_eslint@8.32.0+vite@4.0.4: | |
| 5460 | 6083 | resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} |
| 5461 | 6084 | peerDependencies: |
| 5462 | 6085 | eslint: '>=7' |
| ... | ... | @@ -5464,7 +6087,7 @@ packages: |
| 5464 | 6087 | dependencies: |
| 5465 | 6088 | '@rollup/pluginutils': 4.2.1 |
| 5466 | 6089 | '@types/eslint': 8.4.10 |
| 5467 | - eslint: 8.31.0 | |
| 6090 | + eslint: 8.32.0 | |
| 5468 | 6091 | rollup: 2.79.1 |
| 5469 | 6092 | vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i |
| 5470 | 6093 | dev: true |
| ... | ... | @@ -5481,6 +6104,21 @@ packages: |
| 5481 | 6104 | vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i |
| 5482 | 6105 | dev: true |
| 5483 | 6106 | |
| 6107 | + /vite-plugin-purge-icons/0.9.2_vite@4.0.4: | |
| 6108 | + resolution: {integrity: sha512-vxJEMyNyckqLr/4HPsW9P6BMLUvOVMvjjFz3jLl4Wke1KWE8ITJUxIUwodxaOmEp9L2lxVk5an3TYeycZCfqFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.9.2.tgz} | |
| 6109 | + engines: {node: '>= 12'} | |
| 6110 | + peerDependencies: | |
| 6111 | + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 | |
| 6112 | + dependencies: | |
| 6113 | + '@purge-icons/core': 0.9.1 | |
| 6114 | + '@purge-icons/generated': 0.9.0 | |
| 6115 | + rollup-plugin-purge-icons: 0.9.1 | |
| 6116 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6117 | + transitivePeerDependencies: | |
| 6118 | + - encoding | |
| 6119 | + - supports-color | |
| 6120 | + dev: true | |
| 6121 | + | |
| 5484 | 6122 | /vite-plugin-style-import/2.0.0_vite@4.0.4: |
| 5485 | 6123 | resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} |
| 5486 | 6124 | peerDependencies: |
| ... | ... | @@ -5524,6 +6162,20 @@ packages: |
| 5524 | 6162 | vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i |
| 5525 | 6163 | dev: true |
| 5526 | 6164 | |
| 6165 | + /vite-plugin-windicss/1.8.10_vite@4.0.4: | |
| 6166 | + resolution: {integrity: sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz} | |
| 6167 | + peerDependencies: | |
| 6168 | + vite: ^2.0.1 || ^3.0.0 || ^4.0.0 | |
| 6169 | + dependencies: | |
| 6170 | + '@windicss/plugin-utils': 1.8.10 | |
| 6171 | + debug: 4.3.4 | |
| 6172 | + kolorist: 1.6.0 | |
| 6173 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6174 | + windicss: 3.5.6 | |
| 6175 | + transitivePeerDependencies: | |
| 6176 | + - supports-color | |
| 6177 | + dev: true | |
| 6178 | + | |
| 5527 | 6179 | /vite/4.0.4_zxbrnrc4iyldik6mikh3pswz4i: |
| 5528 | 6180 | resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} |
| 5529 | 6181 | engines: {node: ^14.18.0 || >=16.0.0} |
| ... | ... | @@ -5551,9 +6203,9 @@ packages: |
| 5551 | 6203 | dependencies: |
| 5552 | 6204 | '@types/node': 18.11.18 |
| 5553 | 6205 | esbuild: 0.16.5 |
| 5554 | - postcss: 8.4.20 | |
| 6206 | + postcss: 8.4.21 | |
| 5555 | 6207 | resolve: 1.22.1 |
| 5556 | - rollup: 3.9.1 | |
| 6208 | + rollup: 3.10.0 | |
| 5557 | 6209 | sass: 1.57.1 |
| 5558 | 6210 | terser: 5.16.1 |
| 5559 | 6211 | optionalDependencies: |
| ... | ... | @@ -5575,14 +6227,14 @@ packages: |
| 5575 | 6227 | vue: 3.2.45 |
| 5576 | 6228 | dev: false |
| 5577 | 6229 | |
| 5578 | - /vue-eslint-parser/9.1.0_eslint@8.31.0: | |
| 6230 | + /vue-eslint-parser/9.1.0_eslint@8.32.0: | |
| 5579 | 6231 | resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} |
| 5580 | 6232 | engines: {node: ^14.17.0 || >=16.0.0} |
| 5581 | 6233 | peerDependencies: |
| 5582 | 6234 | eslint: '>=6.0.0' |
| 5583 | 6235 | dependencies: |
| 5584 | 6236 | debug: 4.3.4 |
| 5585 | - eslint: 8.31.0 | |
| 6237 | + eslint: 8.32.0 | |
| 5586 | 6238 | eslint-scope: 7.1.1 |
| 5587 | 6239 | eslint-visitor-keys: 3.3.0 |
| 5588 | 6240 | espree: 9.4.1 |
| ... | ... | @@ -5621,14 +6273,14 @@ packages: |
| 5621 | 6273 | he: 1.2.0 |
| 5622 | 6274 | dev: true |
| 5623 | 6275 | |
| 5624 | - /vue-tsc/1.0.20_typescript@4.9.4: | |
| 5625 | - resolution: {integrity: sha512-AApewYXozAD7v4Iz9I0QzQebSVgvlUvpfbGe2e9TwtBdcw5gBsGiX8Oj5BdxRRiGnOdDG3BHPK8msl7Qhmy/1A==} | |
| 6276 | + /vue-tsc/1.0.24_typescript@4.9.4: | |
| 6277 | + resolution: {integrity: sha512-mmU1s5SAqE1nByQAiQnao9oU4vX+mSdsgI8H57SfKH6UVzq/jP9+Dbi2GaV+0b4Cn361d2ln8m6xeU60ApiEXg==} | |
| 5626 | 6278 | hasBin: true |
| 5627 | 6279 | peerDependencies: |
| 5628 | 6280 | typescript: '*' |
| 5629 | 6281 | dependencies: |
| 5630 | - '@volar/vue-language-core': 1.0.20 | |
| 5631 | - '@volar/vue-typescript': 1.0.20 | |
| 6282 | + '@volar/vue-language-core': 1.0.24 | |
| 6283 | + '@volar/vue-typescript': 1.0.24 | |
| 5632 | 6284 | typescript: 4.9.4 |
| 5633 | 6285 | dev: true |
| 5634 | 6286 | |
| ... | ... | @@ -5654,10 +6306,24 @@ packages: |
| 5654 | 6306 | '@vue/server-renderer': 3.2.45_vue@3.2.45 |
| 5655 | 6307 | '@vue/shared': 3.2.45 |
| 5656 | 6308 | |
| 6309 | + /vxe-table/4.3.9_vue@3.2.45+xe-utils@3.5.7: | |
| 6310 | + resolution: {integrity: sha512-Ns7Ooa7lOHBpks90i0k0BMNyxfMpUo39ryxTgKE41X3xVnI9tGQs2U6+klfDlsuqYfmG3ibyzHN3OCrWbbKo4Q==} | |
| 6311 | + peerDependencies: | |
| 6312 | + vue: ^3.2.28 | |
| 6313 | + xe-utils: ^3.5.0 | |
| 6314 | + dependencies: | |
| 6315 | + vue: 3.2.45 | |
| 6316 | + xe-utils: 3.5.7 | |
| 6317 | + dev: false | |
| 6318 | + | |
| 5657 | 6319 | /web-storage-cache/1.1.1: |
| 5658 | 6320 | resolution: {integrity: sha512-D0MieGooOs8RpsrK+vnejXnvh4OOv/+lTFB35JRkJJQt+uOjPE08XpaE0QBLMTRu47B1KGT/Nq3Gbag3Orinzw==} |
| 5659 | 6321 | dev: false |
| 5660 | 6322 | |
| 6323 | + /webidl-conversions/3.0.1: | |
| 6324 | + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz} | |
| 6325 | + dev: true | |
| 6326 | + | |
| 5661 | 6327 | /webpack-sources/3.2.3: |
| 5662 | 6328 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} |
| 5663 | 6329 | engines: {node: '>=10.13.0'} |
| ... | ... | @@ -5667,6 +6333,13 @@ packages: |
| 5667 | 6333 | resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} |
| 5668 | 6334 | dev: true |
| 5669 | 6335 | |
| 6336 | + /whatwg-url/5.0.0: | |
| 6337 | + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/whatwg-url/-/whatwg-url-5.0.0.tgz} | |
| 6338 | + dependencies: | |
| 6339 | + tr46: 0.0.3 | |
| 6340 | + webidl-conversions: 3.0.1 | |
| 6341 | + dev: true | |
| 6342 | + | |
| 5670 | 6343 | /which-module/2.0.0: |
| 5671 | 6344 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} |
| 5672 | 6345 | dev: false |
| ... | ... | @@ -5705,7 +6378,7 @@ packages: |
| 5705 | 6378 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} |
| 5706 | 6379 | engines: {node: '>=8'} |
| 5707 | 6380 | dependencies: |
| 5708 | - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 | |
| 6381 | + ansi-styles: 4.3.0 | |
| 5709 | 6382 | string-width: 4.2.3 |
| 5710 | 6383 | strip-ansi: 6.0.1 |
| 5711 | 6384 | |
| ... | ... | @@ -5774,7 +6447,7 @@ packages: |
| 5774 | 6447 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} |
| 5775 | 6448 | engines: {node: '>=6'} |
| 5776 | 6449 | dependencies: |
| 5777 | - camelcase: registry.npmmirror.com/camelcase/5.3.1 | |
| 6450 | + camelcase: 5.3.1 | |
| 5778 | 6451 | decamelize: 1.2.0 |
| 5779 | 6452 | dev: false |
| 5780 | 6453 | |
| ... | ... | @@ -5828,1259 +6501,8 @@ packages: |
| 5828 | 6501 | engines: {node: '>=10'} |
| 5829 | 6502 | dev: true |
| 5830 | 6503 | |
| 5831 | - registry.npmmirror.com/@ampproject/remapping/2.2.0: | |
| 5832 | - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz} | |
| 5833 | - name: '@ampproject/remapping' | |
| 5834 | - version: 2.2.0 | |
| 5835 | - engines: {node: '>=6.0.0'} | |
| 5836 | - dependencies: | |
| 5837 | - '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1 | |
| 5838 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 5839 | - dev: true | |
| 5840 | - | |
| 5841 | - registry.npmmirror.com/@antfu/utils/0.7.2: | |
| 5842 | - resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz} | |
| 5843 | - name: '@antfu/utils' | |
| 5844 | - version: 0.7.2 | |
| 5845 | - dev: true | |
| 5846 | - | |
| 5847 | - registry.npmmirror.com/@babel/code-frame/7.18.6: | |
| 5848 | - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz} | |
| 5849 | - name: '@babel/code-frame' | |
| 5850 | - version: 7.18.6 | |
| 5851 | - engines: {node: '>=6.9.0'} | |
| 5852 | - dependencies: | |
| 5853 | - '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6 | |
| 5854 | - dev: true | |
| 5855 | - | |
| 5856 | - registry.npmmirror.com/@babel/compat-data/7.20.1: | |
| 5857 | - resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.20.1.tgz} | |
| 5858 | - name: '@babel/compat-data' | |
| 5859 | - version: 7.20.1 | |
| 5860 | - engines: {node: '>=6.9.0'} | |
| 5861 | - dev: true | |
| 5862 | - | |
| 5863 | - registry.npmmirror.com/@babel/core/7.20.5: | |
| 5864 | - resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/core/-/core-7.20.5.tgz} | |
| 5865 | - name: '@babel/core' | |
| 5866 | - version: 7.20.5 | |
| 5867 | - engines: {node: '>=6.9.0'} | |
| 5868 | - dependencies: | |
| 5869 | - '@ampproject/remapping': registry.npmmirror.com/@ampproject/remapping/2.2.0 | |
| 5870 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 5871 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 5872 | - '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5 | |
| 5873 | - '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.20.2 | |
| 5874 | - '@babel/helpers': registry.npmmirror.com/@babel/helpers/7.20.6 | |
| 5875 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 5876 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5877 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 5878 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5879 | - convert-source-map: registry.npmmirror.com/convert-source-map/1.9.0 | |
| 5880 | - debug: 4.3.4 | |
| 5881 | - gensync: registry.npmmirror.com/gensync/1.0.0-beta.2 | |
| 5882 | - json5: registry.npmmirror.com/json5/2.2.1 | |
| 5883 | - semver: registry.npmmirror.com/semver/6.3.0 | |
| 5884 | - transitivePeerDependencies: | |
| 5885 | - - supports-color | |
| 5886 | - dev: true | |
| 5887 | - | |
| 5888 | - registry.npmmirror.com/@babel/generator/7.20.5: | |
| 5889 | - resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/generator/-/generator-7.20.5.tgz} | |
| 5890 | - name: '@babel/generator' | |
| 5891 | - version: 7.20.5 | |
| 5892 | - engines: {node: '>=6.9.0'} | |
| 5893 | - dependencies: | |
| 5894 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5895 | - '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2 | |
| 5896 | - jsesc: registry.npmmirror.com/jsesc/2.5.2 | |
| 5897 | - dev: true | |
| 5898 | - | |
| 5899 | - registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6: | |
| 5900 | - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz} | |
| 5901 | - name: '@babel/helper-annotate-as-pure' | |
| 5902 | - version: 7.18.6 | |
| 5903 | - engines: {node: '>=6.9.0'} | |
| 5904 | - dependencies: | |
| 5905 | - '@babel/types': 7.20.5 | |
| 5906 | - dev: true | |
| 5907 | - | |
| 5908 | - registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5: | |
| 5909 | - resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz} | |
| 5910 | - id: registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0 | |
| 5911 | - name: '@babel/helper-compilation-targets' | |
| 5912 | - version: 7.20.0 | |
| 5913 | - engines: {node: '>=6.9.0'} | |
| 5914 | - peerDependencies: | |
| 5915 | - '@babel/core': ^7.0.0 | |
| 5916 | - dependencies: | |
| 5917 | - '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.20.1 | |
| 5918 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 5919 | - '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.18.6 | |
| 5920 | - browserslist: registry.npmmirror.com/browserslist/4.21.4 | |
| 5921 | - semver: registry.npmmirror.com/semver/6.3.0 | |
| 5922 | - dev: true | |
| 5923 | - | |
| 5924 | - registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.5: | |
| 5925 | - resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz} | |
| 5926 | - id: registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2 | |
| 5927 | - name: '@babel/helper-create-class-features-plugin' | |
| 5928 | - version: 7.20.2 | |
| 5929 | - engines: {node: '>=6.9.0'} | |
| 5930 | - peerDependencies: | |
| 5931 | - '@babel/core': ^7.0.0 | |
| 5932 | - dependencies: | |
| 5933 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 5934 | - '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6 | |
| 5935 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 5936 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 5937 | - '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9 | |
| 5938 | - '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 | |
| 5939 | - '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.19.1 | |
| 5940 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 5941 | - transitivePeerDependencies: | |
| 5942 | - - supports-color | |
| 5943 | - dev: true | |
| 5944 | - | |
| 5945 | - registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9: | |
| 5946 | - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz} | |
| 5947 | - name: '@babel/helper-environment-visitor' | |
| 5948 | - version: 7.18.9 | |
| 5949 | - engines: {node: '>=6.9.0'} | |
| 5950 | - dev: true | |
| 5951 | - | |
| 5952 | - registry.npmmirror.com/@babel/helper-function-name/7.19.0: | |
| 5953 | - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz} | |
| 5954 | - name: '@babel/helper-function-name' | |
| 5955 | - version: 7.19.0 | |
| 5956 | - engines: {node: '>=6.9.0'} | |
| 5957 | - dependencies: | |
| 5958 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5959 | - '@babel/types': 7.20.5 | |
| 5960 | - dev: true | |
| 5961 | - | |
| 5962 | - registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6: | |
| 5963 | - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz} | |
| 5964 | - name: '@babel/helper-hoist-variables' | |
| 5965 | - version: 7.18.6 | |
| 5966 | - engines: {node: '>=6.9.0'} | |
| 5967 | - dependencies: | |
| 5968 | - '@babel/types': 7.20.5 | |
| 5969 | - dev: true | |
| 5970 | - | |
| 5971 | - registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9: | |
| 5972 | - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz} | |
| 5973 | - name: '@babel/helper-member-expression-to-functions' | |
| 5974 | - version: 7.18.9 | |
| 5975 | - engines: {node: '>=6.9.0'} | |
| 5976 | - dependencies: | |
| 5977 | - '@babel/types': 7.20.5 | |
| 5978 | - dev: true | |
| 5979 | - | |
| 5980 | - registry.npmmirror.com/@babel/helper-module-imports/7.18.6: | |
| 5981 | - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz} | |
| 5982 | - name: '@babel/helper-module-imports' | |
| 5983 | - version: 7.18.6 | |
| 5984 | - engines: {node: '>=6.9.0'} | |
| 5985 | - dependencies: | |
| 5986 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5987 | - dev: true | |
| 5988 | - | |
| 5989 | - registry.npmmirror.com/@babel/helper-module-transforms/7.20.2: | |
| 5990 | - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz} | |
| 5991 | - name: '@babel/helper-module-transforms' | |
| 5992 | - version: 7.20.2 | |
| 5993 | - engines: {node: '>=6.9.0'} | |
| 5994 | - dependencies: | |
| 5995 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 5996 | - '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6 | |
| 5997 | - '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.20.2 | |
| 5998 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 5999 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6000 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 6001 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 6002 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6003 | - transitivePeerDependencies: | |
| 6004 | - - supports-color | |
| 6005 | - dev: true | |
| 6006 | - | |
| 6007 | - registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6: | |
| 6008 | - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz} | |
| 6009 | - name: '@babel/helper-optimise-call-expression' | |
| 6010 | - version: 7.18.6 | |
| 6011 | - engines: {node: '>=6.9.0'} | |
| 6012 | - dependencies: | |
| 6013 | - '@babel/types': 7.20.5 | |
| 6014 | - dev: true | |
| 6015 | - | |
| 6016 | - registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2: | |
| 6017 | - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz} | |
| 6018 | - name: '@babel/helper-plugin-utils' | |
| 6019 | - version: 7.20.2 | |
| 6020 | - engines: {node: '>=6.9.0'} | |
| 6021 | - dev: true | |
| 6022 | - | |
| 6023 | - registry.npmmirror.com/@babel/helper-replace-supers/7.19.1: | |
| 6024 | - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz} | |
| 6025 | - name: '@babel/helper-replace-supers' | |
| 6026 | - version: 7.19.1 | |
| 6027 | - engines: {node: '>=6.9.0'} | |
| 6028 | - dependencies: | |
| 6029 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 6030 | - '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9 | |
| 6031 | - '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 | |
| 6032 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 6033 | - '@babel/types': 7.20.5 | |
| 6034 | - transitivePeerDependencies: | |
| 6035 | - - supports-color | |
| 6036 | - dev: true | |
| 6037 | - | |
| 6038 | - registry.npmmirror.com/@babel/helper-simple-access/7.20.2: | |
| 6039 | - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz} | |
| 6040 | - name: '@babel/helper-simple-access' | |
| 6041 | - version: 7.20.2 | |
| 6042 | - engines: {node: '>=6.9.0'} | |
| 6043 | - dependencies: | |
| 6044 | - '@babel/types': 7.20.5 | |
| 6045 | - dev: true | |
| 6046 | - | |
| 6047 | - registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6: | |
| 6048 | - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz} | |
| 6049 | - name: '@babel/helper-split-export-declaration' | |
| 6050 | - version: 7.18.6 | |
| 6051 | - engines: {node: '>=6.9.0'} | |
| 6052 | - dependencies: | |
| 6053 | - '@babel/types': 7.20.5 | |
| 6054 | - dev: true | |
| 6055 | - | |
| 6056 | - registry.npmmirror.com/@babel/helper-string-parser/7.19.4: | |
| 6057 | - 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} | |
| 6058 | - name: '@babel/helper-string-parser' | |
| 6059 | - version: 7.19.4 | |
| 6060 | - engines: {node: '>=6.9.0'} | |
| 6061 | - | |
| 6062 | - registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1: | |
| 6063 | - 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} | |
| 6064 | - name: '@babel/helper-validator-identifier' | |
| 6065 | - version: 7.19.1 | |
| 6066 | - engines: {node: '>=6.9.0'} | |
| 6067 | - | |
| 6068 | - registry.npmmirror.com/@babel/helper-validator-option/7.18.6: | |
| 6069 | - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz} | |
| 6070 | - name: '@babel/helper-validator-option' | |
| 6071 | - version: 7.18.6 | |
| 6072 | - engines: {node: '>=6.9.0'} | |
| 6073 | - dev: true | |
| 6074 | - | |
| 6075 | - registry.npmmirror.com/@babel/helpers/7.20.6: | |
| 6076 | - resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helpers/-/helpers-7.20.6.tgz} | |
| 6077 | - name: '@babel/helpers' | |
| 6078 | - version: 7.20.6 | |
| 6079 | - engines: {node: '>=6.9.0'} | |
| 6080 | - dependencies: | |
| 6081 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 6082 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 6083 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6084 | - transitivePeerDependencies: | |
| 6085 | - - supports-color | |
| 6086 | - dev: true | |
| 6087 | - | |
| 6088 | - registry.npmmirror.com/@babel/highlight/7.18.6: | |
| 6089 | - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz} | |
| 6090 | - name: '@babel/highlight' | |
| 6091 | - version: 7.18.6 | |
| 6092 | - engines: {node: '>=6.9.0'} | |
| 6093 | - dependencies: | |
| 6094 | - '@babel/helper-validator-identifier': 7.19.1 | |
| 6095 | - chalk: 2.4.2 | |
| 6096 | - js-tokens: registry.npmmirror.com/js-tokens/4.0.0 | |
| 6097 | - dev: true | |
| 6098 | - | |
| 6099 | - registry.npmmirror.com/@babel/parser/7.20.5: | |
| 6100 | - resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.20.5.tgz} | |
| 6101 | - name: '@babel/parser' | |
| 6102 | - version: 7.20.5 | |
| 6103 | - engines: {node: '>=6.0.0'} | |
| 6104 | - hasBin: true | |
| 6105 | - dependencies: | |
| 6106 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6107 | - dev: true | |
| 6108 | - | |
| 6109 | - registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5: | |
| 6110 | - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz} | |
| 6111 | - id: registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6 | |
| 6112 | - name: '@babel/plugin-syntax-jsx' | |
| 6113 | - version: 7.18.6 | |
| 6114 | - engines: {node: '>=6.9.0'} | |
| 6115 | - peerDependencies: | |
| 6116 | - '@babel/core': ^7.0.0-0 | |
| 6117 | - dependencies: | |
| 6118 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6119 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6120 | - dev: true | |
| 6121 | - | |
| 6122 | - registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5: | |
| 6123 | - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz} | |
| 6124 | - id: registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0 | |
| 6125 | - name: '@babel/plugin-syntax-typescript' | |
| 6126 | - version: 7.20.0 | |
| 6127 | - engines: {node: '>=6.9.0'} | |
| 6128 | - peerDependencies: | |
| 6129 | - '@babel/core': ^7.0.0-0 | |
| 6130 | - dependencies: | |
| 6131 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6132 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6133 | - dev: true | |
| 6134 | - | |
| 6135 | - registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.5: | |
| 6136 | - resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz} | |
| 6137 | - id: registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2 | |
| 6138 | - name: '@babel/plugin-transform-typescript' | |
| 6139 | - version: 7.20.2 | |
| 6140 | - engines: {node: '>=6.9.0'} | |
| 6141 | - peerDependencies: | |
| 6142 | - '@babel/core': ^7.0.0-0 | |
| 6143 | - dependencies: | |
| 6144 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6145 | - '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.5 | |
| 6146 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6147 | - '@babel/plugin-syntax-typescript': registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5 | |
| 6148 | - transitivePeerDependencies: | |
| 6149 | - - supports-color | |
| 6150 | - dev: true | |
| 6151 | - | |
| 6152 | - registry.npmmirror.com/@babel/standalone/7.20.6: | |
| 6153 | - resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/standalone/-/standalone-7.20.6.tgz} | |
| 6154 | - name: '@babel/standalone' | |
| 6155 | - version: 7.20.6 | |
| 6156 | - engines: {node: '>=6.9.0'} | |
| 6157 | - dev: true | |
| 6158 | - | |
| 6159 | - registry.npmmirror.com/@babel/template/7.18.10: | |
| 6160 | - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/-/template-7.18.10.tgz} | |
| 6161 | - name: '@babel/template' | |
| 6162 | - version: 7.18.10 | |
| 6163 | - engines: {node: '>=6.9.0'} | |
| 6164 | - dependencies: | |
| 6165 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6166 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6167 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6168 | - dev: true | |
| 6169 | - | |
| 6170 | - registry.npmmirror.com/@babel/traverse/7.20.1: | |
| 6171 | - resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.1.tgz} | |
| 6172 | - name: '@babel/traverse' | |
| 6173 | - version: 7.20.1 | |
| 6174 | - engines: {node: '>=6.9.0'} | |
| 6175 | - dependencies: | |
| 6176 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6177 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 6178 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 6179 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 6180 | - '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6 | |
| 6181 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 6182 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6183 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6184 | - debug: 4.3.4 | |
| 6185 | - globals: 11.12.0 | |
| 6186 | - transitivePeerDependencies: | |
| 6187 | - - supports-color | |
| 6188 | - dev: true | |
| 6189 | - | |
| 6190 | - registry.npmmirror.com/@babel/traverse/7.20.5: | |
| 6191 | - resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.5.tgz} | |
| 6192 | - name: '@babel/traverse' | |
| 6193 | - version: 7.20.5 | |
| 6194 | - engines: {node: '>=6.9.0'} | |
| 6195 | - dependencies: | |
| 6196 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6197 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 6198 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 6199 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 6200 | - '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6 | |
| 6201 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 6202 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6203 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6204 | - debug: 4.3.4 | |
| 6205 | - globals: 11.12.0 | |
| 6206 | - transitivePeerDependencies: | |
| 6207 | - - supports-color | |
| 6208 | - dev: true | |
| 6209 | - | |
| 6210 | - registry.npmmirror.com/@babel/types/7.20.2: | |
| 6211 | - 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} | |
| 6212 | - name: '@babel/types' | |
| 6213 | - version: 7.20.2 | |
| 6214 | - engines: {node: '>=6.9.0'} | |
| 6215 | - dependencies: | |
| 6216 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 6217 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6218 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 6219 | - dev: true | |
| 6220 | - | |
| 6221 | - registry.npmmirror.com/@babel/types/7.20.5: | |
| 6222 | - resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.20.5.tgz} | |
| 6223 | - name: '@babel/types' | |
| 6224 | - version: 7.20.5 | |
| 6225 | - engines: {node: '>=6.9.0'} | |
| 6226 | - dependencies: | |
| 6227 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 6228 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6229 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 6230 | - | |
| 6231 | - registry.npmmirror.com/@iconify/iconify/2.1.2: | |
| 6232 | - resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/iconify/-/iconify-2.1.2.tgz} | |
| 6233 | - name: '@iconify/iconify' | |
| 6234 | - version: 2.1.2 | |
| 6235 | - dependencies: | |
| 6236 | - cross-fetch: registry.npmmirror.com/cross-fetch/3.1.5 | |
| 6237 | - transitivePeerDependencies: | |
| 6238 | - - encoding | |
| 6239 | - dev: true | |
| 6240 | - | |
| 6241 | - registry.npmmirror.com/@iconify/iconify/3.0.1: | |
| 6242 | - resolution: {integrity: sha512-OPqVBTh8YsfrYZRVFv3OkmFNLqacM0dy/Oiw1h2wO+RZW5LieNGHlG2f9pzaeVRFWbEB8LHTeo8mcwgUTUbibQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/iconify/-/iconify-3.0.1.tgz} | |
| 6243 | - name: '@iconify/iconify' | |
| 6244 | - version: 3.0.1 | |
| 6245 | - dependencies: | |
| 6246 | - '@iconify/types': 2.0.0 | |
| 6247 | - dev: true | |
| 6248 | - | |
| 6249 | - registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1: | |
| 6250 | - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz} | |
| 6251 | - name: '@jridgewell/gen-mapping' | |
| 6252 | - version: 0.1.1 | |
| 6253 | - engines: {node: '>=6.0.0'} | |
| 6254 | - dependencies: | |
| 6255 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 6256 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6257 | - dev: true | |
| 6258 | - | |
| 6259 | - registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2: | |
| 6260 | - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz} | |
| 6261 | - name: '@jridgewell/gen-mapping' | |
| 6262 | - version: 0.3.2 | |
| 6263 | - engines: {node: '>=6.0.0'} | |
| 6264 | - dependencies: | |
| 6265 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 6266 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6267 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 6268 | - dev: true | |
| 6269 | - | |
| 6270 | - registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0: | |
| 6271 | - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz} | |
| 6272 | - name: '@jridgewell/resolve-uri' | |
| 6273 | - version: 3.1.0 | |
| 6274 | - engines: {node: '>=6.0.0'} | |
| 6275 | - dev: true | |
| 6276 | - | |
| 6277 | - registry.npmmirror.com/@jridgewell/set-array/1.1.2: | |
| 6278 | - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz} | |
| 6279 | - name: '@jridgewell/set-array' | |
| 6280 | - version: 1.1.2 | |
| 6281 | - engines: {node: '>=6.0.0'} | |
| 6282 | - dev: true | |
| 6283 | - | |
| 6284 | - registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14: | |
| 6285 | - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz} | |
| 6286 | - name: '@jridgewell/sourcemap-codec' | |
| 6287 | - version: 1.4.14 | |
| 6288 | - dev: true | |
| 6289 | - | |
| 6290 | - registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17: | |
| 6291 | - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz} | |
| 6292 | - name: '@jridgewell/trace-mapping' | |
| 6293 | - version: 0.3.17 | |
| 6294 | - dependencies: | |
| 6295 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 6296 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6297 | - dev: true | |
| 6298 | - | |
| 6299 | - registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9: | |
| 6300 | - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz} | |
| 6301 | - name: '@jridgewell/trace-mapping' | |
| 6302 | - version: 0.3.9 | |
| 6303 | - dependencies: | |
| 6304 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 6305 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6306 | - dev: true | |
| 6307 | - | |
| 6308 | - registry.npmmirror.com/@nodelib/fs.stat/2.0.5: | |
| 6309 | - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz} | |
| 6310 | - name: '@nodelib/fs.stat' | |
| 6311 | - version: 2.0.5 | |
| 6312 | - engines: {node: '>= 8'} | |
| 6313 | - dev: true | |
| 6314 | - | |
| 6315 | - registry.npmmirror.com/@purge-icons/core/0.9.1: | |
| 6316 | - resolution: {integrity: sha512-sx8/a30MbbqQVEqhuMPE1wJpdVRRbEmwEPZpFzVkcDixzX4p+R2A0WVxqkb0xfHUBAVQwrSE2SeAyniIQLqbLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@purge-icons/core/-/core-0.9.1.tgz} | |
| 6317 | - name: '@purge-icons/core' | |
| 6318 | - version: 0.9.1 | |
| 6319 | - dependencies: | |
| 6320 | - '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/2.1.2 | |
| 6321 | - axios: 0.26.1_debug@4.3.4 | |
| 6322 | - debug: 4.3.4 | |
| 6323 | - fast-glob: registry.npmmirror.com/fast-glob/3.2.12 | |
| 6324 | - fs-extra: registry.npmmirror.com/fs-extra/10.1.0 | |
| 6325 | - transitivePeerDependencies: | |
| 6326 | - - encoding | |
| 6327 | - - supports-color | |
| 6328 | - dev: true | |
| 6329 | - | |
| 6330 | - registry.npmmirror.com/@purge-icons/generated/0.9.0: | |
| 6331 | - resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@purge-icons/generated/-/generated-0.9.0.tgz} | |
| 6332 | - name: '@purge-icons/generated' | |
| 6333 | - version: 0.9.0 | |
| 6334 | - dependencies: | |
| 6335 | - '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/3.0.1 | |
| 6336 | - dev: true | |
| 6337 | - | |
| 6338 | - registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.4: | |
| 6339 | - resolution: {integrity: sha512-XCtEjxoR3rmy000ujYRBp5kggWqzHz9+F20/yIMUWOzbvu0+KW1e14Fvb8h7SpNn+bfjGW1RiAs1Vrgb7Js+iQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-3.0.1.tgz} | |
| 6340 | - id: registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1 | |
| 6341 | - name: '@vitejs/plugin-legacy' | |
| 6342 | - version: 3.0.1 | |
| 6343 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6344 | - peerDependencies: | |
| 6345 | - terser: ^5.4.0 | |
| 6346 | - vite: ^4.0.0 | |
| 6347 | - dependencies: | |
| 6348 | - '@babel/standalone': registry.npmmirror.com/@babel/standalone/7.20.6 | |
| 6349 | - core-js: registry.npmmirror.com/core-js/3.26.1 | |
| 6350 | - magic-string: registry.npmmirror.com/magic-string/0.27.0 | |
| 6351 | - regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11 | |
| 6352 | - systemjs: registry.npmmirror.com/systemjs/6.13.0 | |
| 6353 | - terser: 5.16.1 | |
| 6354 | - vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6355 | - dev: true | |
| 6356 | - | |
| 6357 | - registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.4+vue@3.2.45: | |
| 6358 | - resolution: {integrity: sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.0.tgz} | |
| 6359 | - id: registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0 | |
| 6360 | - name: '@vitejs/plugin-vue-jsx' | |
| 6361 | - version: 3.0.0 | |
| 6362 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6363 | - peerDependencies: | |
| 6364 | - vite: ^4.0.0 | |
| 6365 | - vue: ^3.0.0 | |
| 6366 | - dependencies: | |
| 6367 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6368 | - '@babel/plugin-transform-typescript': registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.5 | |
| 6369 | - '@vue/babel-plugin-jsx': registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5 | |
| 6370 | - vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6371 | - vue: 3.2.45 | |
| 6372 | - transitivePeerDependencies: | |
| 6373 | - - supports-color | |
| 6374 | - dev: true | |
| 6375 | - | |
| 6376 | - registry.npmmirror.com/@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45: | |
| 6377 | - resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz} | |
| 6378 | - id: registry.npmmirror.com/@vitejs/plugin-vue/4.0.0 | |
| 6379 | - name: '@vitejs/plugin-vue' | |
| 6380 | - version: 4.0.0 | |
| 6381 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6382 | - peerDependencies: | |
| 6383 | - vite: ^4.0.0 | |
| 6384 | - vue: ^3.2.25 | |
| 6385 | - dependencies: | |
| 6386 | - vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6387 | - vue: 3.2.45 | |
| 6388 | - dev: true | |
| 6389 | - | |
| 6390 | - registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2: | |
| 6391 | - resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz} | |
| 6392 | - name: '@vue/babel-helper-vue-transform-on' | |
| 6393 | - version: 1.0.2 | |
| 6394 | - dev: true | |
| 6395 | - | |
| 6396 | - registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5: | |
| 6397 | - resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz} | |
| 6398 | - id: registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1 | |
| 6399 | - name: '@vue/babel-plugin-jsx' | |
| 6400 | - version: 1.1.1 | |
| 6401 | - dependencies: | |
| 6402 | - '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6 | |
| 6403 | - '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5 | |
| 6404 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 6405 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.1 | |
| 6406 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 6407 | - '@vue/babel-helper-vue-transform-on': registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2 | |
| 6408 | - camelcase: registry.npmmirror.com/camelcase/6.3.0 | |
| 6409 | - html-tags: registry.npmmirror.com/html-tags/3.2.0 | |
| 6410 | - svg-tags: registry.npmmirror.com/svg-tags/1.0.0 | |
| 6411 | - transitivePeerDependencies: | |
| 6412 | - - '@babel/core' | |
| 6413 | - - supports-color | |
| 6414 | - dev: true | |
| 6415 | - | |
| 6416 | - registry.npmmirror.com/@vue/devtools-api/6.4.5: | |
| 6417 | - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz} | |
| 6418 | - name: '@vue/devtools-api' | |
| 6419 | - version: 6.4.5 | |
| 6420 | - dev: false | |
| 6421 | - | |
| 6422 | - registry.npmmirror.com/@windicss/config/1.8.10: | |
| 6423 | - resolution: {integrity: sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@windicss/config/-/config-1.8.10.tgz} | |
| 6424 | - name: '@windicss/config' | |
| 6425 | - version: 1.8.10 | |
| 6426 | - dependencies: | |
| 6427 | - debug: 4.3.4 | |
| 6428 | - jiti: registry.npmmirror.com/jiti/1.16.0 | |
| 6429 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 6430 | - transitivePeerDependencies: | |
| 6431 | - - supports-color | |
| 6432 | - dev: true | |
| 6433 | - | |
| 6434 | - registry.npmmirror.com/@windicss/plugin-utils/1.8.10: | |
| 6435 | - resolution: {integrity: sha512-Phqk5OW1w+Mv+ry6t7BzAeDq3aMhbI94gR49j9vQCufFfDGCHndhhjtMK0sBv+NPJUsIAIh6qayb1iwBCXUGrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@windicss/plugin-utils/-/plugin-utils-1.8.10.tgz} | |
| 6436 | - name: '@windicss/plugin-utils' | |
| 6437 | - version: 1.8.10 | |
| 6438 | - dependencies: | |
| 6439 | - '@antfu/utils': registry.npmmirror.com/@antfu/utils/0.7.2 | |
| 6440 | - '@windicss/config': registry.npmmirror.com/@windicss/config/1.8.10 | |
| 6441 | - debug: 4.3.4 | |
| 6442 | - fast-glob: registry.npmmirror.com/fast-glob/3.2.12 | |
| 6443 | - magic-string: registry.npmmirror.com/magic-string/0.27.0 | |
| 6444 | - micromatch: registry.npmmirror.com/micromatch/4.0.5 | |
| 6445 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 6446 | - transitivePeerDependencies: | |
| 6447 | - - supports-color | |
| 6448 | - dev: true | |
| 6449 | - | |
| 6450 | - registry.npmmirror.com/ansi-styles/4.3.0: | |
| 6451 | - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz} | |
| 6452 | - name: ansi-styles | |
| 6453 | - version: 4.3.0 | |
| 6454 | - engines: {node: '>=8'} | |
| 6455 | - dependencies: | |
| 6456 | - color-convert: registry.npmmirror.com/color-convert/2.0.1 | |
| 6457 | - | |
| 6458 | - registry.npmmirror.com/braces/2.3.2: | |
| 6459 | - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz} | |
| 6460 | - name: braces | |
| 6461 | - version: 2.3.2 | |
| 6462 | - engines: {node: '>=0.10.0'} | |
| 6463 | - dependencies: | |
| 6464 | - arr-flatten: 1.1.0 | |
| 6465 | - array-unique: 0.3.2 | |
| 6466 | - extend-shallow: 2.0.1 | |
| 6467 | - fill-range: registry.npmmirror.com/fill-range/4.0.0 | |
| 6468 | - isobject: 3.0.1 | |
| 6469 | - repeat-element: 1.1.4 | |
| 6470 | - snapdragon: 0.8.2 | |
| 6471 | - snapdragon-node: 2.1.1 | |
| 6472 | - split-string: 3.1.0 | |
| 6473 | - to-regex: 3.0.2 | |
| 6474 | - transitivePeerDependencies: | |
| 6475 | - - supports-color | |
| 6476 | - dev: true | |
| 6477 | - | |
| 6478 | - registry.npmmirror.com/braces/3.0.2: | |
| 6479 | - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz} | |
| 6480 | - name: braces | |
| 6481 | - version: 3.0.2 | |
| 6482 | - engines: {node: '>=8'} | |
| 6483 | - dependencies: | |
| 6484 | - fill-range: registry.npmmirror.com/fill-range/7.0.1 | |
| 6485 | - dev: true | |
| 6486 | - | |
| 6487 | - registry.npmmirror.com/browserslist/4.21.4: | |
| 6488 | - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz} | |
| 6489 | - name: browserslist | |
| 6490 | - version: 4.21.4 | |
| 6491 | - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} | |
| 6492 | - hasBin: true | |
| 6493 | - dependencies: | |
| 6494 | - caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001431 | |
| 6495 | - electron-to-chromium: registry.npmmirror.com/electron-to-chromium/1.4.284 | |
| 6496 | - node-releases: registry.npmmirror.com/node-releases/2.0.6 | |
| 6497 | - update-browserslist-db: registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4 | |
| 6498 | - dev: true | |
| 6499 | - | |
| 6500 | - registry.npmmirror.com/camelcase/5.3.1: | |
| 6501 | - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz} | |
| 6502 | - name: camelcase | |
| 6503 | - version: 5.3.1 | |
| 6504 | - engines: {node: '>=6'} | |
| 6505 | - | |
| 6506 | - registry.npmmirror.com/camelcase/6.3.0: | |
| 6507 | - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz} | |
| 6508 | - name: camelcase | |
| 6509 | - version: 6.3.0 | |
| 6510 | - engines: {node: '>=10'} | |
| 6511 | - dev: true | |
| 6512 | - | |
| 6513 | - registry.npmmirror.com/caniuse-lite/1.0.30001431: | |
| 6514 | - resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz} | |
| 6515 | - name: caniuse-lite | |
| 6516 | - version: 1.0.30001431 | |
| 6517 | - dev: true | |
| 6518 | - | |
| 6519 | - registry.npmmirror.com/color-convert/1.9.3: | |
| 6520 | - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz} | |
| 6521 | - name: color-convert | |
| 6522 | - version: 1.9.3 | |
| 6523 | - dependencies: | |
| 6524 | - color-name: registry.npmmirror.com/color-name/1.1.3 | |
| 6525 | - dev: true | |
| 6526 | - | |
| 6527 | - registry.npmmirror.com/color-convert/2.0.1: | |
| 6528 | - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz} | |
| 6529 | - name: color-convert | |
| 6530 | - version: 2.0.1 | |
| 6531 | - engines: {node: '>=7.0.0'} | |
| 6532 | - dependencies: | |
| 6533 | - color-name: registry.npmmirror.com/color-name/1.1.4 | |
| 6534 | - | |
| 6535 | - registry.npmmirror.com/color-name/1.1.3: | |
| 6536 | - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz} | |
| 6537 | - name: color-name | |
| 6538 | - version: 1.1.3 | |
| 6539 | - dev: true | |
| 6540 | - | |
| 6541 | - registry.npmmirror.com/color-name/1.1.4: | |
| 6542 | - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} | |
| 6543 | - name: color-name | |
| 6544 | - version: 1.1.4 | |
| 6545 | - | |
| 6546 | - registry.npmmirror.com/convert-source-map/1.9.0: | |
| 6547 | - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz} | |
| 6548 | - name: convert-source-map | |
| 6549 | - version: 1.9.0 | |
| 6550 | - dev: true | |
| 6551 | - | |
| 6552 | - registry.npmmirror.com/core-js/3.26.1: | |
| 6553 | - resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-js/-/core-js-3.26.1.tgz} | |
| 6554 | - name: core-js | |
| 6555 | - version: 3.26.1 | |
| 6556 | - requiresBuild: true | |
| 6557 | - dev: true | |
| 6558 | - | |
| 6559 | - registry.npmmirror.com/cross-fetch/3.1.5: | |
| 6560 | - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.5.tgz} | |
| 6561 | - name: cross-fetch | |
| 6562 | - version: 3.1.5 | |
| 6563 | - dependencies: | |
| 6564 | - node-fetch: registry.npmmirror.com/node-fetch/2.6.7 | |
| 6565 | - transitivePeerDependencies: | |
| 6566 | - - encoding | |
| 6567 | - dev: true | |
| 6568 | - | |
| 6569 | - registry.npmmirror.com/debug/4.3.4: | |
| 6570 | - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz} | |
| 6571 | - name: debug | |
| 6572 | - version: 4.3.4 | |
| 6573 | - engines: {node: '>=6.0'} | |
| 6574 | - peerDependencies: | |
| 6575 | - supports-color: '*' | |
| 6576 | - peerDependenciesMeta: | |
| 6577 | - supports-color: | |
| 6578 | - optional: true | |
| 6579 | - dependencies: | |
| 6580 | - ms: registry.npmmirror.com/ms/2.1.2 | |
| 6581 | - dev: true | |
| 6582 | - | |
| 6583 | - registry.npmmirror.com/echarts/5.4.1: | |
| 6584 | - resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/echarts/-/echarts-5.4.1.tgz} | |
| 6585 | - name: echarts | |
| 6586 | - version: 5.4.1 | |
| 6587 | - dependencies: | |
| 6588 | - tslib: registry.npmmirror.com/tslib/2.3.0 | |
| 6589 | - zrender: registry.npmmirror.com/zrender/5.4.1 | |
| 6590 | - dev: false | |
| 6591 | - | |
| 6592 | - registry.npmmirror.com/electron-to-chromium/1.4.284: | |
| 6593 | - resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz} | |
| 6594 | - name: electron-to-chromium | |
| 6595 | - version: 1.4.284 | |
| 6596 | - dev: true | |
| 6597 | - | |
| 6598 | - registry.npmmirror.com/escalade/3.1.1: | |
| 6599 | - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz} | |
| 6600 | - name: escalade | |
| 6601 | - version: 3.1.1 | |
| 6602 | - engines: {node: '>=6'} | |
| 6603 | - dev: true | |
| 6604 | - | |
| 6605 | - registry.npmmirror.com/fast-glob/3.2.12: | |
| 6606 | - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz} | |
| 6607 | - name: fast-glob | |
| 6608 | - version: 3.2.12 | |
| 6609 | - engines: {node: '>=8.6.0'} | |
| 6610 | - dependencies: | |
| 6611 | - '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 | |
| 6612 | - '@nodelib/fs.walk': 1.2.8 | |
| 6613 | - glob-parent: 5.1.2 | |
| 6614 | - merge2: registry.npmmirror.com/merge2/1.4.1 | |
| 6615 | - micromatch: 4.0.5 | |
| 6616 | - dev: true | |
| 6617 | - | |
| 6618 | - registry.npmmirror.com/fill-range/4.0.0: | |
| 6619 | - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz} | |
| 6620 | - name: fill-range | |
| 6621 | - version: 4.0.0 | |
| 6622 | - engines: {node: '>=0.10.0'} | |
| 6623 | - dependencies: | |
| 6624 | - extend-shallow: 2.0.1 | |
| 6625 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 6626 | - repeat-string: 1.6.1 | |
| 6627 | - to-regex-range: registry.npmmirror.com/to-regex-range/2.1.1 | |
| 6628 | - dev: true | |
| 6629 | - | |
| 6630 | - registry.npmmirror.com/fill-range/7.0.1: | |
| 6631 | - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz} | |
| 6632 | - name: fill-range | |
| 6633 | - version: 7.0.1 | |
| 6634 | - engines: {node: '>=8'} | |
| 6635 | - dependencies: | |
| 6636 | - to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1 | |
| 6637 | - dev: true | |
| 6638 | - | |
| 6639 | - registry.npmmirror.com/fs-extra/10.1.0: | |
| 6640 | - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz} | |
| 6641 | - name: fs-extra | |
| 6642 | - version: 10.1.0 | |
| 6643 | - engines: {node: '>=12'} | |
| 6644 | - dependencies: | |
| 6645 | - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 | |
| 6646 | - jsonfile: registry.npmmirror.com/jsonfile/6.1.0 | |
| 6647 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 6648 | - dev: true | |
| 6649 | - | |
| 6650 | - registry.npmmirror.com/gensync/1.0.0-beta.2: | |
| 6651 | - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz} | |
| 6652 | - name: gensync | |
| 6653 | - version: 1.0.0-beta.2 | |
| 6654 | - engines: {node: '>=6.9.0'} | |
| 6655 | - dev: true | |
| 6656 | - | |
| 6657 | - registry.npmmirror.com/graceful-fs/4.2.10: | |
| 6658 | - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} | |
| 6659 | - name: graceful-fs | |
| 6660 | - version: 4.2.10 | |
| 6661 | - dev: true | |
| 6662 | - | |
| 6663 | - registry.npmmirror.com/html-tags/3.2.0: | |
| 6664 | - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/html-tags/-/html-tags-3.2.0.tgz} | |
| 6665 | - name: html-tags | |
| 6666 | - version: 3.2.0 | |
| 6667 | - engines: {node: '>=8'} | |
| 6668 | - dev: true | |
| 6669 | - | |
| 6670 | - registry.npmmirror.com/is-number/3.0.0: | |
| 6671 | - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz} | |
| 6672 | - name: is-number | |
| 6673 | - version: 3.0.0 | |
| 6674 | - engines: {node: '>=0.10.0'} | |
| 6675 | - dependencies: | |
| 6676 | - kind-of: 3.2.2 | |
| 6677 | - dev: true | |
| 6678 | - | |
| 6679 | - registry.npmmirror.com/is-number/7.0.0: | |
| 6680 | - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz} | |
| 6681 | - name: is-number | |
| 6682 | - version: 7.0.0 | |
| 6683 | - engines: {node: '>=0.12.0'} | |
| 6684 | - dev: true | |
| 6685 | - | |
| 6686 | - registry.npmmirror.com/jiti/1.16.0: | |
| 6687 | - resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jiti/-/jiti-1.16.0.tgz} | |
| 6688 | - name: jiti | |
| 6689 | - version: 1.16.0 | |
| 6690 | - hasBin: true | |
| 6691 | - dev: true | |
| 6692 | - | |
| 6693 | - registry.npmmirror.com/js-tokens/4.0.0: | |
| 6694 | - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz} | |
| 6695 | - name: js-tokens | |
| 6696 | - version: 4.0.0 | |
| 6697 | - dev: true | |
| 6698 | - | |
| 6699 | - registry.npmmirror.com/jsesc/2.5.2: | |
| 6700 | - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz} | |
| 6701 | - name: jsesc | |
| 6702 | - version: 2.5.2 | |
| 6703 | - engines: {node: '>=4'} | |
| 6704 | - hasBin: true | |
| 6705 | - dev: true | |
| 6706 | - | |
| 6707 | - registry.npmmirror.com/json5/2.2.1: | |
| 6708 | - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json5/-/json5-2.2.1.tgz} | |
| 6709 | - name: json5 | |
| 6710 | - version: 2.2.1 | |
| 6711 | - engines: {node: '>=6'} | |
| 6712 | - hasBin: true | |
| 6713 | - dev: true | |
| 6714 | - | |
| 6715 | - registry.npmmirror.com/jsonfile/6.1.0: | |
| 6716 | - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz} | |
| 6717 | - name: jsonfile | |
| 6718 | - version: 6.1.0 | |
| 6719 | - dependencies: | |
| 6720 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 6721 | - optionalDependencies: | |
| 6722 | - graceful-fs: 4.2.10 | |
| 6723 | - dev: true | |
| 6724 | - | |
| 6725 | - registry.npmmirror.com/kolorist/1.6.0: | |
| 6726 | - resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kolorist/-/kolorist-1.6.0.tgz} | |
| 6727 | - name: kolorist | |
| 6728 | - version: 1.6.0 | |
| 6729 | - dev: true | |
| 6730 | - | |
| 6731 | - registry.npmmirror.com/lru-cache/6.0.0: | |
| 6732 | - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz} | |
| 6733 | - name: lru-cache | |
| 6734 | - version: 6.0.0 | |
| 6735 | - engines: {node: '>=10'} | |
| 6736 | - dependencies: | |
| 6737 | - yallist: registry.npmmirror.com/yallist/4.0.0 | |
| 6738 | - dev: true | |
| 6739 | - | |
| 6740 | - registry.npmmirror.com/magic-string/0.25.9: | |
| 6741 | - 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} | |
| 6742 | - name: magic-string | |
| 6743 | - version: 0.25.9 | |
| 6744 | - dependencies: | |
| 6745 | - sourcemap-codec: 1.4.8 | |
| 6746 | - | |
| 6747 | - registry.npmmirror.com/magic-string/0.27.0: | |
| 6748 | - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz} | |
| 6749 | - name: magic-string | |
| 6750 | - version: 0.27.0 | |
| 6751 | - engines: {node: '>=12'} | |
| 6752 | - dependencies: | |
| 6753 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6754 | - dev: true | |
| 6755 | - | |
| 6756 | - registry.npmmirror.com/merge2/1.4.1: | |
| 6757 | - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz} | |
| 6758 | - name: merge2 | |
| 6759 | - version: 1.4.1 | |
| 6760 | - engines: {node: '>= 8'} | |
| 6761 | - dev: true | |
| 6762 | - | |
| 6763 | - registry.npmmirror.com/micromatch/4.0.5: | |
| 6764 | - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz} | |
| 6765 | - name: micromatch | |
| 6766 | - version: 4.0.5 | |
| 6767 | - engines: {node: '>=8.6'} | |
| 6768 | - dependencies: | |
| 6769 | - braces: registry.npmmirror.com/braces/3.0.2 | |
| 6770 | - picomatch: registry.npmmirror.com/picomatch/2.3.1 | |
| 6771 | - dev: true | |
| 6772 | - | |
| 6773 | - registry.npmmirror.com/ms/2.1.2: | |
| 6774 | - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz} | |
| 6775 | - name: ms | |
| 6776 | - version: 2.1.2 | |
| 6777 | - dev: true | |
| 6778 | - | |
| 6779 | - registry.npmmirror.com/nanoid/3.3.4: | |
| 6780 | - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz} | |
| 6781 | - name: nanoid | |
| 6782 | - version: 3.3.4 | |
| 6783 | - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} | |
| 6784 | - hasBin: true | |
| 6785 | - | |
| 6786 | - registry.npmmirror.com/node-fetch/2.6.7: | |
| 6787 | - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz} | |
| 6788 | - name: node-fetch | |
| 6789 | - version: 2.6.7 | |
| 6790 | - engines: {node: 4.x || >=6.0.0} | |
| 6791 | - peerDependencies: | |
| 6792 | - encoding: ^0.1.0 | |
| 6793 | - peerDependenciesMeta: | |
| 6794 | - encoding: | |
| 6795 | - optional: true | |
| 6796 | - dependencies: | |
| 6797 | - whatwg-url: registry.npmmirror.com/whatwg-url/5.0.0 | |
| 6798 | - dev: true | |
| 6799 | - | |
| 6800 | - registry.npmmirror.com/node-releases/2.0.6: | |
| 6801 | - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz} | |
| 6802 | - name: node-releases | |
| 6803 | - version: 2.0.6 | |
| 6804 | - dev: true | |
| 6805 | - | |
| 6806 | - registry.npmmirror.com/picocolors/1.0.0: | |
| 6807 | - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} | |
| 6808 | - name: picocolors | |
| 6809 | - version: 1.0.0 | |
| 6810 | - | |
| 6811 | - registry.npmmirror.com/picomatch/2.3.1: | |
| 6812 | - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz} | |
| 6813 | - name: picomatch | |
| 6814 | - version: 2.3.1 | |
| 6815 | - engines: {node: '>=8.6'} | |
| 6816 | - dev: true | |
| 6817 | - | |
| 6818 | - registry.npmmirror.com/pinia/2.0.28_prq2uz4lho2pwp6irk4cfkrxwu: | |
| 6819 | - resolution: {integrity: sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.28.tgz} | |
| 6820 | - id: registry.npmmirror.com/pinia/2.0.28 | |
| 6821 | - name: pinia | |
| 6822 | - version: 2.0.28 | |
| 6823 | - peerDependencies: | |
| 6824 | - '@vue/composition-api': ^1.4.0 | |
| 6825 | - typescript: '>=4.4.4' | |
| 6826 | - vue: ^2.6.14 || ^3.2.0 | |
| 6827 | - peerDependenciesMeta: | |
| 6828 | - '@vue/composition-api': | |
| 6829 | - optional: true | |
| 6830 | - typescript: | |
| 6831 | - optional: true | |
| 6832 | - dependencies: | |
| 6833 | - '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.4.5 | |
| 6834 | - typescript: 4.9.4 | |
| 6835 | - vue: 3.2.45 | |
| 6836 | - vue-demi: registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.45 | |
| 6837 | - dev: false | |
| 6838 | - | |
| 6839 | - registry.npmmirror.com/postcss/8.4.20: | |
| 6840 | - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.20.tgz} | |
| 6841 | - name: postcss | |
| 6842 | - version: 8.4.20 | |
| 6843 | - engines: {node: ^10 || ^12 || >=14} | |
| 6844 | - dependencies: | |
| 6845 | - nanoid: registry.npmmirror.com/nanoid/3.3.4 | |
| 6846 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 6847 | - source-map-js: registry.npmmirror.com/source-map-js/1.0.2 | |
| 6848 | - | |
| 6849 | - registry.npmmirror.com/regenerator-runtime/0.13.11: | |
| 6850 | - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz} | |
| 6851 | - name: regenerator-runtime | |
| 6852 | - version: 0.13.11 | |
| 6853 | - | |
| 6854 | - registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1: | |
| 6855 | - resolution: {integrity: sha512-hRDKBsPUz47UMdBufki2feTmBF2ClEJlYqL7N6vpVAHSLd7V2BJUaNKOF7YYbLMofVVF+9hm44YSkYO6k9hUgg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.9.1.tgz} | |
| 6856 | - name: rollup-plugin-purge-icons | |
| 6857 | - version: 0.9.1 | |
| 6858 | - engines: {node: '>= 12'} | |
| 6859 | - dependencies: | |
| 6860 | - '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 | |
| 6861 | - '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 | |
| 6862 | - transitivePeerDependencies: | |
| 6863 | - - encoding | |
| 6864 | - - supports-color | |
| 6865 | - dev: true | |
| 6866 | - | |
| 6867 | - registry.npmmirror.com/semver/6.3.0: | |
| 6868 | - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz} | |
| 6869 | - name: semver | |
| 6870 | - version: 6.3.0 | |
| 6871 | - hasBin: true | |
| 6872 | - dev: true | |
| 6873 | - | |
| 6874 | - registry.npmmirror.com/semver/7.3.7: | |
| 6875 | - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz} | |
| 6876 | - name: semver | |
| 6877 | - version: 7.3.7 | |
| 6878 | - engines: {node: '>=10'} | |
| 6879 | - hasBin: true | |
| 6880 | - dependencies: | |
| 6881 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 6882 | - dev: true | |
| 6883 | - | |
| 6884 | - registry.npmmirror.com/semver/7.3.8: | |
| 6885 | - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz} | |
| 6886 | - name: semver | |
| 6887 | - version: 7.3.8 | |
| 6888 | - engines: {node: '>=10'} | |
| 6889 | - hasBin: true | |
| 6890 | - dependencies: | |
| 6891 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 6892 | - dev: true | |
| 6893 | - | |
| 6894 | - registry.npmmirror.com/source-map-js/1.0.2: | |
| 6895 | - 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} | |
| 6896 | - name: source-map-js | |
| 6897 | - version: 1.0.2 | |
| 6898 | - engines: {node: '>=0.10.0'} | |
| 6899 | - | |
| 6900 | - registry.npmmirror.com/supports-color/3.2.3: | |
| 6901 | - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz} | |
| 6902 | - name: supports-color | |
| 6903 | - version: 3.2.3 | |
| 6904 | - engines: {node: '>=0.8.0'} | |
| 6905 | - dependencies: | |
| 6906 | - has-flag: 1.0.0 | |
| 6907 | - dev: true | |
| 6908 | - | |
| 6909 | - registry.npmmirror.com/svg-tags/1.0.0: | |
| 6910 | - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz} | |
| 6911 | - name: svg-tags | |
| 6912 | - version: 1.0.0 | |
| 6913 | - dev: true | |
| 6914 | - | |
| 6915 | - registry.npmmirror.com/systemjs/6.13.0: | |
| 6916 | - resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/systemjs/-/systemjs-6.13.0.tgz} | |
| 6917 | - name: systemjs | |
| 6918 | - version: 6.13.0 | |
| 6919 | - dev: true | |
| 6920 | - | |
| 6921 | - registry.npmmirror.com/to-fast-properties/2.0.0: | |
| 6922 | - 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} | |
| 6923 | - name: to-fast-properties | |
| 6924 | - version: 2.0.0 | |
| 6925 | - engines: {node: '>=4'} | |
| 6926 | - | |
| 6927 | - registry.npmmirror.com/to-regex-range/2.1.1: | |
| 6928 | - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz} | |
| 6929 | - name: to-regex-range | |
| 6930 | - version: 2.1.1 | |
| 6931 | - engines: {node: '>=0.10.0'} | |
| 6932 | - dependencies: | |
| 6933 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 6934 | - repeat-string: 1.6.1 | |
| 6935 | - dev: true | |
| 6936 | - | |
| 6937 | - registry.npmmirror.com/to-regex-range/5.0.1: | |
| 6938 | - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz} | |
| 6939 | - name: to-regex-range | |
| 6940 | - version: 5.0.1 | |
| 6941 | - engines: {node: '>=8.0'} | |
| 6942 | - dependencies: | |
| 6943 | - is-number: registry.npmmirror.com/is-number/7.0.0 | |
| 6944 | - dev: true | |
| 6945 | - | |
| 6946 | - registry.npmmirror.com/tr46/0.0.3: | |
| 6947 | - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz} | |
| 6948 | - name: tr46 | |
| 6949 | - version: 0.0.3 | |
| 6950 | - dev: true | |
| 6951 | - | |
| 6952 | - registry.npmmirror.com/tslib/2.3.0: | |
| 6953 | - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz} | |
| 6954 | - name: tslib | |
| 6955 | - version: 2.3.0 | |
| 6956 | - dev: false | |
| 6957 | - | |
| 6958 | - registry.npmmirror.com/tslib/2.4.1: | |
| 6959 | - resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz} | |
| 6960 | - name: tslib | |
| 6961 | - version: 2.4.1 | |
| 6962 | - dev: true | |
| 6963 | - | |
| 6964 | - registry.npmmirror.com/universalify/2.0.0: | |
| 6965 | - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz} | |
| 6966 | - name: universalify | |
| 6967 | - version: 2.0.0 | |
| 6968 | - engines: {node: '>= 10.0.0'} | |
| 6969 | - dev: true | |
| 6970 | - | |
| 6971 | - registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4: | |
| 6972 | - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz} | |
| 6973 | - id: registry.npmmirror.com/update-browserslist-db/1.0.10 | |
| 6974 | - name: update-browserslist-db | |
| 6975 | - version: 1.0.10 | |
| 6976 | - hasBin: true | |
| 6977 | - peerDependencies: | |
| 6978 | - browserslist: '>= 4.21.0' | |
| 6979 | - dependencies: | |
| 6980 | - browserslist: registry.npmmirror.com/browserslist/4.21.4 | |
| 6981 | - escalade: registry.npmmirror.com/escalade/3.1.1 | |
| 6982 | - picocolors: 1.0.0 | |
| 6983 | - dev: true | |
| 6984 | - | |
| 6985 | - registry.npmmirror.com/vite-plugin-purge-icons/0.9.2_vite@4.0.4: | |
| 6986 | - resolution: {integrity: sha512-vxJEMyNyckqLr/4HPsW9P6BMLUvOVMvjjFz3jLl4Wke1KWE8ITJUxIUwodxaOmEp9L2lxVk5an3TYeycZCfqFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.9.2.tgz} | |
| 6987 | - id: registry.npmmirror.com/vite-plugin-purge-icons/0.9.2 | |
| 6988 | - name: vite-plugin-purge-icons | |
| 6989 | - version: 0.9.2 | |
| 6990 | - engines: {node: '>= 12'} | |
| 6991 | - peerDependencies: | |
| 6992 | - vite: ^2.0.0 || ^3.0.0 || ^4.0.0 | |
| 6993 | - dependencies: | |
| 6994 | - '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 | |
| 6995 | - '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 | |
| 6996 | - rollup-plugin-purge-icons: registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1 | |
| 6997 | - vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6998 | - transitivePeerDependencies: | |
| 6999 | - - encoding | |
| 7000 | - - supports-color | |
| 7001 | - dev: true | |
| 7002 | - | |
| 7003 | - registry.npmmirror.com/vite-plugin-windicss/1.8.10_vite@4.0.4: | |
| 7004 | - resolution: {integrity: sha512-scywsuzo46lcTBohspmF0WiwhWEte6p+OUVrX4yr7VMRvLHMHVfLtJReyD5pppjijG7YOwVsZn7XBWWZtF658Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-windicss/-/vite-plugin-windicss-1.8.10.tgz} | |
| 7005 | - id: registry.npmmirror.com/vite-plugin-windicss/1.8.10 | |
| 7006 | - name: vite-plugin-windicss | |
| 7007 | - version: 1.8.10 | |
| 7008 | - peerDependencies: | |
| 7009 | - vite: ^2.0.1 || ^3.0.0 || ^4.0.0 | |
| 7010 | - dependencies: | |
| 7011 | - '@windicss/plugin-utils': registry.npmmirror.com/@windicss/plugin-utils/1.8.10 | |
| 7012 | - debug: registry.npmmirror.com/debug/4.3.4 | |
| 7013 | - kolorist: registry.npmmirror.com/kolorist/1.6.0 | |
| 7014 | - vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 7015 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 7016 | - transitivePeerDependencies: | |
| 7017 | - - supports-color | |
| 7018 | - dev: true | |
| 7019 | - | |
| 7020 | - registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.45: | |
| 7021 | - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz} | |
| 7022 | - id: registry.npmmirror.com/vue-demi/0.13.11 | |
| 7023 | - name: vue-demi | |
| 7024 | - version: 0.13.11 | |
| 7025 | - engines: {node: '>=12'} | |
| 7026 | - hasBin: true | |
| 7027 | - requiresBuild: true | |
| 7028 | - peerDependencies: | |
| 7029 | - '@vue/composition-api': ^1.0.0-rc.1 | |
| 7030 | - vue: ^3.0.0-0 || ^2.6.0 | |
| 7031 | - peerDependenciesMeta: | |
| 7032 | - '@vue/composition-api': | |
| 7033 | - optional: true | |
| 7034 | - dependencies: | |
| 7035 | - vue: 3.2.45 | |
| 7036 | - dev: false | |
| 7037 | - | |
| 7038 | - registry.npmmirror.com/vxe-table/4.3.7_vue@3.2.45+xe-utils@3.5.7: | |
| 7039 | - resolution: {integrity: sha512-v+d7eEQ5uqtVTQCts4xkW0S15LZcIuEukYHGXI53SdoUj2gLFggPYAxQr1y659CM/ESRWPz9LNVHpd97KkjGHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vxe-table/-/vxe-table-4.3.7.tgz} | |
| 7040 | - id: registry.npmmirror.com/vxe-table/4.3.7 | |
| 7041 | - name: vxe-table | |
| 7042 | - version: 4.3.7 | |
| 7043 | - peerDependencies: | |
| 7044 | - vue: ^3.2.28 | |
| 7045 | - xe-utils: ^3.5.0 | |
| 7046 | - dependencies: | |
| 7047 | - vue: 3.2.45 | |
| 7048 | - xe-utils: 3.5.7 | |
| 7049 | - dev: false | |
| 7050 | - | |
| 7051 | - registry.npmmirror.com/webidl-conversions/3.0.1: | |
| 7052 | - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz} | |
| 7053 | - name: webidl-conversions | |
| 7054 | - version: 3.0.1 | |
| 7055 | - dev: true | |
| 7056 | - | |
| 7057 | - registry.npmmirror.com/whatwg-url/5.0.0: | |
| 7058 | - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz} | |
| 7059 | - name: whatwg-url | |
| 7060 | - version: 5.0.0 | |
| 7061 | - dependencies: | |
| 7062 | - tr46: registry.npmmirror.com/tr46/0.0.3 | |
| 7063 | - webidl-conversions: registry.npmmirror.com/webidl-conversions/3.0.1 | |
| 7064 | - dev: true | |
| 7065 | - | |
| 7066 | - registry.npmmirror.com/windicss/3.5.6: | |
| 7067 | - resolution: {integrity: sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/windicss/-/windicss-3.5.6.tgz} | |
| 7068 | - name: windicss | |
| 7069 | - version: 3.5.6 | |
| 7070 | - engines: {node: '>= 12'} | |
| 7071 | - hasBin: true | |
| 7072 | - dev: true | |
| 7073 | - | |
| 7074 | - registry.npmmirror.com/yallist/4.0.0: | |
| 7075 | - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz} | |
| 7076 | - name: yallist | |
| 7077 | - version: 4.0.0 | |
| 7078 | - dev: true | |
| 7079 | - | |
| 7080 | - registry.npmmirror.com/zrender/5.4.1: | |
| 7081 | - resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/zrender/-/zrender-5.4.1.tgz} | |
| 7082 | - name: zrender | |
| 7083 | - version: 5.4.1 | |
| 6504 | + /zrender/5.4.1: | |
| 6505 | + resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/zrender/-/zrender-5.4.1.tgz} | |
| 7084 | 6506 | dependencies: |
| 7085 | - tslib: registry.npmmirror.com/tslib/2.3.0 | |
| 6507 | + tslib: 2.3.0 | |
| 7086 | 6508 | dev: false | ... | ... |
yudao-ui-admin-vue3/src/components/Crontab/src/Crontab.vue
yudao-ui-admin-vue3/src/components/XTable/src/style/dark.scss
yudao-ui-admin-vue3/src/components/XTable/src/style/index.scss
yudao-ui-admin-vue3/src/components/XTable/src/type.ts
| ... | ... | @@ -7,15 +7,14 @@ export type XTableProps<D = any> = VxeGridProps<D> & { |
| 7 | 7 | topActionSlots?: boolean // 是否开启表格内顶部操作栏插槽 |
| 8 | 8 | treeConfig?: VxeTablePropTypes.TreeConfig // 树形表单配置 |
| 9 | 9 | isList?: boolean // 是否不带分页的list |
| 10 | - getListApi?: Function | |
| 11 | - getAllListApi?: Function | |
| 12 | - deleteApi?: Function | |
| 13 | - exportListApi?: Function | |
| 10 | + getListApi?: Function // 获取列表接口 | |
| 11 | + getAllListApi?: Function // 获取全部数据接口 用于 vxe 导出 | |
| 12 | + deleteApi?: Function // 删除接口 | |
| 13 | + exportListApi?: Function // 导出接口 | |
| 14 | 14 | exportName?: string // 导出文件夹名称 |
| 15 | - params?: any | |
| 16 | - pagination?: boolean | VxeGridPropTypes.PagerConfig | |
| 17 | - toolBar?: boolean | VxeGridPropTypes.ToolbarConfig | |
| 18 | - afterFetch?: Function | |
| 15 | + params?: any // 其他查询参数 | |
| 16 | + pagination?: boolean | VxeGridPropTypes.PagerConfig // 分页配置参数 | |
| 17 | + toolBar?: boolean | VxeGridPropTypes.ToolbarConfig // 右侧工具栏配置参数 | |
| 19 | 18 | } |
| 20 | 19 | export type XColumns = VxeGridPropTypes.Columns |
| 21 | 20 | ... | ... |
yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
| ... | ... | @@ -165,7 +165,7 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => { |
| 165 | 165 | // 添加搜索按钮 |
| 166 | 166 | const buttons: VxeFormItemProps = { |
| 167 | 167 | span: 24, |
| 168 | - align: 'center', | |
| 168 | + align: 'right', | |
| 169 | 169 | collapseNode: searchSchema.length > spanLength, |
| 170 | 170 | itemRender: { |
| 171 | 171 | name: '$buttons', | ... | ... |
yudao-ui-admin-vue3/src/main.ts
| ... | ... | @@ -26,15 +26,17 @@ import '@/styles/index.scss' |
| 26 | 26 | import '@/plugins/animate.css' |
| 27 | 27 | |
| 28 | 28 | // 路由 |
| 29 | -import { setupRouter } from './router' | |
| 29 | +import router, { setupRouter } from '@/router' | |
| 30 | 30 | |
| 31 | 31 | // 权限 |
| 32 | -import { setupAuth } from './directives' | |
| 32 | +import { setupAuth } from '@/directives' | |
| 33 | 33 | |
| 34 | 34 | import { createApp } from 'vue' |
| 35 | 35 | |
| 36 | 36 | import App from './App.vue' |
| 37 | 37 | |
| 38 | +import './permission' | |
| 39 | + | |
| 38 | 40 | // 创建实例 |
| 39 | 41 | const setupAll = async () => { |
| 40 | 42 | const app = createApp(App) |
| ... | ... | @@ -53,6 +55,8 @@ const setupAll = async () => { |
| 53 | 55 | |
| 54 | 56 | setupAuth(app) |
| 55 | 57 | |
| 58 | + await router.isReady() | |
| 59 | + | |
| 56 | 60 | app.mount('#app') |
| 57 | 61 | } |
| 58 | 62 | ... | ... |
yudao-ui-admin-vue3/src/permission.ts
0 → 100644
| 1 | +import router from './router' | |
| 2 | +import type { RouteRecordRaw } from 'vue-router' | |
| 3 | +import { isRelogin } from '@/config/axios/service' | |
| 4 | +import { getAccessToken } from '@/utils/auth' | |
| 5 | +import { useTitle } from '@/hooks/web/useTitle' | |
| 6 | +import { useNProgress } from '@/hooks/web/useNProgress' | |
| 7 | +import { usePageLoading } from '@/hooks/web/usePageLoading' | |
| 8 | +import { useDictStoreWithOut } from '@/store/modules/dict' | |
| 9 | +import { useUserStoreWithOut } from '@/store/modules/user' | |
| 10 | +import { usePermissionStoreWithOut } from '@/store/modules/permission' | |
| 11 | + | |
| 12 | +const { start, done } = useNProgress() | |
| 13 | + | |
| 14 | +const { loadStart, loadDone } = usePageLoading() | |
| 15 | +// 路由不重定向白名单 | |
| 16 | +const whiteList = [ | |
| 17 | + '/login', | |
| 18 | + '/social-login', | |
| 19 | + '/auth-redirect', | |
| 20 | + '/bind', | |
| 21 | + '/register', | |
| 22 | + '/oauthLogin/gitee' | |
| 23 | +] | |
| 24 | + | |
| 25 | +// 路由加载前 | |
| 26 | +router.beforeEach(async (to, from, next) => { | |
| 27 | + start() | |
| 28 | + loadStart() | |
| 29 | + if (getAccessToken()) { | |
| 30 | + if (to.path === '/login') { | |
| 31 | + next({ path: '/' }) | |
| 32 | + } else { | |
| 33 | + // 获取所有字典 | |
| 34 | + const dictStore = useDictStoreWithOut() | |
| 35 | + const userStore = useUserStoreWithOut() | |
| 36 | + const permissionStore = usePermissionStoreWithOut() | |
| 37 | + if (!dictStore.getIsSetDict) { | |
| 38 | + dictStore.setDictMap() | |
| 39 | + } | |
| 40 | + if (!userStore.getIsSetUser) { | |
| 41 | + isRelogin.show = true | |
| 42 | + await userStore.setUserInfoAction() | |
| 43 | + isRelogin.show = false | |
| 44 | + // 后端过滤菜单 | |
| 45 | + await permissionStore.generateRoutes() | |
| 46 | + permissionStore.getAddRouters.forEach((route) => { | |
| 47 | + router.addRoute(route as unknown as RouteRecordRaw) // 动态添加可访问路由表 | |
| 48 | + }) | |
| 49 | + const redirectPath = from.query.redirect || to.path | |
| 50 | + const redirect = decodeURIComponent(redirectPath as string) | |
| 51 | + const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect } | |
| 52 | + next(nextData) | |
| 53 | + } else { | |
| 54 | + next() | |
| 55 | + } | |
| 56 | + } | |
| 57 | + } else { | |
| 58 | + if (whiteList.indexOf(to.path) !== -1) { | |
| 59 | + next() | |
| 60 | + } else { | |
| 61 | + next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 | |
| 62 | + } | |
| 63 | + } | |
| 64 | +}) | |
| 65 | + | |
| 66 | +router.afterEach((to) => { | |
| 67 | + useTitle(to?.meta?.title as string) | |
| 68 | + done() // 结束Progress | |
| 69 | + loadDone() | |
| 70 | +}) | ... | ... |
yudao-ui-admin-vue3/src/plugins/vxeTable/index.scss deleted
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/index.tsx
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/preview.tsx
0 → 100644
| 1 | +import { VXETable } from 'vxe-table' | |
| 2 | +import { ElImage, ElLink } from 'element-plus' | |
| 3 | + | |
| 4 | +// 图片渲染 | |
| 5 | +VXETable.renderer.add('XPreview', { | |
| 6 | + // 默认显示模板 | |
| 7 | + renderDefault(_renderOpts, params) { | |
| 8 | + const { row, column } = params | |
| 9 | + if (row.type.indexOf('image/') === 0) { | |
| 10 | + return ( | |
| 11 | + <ElImage | |
| 12 | + style="width: 80px; height: 50px" | |
| 13 | + src={row[column.field]} | |
| 14 | + key={row[column.field]} | |
| 15 | + preview-src-list={[row[column.field]]} | |
| 16 | + fit="contain" | |
| 17 | + lazy | |
| 18 | + ></ElImage> | |
| 19 | + ) | |
| 20 | + } else if (row.type.indexOf('video/') === 0) { | |
| 21 | + return ( | |
| 22 | + <video> | |
| 23 | + <source src={row[column.field]}></source> | |
| 24 | + </video> | |
| 25 | + ) | |
| 26 | + } else { | |
| 27 | + return ( | |
| 28 | + <ElLink href={row[column.field]} target="_blank"> | |
| 29 | + {row[column.field]} | |
| 30 | + </ElLink> | |
| 31 | + ) | |
| 32 | + } | |
| 33 | + } | |
| 34 | +}) | ... | ... |
yudao-ui-admin-vue3/src/plugins/vxeTable/theme/dark.scss deleted
| 1 | -// 修改样式变量 | |
| 2 | -//@import 'vxe-table/styles/variable.scss'; | |
| 3 | - | |
| 4 | -/*font*/ | |
| 5 | -$vxe-font-color: #e5e7eb; | |
| 6 | -// $vxe-font-size: 14px !default; | |
| 7 | -// $vxe-font-size-medium: 16px !default; | |
| 8 | -// $vxe-font-size-small: 14px !default; | |
| 9 | -// $vxe-font-size-mini: 12px !default; | |
| 10 | - | |
| 11 | -/*color*/ | |
| 12 | -$vxe-primary-color: #409eff !default; | |
| 13 | -$vxe-success-color: #67c23a !default; | |
| 14 | -$vxe-info-color: #909399 !default; | |
| 15 | -$vxe-warning-color: #e6a23c !default; | |
| 16 | -$vxe-danger-color: #f56c6c !default; | |
| 17 | -$vxe-disabled-color: #bfbfbf !default; | |
| 18 | -$vxe-primary-disabled-color: #c0c4cc !default; | |
| 19 | - | |
| 20 | -/*loading*/ | |
| 21 | -$vxe-loading-color: $vxe-primary-color !default; | |
| 22 | -$vxe-loading-background-color: #1d1e1f !default; | |
| 23 | -$vxe-loading-z-index: 999 !default; | |
| 24 | - | |
| 25 | -/*icon*/ | |
| 26 | -$vxe-icon-font-family: Verdana, Arial, Tahoma !default; | |
| 27 | -$vxe-icon-background-color: #e5e7eb !default; | |
| 28 | - | |
| 29 | -/*toolbar*/ | |
| 30 | -$vxe-toolbar-background-color: #1d1e1f !default; | |
| 31 | -$vxe-toolbar-button-border: #dcdfe6 !default; | |
| 32 | -$vxe-toolbar-custom-active-background-color: #d9dadb !default; | |
| 33 | -$vxe-toolbar-panel-background-color: #e5e7eb !default; | |
| 34 | - | |
| 35 | -$vxe-table-font-color: #e5e7eb; | |
| 36 | -$vxe-table-header-background-color: #1d1e1f; | |
| 37 | -$vxe-table-body-background-color: #141414; | |
| 38 | -$vxe-table-row-striped-background-color: #1d1d1d; | |
| 39 | -$vxe-table-row-hover-background-color: #1d1e1f; | |
| 40 | -$vxe-table-row-hover-striped-background-color: #1e1e1e; | |
| 41 | -$vxe-table-footer-background-color: #1d1e1f; | |
| 42 | -$vxe-table-row-current-background-color: #302d2d; | |
| 43 | -$vxe-table-column-current-background-color: #302d2d; | |
| 44 | -$vxe-table-column-hover-background-color: #302d2d; | |
| 45 | -$vxe-table-row-hover-current-background-color: #302d2d; | |
| 46 | -$vxe-table-row-checkbox-checked-background-color: #3e3c37 !default; | |
| 47 | -$vxe-table-row-hover-checkbox-checked-background-color: #615a4a !default; | |
| 48 | -$vxe-table-menu-background-color: #1d1e1f; | |
| 49 | -$vxe-table-border-width: 1px !default; | |
| 50 | -$vxe-table-border-color: #4c4d4f !default; | |
| 51 | -$vxe-table-fixed-left-scrolling-box-shadow: 8px 0px 10px -5px rgba(0, 0, 0, 0.12) !default; | |
| 52 | -$vxe-table-fixed-right-scrolling-box-shadow: -8px 0px 10px -5px rgba(0, 0, 0, 0.12) !default; | |
| 53 | - | |
| 54 | -$vxe-form-background-color: #141414; | |
| 55 | - | |
| 56 | -/*pager*/ | |
| 57 | -$vxe-pager-background-color: #1d1e1f !default; | |
| 58 | -$vxe-pager-perfect-background-color: #262727 !default; | |
| 59 | -$vxe-pager-perfect-button-background-color: #a7a3a3 !default; | |
| 60 | - | |
| 61 | -$vxe-input-background-color: #141414; | |
| 62 | -$vxe-input-border-color: #4c4d4f !default; | |
| 63 | - | |
| 64 | -$vxe-select-option-hover-background-color: #262626 !default; | |
| 65 | -$vxe-select-panel-background-color: #141414 !default; | |
| 66 | -$vxe-select-empty-color: #262626 !default; | |
| 67 | -$vxe-optgroup-title-color: #909399 !default; | |
| 68 | - | |
| 69 | -/*button*/ | |
| 70 | -$vxe-button-default-background-color: #262626; | |
| 71 | -$vxe-button-dropdown-panel-background-color: #141414; | |
| 72 | - | |
| 73 | -/*modal*/ | |
| 74 | -$vxe-modal-header-background-color: #141414; | |
| 75 | -$vxe-modal-body-background-color: #141414; | |
| 76 | -$vxe-modal-border-color: #3b3b3b; | |
| 77 | - | |
| 78 | -/*pulldown*/ | |
| 79 | -$vxe-pulldown-panel-background-color: #262626 !default; | |
| 80 | - | |
| 81 | -@import 'vxe-table/styles/index'; |
yudao-ui-admin-vue3/src/plugins/vxeTable/theme/light.scss deleted
| 1 | -// 修改样式变量 | |
| 2 | -// /*font*/ | |
| 3 | -// $vxe-font-size: 12px !default; | |
| 4 | -// $vxe-font-size-medium: 16px !default; | |
| 5 | -// $vxe-font-size-small: 14px !default; | |
| 6 | -// $vxe-font-size-mini: 12px !default; | |
| 7 | -/*color*/ | |
| 8 | -$vxe-primary-color: #409eff !default; | |
| 9 | -$vxe-success-color: #67c23a !default; | |
| 10 | -$vxe-info-color: #909399 !default; | |
| 11 | -$vxe-warning-color: #e6a23c !default; | |
| 12 | -$vxe-danger-color: #f56c6c !default; | |
| 13 | -$vxe-disabled-color: #bfbfbf !default; | |
| 14 | -$vxe-primary-disabled-color: #c0c4cc !default; | |
| 15 | - | |
| 16 | -@import 'vxe-table/styles/index.scss'; |
yudao-ui-admin-vue3/src/router/index.ts
| ... | ... | @@ -2,23 +2,6 @@ import type { App } from 'vue' |
| 2 | 2 | import type { RouteRecordRaw } from 'vue-router' |
| 3 | 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' | |
| 7 | -import { useTitle } from '@/hooks/web/useTitle' | |
| 8 | -import { useNProgress } from '@/hooks/web/useNProgress' | |
| 9 | -import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 10 | -import { usePageLoading } from '@/hooks/web/usePageLoading' | |
| 11 | -import { useDictStoreWithOut } from '@/store/modules/dict' | |
| 12 | -import { useUserStoreWithOut } from '@/store/modules/user' | |
| 13 | -import { usePermissionStoreWithOut } from '@/store/modules/permission' | |
| 14 | -import { getInfoApi } from '@/api/login' | |
| 15 | -import { listSimpleDictDataApi } from '@/api/system/dict/dict.data' | |
| 16 | - | |
| 17 | -const { wsCache } = useCache() | |
| 18 | - | |
| 19 | -const { start, done } = useNProgress() | |
| 20 | - | |
| 21 | -const { loadStart, loadDone } = usePageLoading() | |
| 22 | 5 | |
| 23 | 6 | // 创建路由实例 |
| 24 | 7 | const router = createRouter({ |
| ... | ... | @@ -28,66 +11,6 @@ const router = createRouter({ |
| 28 | 11 | scrollBehavior: () => ({ left: 0, top: 0 }) |
| 29 | 12 | }) |
| 30 | 13 | |
| 31 | -// 路由不重定向白名单 | |
| 32 | -const whiteList = [ | |
| 33 | - '/login', | |
| 34 | - '/social-login', | |
| 35 | - '/auth-redirect', | |
| 36 | - '/bind', | |
| 37 | - '/register', | |
| 38 | - '/oauthLogin/gitee' | |
| 39 | -] | |
| 40 | - | |
| 41 | -// 路由加载前 | |
| 42 | -router.beforeEach(async (to, from, next) => { | |
| 43 | - start() | |
| 44 | - loadStart() | |
| 45 | - if (getAccessToken()) { | |
| 46 | - if (to.path === '/login') { | |
| 47 | - next({ path: '/' }) | |
| 48 | - } else { | |
| 49 | - // 获取所有字典 | |
| 50 | - const dictStore = useDictStoreWithOut() | |
| 51 | - const userStore = useUserStoreWithOut() | |
| 52 | - const permissionStore = usePermissionStoreWithOut() | |
| 53 | - const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) | |
| 54 | - if (!dictMap) { | |
| 55 | - const res = await listSimpleDictDataApi() | |
| 56 | - dictStore.setDictMap(res) | |
| 57 | - } | |
| 58 | - if (!userStore.getIsSetUser) { | |
| 59 | - isRelogin.show = true | |
| 60 | - const res = await getInfoApi() | |
| 61 | - await userStore.setUserInfoAction(res) | |
| 62 | - isRelogin.show = false | |
| 63 | - // 后端过滤菜单 | |
| 64 | - await permissionStore.generateRoutes() | |
| 65 | - permissionStore.getAddRouters.forEach((route) => { | |
| 66 | - router.addRoute(route as unknown as RouteRecordRaw) // 动态添加可访问路由表 | |
| 67 | - }) | |
| 68 | - const redirectPath = from.query.redirect || to.path | |
| 69 | - const redirect = decodeURIComponent(redirectPath as string) | |
| 70 | - const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect } | |
| 71 | - next(nextData) | |
| 72 | - } else { | |
| 73 | - next() | |
| 74 | - } | |
| 75 | - } | |
| 76 | - } else { | |
| 77 | - if (whiteList.indexOf(to.path) !== -1) { | |
| 78 | - next() | |
| 79 | - } else { | |
| 80 | - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 | |
| 81 | - } | |
| 82 | - } | |
| 83 | -}) | |
| 84 | - | |
| 85 | -router.afterEach((to) => { | |
| 86 | - useTitle(to?.meta?.title as string) | |
| 87 | - done() // 结束Progress | |
| 88 | - loadDone() | |
| 89 | -}) | |
| 90 | - | |
| 91 | 14 | export const resetRouter = (): void => { |
| 92 | 15 | const resetWhiteNameList = ['Redirect', 'Login', 'NoFind', 'Root'] |
| 93 | 16 | router.getRoutes().forEach((route) => { | ... | ... |
yudao-ui-admin-vue3/src/store/modules/dict.ts
| ... | ... | @@ -3,6 +3,7 @@ import { store } from '../index' |
| 3 | 3 | import { DictDataVO } from '@/api/system/dict/types' |
| 4 | 4 | import { CACHE_KEY, useCache } from '@/hooks/web/useCache' |
| 5 | 5 | const { wsCache } = useCache('sessionStorage') |
| 6 | +import { listSimpleDictDataApi } from '@/api/system/dict/dict.data' | |
| 6 | 7 | |
| 7 | 8 | export interface DictValueType { |
| 8 | 9 | value: any |
| ... | ... | @@ -16,45 +17,54 @@ export interface DictTypeType { |
| 16 | 17 | } |
| 17 | 18 | export interface DictState { |
| 18 | 19 | dictMap: Map<string, any> |
| 20 | + isSetDict: boolean | |
| 19 | 21 | } |
| 20 | 22 | |
| 21 | 23 | export const useDictStore = defineStore('dict', { |
| 22 | 24 | state: (): DictState => ({ |
| 23 | - dictMap: new Map<string, any>() | |
| 25 | + dictMap: new Map<string, any>(), | |
| 26 | + isSetDict: false | |
| 24 | 27 | }), |
| 25 | 28 | getters: { |
| 26 | 29 | getDictMap(): Recordable { |
| 27 | 30 | const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) |
| 28 | - return dictMap ? dictMap : this.dictMap | |
| 29 | - }, | |
| 30 | - getHasDictData(): boolean { | |
| 31 | - if (this.dictMap.size > 0) { | |
| 32 | - return true | |
| 33 | - } else { | |
| 34 | - return false | |
| 31 | + if (dictMap) { | |
| 32 | + this.dictMap = dictMap | |
| 35 | 33 | } |
| 34 | + return this.dictMap | |
| 35 | + }, | |
| 36 | + getIsSetDict(): boolean { | |
| 37 | + return this.isSetDict | |
| 36 | 38 | } |
| 37 | 39 | }, |
| 38 | 40 | actions: { |
| 39 | - setDictMap(dictMap: Recordable) { | |
| 40 | - // 设置数据 | |
| 41 | - const dictDataMap = new Map<string, any>() | |
| 42 | - dictMap.forEach((dictData: DictDataVO) => { | |
| 43 | - // 获得 dictType 层级 | |
| 44 | - const enumValueObj = dictDataMap[dictData.dictType] | |
| 45 | - if (!enumValueObj) { | |
| 46 | - dictDataMap[dictData.dictType] = [] | |
| 47 | - } | |
| 48 | - // 处理 dictValue 层级 | |
| 49 | - dictDataMap[dictData.dictType].push({ | |
| 50 | - value: dictData.value, | |
| 51 | - label: dictData.label, | |
| 52 | - colorType: dictData.colorType, | |
| 53 | - cssClass: dictData.cssClass | |
| 41 | + async setDictMap() { | |
| 42 | + const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) | |
| 43 | + if (dictMap) { | |
| 44 | + this.dictMap = dictMap | |
| 45 | + this.isSetDict = true | |
| 46 | + } else { | |
| 47 | + const res = await listSimpleDictDataApi() | |
| 48 | + // 设置数据 | |
| 49 | + const dictDataMap = new Map<string, any>() | |
| 50 | + res.forEach((dictData: DictDataVO) => { | |
| 51 | + // 获得 dictType 层级 | |
| 52 | + const enumValueObj = dictDataMap[dictData.dictType] | |
| 53 | + if (!enumValueObj) { | |
| 54 | + dictDataMap[dictData.dictType] = [] | |
| 55 | + } | |
| 56 | + // 处理 dictValue 层级 | |
| 57 | + dictDataMap[dictData.dictType].push({ | |
| 58 | + value: dictData.value, | |
| 59 | + label: dictData.label, | |
| 60 | + colorType: dictData.colorType, | |
| 61 | + cssClass: dictData.cssClass | |
| 62 | + }) | |
| 54 | 63 | }) |
| 55 | - }) | |
| 56 | - this.dictMap = dictDataMap | |
| 57 | - wsCache.set(CACHE_KEY.DICT_CACHE, dictDataMap, { exp: 60 }) // 60 秒 过期 | |
| 64 | + this.dictMap = dictDataMap | |
| 65 | + this.isSetDict = true | |
| 66 | + wsCache.set(CACHE_KEY.DICT_CACHE, dictDataMap, { exp: 60 }) // 60 秒 过期 | |
| 67 | + } | |
| 58 | 68 | } |
| 59 | 69 | } |
| 60 | 70 | }) | ... | ... |
yudao-ui-admin-vue3/src/store/modules/user.ts
| ... | ... | @@ -2,6 +2,7 @@ import { store } from '../index' |
| 2 | 2 | import { defineStore } from 'pinia' |
| 3 | 3 | import { getAccessToken, removeToken } from '@/utils/auth' |
| 4 | 4 | import { CACHE_KEY, useCache } from '@/hooks/web/useCache' |
| 5 | +import { getInfoApi } from '@/api/login' | |
| 5 | 6 | |
| 6 | 7 | const { wsCache } = useCache() |
| 7 | 8 | |
| ... | ... | @@ -43,11 +44,15 @@ export const useUserStore = defineStore('admin-user', { |
| 43 | 44 | } |
| 44 | 45 | }, |
| 45 | 46 | actions: { |
| 46 | - async setUserInfoAction(userInfo: UserInfoVO) { | |
| 47 | + async setUserInfoAction() { | |
| 47 | 48 | if (!getAccessToken()) { |
| 48 | 49 | this.resetState() |
| 49 | 50 | return null |
| 50 | 51 | } |
| 52 | + let userInfo = wsCache.get(CACHE_KEY.USER) | |
| 53 | + if (!userInfo) { | |
| 54 | + userInfo = await getInfoApi() | |
| 55 | + } | |
| 51 | 56 | this.permissions = userInfo.permissions |
| 52 | 57 | this.roles = userInfo.roles |
| 53 | 58 | this.user = userInfo.user | ... | ... |
yudao-ui-admin-vue3/src/styles/variables.scss
yudao-ui-admin-vue3/src/utils/auth.ts
| ... | ... | @@ -36,45 +36,30 @@ export const formatToken = (token: string): string => { |
| 36 | 36 | } |
| 37 | 37 | // ========== 账号相关 ========== |
| 38 | 38 | |
| 39 | -const UsernameKey = 'USERNAME' | |
| 40 | -const PasswordKey = 'PASSWORD' | |
| 41 | -const RememberMeKey = 'REMEMBER_ME' | |
| 39 | +const LoginFormKey = 'LOGINFORM' | |
| 42 | 40 | |
| 43 | -export const getUsername = () => { | |
| 44 | - return wsCache.get(UsernameKey) | |
| 41 | +export type LoginFormType = { | |
| 42 | + tenantName: string | |
| 43 | + username: string | |
| 44 | + password: string | |
| 45 | + rememberMe: boolean | |
| 45 | 46 | } |
| 46 | 47 | |
| 47 | -export const setUsername = (username: string) => { | |
| 48 | - wsCache.set(UsernameKey, username, { exp: 30 * 24 * 60 * 60 }) | |
| 48 | +export const getLoginForm = () => { | |
| 49 | + const loginForm: LoginFormType = wsCache.get(LoginFormKey) | |
| 50 | + if (loginForm) { | |
| 51 | + loginForm.password = decrypt(loginForm.password) as string | |
| 52 | + } | |
| 53 | + return loginForm | |
| 49 | 54 | } |
| 50 | 55 | |
| 51 | -export const removeUsername = () => { | |
| 52 | - wsCache.delete(UsernameKey) | |
| 56 | +export const setLoginForm = (loginForm: LoginFormType) => { | |
| 57 | + loginForm.password = encrypt(loginForm.password) as string | |
| 58 | + wsCache.set(LoginFormKey, loginForm, { exp: 30 * 24 * 60 * 60 }) | |
| 53 | 59 | } |
| 54 | 60 | |
| 55 | -export const getPassword = () => { | |
| 56 | - const password = wsCache.get(PasswordKey) | |
| 57 | - return password ? decrypt(password) : undefined | |
| 58 | -} | |
| 59 | - | |
| 60 | -export const setPassword = (password: string) => { | |
| 61 | - wsCache.set(PasswordKey, encrypt(password), { exp: 30 * 24 * 60 * 60 }) | |
| 62 | -} | |
| 63 | - | |
| 64 | -export const removePassword = () => { | |
| 65 | - wsCache.delete(PasswordKey) | |
| 66 | -} | |
| 67 | - | |
| 68 | -export const getRememberMe = () => { | |
| 69 | - return wsCache.get(RememberMeKey) === true | |
| 70 | -} | |
| 71 | - | |
| 72 | -export const setRememberMe = (rememberMe: boolean) => { | |
| 73 | - wsCache.set(RememberMeKey, rememberMe, { exp: 30 * 24 * 60 * 60 }) | |
| 74 | -} | |
| 75 | - | |
| 76 | -export const removeRememberMe = () => { | |
| 77 | - wsCache.delete(RememberMeKey) | |
| 61 | +export const removeLoginForm = () => { | |
| 62 | + wsCache.delete(LoginFormKey) | |
| 78 | 63 | } |
| 79 | 64 | |
| 80 | 65 | // ========== 租户相关 ========== | ... | ... |
yudao-ui-admin-vue3/src/utils/propTypes.ts
| ... | ... | @@ -17,13 +17,12 @@ const propTypes = createTypes({ |
| 17 | 17 | |
| 18 | 18 | // 需要自定义扩展的类型 |
| 19 | 19 | // see: https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#the-extend-method |
| 20 | -propTypes.extend([ | |
| 21 | - { | |
| 22 | - name: 'style', | |
| 23 | - getter: true, | |
| 24 | - type: [String, Object], | |
| 25 | - default: undefined | |
| 26 | - } | |
| 27 | -]) | |
| 28 | - | |
| 20 | +// propTypes.extend([ | |
| 21 | +// { | |
| 22 | +// name: 'style', | |
| 23 | +// getter: true, | |
| 24 | +// type: [String, Object], | |
| 25 | +// default: undefined | |
| 26 | +// } | |
| 27 | +// ]) | |
| 29 | 28 | export { propTypes } | ... | ... |
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
| ... | ... | @@ -148,7 +148,6 @@ import { useIcon } from '@/hooks/web/useIcon' |
| 148 | 148 | import { useMessage } from '@/hooks/web/useMessage' |
| 149 | 149 | import { required } from '@/utils/formRules' |
| 150 | 150 | import * as authUtil from '@/utils/auth' |
| 151 | -import { decrypt } from '@/utils/jsencrypt' | |
| 152 | 151 | import { Verify } from '@/components/Verifition' |
| 153 | 152 | import { usePermissionStore } from '@/store/modules/permission' |
| 154 | 153 | import * as LoginApi from '@/api/login' |
| ... | ... | @@ -180,10 +179,6 @@ const loginData = reactive({ |
| 180 | 179 | isShowPassword: false, |
| 181 | 180 | captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE, |
| 182 | 181 | tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, |
| 183 | - token: '', | |
| 184 | - loading: { | |
| 185 | - signIn: false | |
| 186 | - }, | |
| 187 | 182 | loginForm: { |
| 188 | 183 | tenantName: '芋道源码', |
| 189 | 184 | username: 'admin', |
| ... | ... | @@ -194,22 +189,10 @@ const loginData = reactive({ |
| 194 | 189 | }) |
| 195 | 190 | |
| 196 | 191 | 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 | - } | |
| 192 | + { icon: 'ant-design:github-filled', type: 0 }, | |
| 193 | + { icon: 'ant-design:wechat-filled', type: 30 }, | |
| 194 | + { icon: 'ant-design:alipay-circle-filled', type: 0 }, | |
| 195 | + { icon: 'ant-design:dingtalk-circle-filled', type: 20 } | |
| 213 | 196 | ] |
| 214 | 197 | |
| 215 | 198 | // 获取验证码 |
| ... | ... | @@ -232,18 +215,15 @@ const getTenantId = async () => { |
| 232 | 215 | } |
| 233 | 216 | // 记住我 |
| 234 | 217 | const getCookie = () => { |
| 235 | - const username = authUtil.getUsername() | |
| 236 | - const password = authUtil.getPassword() | |
| 237 | - ? decrypt(authUtil.getPassword() as unknown as string) | |
| 238 | - : undefined | |
| 239 | - const rememberMe = authUtil.getRememberMe() | |
| 240 | - const tenantName = authUtil.getTenantName() | |
| 241 | - loginData.loginForm = { | |
| 242 | - ...loginData.loginForm, | |
| 243 | - username: username ? username : loginData.loginForm.username, | |
| 244 | - password: password ? password : loginData.loginForm.password, | |
| 245 | - rememberMe: rememberMe ? true : false, | |
| 246 | - tenantName: tenantName ? tenantName : loginData.loginForm.tenantName | |
| 218 | + const loginForm = authUtil.getLoginForm() | |
| 219 | + if (loginForm) { | |
| 220 | + loginData.loginForm = { | |
| 221 | + ...loginData.loginForm, | |
| 222 | + username: loginForm.username ? loginForm.username : loginData.loginForm.username, | |
| 223 | + password: loginForm.password ? loginForm.password : loginData.loginForm.password, | |
| 224 | + rememberMe: loginForm.rememberMe ? true : false, | |
| 225 | + tenantName: loginForm.tenantName ? loginForm.tenantName : loginData.loginForm.tenantName | |
| 226 | + } | |
| 247 | 227 | } |
| 248 | 228 | } |
| 249 | 229 | // 登录 |
| ... | ... | @@ -266,15 +246,9 @@ const handleLogin = async (params) => { |
| 266 | 246 | background: 'rgba(0, 0, 0, 0.7)' |
| 267 | 247 | }) |
| 268 | 248 | if (loginData.loginForm.rememberMe) { |
| 269 | - authUtil.setUsername(loginData.loginForm.username) | |
| 270 | - authUtil.setPassword(loginData.loginForm.password) | |
| 271 | - authUtil.setRememberMe(loginData.loginForm.rememberMe) | |
| 272 | - authUtil.setTenantName(loginData.loginForm.tenantName) | |
| 249 | + authUtil.setLoginForm(loginData.loginForm) | |
| 273 | 250 | } else { |
| 274 | - authUtil.removeUsername() | |
| 275 | - authUtil.removePassword() | |
| 276 | - authUtil.removeRememberMe() | |
| 277 | - authUtil.removeTenantName() | |
| 251 | + authUtil.removeLoginForm() | |
| 278 | 252 | } |
| 279 | 253 | authUtil.setToken(res) |
| 280 | 254 | if (!redirect.value) { | ... | ... |
yudao-ui-admin-vue3/src/views/Profile/Index.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | </template> |
| 9 | 9 | <ProfileUser /> |
| 10 | 10 | </el-card> |
| 11 | - <el-card class="w-2/3 user" style="margin-left: 10px" shadow="hover"> | |
| 11 | + <el-card class="w-2/3 user ml-3" shadow="hover"> | |
| 12 | 12 | <template #header> |
| 13 | 13 | <div class="card-header"> |
| 14 | 14 | <span>{{ t('profile.info.title') }}</span> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/apiErrorLog/index.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | type="warning" |
| 9 | 9 | preIcon="ep:download" |
| 10 | 10 | :title="t('action.export')" |
| 11 | - @click="handleExport()" | |
| 11 | + @click="exportList('错误数据.xls')" | |
| 12 | 12 | /> |
| 13 | 13 | </template> |
| 14 | 14 | <template #duration_default="{ row }"> |
| ... | ... | @@ -81,10 +81,7 @@ const handleDetail = (row: ApiErrorLogApi.ApiErrorLogVO) => { |
| 81 | 81 | dialogTitle.value = t('action.detail') |
| 82 | 82 | dialogVisible.value = true |
| 83 | 83 | } |
| 84 | -// 导出 | |
| 85 | -const handleExport = async () => { | |
| 86 | - await exportList('错误数据.xls') | |
| 87 | -} | |
| 84 | + | |
| 88 | 85 | // 异常处理操作 |
| 89 | 86 | const handleProcessClick = ( |
| 90 | 87 | row: ApiErrorLogApi.ApiErrorLogVO, | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue
| ... | ... | @@ -8,9 +8,6 @@ |
| 8 | 8 | <el-tab-pane label="字段信息" name="cloum"> |
| 9 | 9 | <CloumInfoForm ref="cloumInfoRef" :info="cloumCurrentRow" /> |
| 10 | 10 | </el-tab-pane> |
| 11 | - <el-tab-pane label="生成信息" name="genInfo"> | |
| 12 | - <GenInfoForm ref="genInfoRef" :genInfo="tableCurrentRow" /> | |
| 13 | - </el-tab-pane> | |
| 14 | 11 | </el-tabs> |
| 15 | 12 | <template #right> |
| 16 | 13 | <XButton |
| ... | ... | @@ -30,7 +27,7 @@ import { ElTabs, ElTabPane } from 'element-plus' |
| 30 | 27 | import { useI18n } from '@/hooks/web/useI18n' |
| 31 | 28 | import { useMessage } from '@/hooks/web/useMessage' |
| 32 | 29 | import { ContentDetailWrap } from '@/components/ContentDetailWrap' |
| 33 | -import { BasicInfoForm, CloumInfoForm, GenInfoForm } from './components' | |
| 30 | +import { BasicInfoForm, CloumInfoForm } from './components' | |
| 34 | 31 | import { getCodegenTableApi, updateCodegenTableApi } from '@/api/infra/codegen' |
| 35 | 32 | import { CodegenTableVO, CodegenColumnVO, CodegenUpdateReqVO } from '@/api/infra/codegen/types' |
| 36 | 33 | |
| ... | ... | @@ -40,33 +37,29 @@ const { push } = useRouter() |
| 40 | 37 | const { query } = useRoute() |
| 41 | 38 | const loading = ref(false) |
| 42 | 39 | const title = ref('代码生成') |
| 43 | -const activeName = ref('cloum') | |
| 40 | +const activeName = ref('basicInfo') | |
| 44 | 41 | const cloumInfoRef = ref(null) |
| 45 | 42 | const tableCurrentRow = ref<CodegenTableVO>() |
| 46 | 43 | const cloumCurrentRow = ref<CodegenColumnVO[]>([]) |
| 47 | 44 | const basicInfoRef = ref<ComponentRef<typeof BasicInfoForm>>() |
| 48 | -const genInfoRef = ref<ComponentRef<typeof GenInfoForm>>() | |
| 49 | 45 | |
| 50 | 46 | const getList = async () => { |
| 51 | 47 | const id = query.id as unknown as number |
| 52 | 48 | if (id) { |
| 53 | 49 | // 获取表详细信息 |
| 54 | 50 | const res = await getCodegenTableApi(id) |
| 55 | - tableCurrentRow.value = res.table | |
| 56 | 51 | title.value = '修改[ ' + res.table.tableName + ' ]生成配置' |
| 52 | + tableCurrentRow.value = res.table | |
| 57 | 53 | cloumCurrentRow.value = res.columns |
| 58 | 54 | } |
| 59 | 55 | } |
| 60 | 56 | const submitForm = async () => { |
| 61 | 57 | const basicInfo = unref(basicInfoRef) |
| 62 | - const genInfo = unref(genInfoRef) | |
| 63 | 58 | const basicForm = await basicInfo?.elFormRef?.validate()?.catch(() => {}) |
| 64 | - const genForm = await genInfo?.elFormRef?.validate()?.catch(() => {}) | |
| 65 | - if (basicForm && genForm) { | |
| 59 | + if (basicForm) { | |
| 66 | 60 | const basicInfoData = (await basicInfo?.getFormData()) as CodegenTableVO |
| 67 | - const genInfoData = (await genInfo?.getFormData()) as CodegenTableVO | |
| 68 | 61 | const genTable: CodegenUpdateReqVO = { |
| 69 | - table: Object.assign({}, basicInfoData, genInfoData), | |
| 62 | + table: basicInfoData, | |
| 70 | 63 | columns: cloumCurrentRow.value |
| 71 | 64 | } |
| 72 | 65 | await updateCodegenTableApi(genTable) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/BasicInfoForm.vue
| ... | ... | @@ -2,26 +2,60 @@ |
| 2 | 2 | <Form :rules="rules" @register="register" /> |
| 3 | 3 | </template> |
| 4 | 4 | <script setup lang="ts"> |
| 5 | -import { PropType, reactive, watch } from 'vue' | |
| 5 | +import { onMounted, PropType, reactive, ref, watch } from 'vue' | |
| 6 | 6 | import { required } from '@/utils/formRules' |
| 7 | 7 | import { useForm } from '@/hooks/web/useForm' |
| 8 | 8 | import { Form } from '@/components/Form' |
| 9 | 9 | import { FormSchema } from '@/types/form' |
| 10 | 10 | import { CodegenTableVO } from '@/api/infra/codegen/types' |
| 11 | +import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' | |
| 12 | +import { listSimpleMenusApi } from '@/api/system/menu' | |
| 13 | +import { handleTree, defaultProps } from '@/utils/tree' | |
| 14 | + | |
| 11 | 15 | const props = defineProps({ |
| 12 | 16 | basicInfo: { |
| 13 | 17 | type: Object as PropType<Nullable<CodegenTableVO>>, |
| 14 | 18 | default: () => null |
| 15 | 19 | } |
| 16 | 20 | }) |
| 21 | + | |
| 22 | +const templateTypeOptions = getIntDictOptions(DICT_TYPE.INFRA_CODEGEN_TEMPLATE_TYPE) | |
| 23 | +const sceneOptions = getIntDictOptions(DICT_TYPE.INFRA_CODEGEN_SCENE) | |
| 24 | +const menuOptions = ref<any>([]) // 树形结构 | |
| 25 | +const getTree = async () => { | |
| 26 | + const res = await listSimpleMenusApi() | |
| 27 | + menuOptions.value = handleTree(res) | |
| 28 | +} | |
| 29 | + | |
| 17 | 30 | const rules = reactive({ |
| 18 | 31 | tableName: [required], |
| 19 | 32 | tableComment: [required], |
| 20 | 33 | className: [required], |
| 21 | - author: [required] | |
| 34 | + author: [required], | |
| 35 | + templateType: [required], | |
| 36 | + scene: [required], | |
| 37 | + moduleName: [required], | |
| 38 | + businessName: [required], | |
| 39 | + businessPackage: [required], | |
| 40 | + classComment: [required] | |
| 22 | 41 | }) |
| 23 | 42 | const schema = reactive<FormSchema[]>([ |
| 24 | 43 | { |
| 44 | + label: '上级菜单', | |
| 45 | + field: 'parentMenuId', | |
| 46 | + component: 'TreeSelect', | |
| 47 | + componentProps: { | |
| 48 | + data: menuOptions, | |
| 49 | + props: defaultProps, | |
| 50 | + checkStrictly: true, | |
| 51 | + nodeKey: 'id' | |
| 52 | + }, | |
| 53 | + labelMessage: '分配到指定菜单下,例如 系统管理', | |
| 54 | + colProps: { | |
| 55 | + span: 24 | |
| 56 | + } | |
| 57 | + }, | |
| 58 | + { | |
| 25 | 59 | label: '表名称', |
| 26 | 60 | field: 'tableName', |
| 27 | 61 | component: 'Input', |
| ... | ... | @@ -46,6 +80,64 @@ const schema = reactive<FormSchema[]>([ |
| 46 | 80 | } |
| 47 | 81 | }, |
| 48 | 82 | { |
| 83 | + label: '类名称', | |
| 84 | + field: 'className', | |
| 85 | + component: 'Input', | |
| 86 | + labelMessage: '类名称(首字母大写),例如SysUser、SysMenu、SysDictData 等等', | |
| 87 | + colProps: { | |
| 88 | + span: 12 | |
| 89 | + } | |
| 90 | + }, | |
| 91 | + { | |
| 92 | + label: '生成模板', | |
| 93 | + field: 'templateType', | |
| 94 | + component: 'Select', | |
| 95 | + componentProps: { | |
| 96 | + options: templateTypeOptions | |
| 97 | + }, | |
| 98 | + colProps: { | |
| 99 | + span: 12 | |
| 100 | + } | |
| 101 | + }, | |
| 102 | + { | |
| 103 | + label: '生成场景', | |
| 104 | + field: 'scene', | |
| 105 | + component: 'Select', | |
| 106 | + componentProps: { | |
| 107 | + options: sceneOptions | |
| 108 | + }, | |
| 109 | + colProps: { | |
| 110 | + span: 12 | |
| 111 | + } | |
| 112 | + }, | |
| 113 | + { | |
| 114 | + label: '模块名', | |
| 115 | + field: 'moduleName', | |
| 116 | + component: 'Input', | |
| 117 | + labelMessage: '模块名,即一级目录,例如 system、infra、tool 等等', | |
| 118 | + colProps: { | |
| 119 | + span: 12 | |
| 120 | + } | |
| 121 | + }, | |
| 122 | + { | |
| 123 | + label: '业务名', | |
| 124 | + field: 'businessName', | |
| 125 | + component: 'Input', | |
| 126 | + labelMessage: '业务名,即二级目录,例如 user、permission、dict 等等', | |
| 127 | + colProps: { | |
| 128 | + span: 12 | |
| 129 | + } | |
| 130 | + }, | |
| 131 | + { | |
| 132 | + label: '类描述', | |
| 133 | + field: 'classComment', | |
| 134 | + component: 'Input', | |
| 135 | + labelMessage: '用作类描述,例如 用户', | |
| 136 | + colProps: { | |
| 137 | + span: 12 | |
| 138 | + } | |
| 139 | + }, | |
| 140 | + { | |
| 49 | 141 | label: '作者', |
| 50 | 142 | field: 'author', |
| 51 | 143 | component: 'Input', |
| ... | ... | @@ -62,7 +154,7 @@ const schema = reactive<FormSchema[]>([ |
| 62 | 154 | rows: 4 |
| 63 | 155 | }, |
| 64 | 156 | colProps: { |
| 65 | - span: 12 | |
| 157 | + span: 24 | |
| 66 | 158 | } |
| 67 | 159 | } |
| 68 | 160 | ]) |
| ... | ... | @@ -81,6 +173,10 @@ watch( |
| 81 | 173 | immediate: true |
| 82 | 174 | } |
| 83 | 175 | ) |
| 176 | +// ========== 初始化 ========== | |
| 177 | +onMounted(async () => { | |
| 178 | + await getTree() | |
| 179 | +}) | |
| 84 | 180 | |
| 85 | 181 | defineExpose({ |
| 86 | 182 | elFormRef, | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/CloumInfoForm.vue
| 1 | 1 | <template> |
| 2 | 2 | <vxe-table |
| 3 | 3 | ref="dragTable" |
| 4 | + border | |
| 4 | 5 | :data="info" |
| 5 | 6 | max-height="600" |
| 6 | 7 | stripe |
| 7 | 8 | class="xtable-scrollbar" |
| 8 | 9 | :column-config="{ resizable: true }" |
| 9 | 10 | > |
| 10 | - <vxe-column title="字段列名" field="columnName" fixed="left" width="80" /> | |
| 11 | - <vxe-column title="字段描述" field="columnComment"> | |
| 12 | - <template #default="{ row }"> | |
| 13 | - <el-input v-model="row.columnComment" /> | |
| 14 | - </template> | |
| 15 | - </vxe-column> | |
| 16 | - <vxe-column title="物理类型" field="dataType" width="10%" /> | |
| 17 | - <vxe-column title="Java类型" width="10%" field="javaType"> | |
| 18 | - <template #default="{ row }"> | |
| 19 | - <el-select v-model="row.javaType"> | |
| 20 | - <el-option label="Long" value="Long" /> | |
| 21 | - <el-option label="String" value="String" /> | |
| 22 | - <el-option label="Integer" value="Integer" /> | |
| 23 | - <el-option label="Double" value="Double" /> | |
| 24 | - <el-option label="BigDecimal" value="BigDecimal" /> | |
| 25 | - <el-option label="LocalDateTime" value="LocalDateTime" /> | |
| 26 | - <el-option label="Boolean" value="Boolean" /> | |
| 27 | - </el-select> | |
| 28 | - </template> | |
| 29 | - </vxe-column> | |
| 30 | - <vxe-column title="java属性" width="10%" field="javaField"> | |
| 31 | - <template #default="{ row }"> | |
| 32 | - <el-input v-model="row.javaField" /> | |
| 33 | - </template> | |
| 34 | - </vxe-column> | |
| 35 | - <vxe-column title="插入" width="4%" field="createOperation"> | |
| 36 | - <template #default="{ row }"> | |
| 37 | - <vxe-checkbox true-label="true" false-label="false" v-model="row.createOperation" /> | |
| 38 | - </template> | |
| 39 | - </vxe-column> | |
| 40 | - <vxe-column title="编辑" width="4%" field="updateOperation"> | |
| 41 | - <template #default="{ row }"> | |
| 42 | - <vxe-checkbox true-label="true" false-label="false" v-model="row.updateOperation" /> | |
| 43 | - </template> | |
| 44 | - </vxe-column> | |
| 45 | - <vxe-column title="列表" width="4%" field="listOperationResult"> | |
| 46 | - <template #default="{ row }"> | |
| 47 | - <vxe-checkbox true-label="true" false-label="false" v-model="row.listOperationResult" /> | |
| 48 | - </template> | |
| 49 | - </vxe-column> | |
| 50 | - <vxe-column title="查询" width="4%" field="listOperation"> | |
| 51 | - <template #default="{ row }"> | |
| 52 | - <vxe-checkbox true-label="true" false-label="false" v-model="row.listOperation" /> | |
| 53 | - </template> | |
| 54 | - </vxe-column> | |
| 55 | - <vxe-column title="查询方式" width="8%" field="listOperationCondition"> | |
| 56 | - <template #default="{ row }"> | |
| 57 | - <el-select v-model="row.listOperationCondition"> | |
| 58 | - <el-option label="=" value="=" /> | |
| 59 | - <el-option label="!=" value="!=" /> | |
| 60 | - <el-option label=">" value=">" /> | |
| 61 | - <el-option label=">=" value=">=" /> | |
| 62 | - <el-option label="<" value="<>" /> | |
| 63 | - <el-option label="<=" value="<=" /> | |
| 64 | - <el-option label="LIKE" value="LIKE" /> | |
| 65 | - <el-option label="BETWEEN" value="BETWEEN" /> | |
| 66 | - </el-select> | |
| 67 | - </template> | |
| 68 | - </vxe-column> | |
| 69 | - <vxe-column title="允许空" width="4%" field="nullable"> | |
| 70 | - <template #default="{ row }"> | |
| 71 | - <vxe-checkbox true-label="true" false-label="false" v-model="row.nullable" /> | |
| 72 | - </template> | |
| 73 | - </vxe-column> | |
| 11 | + <vxe-column title="字段列名" field="columnName" fixed="left" width="10%" /> | |
| 12 | + <vxe-colgroup title="基础属性"> | |
| 13 | + <vxe-column title="字段描述" field="columnComment" width="10%"> | |
| 14 | + <template #default="{ row }"> | |
| 15 | + <vxe-input v-model="row.columnComment" placeholder="请输入字段描述" /> | |
| 16 | + </template> | |
| 17 | + </vxe-column> | |
| 18 | + <vxe-column title="物理类型" field="dataType" width="10%" /> | |
| 19 | + <vxe-column title="Java类型" width="10%" field="javaType"> | |
| 20 | + <template #default="{ row }"> | |
| 21 | + <vxe-select v-model="row.javaType" placeholder="请选择Java类型"> | |
| 22 | + <vxe-option label="Long" value="Long" /> | |
| 23 | + <vxe-option label="String" value="String" /> | |
| 24 | + <vxe-option label="Integer" value="Integer" /> | |
| 25 | + <vxe-option label="Double" value="Double" /> | |
| 26 | + <vxe-option label="BigDecimal" value="BigDecimal" /> | |
| 27 | + <vxe-option label="LocalDateTime" value="LocalDateTime" /> | |
| 28 | + <vxe-option label="Boolean" value="Boolean" /> | |
| 29 | + </vxe-select> | |
| 30 | + </template> | |
| 31 | + </vxe-column> | |
| 32 | + <vxe-column title="java属性" width="8%" field="javaField"> | |
| 33 | + <template #default="{ row }"> | |
| 34 | + <vxe-input v-model="row.javaField" placeholder="请输入java属性" /> | |
| 35 | + </template> | |
| 36 | + </vxe-column> | |
| 37 | + </vxe-colgroup> | |
| 38 | + <vxe-colgroup title="增删改查"> | |
| 39 | + <vxe-column title="插入" width="40px" field="createOperation"> | |
| 40 | + <template #default="{ row }"> | |
| 41 | + <vxe-checkbox true-label="true" false-label="false" v-model="row.createOperation" /> | |
| 42 | + </template> | |
| 43 | + </vxe-column> | |
| 44 | + <vxe-column title="编辑" width="40px" field="updateOperation"> | |
| 45 | + <template #default="{ row }"> | |
| 46 | + <vxe-checkbox true-label="true" false-label="false" v-model="row.updateOperation" /> | |
| 47 | + </template> | |
| 48 | + </vxe-column> | |
| 49 | + <vxe-column title="列表" width="40px" field="listOperationResult"> | |
| 50 | + <template #default="{ row }"> | |
| 51 | + <vxe-checkbox true-label="true" false-label="false" v-model="row.listOperationResult" /> | |
| 52 | + </template> | |
| 53 | + </vxe-column> | |
| 54 | + <vxe-column title="查询" width="40px" field="listOperation"> | |
| 55 | + <template #default="{ row }"> | |
| 56 | + <vxe-checkbox true-label="true" false-label="false" v-model="row.listOperation" /> | |
| 57 | + </template> | |
| 58 | + </vxe-column> | |
| 59 | + <vxe-column title="允许空" width="40px" field="nullable"> | |
| 60 | + <template #default="{ row }"> | |
| 61 | + <vxe-checkbox true-label="true" false-label="false" v-model="row.nullable" /> | |
| 62 | + </template> | |
| 63 | + </vxe-column> | |
| 64 | + <vxe-column title="查询方式" width="60px" field="listOperationCondition"> | |
| 65 | + <template #default="{ row }"> | |
| 66 | + <vxe-select v-model="row.listOperationCondition" placeholder="请选择查询方式"> | |
| 67 | + <vxe-option label="=" value="=" /> | |
| 68 | + <vxe-option label="!=" value="!=" /> | |
| 69 | + <vxe-option label=">" value=">" /> | |
| 70 | + <vxe-option label=">=" value=">=" /> | |
| 71 | + <vxe-option label="<" value="<>" /> | |
| 72 | + <vxe-option label="<=" value="<=" /> | |
| 73 | + <vxe-option label="LIKE" value="LIKE" /> | |
| 74 | + <vxe-option label="BETWEEN" value="BETWEEN" /> | |
| 75 | + </vxe-select> | |
| 76 | + </template> | |
| 77 | + </vxe-column> | |
| 78 | + </vxe-colgroup> | |
| 74 | 79 | <vxe-column title="显示类型" width="10%" field="htmlType"> |
| 75 | 80 | <template #default="{ row }"> |
| 76 | - <el-select v-model="row.htmlType"> | |
| 77 | - <el-option label="文本框" value="input" /> | |
| 78 | - <el-option label="文本域" value="textarea" /> | |
| 79 | - <el-option label="下拉框" value="select" /> | |
| 80 | - <el-option label="单选框" value="radio" /> | |
| 81 | - <el-option label="复选框" value="checkbox" /> | |
| 82 | - <el-option label="日期控件" value="datetime" /> | |
| 83 | - <el-option label="图片上传" value="imageUpload" /> | |
| 84 | - <el-option label="文件上传" value="fileUpload" /> | |
| 85 | - <el-option label="富文本控件" value="editor" /> | |
| 86 | - </el-select> | |
| 81 | + <vxe-select v-model="row.htmlType" placeholder="请选择显示类型"> | |
| 82 | + <vxe-option label="文本框" value="input" /> | |
| 83 | + <vxe-option label="文本域" value="textarea" /> | |
| 84 | + <vxe-option label="下拉框" value="select" /> | |
| 85 | + <vxe-option label="单选框" value="radio" /> | |
| 86 | + <vxe-option label="复选框" value="checkbox" /> | |
| 87 | + <vxe-option label="日期控件" value="datetime" /> | |
| 88 | + <vxe-option label="图片上传" value="imageUpload" /> | |
| 89 | + <vxe-option label="文件上传" value="fileUpload" /> | |
| 90 | + <vxe-option label="富文本控件" value="editor" /> | |
| 91 | + </vxe-select> | |
| 87 | 92 | </template> |
| 88 | 93 | </vxe-column> |
| 89 | 94 | <vxe-column title="字典类型" width="10%" field="dictType"> |
| 90 | 95 | <template #default="{ row }"> |
| 91 | - <el-select v-model="row.dictType" clearable filterable placeholder="请选择"> | |
| 92 | - <el-option | |
| 96 | + <vxe-select v-model="row.dictType" clearable filterable placeholder="请选择字典类型"> | |
| 97 | + <vxe-option | |
| 93 | 98 | v-for="dict in dictOptions" |
| 94 | 99 | :key="dict.id" |
| 95 | 100 | :label="dict.name" |
| 96 | 101 | :value="dict.type" |
| 97 | 102 | /> |
| 98 | - </el-select> | |
| 103 | + </vxe-select> | |
| 99 | 104 | </template> |
| 100 | 105 | </vxe-column> |
| 101 | 106 | <vxe-column title="示例" field="example"> |
| 102 | 107 | <template #default="{ row }"> |
| 103 | - <el-input v-model="row.example" /> | |
| 108 | + <vxe-input v-model="row.example" placeholder="请输入示例" /> | |
| 104 | 109 | </template> |
| 105 | 110 | </vxe-column> |
| 106 | 111 | </vxe-table> |
| 107 | 112 | </template> |
| 108 | 113 | <script setup lang="ts"> |
| 109 | 114 | import { onMounted, PropType, ref } from 'vue' |
| 110 | -import { ElInput, ElSelect, ElOption } from 'element-plus' | |
| 111 | 115 | import { DictTypeVO } from '@/api/system/dict/types' |
| 112 | 116 | import { CodegenColumnVO } from '@/api/infra/codegen/types' |
| 113 | 117 | import { listSimpleDictTypeApi } from '@/api/system/dict/dict.type' | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue deleted
| 1 | -<template> | |
| 2 | - <Form :rules="rules" @register="register" /> | |
| 3 | -</template> | |
| 4 | -<script setup lang="ts"> | |
| 5 | -import { onMounted, PropType, reactive, ref, watch } from 'vue' | |
| 6 | -import { Form } from '@/components/Form' | |
| 7 | -import { useForm } from '@/hooks/web/useForm' | |
| 8 | -import { required } from '@/utils/formRules' | |
| 9 | -import { handleTree, defaultProps } from '@/utils/tree' | |
| 10 | -import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' | |
| 11 | -import { listSimpleMenusApi } from '@/api/system/menu' | |
| 12 | -import { CodegenTableVO } from '@/api/infra/codegen/types' | |
| 13 | -import { FormSchema } from '@/types/form' | |
| 14 | -const props = defineProps({ | |
| 15 | - genInfo: { | |
| 16 | - type: Object as PropType<Nullable<CodegenTableVO>>, | |
| 17 | - default: () => null | |
| 18 | - } | |
| 19 | -}) | |
| 20 | -const rules = reactive({ | |
| 21 | - templateType: [required], | |
| 22 | - scene: [required], | |
| 23 | - moduleName: [required], | |
| 24 | - businessName: [required], | |
| 25 | - businessPackage: [required], | |
| 26 | - className: [required], | |
| 27 | - classComment: [required] | |
| 28 | -}) | |
| 29 | -const templateTypeOptions = getIntDictOptions(DICT_TYPE.INFRA_CODEGEN_TEMPLATE_TYPE) | |
| 30 | -const sceneOptions = getIntDictOptions(DICT_TYPE.INFRA_CODEGEN_SCENE) | |
| 31 | -const menuOptions = ref<any>([]) // 树形结构 | |
| 32 | -const getTree = async () => { | |
| 33 | - const res = await listSimpleMenusApi() | |
| 34 | - menuOptions.value = handleTree(res) | |
| 35 | -} | |
| 36 | -const schema = reactive<FormSchema[]>([ | |
| 37 | - { | |
| 38 | - label: '生成模板', | |
| 39 | - field: 'templateType', | |
| 40 | - component: 'Select', | |
| 41 | - componentProps: { | |
| 42 | - options: templateTypeOptions | |
| 43 | - }, | |
| 44 | - colProps: { | |
| 45 | - span: 12 | |
| 46 | - } | |
| 47 | - }, | |
| 48 | - { | |
| 49 | - label: '生成场景', | |
| 50 | - field: 'scene', | |
| 51 | - component: 'Select', | |
| 52 | - componentProps: { | |
| 53 | - options: sceneOptions | |
| 54 | - }, | |
| 55 | - colProps: { | |
| 56 | - span: 12 | |
| 57 | - } | |
| 58 | - }, | |
| 59 | - { | |
| 60 | - label: '模块名', | |
| 61 | - field: 'moduleName', | |
| 62 | - component: 'Input', | |
| 63 | - labelMessage: '模块名,即一级目录,例如 system、infra、tool 等等', | |
| 64 | - colProps: { | |
| 65 | - span: 12 | |
| 66 | - } | |
| 67 | - }, | |
| 68 | - { | |
| 69 | - label: '业务名', | |
| 70 | - field: 'businessName', | |
| 71 | - component: 'Input', | |
| 72 | - labelMessage: '业务名,即二级目录,例如 user、permission、dict 等等', | |
| 73 | - colProps: { | |
| 74 | - span: 12 | |
| 75 | - } | |
| 76 | - }, | |
| 77 | - { | |
| 78 | - label: '类名称', | |
| 79 | - field: 'className', | |
| 80 | - component: 'Input', | |
| 81 | - labelMessage: '类名称(首字母大写),例如SysUser、SysMenu、SysDictData 等等', | |
| 82 | - colProps: { | |
| 83 | - span: 12 | |
| 84 | - } | |
| 85 | - }, | |
| 86 | - { | |
| 87 | - label: '类描述', | |
| 88 | - field: 'classComment', | |
| 89 | - component: 'Input', | |
| 90 | - labelMessage: '用作类描述,例如 用户', | |
| 91 | - colProps: { | |
| 92 | - span: 12 | |
| 93 | - } | |
| 94 | - }, | |
| 95 | - { | |
| 96 | - label: '上级菜单', | |
| 97 | - field: 'parentMenuId', | |
| 98 | - component: 'TreeSelect', | |
| 99 | - componentProps: { | |
| 100 | - data: menuOptions, | |
| 101 | - props: defaultProps, | |
| 102 | - checkStrictly: true, | |
| 103 | - nodeKey: 'id' | |
| 104 | - }, | |
| 105 | - labelMessage: '分配到指定菜单下,例如 系统管理', | |
| 106 | - colProps: { | |
| 107 | - span: 12 | |
| 108 | - } | |
| 109 | - } | |
| 110 | -]) | |
| 111 | -const { register, methods, elFormRef } = useForm({ | |
| 112 | - schema | |
| 113 | -}) | |
| 114 | - | |
| 115 | -// ========== 初始化 ========== | |
| 116 | -onMounted(async () => { | |
| 117 | - await getTree() | |
| 118 | -}) | |
| 119 | -watch( | |
| 120 | - () => props.genInfo, | |
| 121 | - (genInfo) => { | |
| 122 | - if (!genInfo) return | |
| 123 | - const { setValues } = methods | |
| 124 | - setValues(genInfo) | |
| 125 | - }, | |
| 126 | - { | |
| 127 | - deep: true, | |
| 128 | - immediate: true | |
| 129 | - } | |
| 130 | -) | |
| 131 | -defineExpose({ | |
| 132 | - elFormRef, | |
| 133 | - getFormData: methods.getFormData | |
| 134 | -}) | |
| 135 | -</script> |
yudao-ui-admin-vue3/src/views/infra/codegen/components/Preview.vue
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | /> |
| 14 | 14 | </el-scrollbar> |
| 15 | 15 | </el-card> |
| 16 | - <el-card class="w-3/4" style="margin-left: 10px" :gutter="12" shadow="hover"> | |
| 16 | + <el-card class="w-3/4 ml-3" :gutter="12" shadow="hover"> | |
| 17 | 17 | <el-tabs v-model="preview.activeName"> |
| 18 | 18 | <el-tab-pane |
| 19 | 19 | v-for="item in previewCodegen" | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts
| 1 | 1 | import BasicInfoForm from './BasicInfoForm.vue' |
| 2 | 2 | import CloumInfoForm from './CloumInfoForm.vue' |
| 3 | -import GenInfoForm from './GenInfoForm.vue' | |
| 4 | 3 | import ImportTable from './ImportTable.vue' |
| 5 | 4 | import Preview from './Preview.vue' |
| 6 | -export { BasicInfoForm, CloumInfoForm, GenInfoForm, ImportTable, Preview } | |
| 5 | +export { BasicInfoForm, CloumInfoForm, ImportTable, Preview } | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/index.vue
| ... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | preIcon="ep:delete" |
| 33 | 33 | :title="t('action.del')" |
| 34 | 34 | v-hasPermi="['infra:codegen:delete']" |
| 35 | - @click="handleDelete(row.id)" | |
| 35 | + @click="deleteData(row.id)" | |
| 36 | 36 | /> |
| 37 | 37 | <!-- 操作:同步 --> |
| 38 | 38 | <XTextButton |
| ... | ... | @@ -52,7 +52,7 @@ |
| 52 | 52 | </XTable> |
| 53 | 53 | </ContentWrap> |
| 54 | 54 | <!-- 弹窗:导入表 --> |
| 55 | - <ImportTable ref="importRef" @ok="handleQuery()" /> | |
| 55 | + <ImportTable ref="importRef" @ok="reload()" /> | |
| 56 | 56 | <!-- 弹窗:预览代码 --> |
| 57 | 57 | <Preview ref="previewRef" /> |
| 58 | 58 | </template> |
| ... | ... | @@ -103,17 +103,10 @@ const handleSynchDb = (row: CodegenTableVO) => { |
| 103 | 103 | message.success('同步成功') |
| 104 | 104 | }) |
| 105 | 105 | } |
| 106 | + | |
| 106 | 107 | // 生成代码操作 |
| 107 | 108 | const handleGenTable = async (row: CodegenTableVO) => { |
| 108 | 109 | const res = await CodegenApi.downloadCodegenApi(row.id) |
| 109 | 110 | download.zip(res, 'codegen-' + row.className + '.zip') |
| 110 | 111 | } |
| 111 | -// 删除操作 | |
| 112 | -const handleDelete = async (rowId: number) => { | |
| 113 | - await deleteData(rowId) | |
| 114 | -} | |
| 115 | -// 查询操作 | |
| 116 | -const handleQuery = async () => { | |
| 117 | - await reload() | |
| 118 | -} | |
| 119 | 112 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/config/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['infra:config:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('配置.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #visible_default="{ row }"> |
| ... | ... | @@ -43,7 +43,7 @@ |
| 43 | 43 | preIcon="ep:delete" |
| 44 | 44 | :title="t('action.del')" |
| 45 | 45 | v-hasPermi="['infra:config:delete']" |
| 46 | - @click="handleDelete(row.id)" | |
| 46 | + @click="deleteData(row.id)" | |
| 47 | 47 | /> |
| 48 | 48 | </template> |
| 49 | 49 | </XTable> |
| ... | ... | @@ -123,11 +123,6 @@ const handleCreate = () => { |
| 123 | 123 | setDialogTile('create') |
| 124 | 124 | } |
| 125 | 125 | |
| 126 | -// 导出操作 | |
| 127 | -const handleExport = async () => { | |
| 128 | - await exportList('配置.xls') | |
| 129 | -} | |
| 130 | - | |
| 131 | 126 | // 修改操作 |
| 132 | 127 | const handleUpdate = async (rowId: number) => { |
| 133 | 128 | setDialogTile('update') |
| ... | ... | @@ -143,11 +138,6 @@ const handleDetail = async (rowId: number) => { |
| 143 | 138 | detailData.value = res |
| 144 | 139 | } |
| 145 | 140 | |
| 146 | -// 删除操作 | |
| 147 | -const handleDelete = async (rowId: number) => { | |
| 148 | - await deleteData(rowId) | |
| 149 | -} | |
| 150 | - | |
| 151 | 141 | // 提交按钮 |
| 152 | 142 | const submitForm = async () => { |
| 153 | 143 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/infra/dataSourceConfig/index.vue
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | preIcon="ep:delete" |
| 32 | 32 | :title="t('action.del')" |
| 33 | 33 | v-hasPermi="['infra:data-source-config:delete']" |
| 34 | - @click="handleDelete(row.id)" | |
| 34 | + @click="deleteData(row.id)" | |
| 35 | 35 | /> |
| 36 | 36 | </template> |
| 37 | 37 | </XTable> |
| ... | ... | @@ -121,11 +121,6 @@ const handleDetail = async (rowId: number) => { |
| 121 | 121 | setDialogTile('detail') |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | -// 删除操作 | |
| 125 | -const handleDelete = async (rowId: number) => { | |
| 126 | - await deleteData(rowId) | |
| 127 | -} | |
| 128 | - | |
| 129 | 124 | // 提交按钮 |
| 130 | 125 | const submitForm = async () => { |
| 131 | 126 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/infra/fileConfig/index.vue
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | preIcon="ep:delete" |
| 42 | 42 | :title="t('action.del')" |
| 43 | 43 | v-hasPermi="['infra:file-config:delete']" |
| 44 | - @click="handleDelete(row.id)" | |
| 44 | + @click="deleteData(row.id)" | |
| 45 | 45 | /> |
| 46 | 46 | </template> |
| 47 | 47 | </XTable> |
| ... | ... | @@ -283,11 +283,6 @@ const handleTest = async (rowId: number) => { |
| 283 | 283 | message.alert('测试通过,上传文件成功!访问地址:' + res) |
| 284 | 284 | } |
| 285 | 285 | |
| 286 | -// 删除操作 | |
| 287 | -const handleDelete = async (rowId: number) => { | |
| 288 | - await deleteData(rowId) | |
| 289 | -} | |
| 290 | - | |
| 291 | 286 | // 提交按钮 |
| 292 | 287 | const submitForm = async (formEl: FormInstance | undefined) => { |
| 293 | 288 | if (!formEl) return | ... | ... |
yudao-ui-admin-vue3/src/views/infra/fileList/fileList.data.ts
yudao-ui-admin-vue3/src/views/infra/fileList/index.vue
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | preIcon="ep:delete" |
| 22 | 22 | :title="t('action.del')" |
| 23 | 23 | v-hasPermi="['infra:file:delete']" |
| 24 | - @click="handleDelete(row.id)" | |
| 24 | + @click="deleteData(row.id)" | |
| 25 | 25 | /> |
| 26 | 26 | </template> |
| 27 | 27 | </XTable> |
| ... | ... | @@ -162,11 +162,6 @@ const handleDetail = (row: FileApi.FileVO) => { |
| 162 | 162 | dialogVisible.value = true |
| 163 | 163 | } |
| 164 | 164 | |
| 165 | -// 删除操作 | |
| 166 | -const handleDelete = async (rowId: number) => { | |
| 167 | - await deleteData(rowId) | |
| 168 | -} | |
| 169 | - | |
| 170 | 165 | // ========== 复制相关 ========== |
| 171 | 166 | const handleCopy = async (text: string) => { |
| 172 | 167 | const { copy, copied, isSupported } = useClipboard({ source: text }) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/job/JobLog.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | preIcon="ep:download" |
| 9 | 9 | :title="t('action.export')" |
| 10 | 10 | v-hasPermi="['infra:job:export']" |
| 11 | - @click="handleExport()" | |
| 11 | + @click="exportList('定时任务详情.xls')" | |
| 12 | 12 | /> |
| 13 | 13 | </template> |
| 14 | 14 | <template #beginTime_default="{ row }"> |
| ... | ... | @@ -77,8 +77,4 @@ const handleDetail = async (row: JobLogApi.JobLogVO) => { |
| 77 | 77 | dialogTitle.value = t('action.detail') |
| 78 | 78 | dialogVisible.value = true |
| 79 | 79 | } |
| 80 | -// 导出操作 | |
| 81 | -const handleExport = async () => { | |
| 82 | - await exportList('定时任务详情.xls') | |
| 83 | -} | |
| 84 | 80 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/job/index.vue
| ... | ... | @@ -17,14 +17,14 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['infra:job:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('定时任务.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | <XButton |
| 23 | 23 | type="info" |
| 24 | 24 | preIcon="ep:zoom-in" |
| 25 | 25 | title="执行日志" |
| 26 | 26 | v-hasPermi="['infra:job:query']" |
| 27 | - @click="handleJobLog" | |
| 27 | + @click="handleJobLog()" | |
| 28 | 28 | /> |
| 29 | 29 | </template> |
| 30 | 30 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | preIcon="ep:delete" |
| 47 | 47 | :title="t('action.del')" |
| 48 | 48 | v-hasPermi="['infra:job:delete']" |
| 49 | - @click="handleDelete(row.id)" | |
| 49 | + @click="deleteData(row.id)" | |
| 50 | 50 | /> |
| 51 | 51 | <el-dropdown class="p-0.5" v-hasPermi="['infra:job:trigger', 'infra:job:query']"> |
| 52 | 52 | <XTextButton :title="t('action.more')" postIcon="ep:arrow-down" /> |
| ... | ... | @@ -179,11 +179,6 @@ const handleCreate = () => { |
| 179 | 179 | setDialogTile('create') |
| 180 | 180 | } |
| 181 | 181 | |
| 182 | -// 导出操作 | |
| 183 | -const handleExport = async () => { | |
| 184 | - await exportList('定时任务.xls') | |
| 185 | -} | |
| 186 | - | |
| 187 | 182 | // 修改操作 |
| 188 | 183 | const handleUpdate = async (rowId: number) => { |
| 189 | 184 | setDialogTile('update') |
| ... | ... | @@ -248,10 +243,6 @@ const parseTime = (time) => { |
| 248 | 243 | return time_str |
| 249 | 244 | } |
| 250 | 245 | |
| 251 | -// 删除操作 | |
| 252 | -const handleDelete = async (rowId: number) => { | |
| 253 | - await deleteData(rowId) | |
| 254 | -} | |
| 255 | 246 | const handleChangeStatus = async (row: JobApi.JobVO) => { |
| 256 | 247 | const text = row.status === InfraJobStatusEnum.STOP ? '开启' : '关闭' |
| 257 | 248 | const status = |
| ... | ... | @@ -275,7 +266,7 @@ const handleChangeStatus = async (row: JobApi.JobVO) => { |
| 275 | 266 | }) |
| 276 | 267 | } |
| 277 | 268 | // 执行日志 |
| 278 | -const handleJobLog = (rowId: number) => { | |
| 269 | +const handleJobLog = (rowId?: number) => { | |
| 279 | 270 | if (rowId) { |
| 280 | 271 | push('/job/job-log?id=' + rowId) |
| 281 | 272 | } else { | ... | ... |
yudao-ui-admin-vue3/src/views/infra/webSocket/index.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="flex"> | |
| 3 | + <el-card class="w-1/2" :gutter="12" shadow="always"> | |
| 4 | + <template #header> | |
| 5 | + <div class="card-header"> | |
| 6 | + <span>连接</span> | |
| 7 | + </div> | |
| 8 | + </template> | |
| 9 | + <div class="flex items-center"> | |
| 10 | + <span class="text-lg font-medium mr-4"> 连接状态: </span> | |
| 11 | + <el-tag :color="getTagColor">{{ status }}</el-tag> | |
| 12 | + </div> | |
| 13 | + <hr class="my-4" /> | |
| 14 | + | |
| 15 | + <div class="flex"> | |
| 16 | + <el-input v-model="server" disabled> | |
| 17 | + <template #prepend> 服务地址 </template> | |
| 18 | + </el-input> | |
| 19 | + <el-button :type="getIsOpen ? 'danger' : 'primary'" @click="toggle"> | |
| 20 | + {{ getIsOpen ? '关闭连接' : '开启连接' }} | |
| 21 | + </el-button> | |
| 22 | + </div> | |
| 23 | + <p class="text-lg font-medium mt-4">设置</p> | |
| 24 | + <hr class="my-4" /> | |
| 25 | + <el-input | |
| 26 | + v-model="sendValue" | |
| 27 | + :autosize="{ minRows: 2, maxRows: 4 }" | |
| 28 | + type="textarea" | |
| 29 | + :disabled="!getIsOpen" | |
| 30 | + clearable | |
| 31 | + /> | |
| 32 | + <el-button type="primary" block class="mt-4" :disabled="!getIsOpen" @click="handlerSend"> | |
| 33 | + 发送 | |
| 34 | + </el-button> | |
| 35 | + </el-card> | |
| 36 | + <el-card class="w-1/2" :gutter="12" shadow="always"> | |
| 37 | + <template #header> | |
| 38 | + <div class="card-header"> | |
| 39 | + <span>消息记录</span> | |
| 40 | + </div> | |
| 41 | + </template> | |
| 42 | + <div class="max-h-80 overflow-auto"> | |
| 43 | + <ul> | |
| 44 | + <li v-for="item in getList" class="mt-2" :key="item.time"> | |
| 45 | + <div class="flex items-center"> | |
| 46 | + <span class="mr-2 text-primary font-medium">收到消息:</span> | |
| 47 | + <span>{{ dayjs(item.time).format('YYYY-MM-DD HH:mm:ss') }}</span> | |
| 48 | + </div> | |
| 49 | + <div> | |
| 50 | + {{ item.res }} | |
| 51 | + </div> | |
| 52 | + </li> | |
| 53 | + </ul> | |
| 54 | + </div> | |
| 55 | + </el-card> | |
| 56 | + </div> | |
| 57 | +</template> | |
| 58 | +<script setup lang="ts"> | |
| 59 | +import { computed, reactive, ref, watchEffect } from 'vue' | |
| 60 | +import { ElCard, ElInput, ElTag } from 'element-plus' | |
| 61 | +import { useWebSocket } from '@vueuse/core' | |
| 62 | +import dayjs from 'dayjs' | |
| 63 | +import { useUserStore } from '@/store/modules/user' | |
| 64 | + | |
| 65 | +const userStore = useUserStore() | |
| 66 | + | |
| 67 | +const sendValue = ref('') | |
| 68 | + | |
| 69 | +const server = ref( | |
| 70 | + (import.meta.env.VITE_BASE_URL + '/websocket/message').replace('http', 'ws') + | |
| 71 | + '?userId=' + | |
| 72 | + userStore.getUser.id | |
| 73 | +) | |
| 74 | + | |
| 75 | +const state = reactive({ | |
| 76 | + recordList: [] as { id: number; time: number; res: string }[] | |
| 77 | +}) | |
| 78 | + | |
| 79 | +const { status, data, send, close, open } = useWebSocket(server.value, { | |
| 80 | + autoReconnect: false, | |
| 81 | + heartbeat: true | |
| 82 | +}) | |
| 83 | + | |
| 84 | +watchEffect(() => { | |
| 85 | + if (data.value) { | |
| 86 | + try { | |
| 87 | + const res = JSON.parse(data.value) | |
| 88 | + state.recordList.push(res) | |
| 89 | + } catch (error) { | |
| 90 | + state.recordList.push({ | |
| 91 | + res: data.value, | |
| 92 | + id: Math.ceil(Math.random() * 1000), | |
| 93 | + time: new Date().getTime() | |
| 94 | + }) | |
| 95 | + } | |
| 96 | + } | |
| 97 | +}) | |
| 98 | + | |
| 99 | +const getIsOpen = computed(() => status.value === 'OPEN') | |
| 100 | +const getTagColor = computed(() => (getIsOpen.value ? 'success' : 'red')) | |
| 101 | + | |
| 102 | +const getList = computed(() => { | |
| 103 | + return [...state.recordList].reverse() | |
| 104 | +}) | |
| 105 | + | |
| 106 | +function handlerSend() { | |
| 107 | + send(sendValue.value) | |
| 108 | + sendValue.value = '' | |
| 109 | +} | |
| 110 | + | |
| 111 | +function toggle() { | |
| 112 | + if (getIsOpen.value) { | |
| 113 | + close() | |
| 114 | + } else { | |
| 115 | + open() | |
| 116 | + } | |
| 117 | +} | |
| 118 | +</script> | ... | ... |
yudao-ui-admin-vue3/src/views/pay/app/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['pay:app:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('应用信息.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -40,7 +40,7 @@ |
| 40 | 40 | preIcon="ep:delete" |
| 41 | 41 | :title="t('action.del')" |
| 42 | 42 | v-hasPermi="['pay:app:delete']" |
| 43 | - @click="handleDelete(row.id)" | |
| 43 | + @click="deleteData(row.id)" | |
| 44 | 44 | /> |
| 45 | 45 | </template> |
| 46 | 46 | </XTable> |
| ... | ... | @@ -115,11 +115,6 @@ const handleCreate = () => { |
| 115 | 115 | setDialogTile('create') |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | -// 导出操作 | |
| 119 | -const handleExport = async () => { | |
| 120 | - await exportList('应用信息.xls') | |
| 121 | -} | |
| 122 | - | |
| 123 | 118 | // 修改操作 |
| 124 | 119 | const handleUpdate = async (rowId: number) => { |
| 125 | 120 | setDialogTile('update') |
| ... | ... | @@ -135,11 +130,6 @@ const handleDetail = async (rowId: number) => { |
| 135 | 130 | detailData.value = res |
| 136 | 131 | } |
| 137 | 132 | |
| 138 | -// 删除操作 | |
| 139 | -const handleDelete = async (rowId: number) => { | |
| 140 | - await deleteData(rowId) | |
| 141 | -} | |
| 142 | - | |
| 143 | 133 | // 提交按钮 |
| 144 | 134 | const submitForm = async () => { |
| 145 | 135 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/pay/merchant/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['pay:merchant:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('商户列表.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -40,7 +40,7 @@ |
| 40 | 40 | preIcon="ep:delete" |
| 41 | 41 | :title="t('action.del')" |
| 42 | 42 | v-hasPermi="['pay:merchant:delete']" |
| 43 | - @click="handleDelete(row.id)" | |
| 43 | + @click="deleteData(row.id)" | |
| 44 | 44 | /> |
| 45 | 45 | </template> |
| 46 | 46 | </XTable> |
| ... | ... | @@ -113,11 +113,6 @@ const handleCreate = () => { |
| 113 | 113 | setDialogTile('create') |
| 114 | 114 | } |
| 115 | 115 | |
| 116 | -// 导出操作 | |
| 117 | -const handleExport = async () => { | |
| 118 | - await exportList('商户列表.xls') | |
| 119 | -} | |
| 120 | - | |
| 121 | 116 | // 修改操作 |
| 122 | 117 | const handleUpdate = async (rowId: number) => { |
| 123 | 118 | setDialogTile('update') |
| ... | ... | @@ -133,11 +128,6 @@ const handleDetail = async (rowId: number) => { |
| 133 | 128 | detailData.value = res |
| 134 | 129 | } |
| 135 | 130 | |
| 136 | -// 删除操作 | |
| 137 | -const handleDelete = async (rowId: number) => { | |
| 138 | - await deleteData(rowId) | |
| 139 | -} | |
| 140 | - | |
| 141 | 131 | // 提交按钮 |
| 142 | 132 | const submitForm = async () => { |
| 143 | 133 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/pay/order/index.vue
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['pay:order:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('订单数据.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -72,10 +72,6 @@ const setDialogTile = (type: string) => { |
| 72 | 72 | const handleCreate = () => { |
| 73 | 73 | setDialogTile('create') |
| 74 | 74 | } |
| 75 | -// 导出操作 | |
| 76 | -const handleExport = async () => { | |
| 77 | - await exportList('订单数据.xls') | |
| 78 | -} | |
| 79 | 75 | |
| 80 | 76 | // 详情操作 |
| 81 | 77 | const handleDetail = async (rowId: number) => { | ... | ... |
yudao-ui-admin-vue3/src/views/pay/refund/index.vue
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | preIcon="ep:download" |
| 10 | 10 | :title="t('action.export')" |
| 11 | 11 | v-hasPermi="['pay:refund:export']" |
| 12 | - @click="handleExport()" | |
| 12 | + @click="exportList('退款订单.xls')" | |
| 13 | 13 | /> |
| 14 | 14 | </template> |
| 15 | 15 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -49,11 +49,6 @@ const [registerTable, { exportList }] = useXTable({ |
| 49 | 49 | exportListApi: RefundApi.exportRefundApi |
| 50 | 50 | }) |
| 51 | 51 | |
| 52 | -// 导出操作 | |
| 53 | -const handleExport = async () => { | |
| 54 | - await exportList('退款订单.xls') | |
| 55 | -} | |
| 56 | - | |
| 57 | 52 | // ========== CRUD 相关 ========== |
| 58 | 53 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 59 | 54 | const detailData = ref() // 详情 Ref | ... | ... |
yudao-ui-admin-vue3/src/views/system/dept/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <XTable @register="registerTable" show-overflow> | |
| 4 | + <XTable ref="xGrid" @register="registerTable" show-overflow> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -11,8 +11,8 @@ |
| 11 | 11 | v-hasPermi="['system:dept:create']" |
| 12 | 12 | @click="handleCreate()" |
| 13 | 13 | /> |
| 14 | - <XButton title="展开所有" @click="xGrid?.setAllTreeExpand(true)" /> | |
| 15 | - <XButton title="关闭所有" @click="xGrid?.clearTreeExpand()" /> | |
| 14 | + <XButton title="展开所有" @click="xGrid?.Ref.setAllTreeExpand(true)" /> | |
| 15 | + <XButton title="关闭所有" @click="xGrid?.Ref.clearTreeExpand()" /> | |
| 16 | 16 | </template> |
| 17 | 17 | <template #leaderUserId_default="{ row }"> |
| 18 | 18 | <span>{{ userNicknameFormat(row) }}</span> |
| ... | ... | @@ -30,7 +30,7 @@ |
| 30 | 30 | preIcon="ep:delete" |
| 31 | 31 | :title="t('action.del')" |
| 32 | 32 | v-hasPermi="['system:dept:delete']" |
| 33 | - @click="handleDelete(row.id)" | |
| 33 | + @click="deleteData(row.id)" | |
| 34 | 34 | /> |
| 35 | 35 | </template> |
| 36 | 36 | </XTable> |
| ... | ... | @@ -77,7 +77,6 @@ |
| 77 | 77 | <script setup lang="ts" name="Dept"> |
| 78 | 78 | import { nextTick, onMounted, ref, unref } from 'vue' |
| 79 | 79 | import { ElSelect, ElTreeSelect, ElOption } from 'element-plus' |
| 80 | -import { VxeGridInstance } from 'vxe-table' | |
| 81 | 80 | import { handleTree, defaultProps } from '@/utils/tree' |
| 82 | 81 | import { useI18n } from '@/hooks/web/useI18n' |
| 83 | 82 | import { useMessage } from '@/hooks/web/useMessage' |
| ... | ... | @@ -90,7 +89,7 @@ import { getListSimpleUsersApi, UserVO } from '@/api/system/user' |
| 90 | 89 | const { t } = useI18n() // 国际化 |
| 91 | 90 | const message = useMessage() // 消息弹窗 |
| 92 | 91 | // 列表相关的变量 |
| 93 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 92 | +const xGrid = ref<any>() // 列表 Grid Ref | |
| 94 | 93 | const treeConfig = { |
| 95 | 94 | transform: true, |
| 96 | 95 | rowField: 'id', |
| ... | ... | @@ -168,17 +167,13 @@ const submitForm = async () => { |
| 168 | 167 | dialogVisible.value = false |
| 169 | 168 | } finally { |
| 170 | 169 | actionLoading.value = false |
| 170 | + await getTree() | |
| 171 | 171 | await reload() |
| 172 | 172 | } |
| 173 | 173 | } |
| 174 | 174 | }) |
| 175 | 175 | } |
| 176 | 176 | |
| 177 | -// 删除操作 | |
| 178 | -const handleDelete = async (rowId: number) => { | |
| 179 | - await deleteData(rowId) | |
| 180 | -} | |
| 181 | - | |
| 182 | 177 | const userNicknameFormat = (row) => { |
| 183 | 178 | if (!row || !row.leaderUserId) { |
| 184 | 179 | return '未设置' | ... | ... |
yudao-ui-admin-vue3/src/views/system/dict/index.vue
| ... | ... | @@ -31,14 +31,14 @@ |
| 31 | 31 | preIcon="ep:delete" |
| 32 | 32 | :title="t('action.del')" |
| 33 | 33 | v-hasPermi="['system:dict:delete']" |
| 34 | - @click="handleTypeDelete(row.id)" | |
| 34 | + @click="typeDeleteData(row.id)" | |
| 35 | 35 | /> |
| 36 | 36 | </template> |
| 37 | 37 | </XTable> |
| 38 | 38 | <!-- @星语:分页和列表重叠在一起了 --> |
| 39 | 39 | </el-card> |
| 40 | 40 | <!-- ====== 字典数据 ====== --> |
| 41 | - <el-card class="w-1/2 dict" style="margin-left: 10px" :gutter="12" shadow="hover"> | |
| 41 | + <el-card class="w-1/2 dict ml-3" :gutter="12" shadow="hover"> | |
| 42 | 42 | <template #header> |
| 43 | 43 | <div class="card-header"> |
| 44 | 44 | <span>字典数据</span> |
| ... | ... | @@ -74,7 +74,7 @@ |
| 74 | 74 | v-hasPermi="['system:dict:delete']" |
| 75 | 75 | preIcon="ep:delete" |
| 76 | 76 | :title="t('action.del')" |
| 77 | - @click="handleDataDelete(row.id)" | |
| 77 | + @click="dataDeleteData(row.id)" | |
| 78 | 78 | /> |
| 79 | 79 | </template> |
| 80 | 80 | </XTable> |
| ... | ... | @@ -202,15 +202,6 @@ const setDialogTile = (type: string) => { |
| 202 | 202 | dialogVisible.value = true |
| 203 | 203 | } |
| 204 | 204 | |
| 205 | -// 删除操作 | |
| 206 | -const handleTypeDelete = async (rowId: number) => { | |
| 207 | - await typeDeleteData(rowId) | |
| 208 | -} | |
| 209 | - | |
| 210 | -const handleDataDelete = async (rowId: number) => { | |
| 211 | - await dataDeleteData(rowId) | |
| 212 | -} | |
| 213 | - | |
| 214 | 205 | // 提交按钮 |
| 215 | 206 | const submitTypeForm = async () => { |
| 216 | 207 | const elForm = unref(typeFormRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
| ... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | preIcon="ep:delete" |
| 33 | 33 | :title="t('action.del')" |
| 34 | 34 | v-hasPermi="['system:error-code:delete']" |
| 35 | - @click="handleDelete(row.id)" | |
| 35 | + @click="deleteData(row.id)" | |
| 36 | 36 | /> |
| 37 | 37 | </template> |
| 38 | 38 | </XTable> |
| ... | ... | @@ -121,11 +121,6 @@ const handleDetail = async (rowId: number) => { |
| 121 | 121 | detailData.value = res |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | -// 删除操作 | |
| 125 | -const handleDelete = async (rowId: number) => { | |
| 126 | - await deleteData(rowId) | |
| 127 | -} | |
| 128 | - | |
| 129 | 124 | // 提交新增/修改的表单 |
| 130 | 125 | const submitForm = async () => { |
| 131 | 126 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/system/loginlog/index.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | type="warning" |
| 9 | 9 | preIcon="ep:download" |
| 10 | 10 | :title="t('action.export')" |
| 11 | - @click="handleExport()" | |
| 11 | + @click="exportList('登录列表.xls')" | |
| 12 | 12 | /> |
| 13 | 13 | </template> |
| 14 | 14 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -54,9 +54,4 @@ const handleDetail = async (row: LoginLogVO) => { |
| 54 | 54 | detailData.value = row |
| 55 | 55 | dialogVisible.value = true |
| 56 | 56 | } |
| 57 | - | |
| 58 | -// 导出操作 | |
| 59 | -const handleExport = async () => { | |
| 60 | - await exportList('登录列表.xls') | |
| 61 | -} | |
| 62 | 57 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/menu/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <XTable @register="registerTable" show-overflow> | |
| 4 | + <XTable ref="xGrid" @register="registerTable" show-overflow> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -11,8 +11,8 @@ |
| 11 | 11 | v-hasPermi="['system:menu:create']" |
| 12 | 12 | @click="handleCreate()" |
| 13 | 13 | /> |
| 14 | - <XButton title="展开所有" @click="xGrid?.setAllTreeExpand(true)" /> | |
| 15 | - <XButton title="关闭所有" @click="xGrid?.clearTreeExpand()" /> | |
| 14 | + <XButton title="展开所有" @click="xGrid?.Ref.setAllTreeExpand(true)" /> | |
| 15 | + <XButton title="关闭所有" @click="xGrid?.Ref.clearTreeExpand()" /> | |
| 16 | 16 | </template> |
| 17 | 17 | <template #name_default="{ row }"> |
| 18 | 18 | <Icon :icon="row.icon" /> |
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | preIcon="ep:delete" |
| 32 | 32 | :title="t('action.del')" |
| 33 | 33 | v-hasPermi="['system:menu:delete']" |
| 34 | - @click="handleDelete(row.id)" | |
| 34 | + @click="deleteData(row.id)" | |
| 35 | 35 | /> |
| 36 | 36 | </template> |
| 37 | 37 | </XTable> |
| ... | ... | @@ -194,7 +194,6 @@ import { |
| 194 | 194 | } from 'element-plus' |
| 195 | 195 | import { Tooltip } from '@/components/Tooltip' |
| 196 | 196 | import { IconSelect } from '@/components/Icon' |
| 197 | -import { VxeGridInstance } from 'vxe-table' | |
| 198 | 197 | // 业务相关的 import |
| 199 | 198 | import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' |
| 200 | 199 | import { SystemMenuTypeEnum, CommonStatusEnum } from '@/utils/constants' |
| ... | ... | @@ -206,9 +205,10 @@ import { useXTable } from '@/hooks/web/useXTable' |
| 206 | 205 | const { t } = useI18n() // 国际化 |
| 207 | 206 | const message = useMessage() // 消息弹窗 |
| 208 | 207 | const { wsCache } = useCache() |
| 208 | + | |
| 209 | +const xGrid = ref<any>(null) | |
| 210 | + | |
| 209 | 211 | // 列表相关的变量 |
| 210 | -// 列表相关的变量 | |
| 211 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 212 | 212 | const treeConfig = { |
| 213 | 213 | transform: true, |
| 214 | 214 | rowField: 'id', |
| ... | ... | @@ -334,10 +334,4 @@ const submitForm = async () => { |
| 334 | 334 | const isExternal = (path: string) => { |
| 335 | 335 | return /^(https?:|mailto:|tel:)/.test(path) |
| 336 | 336 | } |
| 337 | - | |
| 338 | -// ========== 删除 ========== | |
| 339 | -// 删除操作 | |
| 340 | -const handleDelete = async (rowId: number) => { | |
| 341 | - await deleteData(rowId) | |
| 342 | -} | |
| 343 | 337 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/notice/index.vue
| ... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | preIcon="ep:delete" |
| 33 | 33 | :title="t('action.del')" |
| 34 | 34 | v-hasPermi="['system:notice:delete']" |
| 35 | - @click="handleDelete(row.id)" | |
| 35 | + @click="deleteData(row.id)" | |
| 36 | 36 | /> |
| 37 | 37 | </template> |
| 38 | 38 | </XTable> |
| ... | ... | @@ -126,11 +126,6 @@ const handleDetail = async (rowId: number) => { |
| 126 | 126 | detailData.value = res |
| 127 | 127 | } |
| 128 | 128 | |
| 129 | -// 删除操作 | |
| 130 | -const handleDelete = async (rowId: number) => { | |
| 131 | - await deleteData(rowId) | |
| 132 | -} | |
| 133 | - | |
| 134 | 129 | // 提交新增/修改的表单 |
| 135 | 130 | const submitForm = async () => { |
| 136 | 131 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
| ... | ... | @@ -48,7 +48,7 @@ |
| 48 | 48 | preIcon="ep:delete" |
| 49 | 49 | :title="t('action.del')" |
| 50 | 50 | v-hasPermi="['system:oauth2-client:delete']" |
| 51 | - @click="handleDelete(row.id)" | |
| 51 | + @click="deleteData(row.id)" | |
| 52 | 52 | /> |
| 53 | 53 | </template> |
| 54 | 54 | </XTable> |
| ... | ... | @@ -184,11 +184,6 @@ const handleDetail = async (rowId: number) => { |
| 184 | 184 | detailData.value = res |
| 185 | 185 | } |
| 186 | 186 | |
| 187 | -// 删除操作 | |
| 188 | -const handleDelete = async (rowId: number) => { | |
| 189 | - await deleteData(rowId) | |
| 190 | -} | |
| 191 | - | |
| 192 | 187 | // 提交新增/修改的表单 |
| 193 | 188 | const submitForm = async () => { |
| 194 | 189 | const elForm = unref(formRef)?.getElFormRef() | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/token/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <template #actionbtns_default="{ row }"> |
| 6 | 6 | <!-- 操作:详情 --> |
| 7 | 7 | <XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" /> |
| 8 | - <!-- 操作:删除 --> | |
| 8 | + <!-- 操作:登出 --> | |
| 9 | 9 | <XTextButton |
| 10 | 10 | preIcon="ep:delete" |
| 11 | 11 | :title="t('action.logout')" | ... | ... |
yudao-ui-admin-vue3/src/views/system/operatelog/index.vue
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | preIcon="ep:download" |
| 10 | 10 | :title="t('action.export')" |
| 11 | 11 | v-hasPermi="['system:operate-log:export']" |
| 12 | - @click="handleExport()" | |
| 12 | + @click="exportList('操作日志.xls')" | |
| 13 | 13 | /> |
| 14 | 14 | </template> |
| 15 | 15 | <template #duration="{ row }"> |
| ... | ... | @@ -68,9 +68,4 @@ const handleDetail = (row: OperateLogApi.OperateLogVO) => { |
| 68 | 68 | detailData.value = row |
| 69 | 69 | dialogVisible.value = true |
| 70 | 70 | } |
| 71 | - | |
| 72 | -// 导出操作 | |
| 73 | -const handleExport = async () => { | |
| 74 | - await exportList('操作日志.xls') | |
| 75 | -} | |
| 76 | 71 | </script> | ... | ... |