Commit b9246d15436dcca3617b01cc01e565372e886596
Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into feature/wechat-mp
# Conflicts: # yudao-server/src/main/resources/application.yaml
Showing
96 changed files
with
2996 additions
and
2474 deletions
README.md
| ... | ... | @@ -188,17 +188,17 @@ ps:核心功能已经实现,正在对接微信小程序中... |
| 188 | 188 | |
| 189 | 189 | | 框架 | 说明 | 版本 | 学习指南 | |
| 190 | 190 | |---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------| |
| 191 | -| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.6 | [文档](https://github.com/YunaiV/SpringBoot-Labs) | | |
| 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.2 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) | | |
| 195 | -| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.0 | [文档](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) | | |
| 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 | 199 | | [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.5 | [文档](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 | -| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.7.2 | [文档](https://doc.iocoder.cn/bpm/) | | |
| 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 实现 | 3.0.3 | [文档](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) | |
| ... | ... | @@ -222,8 +222,8 @@ ps:核心功能已经实现,正在对接微信小程序中... |
| 222 | 222 | | 框架 | 说明 | 版本 | |
| 223 | 223 | |----------------------------------------------------------------------|:------------:|:------:| |
| 224 | 224 | | [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.45 | |
| 225 | -| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.3 | | |
| 226 | -| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.27 | | |
| 225 | +| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.4 | | |
| 226 | +| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 | | |
| 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 | | ... | ... |
pom.xml
| ... | ... | @@ -30,7 +30,7 @@ |
| 30 | 30 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 31 | 31 | |
| 32 | 32 | <properties> |
| 33 | - <revision>1.6.5-snapshot</revision> | |
| 33 | + <revision>1.6.6-snapshot</revision> | |
| 34 | 34 | <!-- Maven 相关 --> |
| 35 | 35 | <java.version>1.8</java.version> |
| 36 | 36 | <maven.compiler.source>${java.version}</maven.compiler.source> | ... | ... |
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,18 +14,18 @@ |
| 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 | - <spring.boot.version>2.7.6</spring.boot.version> | |
| 19 | + <spring.boot.version>2.7.7</spring.boot.version> | |
| 20 | 20 | <!-- Web 相关 --> |
| 21 | 21 | <knife4j.version>3.0.3</knife4j.version> |
| 22 | 22 | <swagger-annotations.version>1.6.8</swagger-annotations.version> |
| 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.2</mybatis-plus.version> | |
| 27 | - <mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version> | |
| 28 | - <dynamic-datasource.version>3.6.0</dynamic-datasource.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 | + <dynamic-datasource.version>3.6.1</dynamic-datasource.version> | |
| 29 | 29 | <redisson.version>3.18.0</redisson.version> |
| 30 | 30 | <!-- 服务保障相关 --> |
| 31 | 31 | <lock4j.version>2.2.3</lock4j.version> |
| ... | ... | @@ -37,14 +37,14 @@ |
| 37 | 37 | <!-- Test 测试相关 --> |
| 38 | 38 | <podam.version>7.2.11.RELEASE</podam.version> |
| 39 | 39 | <jedis-mock.version>1.0.5</jedis-mock.version> |
| 40 | - <mockito-inline.version>4.8.0</mockito-inline.version> | |
| 40 | + <mockito-inline.version>4.11.0</mockito-inline.version> | |
| 41 | 41 | <!-- Bpm 工作流相关 --> |
| 42 | - <flowable.version>6.7.2</flowable.version> | |
| 42 | + <flowable.version>6.8.0</flowable.version> | |
| 43 | 43 | <!-- 工具类相关 --> |
| 44 | 44 | <lombok.version>1.18.24</lombok.version> |
| 45 | 45 | <mapstruct.version>1.5.3.Final</mapstruct.version> |
| 46 | - <hutool.version>5.8.10</hutool.version> | |
| 47 | - <easyexcel.verion>3.1.3</easyexcel.verion> | |
| 46 | + <hutool.version>5.8.11</hutool.version> | |
| 47 | + <easyexcel.verion>3.1.4</easyexcel.verion> | |
| 48 | 48 | <velocity.version>2.3</velocity.version> |
| 49 | 49 | <screw.version>1.0.5</screw.version> |
| 50 | 50 | <fastjson.version>1.2.83</fastjson.version> |
| ... | ... | @@ -55,7 +55,7 @@ |
| 55 | 55 | <jsch.version>0.1.55</jsch.version> |
| 56 | 56 | <tika-core.version>2.6.0</tika-core.version> |
| 57 | 57 | <aj-captcha.version>1.3.0</aj-captcha.version> |
| 58 | - <netty-all.version>4.1.85.Final</netty-all.version> | |
| 58 | + <netty-all.version>4.1.86.Final</netty-all.version> | |
| 59 | 59 | <ip2region.version>2.6.6</ip2region.version> |
| 60 | 60 | <!-- 三方云服务相关 --> |
| 61 | 61 | <okio.version>3.0.0</okio.version> |
| ... | ... | @@ -63,7 +63,7 @@ |
| 63 | 63 | <minio.version>8.4.6</minio.version> |
| 64 | 64 | <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version> |
| 65 | 65 | <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version> |
| 66 | - <tencentcloud-sdk-java.version>3.1.637</tencentcloud-sdk-java.version> | |
| 66 | + <tencentcloud-sdk-java.version>3.1.660</tencentcloud-sdk-java.version> | |
| 67 | 67 | <justauth.version>1.4.0</justauth.version> |
| 68 | 68 | <jimureport.version>1.5.6</jimureport.version> |
| 69 | 69 | <xercesImpl.version>2.12.2</xercesImpl.version> |
| ... | ... | @@ -602,6 +602,12 @@ |
| 602 | 602 | <artifactId>xercesImpl</artifactId> |
| 603 | 603 | <version>${xercesImpl.version}</version> |
| 604 | 604 | </dependency> |
| 605 | + <!-- SpringBoot Websocket --> | |
| 606 | + <dependency> | |
| 607 | + <groupId>org.springframework.boot</groupId> | |
| 608 | + <artifactId>spring-boot-starter-websocket</artifactId> | |
| 609 | + <version>${spring.boot.version}</version> | |
| 610 | + </dependency> | |
| 605 | 611 | </dependencies> |
| 606 | 612 | </dependencyManagement> |
| 607 | 613 | ... | ... |
yudao-example/yudao-sso-demo-by-code/pom.xml
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | <maven.compiler.target>8</maven.compiler.target> |
| 22 | 22 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| 23 | 23 | <!-- 统一依赖管理 --> |
| 24 | - <spring.boot.version>2.7.6</spring.boot.version> | |
| 24 | + <spring.boot.version>2.7.7</spring.boot.version> | |
| 25 | 25 | </properties> |
| 26 | 26 | |
| 27 | 27 | <dependencyManagement> |
| ... | ... | @@ -52,7 +52,7 @@ |
| 52 | 52 | <dependency> |
| 53 | 53 | <groupId>cn.hutool</groupId> |
| 54 | 54 | <artifactId>hutool-all</artifactId> |
| 55 | - <version>5.8.10</version> | |
| 55 | + <version>5.8.11</version> | |
| 56 | 56 | </dependency> |
| 57 | 57 | |
| 58 | 58 | <dependency> | ... | ... |
yudao-example/yudao-sso-demo-by-password/pom.xml
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | <maven.compiler.target>8</maven.compiler.target> |
| 22 | 22 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| 23 | 23 | <!-- 统一依赖管理 --> |
| 24 | - <spring.boot.version>2.7.6</spring.boot.version> | |
| 24 | + <spring.boot.version>2.7.7</spring.boot.version> | |
| 25 | 25 | </properties> |
| 26 | 26 | |
| 27 | 27 | <dependencyManagement> |
| ... | ... | @@ -52,7 +52,7 @@ |
| 52 | 52 | <dependency> |
| 53 | 53 | <groupId>cn.hutool</groupId> |
| 54 | 54 | <artifactId>hutool-all</artifactId> |
| 55 | - <version>5.8.10</version> | |
| 55 | + <version>5.8.11</version> | |
| 56 | 56 | </dependency> |
| 57 | 57 | |
| 58 | 58 | <dependency> | ... | ... |
yudao-framework/pom.xml
yudao-framework/yudao-spring-boot-starter-biz-pay/pom.xml
yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClient.java
| ... | ... | @@ -9,10 +9,11 @@ import io.minio.*; |
| 9 | 9 | import java.io.ByteArrayInputStream; |
| 10 | 10 | |
| 11 | 11 | import static cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig.ENDPOINT_ALIYUN; |
| 12 | +import static cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig.ENDPOINT_TENCENT; | |
| 12 | 13 | |
| 13 | 14 | /** |
| 14 | 15 | * 基于 S3 协议的文件客户端,实现 MinIO、阿里云、腾讯云、七牛云、华为云等云服务 |
| 15 | - * | |
| 16 | + * <p> | |
| 16 | 17 | * S3 协议的客户端,采用亚马逊提供的 software.amazon.awssdk.s3 库 |
| 17 | 18 | * |
| 18 | 19 | * @author 芋道源码 |
| ... | ... | @@ -78,6 +79,11 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> { |
| 78 | 79 | .replaceAll("-internal", "")// 去除内网 Endpoint 的后缀 |
| 79 | 80 | .replaceAll("https://", ""); |
| 80 | 81 | } |
| 82 | + // 腾讯云必须有 region,否则会报错 | |
| 83 | + if (config.getEndpoint().contains(ENDPOINT_TENCENT)) { | |
| 84 | + return StrUtil.subAfter(config.getEndpoint(), ".cos.", false) | |
| 85 | + .replaceAll("." + ENDPOINT_TENCENT, ""); // 去除 Endpoint | |
| 86 | + } | |
| 81 | 87 | return null; |
| 82 | 88 | } |
| 83 | 89 | ... | ... |
yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientConfig.java
| ... | ... | @@ -19,6 +19,7 @@ public class S3FileClientConfig implements FileClientConfig { |
| 19 | 19 | |
| 20 | 20 | public static final String ENDPOINT_QINIU = "qiniucs.com"; |
| 21 | 21 | public static final String ENDPOINT_ALIYUN = "aliyuncs.com"; |
| 22 | + public static final String ENDPOINT_TENCENT = "myqcloud.com"; | |
| 22 | 23 | |
| 23 | 24 | /** |
| 24 | 25 | * 节点地址 | ... | ... |
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-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/dal/mysql/file/FileContentDAOImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.dal.mysql.file; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.file.core.client.db.DBFileContentFrameworkDAO; |
| 4 | 5 | import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileContentDO; |
| 5 | 6 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| 6 | 7 | import org.springframework.stereotype.Repository; |
| 7 | 8 | |
| 8 | 9 | import javax.annotation.Resource; |
| 10 | +import java.util.List; | |
| 11 | +import java.util.Optional; | |
| 9 | 12 | |
| 10 | 13 | @Repository |
| 11 | 14 | public class FileContentDAOImpl implements DBFileContentFrameworkDAO { |
| ... | ... | @@ -27,9 +30,11 @@ public class FileContentDAOImpl implements DBFileContentFrameworkDAO { |
| 27 | 30 | |
| 28 | 31 | @Override |
| 29 | 32 | public byte[] selectContent(Long configId, String path) { |
| 30 | - FileContentDO fileContentDO = fileContentMapper.selectOne( | |
| 31 | - buildQuery(configId, path).select(FileContentDO::getContent)); | |
| 32 | - return fileContentDO != null ? fileContentDO.getContent() : null; | |
| 33 | + List<FileContentDO> list = fileContentMapper.selectList( | |
| 34 | + buildQuery(configId, path).select(FileContentDO::getContent).orderByDesc(FileContentDO::getId)); | |
| 35 | + return Optional.ofNullable(CollUtil.getFirst(list)) | |
| 36 | + .map(FileContentDO::getContent) | |
| 37 | + .orElse(null); | |
| 33 | 38 | } |
| 34 | 39 | |
| 35 | 40 | private LambdaQueryWrapper<FileContentDO> buildQuery(Long configId, String path) { | ... | ... |
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
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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,10 +40,10 @@ |
| 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 | - </vxe-grid> | |
| 46 | + </XTable> | |
| 47 | 47 | </ContentWrap> |
| 48 | 48 | <!-- 弹窗 --> |
| 49 | 49 | <XModal id="${classNameVar}Model" :loading="modelLoading" v-model="modelVisible" :title="modelTitle"> |
| ... | ... | @@ -79,8 +79,7 @@ |
| 79 | 79 | import { ref, unref } from 'vue' |
| 80 | 80 | import { useI18n } from '@/hooks/web/useI18n' |
| 81 | 81 | import { useMessage } from '@/hooks/web/useMessage' |
| 82 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 83 | -import { VxeGridInstance } from 'vxe-table' | |
| 82 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 84 | 83 | import { FormExpose } from '@/components/Form' |
| 85 | 84 | // 业务相关的 import |
| 86 | 85 | import { rules, allSchemas } from './${classNameVar}.data' |
| ... | ... | @@ -90,8 +89,7 @@ const { t } = useI18n() // 国际化 |
| 90 | 89 | const message = useMessage() // 消息弹窗 |
| 91 | 90 | |
| 92 | 91 | // 列表相关的变量 |
| 93 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 94 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<${simpleClassName}Api.${simpleClassName}VO>({ | |
| 92 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 95 | 93 | allSchemas: allSchemas, |
| 96 | 94 | getListApi: ${simpleClassName}Api.get${simpleClassName}PageApi, |
| 97 | 95 | deleteApi: ${simpleClassName}Api.delete${simpleClassName}Api, |
| ... | ... | @@ -121,11 +119,6 @@ const handleCreate = () => { |
| 121 | 119 | modelLoading.value = false |
| 122 | 120 | } |
| 123 | 121 | |
| 124 | -// 导出操作 | |
| 125 | -const handleExport = async () => { | |
| 126 | - await exportList(xGrid, '${table.classComment}.xls') | |
| 127 | -} | |
| 128 | - | |
| 129 | 122 | // 修改操作 |
| 130 | 123 | const handleUpdate = async (rowId: number) => { |
| 131 | 124 | setDialogTile('update') |
| ... | ... | @@ -143,11 +136,6 @@ const handleDetail = async (rowId: number) => { |
| 143 | 136 | modelLoading.value = false |
| 144 | 137 | } |
| 145 | 138 | |
| 146 | -// 删除操作 | |
| 147 | -const handleDelete = async (rowId: number) => { | |
| 148 | - await deleteData(xGrid, rowId) | |
| 149 | -} | |
| 150 | - | |
| 151 | 139 | // 提交按钮 |
| 152 | 140 | const submitForm = async () => { |
| 153 | 141 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -169,7 +157,7 @@ const submitForm = async () => { |
| 169 | 157 | } finally { |
| 170 | 158 | actionLoading.value = false |
| 171 | 159 | // 刷新列表 |
| 172 | - await getList(xGrid) | |
| 160 | + await reload() | |
| 173 | 161 | } |
| 174 | 162 | } |
| 175 | 163 | }) | ... | ... |
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
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | <plugin> |
| 112 | 112 | <groupId>org.springframework.boot</groupId> |
| 113 | 113 | <artifactId>spring-boot-maven-plugin</artifactId> |
| 114 | - <version>2.7.6</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 --> | |
| 114 | + <version>2.7.7</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 --> | |
| 115 | 115 | <configuration> |
| 116 | 116 | <fork>true</fork> |
| 117 | 117 | </configuration> | ... | ... |
yudao-server/src/main/resources/application.yaml
| ... | ... | @@ -93,6 +93,11 @@ yudao: |
| 93 | 93 | permit-all_urls: |
| 94 | 94 | - /admin-ui/** # /resources/admin-ui 目录下的静态资源 |
| 95 | 95 | - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录 |
| 96 | + websocket: | |
| 97 | + enable: true # websocket的开关 | |
| 98 | + path: /websocket/message # 路径 | |
| 99 | + maxOnlineCount: 0 # 最大连接人数 | |
| 100 | + sessionMap: true # 保存sessionMap | |
| 96 | 101 | swagger: |
| 97 | 102 | title: 管理后台 |
| 98 | 103 | description: 提供管理员管理的所有功能 | ... | ... |
yudao-ui-admin-vue3/README.md
| ... | ... | @@ -26,19 +26,19 @@ |
| 26 | 26 | |
| 27 | 27 | ### 前端依赖 |
| 28 | 28 | |
| 29 | -| 框架 | 说明 | 版本 | | |
| 30 | -| --- | --- | --- | | |
| 29 | +| 框架 | 说明 | 版本 | | |
| 30 | +| --- | --- |--------| | |
| 31 | 31 | | [Vue](https://staging-cn.vuejs.org/) | vue 框架 | 3.2.45 | |
| 32 | -| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.3 | | |
| 33 | -| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.27 | | |
| 34 | -| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.4 | | |
| 32 | +| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.4 | | |
| 33 | +| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 | | |
| 34 | +| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.4 | | |
| 35 | 35 | | [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.28 | |
| 36 | -| [vueuse](https://vueuse.org/) | 常用工具集 | 9.8.2 | | |
| 37 | -| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.7 | | |
| 38 | -| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | | |
| 39 | -| [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 | | |
| 40 | -| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 | | |
| 41 | -| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.0.0 | | |
| 36 | +| [vueuse](https://vueuse.org/) | 常用工具集 | 9.10.0 | | |
| 37 | +| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.7 | | |
| 38 | +| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | | |
| 39 | +| [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 | | |
| 40 | +| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 | | |
| 41 | +| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.0.1 | | |
| 42 | 42 | | [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 | |
| 43 | 43 | |
| 44 | 44 | ### 推荐 VScode 开发,插件如下 | ... | ... |
yudao-ui-admin-vue3/package.json
| 1 | 1 | { |
| 2 | 2 | "name": "yudao-ui-admin-vue3", |
| 3 | - "version": "1.6.5.1879", | |
| 3 | + "version": "1.6.6-snapshot.1901", | |
| 4 | 4 | "description": "基于vue3、vite4、element-plus、typesScript", |
| 5 | 5 | "author": "xingyu", |
| 6 | 6 | "private": false, |
| ... | ... | @@ -25,18 +25,18 @@ |
| 25 | 25 | }, |
| 26 | 26 | "dependencies": { |
| 27 | 27 | "@iconify/iconify": "^3.0.1", |
| 28 | - "@vueuse/core": "^9.9.0", | |
| 28 | + "@vueuse/core": "^9.10.0", | |
| 29 | 29 | "@wangeditor/editor": "^5.1.23", |
| 30 | 30 | "@wangeditor/editor-for-vue": "^5.1.10", |
| 31 | 31 | "@zxcvbn-ts/core": "^2.1.0", |
| 32 | 32 | "animate.css": "^4.1.1", |
| 33 | - "axios": "^1.2.1", | |
| 33 | + "axios": "^1.2.2", | |
| 34 | 34 | "cropperjs": "^1.5.13", |
| 35 | 35 | "crypto-js": "^4.1.1", |
| 36 | 36 | "dayjs": "^1.11.7", |
| 37 | 37 | "echarts": "^5.4.1", |
| 38 | 38 | "echarts-wordcloud": "^2.1.0", |
| 39 | - "element-plus": "2.2.27", | |
| 39 | + "element-plus": "2.2.28", | |
| 40 | 40 | "intro.js": "^6.0.0", |
| 41 | 41 | "jsencrypt": "^3.3.1", |
| 42 | 42 | "lodash-es": "^4.17.21", |
| ... | ... | @@ -55,27 +55,27 @@ |
| 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.1.157", | |
| 58 | + "@commitlint/cli": "^17.4.0", | |
| 59 | + "@commitlint/config-conventional": "^17.4.0", | |
| 60 | + "@iconify/json": "^2.2.2", | |
| 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", |
| 64 | 64 | "@types/lodash-es": "^4.17.6", |
| 65 | - "@types/node": "^18.11.17", | |
| 65 | + "@types/node": "^18.11.18", | |
| 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.47.0", | |
| 70 | - "@typescript-eslint/parser": "^5.47.0", | |
| 69 | + "@typescript-eslint/eslint-plugin": "^5.48.0", | |
| 70 | + "@typescript-eslint/parser": "^5.48.0", | |
| 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.30.0", | |
| 77 | - "eslint-config-prettier": "^8.5.0", | |
| 78 | - "eslint-define-config": "^1.12.0", | |
| 76 | + "eslint": "^8.31.0", | |
| 77 | + "eslint-config-prettier": "^8.6.0", | |
| 78 | + "eslint-define-config": "^1.13.0", | |
| 79 | 79 | "eslint-plugin-prettier": "^4.2.1", |
| 80 | 80 | "eslint-plugin-vue": "^9.8.0", |
| 81 | 81 | "lint-staged": "^13.1.0", |
| ... | ... | @@ -84,9 +84,9 @@ |
| 84 | 84 | "postcss-scss": "^4.0.6", |
| 85 | 85 | "prettier": "^2.8.1", |
| 86 | 86 | "rimraf": "^3.0.2", |
| 87 | - "rollup": "^3.8.1", | |
| 87 | + "rollup": "^3.9.1", | |
| 88 | 88 | "sass": "^1.57.1", |
| 89 | - "stylelint": "^14.16.0", | |
| 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", |
| ... | ... | @@ -94,7 +94,7 @@ |
| 94 | 94 | "stylelint-order": "^5.0.0", |
| 95 | 95 | "terser": "^5.16.1", |
| 96 | 96 | "typescript": "4.9.4", |
| 97 | - "vite": "4.0.3", | |
| 97 | + "vite": "4.0.4", | |
| 98 | 98 | "vite-plugin-compression": "^0.5.1", |
| 99 | 99 | "vite-plugin-ejs": "^1.6.4", |
| 100 | 100 | "vite-plugin-eslint": "^1.8.1", |
| ... | ... | @@ -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.17", | |
| 107 | + "vue-tsc": "^1.0.22", | |
| 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.0 | |
| 5 | + '@commitlint/config-conventional': ^17.4.0 | |
| 6 | 6 | '@iconify/iconify': ^3.0.1 |
| 7 | - '@iconify/json': ^2.1.156 | |
| 7 | + '@iconify/json': ^2.2.2 | |
| 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 |
| 11 | 11 | '@types/lodash-es': ^4.17.6 |
| 12 | - '@types/node': ^18.11.17 | |
| 12 | + '@types/node': ^18.11.18 | |
| 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.47.0 | |
| 17 | - '@typescript-eslint/parser': ^5.47.0 | |
| 16 | + '@typescript-eslint/eslint-plugin': ^5.48.0 | |
| 17 | + '@typescript-eslint/parser': ^5.48.0 | |
| 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 |
| 21 | - '@vueuse/core': ^9.8.2 | |
| 21 | + '@vueuse/core': ^9.10.0 | |
| 22 | 22 | '@wangeditor/editor': ^5.1.23 |
| 23 | 23 | '@wangeditor/editor-for-vue': ^5.1.10 |
| 24 | 24 | '@zxcvbn-ts/core': ^2.1.0 |
| 25 | 25 | animate.css: ^4.1.1 |
| 26 | 26 | autoprefixer: ^10.4.13 |
| 27 | - axios: ^1.2.1 | |
| 27 | + axios: ^1.2.2 | |
| 28 | 28 | consola: ^2.15.3 |
| 29 | 29 | cropperjs: ^1.5.13 |
| 30 | 30 | crypto-js: ^4.1.1 |
| 31 | 31 | dayjs: ^1.11.7 |
| 32 | 32 | echarts: ^5.4.1 |
| 33 | 33 | echarts-wordcloud: ^2.1.0 |
| 34 | - element-plus: 2.2.27 | |
| 35 | - eslint: ^8.30.0 | |
| 36 | - eslint-config-prettier: ^8.5.0 | |
| 37 | - eslint-define-config: ^1.12.0 | |
| 34 | + element-plus: 2.2.28 | |
| 35 | + eslint: ^8.31.0 | |
| 36 | + eslint-config-prettier: ^8.6.0 | |
| 37 | + eslint-define-config: ^1.13.0 | |
| 38 | 38 | eslint-plugin-prettier: ^4.2.1 |
| 39 | 39 | eslint-plugin-vue: ^9.8.0 |
| 40 | 40 | intro.js: ^6.0.0 |
| ... | ... | @@ -51,9 +51,9 @@ specifiers: |
| 51 | 51 | qrcode: ^1.5.1 |
| 52 | 52 | qs: ^6.11.0 |
| 53 | 53 | rimraf: ^3.0.2 |
| 54 | - rollup: ^3.8.1 | |
| 54 | + rollup: ^3.9.1 | |
| 55 | 55 | sass: ^1.57.1 |
| 56 | - stylelint: ^14.16.0 | |
| 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 |
| ... | ... | @@ -62,7 +62,7 @@ specifiers: |
| 62 | 62 | terser: ^5.16.1 |
| 63 | 63 | typescript: 4.9.4 |
| 64 | 64 | url: ^0.11.0 |
| 65 | - vite: 4.0.3 | |
| 65 | + vite: 4.0.4 | |
| 66 | 66 | vite-plugin-compression: ^0.5.1 |
| 67 | 67 | vite-plugin-ejs: ^1.6.4 |
| 68 | 68 | vite-plugin-eslint: ^1.8.1 |
| ... | ... | @@ -75,7 +75,7 @@ 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.16 | |
| 78 | + vue-tsc: ^1.0.22 | |
| 79 | 79 | vue-types: ^5.0.2 |
| 80 | 80 | vxe-table: ^4.3.7 |
| 81 | 81 | web-storage-cache: ^1.1.1 |
| ... | ... | @@ -84,24 +84,24 @@ specifiers: |
| 84 | 84 | |
| 85 | 85 | dependencies: |
| 86 | 86 | '@iconify/iconify': 3.0.1 |
| 87 | - '@vueuse/core': 9.8.2_vue@3.2.45 | |
| 87 | + '@vueuse/core': 9.10.0_vue@3.2.45 | |
| 88 | 88 | '@wangeditor/editor': 5.1.23 |
| 89 | 89 | '@wangeditor/editor-for-vue': 5.1.12_3apfu3xbp6awzuex7ed3sbrv6y |
| 90 | 90 | '@zxcvbn-ts/core': 2.1.0 |
| 91 | 91 | animate.css: 4.1.1 |
| 92 | - axios: 1.2.1 | |
| 92 | + axios: 1.2.2 | |
| 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 | - element-plus: 2.2.27_vue@3.2.45 | |
| 98 | + element-plus: 2.2.28_vue@3.2.45 | |
| 99 | 99 | intro.js: 6.0.0 |
| 100 | 100 | jsencrypt: 3.3.1 |
| 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.28_prq2uz4lho2pwp6irk4cfkrxwu | |
| 105 | 105 | qrcode: 1.5.1 |
| 106 | 106 | qs: 6.11.0 |
| 107 | 107 | url: 0.11.0 |
| ... | ... | @@ -109,89 +109,413 @@ 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.7_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.1.156 | |
| 117 | + '@commitlint/cli': 17.4.0_@types+node@18.11.18 | |
| 118 | + '@commitlint/config-conventional': 17.4.0 | |
| 119 | + '@iconify/json': 2.2.2 | |
| 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 |
| 123 | 123 | '@types/lodash-es': 4.17.6 |
| 124 | - '@types/node': 18.11.17 | |
| 124 | + '@types/node': 18.11.18 | |
| 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.47.0_ncmi6noazr3nzas7jxykisekym | |
| 129 | - '@typescript-eslint/parser': 5.47.0_lzzuuodtsqwxnvqeq4g4likcqa | |
| 130 | - '@vitejs/plugin-legacy': registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.3 | |
| 131 | - '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/4.0.0_vite@4.0.3+vue@3.2.45 | |
| 132 | - '@vitejs/plugin-vue-jsx': registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.3+vue@3.2.45 | |
| 128 | + '@typescript-eslint/eslint-plugin': 5.48.0_k73wpmdolxikpyqun3p36akaaq | |
| 129 | + '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 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 | 133 | autoprefixer: 10.4.13_postcss@8.4.20 |
| 134 | 134 | consola: 2.15.3 |
| 135 | - eslint: 8.30.0 | |
| 136 | - eslint-config-prettier: 8.5.0_eslint@8.30.0 | |
| 137 | - eslint-define-config: 1.12.0 | |
| 138 | - eslint-plugin-prettier: 4.2.1_kl4pe43v5b43npmso5hoplpbyi | |
| 139 | - eslint-plugin-vue: 9.8.0_eslint@8.30.0 | |
| 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 | |
| 140 | 140 | lint-staged: 13.1.0 |
| 141 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 141 | + postcss: 8.4.20 | |
| 142 | 142 | postcss-html: 1.5.0 |
| 143 | 143 | postcss-scss: 4.0.6_postcss@8.4.20 |
| 144 | 144 | prettier: 2.8.1 |
| 145 | 145 | rimraf: 3.0.2 |
| 146 | - rollup: 3.8.1 | |
| 146 | + rollup: 3.9.1 | |
| 147 | 147 | sass: 1.57.1 |
| 148 | - stylelint: 14.16.0 | |
| 149 | - stylelint-config-html: 1.1.0_bto6pmslw3cibsiuq6smxboytq | |
| 150 | - stylelint-config-prettier: 9.0.4_stylelint@14.16.0 | |
| 151 | - stylelint-config-recommended: 9.0.0_stylelint@14.16.0 | |
| 152 | - stylelint-config-standard: 29.0.0_stylelint@14.16.0 | |
| 153 | - stylelint-order: 5.0.0_stylelint@14.16.0 | |
| 148 | + stylelint: 14.16.1 | |
| 149 | + stylelint-config-html: 1.1.0_kbto3rg3njmczth2rrsgfnlsqa | |
| 150 | + stylelint-config-prettier: 9.0.4_stylelint@14.16.1 | |
| 151 | + stylelint-config-recommended: 9.0.0_stylelint@14.16.1 | |
| 152 | + stylelint-config-standard: 29.0.0_stylelint@14.16.1 | |
| 153 | + stylelint-order: 5.0.0_stylelint@14.16.1 | |
| 154 | 154 | terser: 5.16.1 |
| 155 | 155 | typescript: 4.9.4 |
| 156 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 157 | - vite-plugin-compression: 0.5.1_vite@4.0.3 | |
| 156 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 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.30.0+vite@4.0.3 | |
| 160 | - vite-plugin-progress: 0.0.6_vite@4.0.3 | |
| 161 | - vite-plugin-purge-icons: registry.npmmirror.com/vite-plugin-purge-icons/0.9.2_vite@4.0.3 | |
| 162 | - vite-plugin-style-import: 2.0.0_vite@4.0.3 | |
| 163 | - vite-plugin-svg-icons: 2.0.1_vite@4.0.3 | |
| 164 | - vite-plugin-vue-setup-extend: 0.4.0_vite@4.0.3 | |
| 165 | - vite-plugin-windicss: registry.npmmirror.com/vite-plugin-windicss/1.8.10_vite@4.0.3 | |
| 166 | - vue-tsc: 1.0.16_typescript@4.9.4 | |
| 159 | + vite-plugin-eslint: 1.8.1_eslint@8.31.0+vite@4.0.4 | |
| 160 | + vite-plugin-progress: 0.0.6_vite@4.0.4 | |
| 161 | + vite-plugin-purge-icons: 0.9.2_vite@4.0.4 | |
| 162 | + vite-plugin-style-import: 2.0.0_vite@4.0.4 | |
| 163 | + vite-plugin-svg-icons: 2.0.1_vite@4.0.4 | |
| 164 | + vite-plugin-vue-setup-extend: 0.4.0_vite@4.0.4 | |
| 165 | + vite-plugin-windicss: 1.8.10_vite@4.0.4 | |
| 166 | + vue-tsc: 1.0.22_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 | + | |
| 183 | + /@babel/code-frame/7.18.6: | |
| 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} | |
| 185 | + engines: {node: '>=6.9.0'} | |
| 186 | + dependencies: | |
| 187 | + '@babel/highlight': 7.18.6 | |
| 188 | + dev: true | |
| 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 | + | |
| 354 | + /@babel/helper-string-parser/7.19.4: | |
| 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} | |
| 356 | + engines: {node: '>=6.9.0'} | |
| 357 | + | |
| 358 | + /@babel/helper-validator-identifier/7.19.1: | |
| 359 | + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, 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} | |
| 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 | |
| 377 | + | |
| 378 | + /@babel/highlight/7.18.6: | |
| 379 | + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@babel/highlight/-/highlight-7.18.6.tgz} | |
| 380 | + engines: {node: '>=6.9.0'} | |
| 381 | + dependencies: | |
| 382 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 383 | + chalk: 2.4.2 | |
| 384 | + js-tokens: 4.0.0 | |
| 385 | + dev: true | |
| 386 | + | |
| 171 | 387 | /@babel/parser/7.20.3: |
| 172 | 388 | resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} |
| 173 | 389 | engines: {node: '>=6.0.0'} |
| 174 | 390 | hasBin: true |
| 175 | 391 | dependencies: |
| 176 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 392 | + '@babel/types': 7.20.5 | |
| 393 | + | |
| 394 | + /@babel/parser/7.20.5: | |
| 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} | |
| 396 | + engines: {node: '>=6.0.0'} | |
| 397 | + hasBin: true | |
| 398 | + dependencies: | |
| 399 | + '@babel/types': 7.20.5 | |
| 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 | |
| 177 | 434 | |
| 178 | 435 | /@babel/runtime/7.20.1: |
| 179 | 436 | resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} |
| 180 | 437 | engines: {node: '>=6.9.0'} |
| 181 | 438 | dependencies: |
| 182 | - regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11 | |
| 439 | + regenerator-runtime: 0.13.11 | |
| 183 | 440 | dev: false |
| 184 | 441 | |
| 185 | - /@commitlint/cli/17.3.0: | |
| 186 | - resolution: {integrity: sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==} | |
| 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 | + | |
| 501 | + /@babel/types/7.20.5: | |
| 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} | |
| 503 | + engines: {node: '>=6.9.0'} | |
| 504 | + dependencies: | |
| 505 | + '@babel/helper-string-parser': 7.19.4 | |
| 506 | + '@babel/helper-validator-identifier': 7.19.1 | |
| 507 | + to-fast-properties: 2.0.0 | |
| 508 | + | |
| 509 | + /@commitlint/cli/17.4.0_@types+node@18.11.18: | |
| 510 | + resolution: {integrity: sha512-SEY4sYe8yVlgxPP7X0wJb96DBAGBPsCsy6QbqJt/UECbIAjDeDV5xXBV4jnS7T/qMC10sk6Ub9kDhEX0VWvblw==} | |
| 187 | 511 | engines: {node: '>=v14'} |
| 188 | 512 | hasBin: true |
| 189 | 513 | dependencies: |
| 190 | - '@commitlint/format': 17.0.0 | |
| 191 | - '@commitlint/lint': 17.3.0 | |
| 192 | - '@commitlint/load': 17.3.0 | |
| 193 | - '@commitlint/read': 17.2.0 | |
| 194 | - '@commitlint/types': 17.0.0 | |
| 514 | + '@commitlint/format': 17.4.0 | |
| 515 | + '@commitlint/lint': 17.4.0 | |
| 516 | + '@commitlint/load': 17.4.0_@types+node@18.11.18 | |
| 517 | + '@commitlint/read': 17.4.0 | |
| 518 | + '@commitlint/types': 17.4.0 | |
| 195 | 519 | execa: 5.1.1 |
| 196 | 520 | lodash.isfunction: 3.0.9 |
| 197 | 521 | resolve-from: 5.0.0 |
| ... | ... | @@ -200,28 +524,29 @@ packages: |
| 200 | 524 | transitivePeerDependencies: |
| 201 | 525 | - '@swc/core' |
| 202 | 526 | - '@swc/wasm' |
| 527 | + - '@types/node' | |
| 203 | 528 | dev: true |
| 204 | 529 | |
| 205 | - /@commitlint/config-conventional/17.3.0: | |
| 206 | - resolution: {integrity: sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==} | |
| 530 | + /@commitlint/config-conventional/17.4.0: | |
| 531 | + resolution: {integrity: sha512-G4XBf45J4ZMspO4NwBFzY3g/1Kb+B42BcIxeikF8wucQxcyxcmhRdjeQpRpS1XEcBq5pdtEEQFipuB9IuiNFhw==} | |
| 207 | 532 | engines: {node: '>=v14'} |
| 208 | 533 | dependencies: |
| 209 | 534 | conventional-changelog-conventionalcommits: 5.0.0 |
| 210 | 535 | dev: true |
| 211 | 536 | |
| 212 | - /@commitlint/config-validator/17.1.0: | |
| 213 | - resolution: {integrity: sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==} | |
| 537 | + /@commitlint/config-validator/17.4.0: | |
| 538 | + resolution: {integrity: sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==} | |
| 214 | 539 | engines: {node: '>=v14'} |
| 215 | 540 | dependencies: |
| 216 | - '@commitlint/types': 17.0.0 | |
| 541 | + '@commitlint/types': 17.4.0 | |
| 217 | 542 | ajv: 8.11.2 |
| 218 | 543 | dev: true |
| 219 | 544 | |
| 220 | - /@commitlint/ensure/17.3.0: | |
| 221 | - resolution: {integrity: sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==} | |
| 545 | + /@commitlint/ensure/17.4.0: | |
| 546 | + resolution: {integrity: sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==} | |
| 222 | 547 | engines: {node: '>=v14'} |
| 223 | 548 | dependencies: |
| 224 | - '@commitlint/types': 17.0.0 | |
| 549 | + '@commitlint/types': 17.4.0 | |
| 225 | 550 | lodash.camelcase: 4.3.0 |
| 226 | 551 | lodash.kebabcase: 4.1.1 |
| 227 | 552 | lodash.snakecase: 4.1.1 |
| ... | ... | @@ -229,122 +554,122 @@ packages: |
| 229 | 554 | lodash.upperfirst: 4.3.1 |
| 230 | 555 | dev: true |
| 231 | 556 | |
| 232 | - /@commitlint/execute-rule/17.0.0: | |
| 233 | - resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==} | |
| 557 | + /@commitlint/execute-rule/17.4.0: | |
| 558 | + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} | |
| 234 | 559 | engines: {node: '>=v14'} |
| 235 | 560 | dev: true |
| 236 | 561 | |
| 237 | - /@commitlint/format/17.0.0: | |
| 238 | - resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==} | |
| 562 | + /@commitlint/format/17.4.0: | |
| 563 | + resolution: {integrity: sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==} | |
| 239 | 564 | engines: {node: '>=v14'} |
| 240 | 565 | dependencies: |
| 241 | - '@commitlint/types': 17.0.0 | |
| 566 | + '@commitlint/types': 17.4.0 | |
| 242 | 567 | chalk: 4.1.2 |
| 243 | 568 | dev: true |
| 244 | 569 | |
| 245 | - /@commitlint/is-ignored/17.2.0: | |
| 246 | - resolution: {integrity: sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==} | |
| 570 | + /@commitlint/is-ignored/17.4.0: | |
| 571 | + resolution: {integrity: sha512-mkRuBlPUaBimvSvJyIHEHEW1/jP1SqEI7NOoaO9/eyJkMbsaiv5b1QgDYL4ZXlHdS64RMV7Y21MVVzuIceImDA==} | |
| 247 | 572 | engines: {node: '>=v14'} |
| 248 | 573 | dependencies: |
| 249 | - '@commitlint/types': 17.0.0 | |
| 250 | - semver: registry.npmmirror.com/semver/7.3.7 | |
| 574 | + '@commitlint/types': 17.4.0 | |
| 575 | + semver: 7.3.8 | |
| 251 | 576 | dev: true |
| 252 | 577 | |
| 253 | - /@commitlint/lint/17.3.0: | |
| 254 | - resolution: {integrity: sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==} | |
| 578 | + /@commitlint/lint/17.4.0: | |
| 579 | + resolution: {integrity: sha512-HG2YT4TUbQKs9v8QvpQjJ6OK+fhflsDB8M+D5tLrY79hbQOWA9mDKdRkABsW/AAhpNI9+zeGUWF3jj245jSHKw==} | |
| 255 | 580 | engines: {node: '>=v14'} |
| 256 | 581 | dependencies: |
| 257 | - '@commitlint/is-ignored': 17.2.0 | |
| 258 | - '@commitlint/parse': 17.2.0 | |
| 259 | - '@commitlint/rules': 17.3.0 | |
| 260 | - '@commitlint/types': 17.0.0 | |
| 582 | + '@commitlint/is-ignored': 17.4.0 | |
| 583 | + '@commitlint/parse': 17.4.0 | |
| 584 | + '@commitlint/rules': 17.4.0 | |
| 585 | + '@commitlint/types': 17.4.0 | |
| 261 | 586 | dev: true |
| 262 | 587 | |
| 263 | - /@commitlint/load/17.3.0: | |
| 264 | - resolution: {integrity: sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==} | |
| 588 | + /@commitlint/load/17.4.0_@types+node@18.11.18: | |
| 589 | + resolution: {integrity: sha512-wDKNvAJqukqZqKmhRlf3KNo/12QGo1AQcd80EbV01SxtGvyHOsJ/g+/IbrZpopZv8rvzmEVktcpfDYH6ITepFA==} | |
| 265 | 590 | engines: {node: '>=v14'} |
| 266 | 591 | dependencies: |
| 267 | - '@commitlint/config-validator': 17.1.0 | |
| 268 | - '@commitlint/execute-rule': 17.0.0 | |
| 269 | - '@commitlint/resolve-extends': 17.3.0 | |
| 270 | - '@commitlint/types': 17.0.0 | |
| 271 | - '@types/node': 14.18.33 | |
| 592 | + '@commitlint/config-validator': 17.4.0 | |
| 593 | + '@commitlint/execute-rule': 17.4.0 | |
| 594 | + '@commitlint/resolve-extends': 17.4.0 | |
| 595 | + '@commitlint/types': 17.4.0 | |
| 272 | 596 | chalk: 4.1.2 |
| 273 | - cosmiconfig: 7.1.0 | |
| 274 | - cosmiconfig-typescript-loader: 4.2.0_wb7bklcl6jlvxijczjyxggip4a | |
| 597 | + cosmiconfig: 8.0.0 | |
| 598 | + cosmiconfig-typescript-loader: 4.2.0_bxtyj3et3xbsdyxhh3oblnfbj4 | |
| 275 | 599 | lodash.isplainobject: 4.0.6 |
| 276 | 600 | lodash.merge: 4.6.2 |
| 277 | 601 | lodash.uniq: 4.5.0 |
| 278 | 602 | resolve-from: 5.0.0 |
| 279 | - ts-node: 10.9.1_rju6pyblifsagdmqm3y74zsi6q | |
| 603 | + ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq | |
| 280 | 604 | typescript: 4.9.4 |
| 281 | 605 | transitivePeerDependencies: |
| 282 | 606 | - '@swc/core' |
| 283 | 607 | - '@swc/wasm' |
| 608 | + - '@types/node' | |
| 284 | 609 | dev: true |
| 285 | 610 | |
| 286 | - /@commitlint/message/17.2.0: | |
| 287 | - resolution: {integrity: sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==} | |
| 611 | + /@commitlint/message/17.4.0: | |
| 612 | + resolution: {integrity: sha512-USGJDU9PPxcgQjKXCzvPUal65KAhxWq3hp+MrU1pNCN2itWM654CLIoY2LMIQ7rScTli9B5dTLH3vXhzbItmzA==} | |
| 288 | 613 | engines: {node: '>=v14'} |
| 289 | 614 | dev: true |
| 290 | 615 | |
| 291 | - /@commitlint/parse/17.2.0: | |
| 292 | - resolution: {integrity: sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==} | |
| 616 | + /@commitlint/parse/17.4.0: | |
| 617 | + resolution: {integrity: sha512-x8opKc5p+Hgs+CrMbq3VAnW2L2foPAX6arW8u9c8nTzksldGgFsENT+XVyPmpSMLlVBswZ1tndcz1xyKiY9TJA==} | |
| 293 | 618 | engines: {node: '>=v14'} |
| 294 | 619 | dependencies: |
| 295 | - '@commitlint/types': 17.0.0 | |
| 620 | + '@commitlint/types': 17.4.0 | |
| 296 | 621 | conventional-changelog-angular: 5.0.13 |
| 297 | 622 | conventional-commits-parser: 3.2.4 |
| 298 | 623 | dev: true |
| 299 | 624 | |
| 300 | - /@commitlint/read/17.2.0: | |
| 301 | - resolution: {integrity: sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==} | |
| 625 | + /@commitlint/read/17.4.0: | |
| 626 | + resolution: {integrity: sha512-pGDeZpbkyvhxK8ZoCDUacPPRpauKPWF3n2XpDBEnuGreqUF2clq2PVJpwMMaNN5cHW8iFKCbcoOjXhD01sln0A==} | |
| 302 | 627 | engines: {node: '>=v14'} |
| 303 | 628 | dependencies: |
| 304 | - '@commitlint/top-level': 17.0.0 | |
| 305 | - '@commitlint/types': 17.0.0 | |
| 306 | - fs-extra: 10.1.0 | |
| 629 | + '@commitlint/top-level': 17.4.0 | |
| 630 | + '@commitlint/types': 17.4.0 | |
| 631 | + fs-extra: 11.1.0 | |
| 307 | 632 | git-raw-commits: 2.0.11 |
| 308 | 633 | minimist: 1.2.7 |
| 309 | 634 | dev: true |
| 310 | 635 | |
| 311 | - /@commitlint/resolve-extends/17.3.0: | |
| 312 | - resolution: {integrity: sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==} | |
| 636 | + /@commitlint/resolve-extends/17.4.0: | |
| 637 | + resolution: {integrity: sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==} | |
| 313 | 638 | engines: {node: '>=v14'} |
| 314 | 639 | dependencies: |
| 315 | - '@commitlint/config-validator': 17.1.0 | |
| 316 | - '@commitlint/types': 17.0.0 | |
| 640 | + '@commitlint/config-validator': 17.4.0 | |
| 641 | + '@commitlint/types': 17.4.0 | |
| 317 | 642 | import-fresh: 3.3.0 |
| 318 | 643 | lodash.mergewith: 4.6.2 |
| 319 | 644 | resolve-from: 5.0.0 |
| 320 | 645 | resolve-global: 1.0.0 |
| 321 | 646 | dev: true |
| 322 | 647 | |
| 323 | - /@commitlint/rules/17.3.0: | |
| 324 | - resolution: {integrity: sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==} | |
| 648 | + /@commitlint/rules/17.4.0: | |
| 649 | + resolution: {integrity: sha512-lz3i1jet2NNjTWpAMwjjQjMZCPWBIHK1Kkja9o09UmUtMjRdALTb8uMLe8gCyeq3DiiZ5lLYOhbsoPK56xGQKA==} | |
| 325 | 650 | engines: {node: '>=v14'} |
| 326 | 651 | dependencies: |
| 327 | - '@commitlint/ensure': 17.3.0 | |
| 328 | - '@commitlint/message': 17.2.0 | |
| 329 | - '@commitlint/to-lines': 17.0.0 | |
| 330 | - '@commitlint/types': 17.0.0 | |
| 652 | + '@commitlint/ensure': 17.4.0 | |
| 653 | + '@commitlint/message': 17.4.0 | |
| 654 | + '@commitlint/to-lines': 17.4.0 | |
| 655 | + '@commitlint/types': 17.4.0 | |
| 331 | 656 | execa: 5.1.1 |
| 332 | 657 | dev: true |
| 333 | 658 | |
| 334 | - /@commitlint/to-lines/17.0.0: | |
| 335 | - resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==} | |
| 659 | + /@commitlint/to-lines/17.4.0: | |
| 660 | + resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} | |
| 336 | 661 | engines: {node: '>=v14'} |
| 337 | 662 | dev: true |
| 338 | 663 | |
| 339 | - /@commitlint/top-level/17.0.0: | |
| 340 | - resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==} | |
| 664 | + /@commitlint/top-level/17.4.0: | |
| 665 | + resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} | |
| 341 | 666 | engines: {node: '>=v14'} |
| 342 | 667 | dependencies: |
| 343 | 668 | find-up: 5.0.0 |
| 344 | 669 | dev: true |
| 345 | 670 | |
| 346 | - /@commitlint/types/17.0.0: | |
| 347 | - resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==} | |
| 671 | + /@commitlint/types/17.4.0: | |
| 672 | + resolution: {integrity: sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==} | |
| 348 | 673 | engines: {node: '>=v14'} |
| 349 | 674 | dependencies: |
| 350 | 675 | chalk: 4.1.2 |
| ... | ... | @@ -354,7 +679,7 @@ packages: |
| 354 | 679 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} |
| 355 | 680 | engines: {node: '>=12'} |
| 356 | 681 | dependencies: |
| 357 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9 | |
| 682 | + '@jridgewell/trace-mapping': 0.3.9 | |
| 358 | 683 | dev: true |
| 359 | 684 | |
| 360 | 685 | /@csstools/selector-specificity/2.0.2_2xshye3abirqjlplmebvmaxyna: |
| ... | ... | @@ -364,7 +689,7 @@ packages: |
| 364 | 689 | postcss: ^8.2 |
| 365 | 690 | postcss-selector-parser: ^6.0.10 |
| 366 | 691 | dependencies: |
| 367 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 692 | + postcss: 8.4.20 | |
| 368 | 693 | postcss-selector-parser: 6.0.11 |
| 369 | 694 | dev: true |
| 370 | 695 | |
| ... | ... | @@ -579,8 +904,8 @@ packages: |
| 579 | 904 | dev: true |
| 580 | 905 | optional: true |
| 581 | 906 | |
| 582 | - /@eslint/eslintrc/1.4.0: | |
| 583 | - resolution: {integrity: sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==} | |
| 907 | + /@eslint/eslintrc/1.4.1: | |
| 908 | + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} | |
| 584 | 909 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 585 | 910 | dependencies: |
| 586 | 911 | ajv: 6.12.6 |
| ... | ... | @@ -626,16 +951,24 @@ packages: |
| 626 | 951 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} |
| 627 | 952 | dev: true |
| 628 | 953 | |
| 954 | + /@iconify/iconify/2.1.2: | |
| 955 | + 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} | |
| 956 | + dependencies: | |
| 957 | + cross-fetch: 3.1.5 | |
| 958 | + transitivePeerDependencies: | |
| 959 | + - encoding | |
| 960 | + dev: true | |
| 961 | + | |
| 629 | 962 | /@iconify/iconify/3.0.1: |
| 630 | 963 | resolution: {integrity: sha512-OPqVBTh8YsfrYZRVFv3OkmFNLqacM0dy/Oiw1h2wO+RZW5LieNGHlG2f9pzaeVRFWbEB8LHTeo8mcwgUTUbibQ==} |
| 631 | 964 | dependencies: |
| 632 | 965 | '@iconify/types': 2.0.0 |
| 633 | 966 | |
| 634 | - /@iconify/json/2.1.156: | |
| 635 | - resolution: {integrity: sha512-QaLf/XSPRe6i35Z9WIRBxlWOLykDXNnEGYFf+9E+GWLmRqVQ2VNyTsEo6CNZqP5eGQRDPJyNhd+2vH+gbehGDg==} | |
| 967 | + /@iconify/json/2.2.2: | |
| 968 | + resolution: {integrity: sha512-G9HVJz3uvQGNEirk9oI7xYnWb7ygEfTUZ+PVp81qgNp8bu5UOtXaxjTGw78NyNAC2OlryH5tSEp95Dqbt4LLQQ==} | |
| 636 | 969 | dependencies: |
| 637 | 970 | '@iconify/types': 2.0.0 |
| 638 | - pathe: 0.3.9 | |
| 971 | + pathe: 1.0.0 | |
| 639 | 972 | dev: true |
| 640 | 973 | |
| 641 | 974 | /@iconify/types/2.0.0: |
| ... | ... | @@ -653,8 +986,8 @@ packages: |
| 653 | 986 | vue-i18n: |
| 654 | 987 | optional: true |
| 655 | 988 | dependencies: |
| 656 | - '@intlify/message-compiler': 9.3.0-beta.11 | |
| 657 | - '@intlify/shared': 9.3.0-beta.11 | |
| 989 | + '@intlify/message-compiler': 9.3.0-beta.12 | |
| 990 | + '@intlify/shared': 9.3.0-beta.12 | |
| 658 | 991 | jsonc-eslint-parser: 1.4.1 |
| 659 | 992 | source-map: 0.6.1 |
| 660 | 993 | vue-i18n: 9.2.2_vue@3.2.45 |
| ... | ... | @@ -683,8 +1016,8 @@ packages: |
| 683 | 1016 | '@intlify/shared': 9.2.2 |
| 684 | 1017 | source-map: 0.6.1 |
| 685 | 1018 | |
| 686 | - /@intlify/message-compiler/9.3.0-beta.11: | |
| 687 | - resolution: {integrity: sha512-gGGfBGzM7JBXp1Q9gbDAy5jELz9ho3ILqnpxp2yp64+gkqohrqc2YXIvCdwZoc6AtKIh/Zmv4sWVqxkvMsBWtQ==} | |
| 1019 | + /@intlify/message-compiler/9.3.0-beta.12: | |
| 1020 | + resolution: {integrity: sha512-A8/s7pb3v8nf6HG77qFPJntxgQKI9GXxGnkn7aO+b03/X/GkF/4WceDSAIk3i+yLeIgszeBn9GZ23tSg4sTEHA==} | |
| 688 | 1021 | engines: {node: '>= 14'} |
| 689 | 1022 | dependencies: |
| 690 | 1023 | '@intlify/shared': 9.3.0-beta.11 |
| ... | ... | @@ -700,6 +1033,11 @@ packages: |
| 700 | 1033 | engines: {node: '>= 14'} |
| 701 | 1034 | dev: true |
| 702 | 1035 | |
| 1036 | + /@intlify/shared/9.3.0-beta.12: | |
| 1037 | + resolution: {integrity: sha512-WsmaS54sA8xuwezPKpa/OMoaX1v2VF2fCgAmYS6prDr2ir0CkUFWPm9A8ilmxzv4nkS61/v8+vf4lGGkn5uBdA==} | |
| 1038 | + engines: {node: '>= 14'} | |
| 1039 | + dev: true | |
| 1040 | + | |
| 703 | 1041 | /@intlify/unplugin-vue-i18n/0.8.1_vue-i18n@9.2.2: |
| 704 | 1042 | resolution: {integrity: sha512-BhigujPmP6JL1FSxmpogCaL+REozncHCVkJuUnefz4GWBu3X+pRe5O7PeJn8/g+Iml2ieQJz4ISPMmEbuGQjqQ==} |
| 705 | 1043 | engines: {node: '>= 14.16'} |
| ... | ... | @@ -716,7 +1054,7 @@ packages: |
| 716 | 1054 | optional: true |
| 717 | 1055 | dependencies: |
| 718 | 1056 | '@intlify/bundle-utils': 3.4.0_vue-i18n@9.2.2 |
| 719 | - '@intlify/shared': 9.3.0-beta.11 | |
| 1057 | + '@intlify/shared': 9.3.0-beta.12 | |
| 720 | 1058 | '@rollup/pluginutils': 4.2.1 |
| 721 | 1059 | '@vue/compiler-sfc': 3.2.45 |
| 722 | 1060 | debug: 4.3.4 |
| ... | ... | @@ -739,13 +1077,31 @@ packages: |
| 739 | 1077 | '@intlify/core-base': 9.2.2 |
| 740 | 1078 | '@intlify/shared': 9.2.2 |
| 741 | 1079 | |
| 1080 | + /@jridgewell/gen-mapping/0.1.1: | |
| 1081 | + 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} | |
| 1082 | + engines: {node: '>=6.0.0'} | |
| 1083 | + dependencies: | |
| 1084 | + '@jridgewell/set-array': 1.1.2 | |
| 1085 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1086 | + dev: true | |
| 1087 | + | |
| 742 | 1088 | /@jridgewell/gen-mapping/0.3.2: |
| 743 | 1089 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} |
| 744 | 1090 | engines: {node: '>=6.0.0'} |
| 745 | 1091 | dependencies: |
| 746 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 747 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 748 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 1092 | + '@jridgewell/set-array': 1.1.2 | |
| 1093 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1094 | + '@jridgewell/trace-mapping': 0.3.17 | |
| 1095 | + dev: true | |
| 1096 | + | |
| 1097 | + /@jridgewell/resolve-uri/3.1.0: | |
| 1098 | + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} | |
| 1099 | + engines: {node: '>=6.0.0'} | |
| 1100 | + dev: true | |
| 1101 | + | |
| 1102 | + /@jridgewell/set-array/1.1.2: | |
| 1103 | + 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} | |
| 1104 | + engines: {node: '>=6.0.0'} | |
| 749 | 1105 | dev: true |
| 750 | 1106 | |
| 751 | 1107 | /@jridgewell/source-map/0.3.2: |
| ... | ... | @@ -755,11 +1111,22 @@ packages: |
| 755 | 1111 | '@jridgewell/trace-mapping': 0.3.17 |
| 756 | 1112 | dev: true |
| 757 | 1113 | |
| 1114 | + /@jridgewell/sourcemap-codec/1.4.14: | |
| 1115 | + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} | |
| 1116 | + dev: true | |
| 1117 | + | |
| 758 | 1118 | /@jridgewell/trace-mapping/0.3.17: |
| 759 | 1119 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} |
| 760 | 1120 | dependencies: |
| 761 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 762 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 1121 | + '@jridgewell/resolve-uri': 3.1.0 | |
| 1122 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 1123 | + dev: true | |
| 1124 | + | |
| 1125 | + /@jridgewell/trace-mapping/0.3.9: | |
| 1126 | + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} | |
| 1127 | + dependencies: | |
| 1128 | + '@jridgewell/resolve-uri': 3.1.0 | |
| 1129 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 763 | 1130 | dev: true |
| 764 | 1131 | |
| 765 | 1132 | /@nodelib/fs.scandir/2.1.5: |
| ... | ... | @@ -783,6 +1150,19 @@ packages: |
| 783 | 1150 | fastq: 1.13.0 |
| 784 | 1151 | dev: true |
| 785 | 1152 | |
| 1153 | + /@purge-icons/core/0.9.1: | |
| 1154 | + 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} | |
| 1155 | + dependencies: | |
| 1156 | + '@iconify/iconify': 2.1.2 | |
| 1157 | + axios: 0.26.1_debug@4.3.4 | |
| 1158 | + debug: 4.3.4 | |
| 1159 | + fast-glob: 3.2.12 | |
| 1160 | + fs-extra: 10.1.0 | |
| 1161 | + transitivePeerDependencies: | |
| 1162 | + - encoding | |
| 1163 | + - supports-color | |
| 1164 | + dev: true | |
| 1165 | + | |
| 786 | 1166 | /@purge-icons/generated/0.9.0: |
| 787 | 1167 | resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==} |
| 788 | 1168 | dependencies: |
| ... | ... | @@ -865,12 +1245,8 @@ packages: |
| 865 | 1245 | resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} |
| 866 | 1246 | dev: true |
| 867 | 1247 | |
| 868 | - /@types/node/14.18.33: | |
| 869 | - resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} | |
| 870 | - dev: true | |
| 871 | - | |
| 872 | - /@types/node/18.11.17: | |
| 873 | - resolution: {integrity: sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==} | |
| 1248 | + /@types/node/18.11.18: | |
| 1249 | + resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} | |
| 874 | 1250 | dev: true |
| 875 | 1251 | |
| 876 | 1252 | /@types/normalize-package-data/2.4.1: |
| ... | ... | @@ -888,7 +1264,7 @@ packages: |
| 888 | 1264 | /@types/qrcode/1.5.0: |
| 889 | 1265 | resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==} |
| 890 | 1266 | dependencies: |
| 891 | - '@types/node': 18.11.17 | |
| 1267 | + '@types/node': 18.11.18 | |
| 892 | 1268 | dev: true |
| 893 | 1269 | |
| 894 | 1270 | /@types/qs/6.9.7: |
| ... | ... | @@ -902,15 +1278,15 @@ packages: |
| 902 | 1278 | /@types/svgo/2.6.4: |
| 903 | 1279 | resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} |
| 904 | 1280 | dependencies: |
| 905 | - '@types/node': 18.11.17 | |
| 1281 | + '@types/node': 18.11.18 | |
| 906 | 1282 | dev: true |
| 907 | 1283 | |
| 908 | 1284 | /@types/web-bluetooth/0.0.16: |
| 909 | 1285 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} |
| 910 | 1286 | dev: false |
| 911 | 1287 | |
| 912 | - /@typescript-eslint/eslint-plugin/5.47.0_ncmi6noazr3nzas7jxykisekym: | |
| 913 | - resolution: {integrity: sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==} | |
| 1288 | + /@typescript-eslint/eslint-plugin/5.48.0_k73wpmdolxikpyqun3p36akaaq: | |
| 1289 | + resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==} | |
| 914 | 1290 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 915 | 1291 | peerDependencies: |
| 916 | 1292 | '@typescript-eslint/parser': ^5.0.0 |
| ... | ... | @@ -920,12 +1296,12 @@ packages: |
| 920 | 1296 | typescript: |
| 921 | 1297 | optional: true |
| 922 | 1298 | dependencies: |
| 923 | - '@typescript-eslint/parser': 5.47.0_lzzuuodtsqwxnvqeq4g4likcqa | |
| 924 | - '@typescript-eslint/scope-manager': 5.47.0 | |
| 925 | - '@typescript-eslint/type-utils': 5.47.0_lzzuuodtsqwxnvqeq4g4likcqa | |
| 926 | - '@typescript-eslint/utils': 5.47.0_lzzuuodtsqwxnvqeq4g4likcqa | |
| 1299 | + '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 1300 | + '@typescript-eslint/scope-manager': 5.48.0 | |
| 1301 | + '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 1302 | + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 927 | 1303 | debug: 4.3.4 |
| 928 | - eslint: 8.30.0 | |
| 1304 | + eslint: 8.31.0 | |
| 929 | 1305 | ignore: 5.2.1 |
| 930 | 1306 | natural-compare-lite: 1.4.0 |
| 931 | 1307 | regexpp: 3.2.0 |
| ... | ... | @@ -936,8 +1312,8 @@ packages: |
| 936 | 1312 | - supports-color |
| 937 | 1313 | dev: true |
| 938 | 1314 | |
| 939 | - /@typescript-eslint/parser/5.47.0_lzzuuodtsqwxnvqeq4g4likcqa: | |
| 940 | - resolution: {integrity: sha512-udPU4ckK+R1JWCGdQC4Qa27NtBg7w020ffHqGyAK8pAgOVuNw7YaKXGChk+udh+iiGIJf6/E/0xhVXyPAbsczw==} | |
| 1315 | + /@typescript-eslint/parser/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 1316 | + resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==} | |
| 941 | 1317 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 942 | 1318 | peerDependencies: |
| 943 | 1319 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| ... | ... | @@ -946,26 +1322,26 @@ packages: |
| 946 | 1322 | typescript: |
| 947 | 1323 | optional: true |
| 948 | 1324 | dependencies: |
| 949 | - '@typescript-eslint/scope-manager': 5.47.0 | |
| 950 | - '@typescript-eslint/types': 5.47.0 | |
| 951 | - '@typescript-eslint/typescript-estree': 5.47.0_typescript@4.9.4 | |
| 1325 | + '@typescript-eslint/scope-manager': 5.48.0 | |
| 1326 | + '@typescript-eslint/types': 5.48.0 | |
| 1327 | + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 952 | 1328 | debug: 4.3.4 |
| 953 | - eslint: 8.30.0 | |
| 1329 | + eslint: 8.31.0 | |
| 954 | 1330 | typescript: 4.9.4 |
| 955 | 1331 | transitivePeerDependencies: |
| 956 | 1332 | - supports-color |
| 957 | 1333 | dev: true |
| 958 | 1334 | |
| 959 | - /@typescript-eslint/scope-manager/5.47.0: | |
| 960 | - resolution: {integrity: sha512-dvJab4bFf7JVvjPuh3sfBUWsiD73aiftKBpWSfi3sUkysDQ4W8x+ZcFpNp7Kgv0weldhpmMOZBjx1wKN8uWvAw==} | |
| 1335 | + /@typescript-eslint/scope-manager/5.48.0: | |
| 1336 | + resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==} | |
| 961 | 1337 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 962 | 1338 | dependencies: |
| 963 | - '@typescript-eslint/types': 5.47.0 | |
| 964 | - '@typescript-eslint/visitor-keys': 5.47.0 | |
| 1339 | + '@typescript-eslint/types': 5.48.0 | |
| 1340 | + '@typescript-eslint/visitor-keys': 5.48.0 | |
| 965 | 1341 | dev: true |
| 966 | 1342 | |
| 967 | - /@typescript-eslint/type-utils/5.47.0_lzzuuodtsqwxnvqeq4g4likcqa: | |
| 968 | - resolution: {integrity: sha512-1J+DFFrYoDUXQE1b7QjrNGARZE6uVhBqIvdaXTe5IN+NmEyD68qXR1qX1g2u4voA+nCaelQyG8w30SAOihhEYg==} | |
| 1343 | + /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 1344 | + resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==} | |
| 969 | 1345 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 970 | 1346 | peerDependencies: |
| 971 | 1347 | eslint: '*' |
| ... | ... | @@ -974,23 +1350,23 @@ packages: |
| 974 | 1350 | typescript: |
| 975 | 1351 | optional: true |
| 976 | 1352 | dependencies: |
| 977 | - '@typescript-eslint/typescript-estree': 5.47.0_typescript@4.9.4 | |
| 978 | - '@typescript-eslint/utils': 5.47.0_lzzuuodtsqwxnvqeq4g4likcqa | |
| 1353 | + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 1354 | + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe | |
| 979 | 1355 | debug: 4.3.4 |
| 980 | - eslint: 8.30.0 | |
| 1356 | + eslint: 8.31.0 | |
| 981 | 1357 | tsutils: 3.21.0_typescript@4.9.4 |
| 982 | 1358 | typescript: 4.9.4 |
| 983 | 1359 | transitivePeerDependencies: |
| 984 | 1360 | - supports-color |
| 985 | 1361 | dev: true |
| 986 | 1362 | |
| 987 | - /@typescript-eslint/types/5.47.0: | |
| 988 | - resolution: {integrity: sha512-eslFG0Qy8wpGzDdYKu58CEr3WLkjwC5Usa6XbuV89ce/yN5RITLe1O8e+WFEuxnfftHiJImkkOBADj58ahRxSg==} | |
| 1363 | + /@typescript-eslint/types/5.48.0: | |
| 1364 | + resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==} | |
| 989 | 1365 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 990 | 1366 | dev: true |
| 991 | 1367 | |
| 992 | - /@typescript-eslint/typescript-estree/5.47.0_typescript@4.9.4: | |
| 993 | - resolution: {integrity: sha512-LxfKCG4bsRGq60Sqqu+34QT5qT2TEAHvSCCJ321uBWywgE2dS0LKcu5u+3sMGo+Vy9UmLOhdTw5JHzePV/1y4Q==} | |
| 1368 | + /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4: | |
| 1369 | + resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==} | |
| 994 | 1370 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 995 | 1371 | peerDependencies: |
| 996 | 1372 | typescript: '*' |
| ... | ... | @@ -998,8 +1374,8 @@ packages: |
| 998 | 1374 | typescript: |
| 999 | 1375 | optional: true |
| 1000 | 1376 | dependencies: |
| 1001 | - '@typescript-eslint/types': 5.47.0 | |
| 1002 | - '@typescript-eslint/visitor-keys': 5.47.0 | |
| 1377 | + '@typescript-eslint/types': 5.48.0 | |
| 1378 | + '@typescript-eslint/visitor-keys': 5.48.0 | |
| 1003 | 1379 | debug: 4.3.4 |
| 1004 | 1380 | globby: 11.1.0 |
| 1005 | 1381 | is-glob: 4.0.3 |
| ... | ... | @@ -1010,31 +1386,31 @@ packages: |
| 1010 | 1386 | - supports-color |
| 1011 | 1387 | dev: true |
| 1012 | 1388 | |
| 1013 | - /@typescript-eslint/utils/5.47.0_lzzuuodtsqwxnvqeq4g4likcqa: | |
| 1014 | - resolution: {integrity: sha512-U9xcc0N7xINrCdGVPwABjbAKqx4GK67xuMV87toI+HUqgXj26m6RBp9UshEXcTrgCkdGYFzgKLt8kxu49RilDw==} | |
| 1389 | + /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe: | |
| 1390 | + resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==} | |
| 1015 | 1391 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1016 | 1392 | peerDependencies: |
| 1017 | 1393 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
| 1018 | 1394 | dependencies: |
| 1019 | 1395 | '@types/json-schema': 7.0.11 |
| 1020 | 1396 | '@types/semver': 7.3.13 |
| 1021 | - '@typescript-eslint/scope-manager': 5.47.0 | |
| 1022 | - '@typescript-eslint/types': 5.47.0 | |
| 1023 | - '@typescript-eslint/typescript-estree': 5.47.0_typescript@4.9.4 | |
| 1024 | - eslint: 8.30.0 | |
| 1397 | + '@typescript-eslint/scope-manager': 5.48.0 | |
| 1398 | + '@typescript-eslint/types': 5.48.0 | |
| 1399 | + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 | |
| 1400 | + eslint: 8.31.0 | |
| 1025 | 1401 | eslint-scope: 5.1.1 |
| 1026 | - eslint-utils: 3.0.0_eslint@8.30.0 | |
| 1402 | + eslint-utils: 3.0.0_eslint@8.31.0 | |
| 1027 | 1403 | semver: 7.3.8 |
| 1028 | 1404 | transitivePeerDependencies: |
| 1029 | 1405 | - supports-color |
| 1030 | 1406 | - typescript |
| 1031 | 1407 | dev: true |
| 1032 | 1408 | |
| 1033 | - /@typescript-eslint/visitor-keys/5.47.0: | |
| 1034 | - resolution: {integrity: sha512-ByPi5iMa6QqDXe/GmT/hR6MZtVPi0SqMQPDx15FczCBXJo/7M8T88xReOALAfpBLm+zxpPfmhuEvPb577JRAEg==} | |
| 1409 | + /@typescript-eslint/visitor-keys/5.48.0: | |
| 1410 | + resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==} | |
| 1035 | 1411 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 1036 | 1412 | dependencies: |
| 1037 | - '@typescript-eslint/types': 5.47.0 | |
| 1413 | + '@typescript-eslint/types': 5.48.0 | |
| 1038 | 1414 | eslint-visitor-keys: 3.3.0 |
| 1039 | 1415 | dev: true |
| 1040 | 1416 | |
| ... | ... | @@ -1054,7 +1430,7 @@ packages: |
| 1054 | 1430 | lodash.throttle: 4.1.1 |
| 1055 | 1431 | mime-match: 1.0.2 |
| 1056 | 1432 | namespace-emitter: 2.0.1 |
| 1057 | - nanoid: registry.npmmirror.com/nanoid/3.3.4 | |
| 1433 | + nanoid: 3.3.4 | |
| 1058 | 1434 | preact: 10.11.3 |
| 1059 | 1435 | dev: false |
| 1060 | 1436 | |
| ... | ... | @@ -1076,34 +1452,76 @@ packages: |
| 1076 | 1452 | '@uppy/companion-client': 2.2.2 |
| 1077 | 1453 | '@uppy/core': 2.3.4 |
| 1078 | 1454 | '@uppy/utils': 4.1.3 |
| 1079 | - nanoid: registry.npmmirror.com/nanoid/3.3.4 | |
| 1455 | + nanoid: 3.3.4 | |
| 1080 | 1456 | dev: false |
| 1081 | 1457 | |
| 1082 | - /@volar/language-core/1.0.16: | |
| 1083 | - resolution: {integrity: sha512-IGnOxWTs4DZ81TDcmxBAkCBxs97hUblwcjpBsTx/pOGGaSSDQRJPn0wL8NYTybEObU0i7lhEpKZ+0vJfdIy1Kg==} | |
| 1458 | + /@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.4: | |
| 1459 | + 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} | |
| 1460 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1461 | + peerDependencies: | |
| 1462 | + terser: ^5.4.0 | |
| 1463 | + vite: ^4.0.0 | |
| 1084 | 1464 | dependencies: |
| 1085 | - '@volar/source-map': 1.0.16 | |
| 1086 | - '@vue/reactivity': 3.2.45 | |
| 1465 | + '@babel/standalone': 7.20.6 | |
| 1466 | + core-js: 3.26.1 | |
| 1467 | + magic-string: 0.27.0 | |
| 1468 | + regenerator-runtime: 0.13.11 | |
| 1469 | + systemjs: 6.13.0 | |
| 1470 | + terser: 5.16.1 | |
| 1471 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1472 | + dev: true | |
| 1473 | + | |
| 1474 | + /@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.4+vue@3.2.45: | |
| 1475 | + 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} | |
| 1476 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1477 | + peerDependencies: | |
| 1478 | + vite: ^4.0.0 | |
| 1479 | + vue: ^3.0.0 | |
| 1480 | + dependencies: | |
| 1481 | + '@babel/core': 7.20.5 | |
| 1482 | + '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.20.5 | |
| 1483 | + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.5 | |
| 1484 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1485 | + vue: 3.2.45 | |
| 1486 | + transitivePeerDependencies: | |
| 1487 | + - supports-color | |
| 1488 | + dev: true | |
| 1489 | + | |
| 1490 | + /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45: | |
| 1491 | + 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} | |
| 1492 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 1493 | + peerDependencies: | |
| 1494 | + vite: ^4.0.0 | |
| 1495 | + vue: ^3.2.25 | |
| 1496 | + dependencies: | |
| 1497 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 1498 | + vue: 3.2.45 | |
| 1499 | + dev: true | |
| 1500 | + | |
| 1501 | + /@volar/language-core/1.0.22: | |
| 1502 | + resolution: {integrity: sha512-hiJeCOqxNdtG/04FRGLGI9H9DVz2l6cTqPDBzwqplHXAWfMxjzUaGUrn9sfTG7YMFNZUgK4EYxJnRfhqdtbSFQ==} | |
| 1503 | + dependencies: | |
| 1504 | + '@volar/source-map': 1.0.22 | |
| 1087 | 1505 | muggle-string: 0.1.0 |
| 1088 | 1506 | dev: true |
| 1089 | 1507 | |
| 1090 | - /@volar/source-map/1.0.16: | |
| 1091 | - resolution: {integrity: sha512-PKjzmQcg8QOGC/1V9tmGh2jcy6bKLhkW5bGidElSr83iDbCzLvldt2/La/QlDxaRCHYLT0MeyuGJBZIChB1dYQ==} | |
| 1508 | + /@volar/source-map/1.0.22: | |
| 1509 | + resolution: {integrity: sha512-cv4gypHSP4MWVR82ed/+1IpI6794qAl0Q0+KJ+VGMVF8rVugsiF9QbyMCgjel9wNRsssQsazzsf6txOR9vHQiw==} | |
| 1092 | 1510 | dependencies: |
| 1093 | 1511 | muggle-string: 0.1.0 |
| 1094 | 1512 | dev: true |
| 1095 | 1513 | |
| 1096 | - /@volar/typescript/1.0.16: | |
| 1097 | - resolution: {integrity: sha512-Yov+n4oO3iYnuMt9QJAFpJabfTRCzc7KvjlAwBaSuZy+Gc/f9611MgtqAh5/SIGmltFN8dXn1Ijno8ro8I4lyw==} | |
| 1514 | + /@volar/typescript/1.0.22: | |
| 1515 | + resolution: {integrity: sha512-VPyEicealSD4gqlE5/UQ1j3ietsO6Hfat40KtUEh/K+XEZ7h02b1KgFV64YEuBkBOaZ5hgvRW/WXKtQgXCl7Iw==} | |
| 1098 | 1516 | dependencies: |
| 1099 | - '@volar/language-core': 1.0.16 | |
| 1517 | + '@volar/language-core': 1.0.22 | |
| 1100 | 1518 | dev: true |
| 1101 | 1519 | |
| 1102 | - /@volar/vue-language-core/1.0.16: | |
| 1103 | - resolution: {integrity: sha512-sQ/aW1Vuiyy4OQuh2lthyYicruM3qh9VSk/aDh8/bFvM8GoohHZqVpMN3LYldEJ9eT/rN6u4xmYP54vc/EjX4Q==} | |
| 1520 | + /@volar/vue-language-core/1.0.22: | |
| 1521 | + resolution: {integrity: sha512-Ki0G/ZdBj2/GLw+/VVH3n9XR/JL6krMIth02EekFn6JV4PGN3mNxbvoh6lOPSDZLR6biOU5nJPnnjpKy8nuXhw==} | |
| 1104 | 1522 | dependencies: |
| 1105 | - '@volar/language-core': 1.0.16 | |
| 1106 | - '@volar/source-map': 1.0.16 | |
| 1523 | + '@volar/language-core': 1.0.22 | |
| 1524 | + '@volar/source-map': 1.0.22 | |
| 1107 | 1525 | '@vue/compiler-dom': 3.2.45 |
| 1108 | 1526 | '@vue/compiler-sfc': 3.2.45 |
| 1109 | 1527 | '@vue/reactivity': 3.2.45 |
| ... | ... | @@ -1112,19 +1530,40 @@ packages: |
| 1112 | 1530 | vue-template-compiler: 2.7.14 |
| 1113 | 1531 | dev: true |
| 1114 | 1532 | |
| 1115 | - /@volar/vue-typescript/1.0.16: | |
| 1116 | - resolution: {integrity: sha512-M018Ulg/o2FVktAdlr5b/z4K69bYzekxNUA1o39y5Ur6CObc/o+5eDCCS7gIYijWnx9iNKkSQpWWWblJFv7kHQ==} | |
| 1533 | + /@volar/vue-typescript/1.0.22: | |
| 1534 | + resolution: {integrity: sha512-2T1o5z86PAev31OMtVOv/qp4P3ZVl9ln/2KTmykQE8Fh4A5F+868MW4nf5J7XQ6RNyx7RH9LhzgjvbqJpAfiYw==} | |
| 1535 | + dependencies: | |
| 1536 | + '@volar/typescript': 1.0.22 | |
| 1537 | + '@volar/vue-language-core': 1.0.22 | |
| 1538 | + dev: true | |
| 1539 | + | |
| 1540 | + /@vue/babel-helper-vue-transform-on/1.0.2: | |
| 1541 | + 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} | |
| 1542 | + dev: true | |
| 1543 | + | |
| 1544 | + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5: | |
| 1545 | + 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} | |
| 1117 | 1546 | dependencies: |
| 1118 | - '@volar/typescript': 1.0.16 | |
| 1119 | - '@volar/vue-language-core': 1.0.16 | |
| 1547 | + '@babel/helper-module-imports': 7.18.6 | |
| 1548 | + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 | |
| 1549 | + '@babel/template': 7.18.10 | |
| 1550 | + '@babel/traverse': 7.20.1 | |
| 1551 | + '@babel/types': 7.20.2 | |
| 1552 | + '@vue/babel-helper-vue-transform-on': 1.0.2 | |
| 1553 | + camelcase: 6.3.0 | |
| 1554 | + html-tags: 3.2.0 | |
| 1555 | + svg-tags: 1.0.0 | |
| 1556 | + transitivePeerDependencies: | |
| 1557 | + - '@babel/core' | |
| 1558 | + - supports-color | |
| 1120 | 1559 | dev: true |
| 1121 | 1560 | |
| 1122 | 1561 | /@vue/compiler-core/3.2.45: |
| 1123 | 1562 | resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} |
| 1124 | 1563 | dependencies: |
| 1125 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 1126 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1127 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 1564 | + '@babel/parser': 7.20.5 | |
| 1565 | + '@vue/shared': 3.2.45 | |
| 1566 | + estree-walker: 2.0.2 | |
| 1128 | 1567 | source-map: 0.6.1 |
| 1129 | 1568 | |
| 1130 | 1569 | /@vue/compiler-dom/3.2.45: |
| ... | ... | @@ -1143,39 +1582,38 @@ packages: |
| 1143 | 1582 | '@vue/reactivity-transform': 3.2.45 |
| 1144 | 1583 | '@vue/shared': 3.2.45 |
| 1145 | 1584 | estree-walker: 2.0.2 |
| 1146 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 1147 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 1585 | + magic-string: 0.25.9 | |
| 1586 | + postcss: 8.4.20 | |
| 1148 | 1587 | source-map: 0.6.1 |
| 1149 | 1588 | |
| 1150 | 1589 | /@vue/compiler-ssr/3.2.45: |
| 1151 | 1590 | resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} |
| 1152 | 1591 | dependencies: |
| 1153 | - '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45 | |
| 1154 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1592 | + '@vue/compiler-dom': 3.2.45 | |
| 1593 | + '@vue/shared': 3.2.45 | |
| 1155 | 1594 | |
| 1156 | 1595 | /@vue/devtools-api/6.4.5: |
| 1157 | - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} | |
| 1596 | + 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} | |
| 1158 | 1597 | |
| 1159 | 1598 | /@vue/reactivity-transform/3.2.45: |
| 1160 | 1599 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} |
| 1161 | 1600 | dependencies: |
| 1162 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 1163 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 1164 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1165 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 1166 | - magic-string: registry.npmmirror.com/magic-string/0.25.9 | |
| 1167 | - | |
| 1168 | - /@vue/reactivity/3.2.45: | |
| 1169 | - resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} | |
| 1601 | + '@babel/parser': 7.20.5 | |
| 1602 | + '@vue/compiler-core': 3.2.45 | |
| 1603 | + '@vue/shared': 3.2.45 | |
| 1604 | + estree-walker: 2.0.2 | |
| 1605 | + magic-string: 0.25.9 | |
| 1606 | + | |
| 1607 | + /@vue/reactivity/3.2.45: | |
| 1608 | + resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} | |
| 1170 | 1609 | dependencies: |
| 1171 | 1610 | '@vue/shared': 3.2.45 |
| 1172 | - dev: true | |
| 1173 | 1611 | |
| 1174 | 1612 | /@vue/runtime-core/3.2.45: |
| 1175 | 1613 | resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} |
| 1176 | 1614 | dependencies: |
| 1177 | - '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.45 | |
| 1178 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 1615 | + '@vue/reactivity': 3.2.45 | |
| 1616 | + '@vue/shared': 3.2.45 | |
| 1179 | 1617 | |
| 1180 | 1618 | /@vue/runtime-dom/3.2.45: |
| 1181 | 1619 | resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} |
| ... | ... | @@ -1196,24 +1634,24 @@ packages: |
| 1196 | 1634 | /@vue/shared/3.2.45: |
| 1197 | 1635 | resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} |
| 1198 | 1636 | |
| 1199 | - /@vueuse/core/9.8.2_vue@3.2.45: | |
| 1200 | - resolution: {integrity: sha512-aWiCmcYIpPt7xjuqYiceODEMHchDYthrJ4AqI+FXPZrR23PZOqdiktbUVyQl2kGlR3H4i9UJ/uimQrwhz9UouQ==} | |
| 1637 | + /@vueuse/core/9.10.0_vue@3.2.45: | |
| 1638 | + resolution: {integrity: sha512-CxMewME07qeuzuT/AOIQGv0EhhDoojniqU6pC3F8m5VC76L47UT18DcX88kWlP3I7d3qMJ4u/PD8iSRsy3bmNA==} | |
| 1201 | 1639 | dependencies: |
| 1202 | 1640 | '@types/web-bluetooth': 0.0.16 |
| 1203 | - '@vueuse/metadata': 9.8.2 | |
| 1204 | - '@vueuse/shared': 9.8.2_vue@3.2.45 | |
| 1641 | + '@vueuse/metadata': 9.10.0 | |
| 1642 | + '@vueuse/shared': 9.10.0_vue@3.2.45 | |
| 1205 | 1643 | vue-demi: 0.13.11_vue@3.2.45 |
| 1206 | 1644 | transitivePeerDependencies: |
| 1207 | 1645 | - '@vue/composition-api' |
| 1208 | 1646 | - vue |
| 1209 | 1647 | dev: false |
| 1210 | 1648 | |
| 1211 | - /@vueuse/metadata/9.8.2: | |
| 1212 | - resolution: {integrity: sha512-N4E/BKS+9VsUeD4WLVRU1J2kCOLh+iikBcMtipFcTyL204132vDYHs27zLAVabJYGnhC0dIVGdhg9pbOZiY2TQ==} | |
| 1649 | + /@vueuse/metadata/9.10.0: | |
| 1650 | + resolution: {integrity: sha512-G5VZhgTCapzU9rv0Iq2HBrVOSGzOKb+OE668NxhXNcTjUjwYxULkEhAw70FtRLMZc+hxcFAzDZlKYA0xcwNMuw==} | |
| 1213 | 1651 | dev: false |
| 1214 | 1652 | |
| 1215 | - /@vueuse/shared/9.8.2_vue@3.2.45: | |
| 1216 | - resolution: {integrity: sha512-ACjrPQzowd5dnabNJt9EoGVobco9/ENiA5qP53vjiuxndlJYuc/UegwhXC7KdQbPX4F45a50+45K3g1wNqOzmA==} | |
| 1653 | + /@vueuse/shared/9.10.0_vue@3.2.45: | |
| 1654 | + resolution: {integrity: sha512-vakHJ2ZRklAzqmcVBL38RS7BxdBA4+5poG9NsSyqJxrt9kz0zX3P5CXMy0Hm6LFbZXUgvKdqAS3pUH1zX/5qTQ==} | |
| 1217 | 1655 | dependencies: |
| 1218 | 1656 | vue-demi: 0.13.11_vue@3.2.45 |
| 1219 | 1657 | transitivePeerDependencies: |
| ... | ... | @@ -1407,6 +1845,30 @@ packages: |
| 1407 | 1845 | snabbdom: 3.5.1 |
| 1408 | 1846 | dev: false |
| 1409 | 1847 | |
| 1848 | + /@windicss/config/1.8.10: | |
| 1849 | + resolution: {integrity: sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@windicss/config/-/config-1.8.10.tgz} | |
| 1850 | + dependencies: | |
| 1851 | + debug: 4.3.4 | |
| 1852 | + jiti: 1.16.0 | |
| 1853 | + windicss: 3.5.6 | |
| 1854 | + transitivePeerDependencies: | |
| 1855 | + - supports-color | |
| 1856 | + dev: true | |
| 1857 | + | |
| 1858 | + /@windicss/plugin-utils/1.8.10: | |
| 1859 | + 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} | |
| 1860 | + dependencies: | |
| 1861 | + '@antfu/utils': 0.7.2 | |
| 1862 | + '@windicss/config': 1.8.10 | |
| 1863 | + debug: 4.3.4 | |
| 1864 | + fast-glob: 3.2.12 | |
| 1865 | + magic-string: 0.27.0 | |
| 1866 | + micromatch: 4.0.5 | |
| 1867 | + windicss: 3.5.6 | |
| 1868 | + transitivePeerDependencies: | |
| 1869 | + - supports-color | |
| 1870 | + dev: true | |
| 1871 | + | |
| 1410 | 1872 | /@zxcvbn-ts/core/2.1.0: |
| 1411 | 1873 | resolution: {integrity: sha512-doxol9xrO7LgyVJhguXe7vO0xthnIYmsOKoDwrLg0Ho2kkpQaVtM+AOQw+BkEiKIqNg1V48eUf4/cTzMElXdiA==} |
| 1412 | 1874 | dev: false |
| ... | ... | @@ -1503,12 +1965,23 @@ packages: |
| 1503 | 1965 | engines: {node: '>=12'} |
| 1504 | 1966 | dev: true |
| 1505 | 1967 | |
| 1968 | + /ansi-styles/2.2.1: | |
| 1969 | + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} | |
| 1970 | + engines: {node: '>=0.10.0'} | |
| 1971 | + dev: true | |
| 1972 | + | |
| 1973 | + /ansi-styles/3.2.1: | |
| 1974 | + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} | |
| 1975 | + engines: {node: '>=4'} | |
| 1976 | + dependencies: | |
| 1977 | + color-convert: 1.9.3 | |
| 1978 | + dev: true | |
| 1979 | + | |
| 1506 | 1980 | /ansi-styles/4.3.0: |
| 1507 | 1981 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} |
| 1508 | 1982 | engines: {node: '>=8'} |
| 1509 | 1983 | dependencies: |
| 1510 | 1984 | color-convert: 2.0.1 |
| 1511 | - dev: true | |
| 1512 | 1985 | |
| 1513 | 1986 | /ansi-styles/6.2.1: |
| 1514 | 1987 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} |
| ... | ... | @@ -1605,12 +2078,20 @@ packages: |
| 1605 | 2078 | fraction.js: 4.2.0 |
| 1606 | 2079 | normalize-range: 0.1.2 |
| 1607 | 2080 | picocolors: 1.0.0 |
| 1608 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 2081 | + postcss: 8.4.20 | |
| 1609 | 2082 | postcss-value-parser: 4.2.0 |
| 1610 | 2083 | dev: true |
| 1611 | 2084 | |
| 1612 | - /axios/1.2.1: | |
| 1613 | - resolution: {integrity: sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==} | |
| 2085 | + /axios/0.26.1_debug@4.3.4: | |
| 2086 | + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} | |
| 2087 | + dependencies: | |
| 2088 | + follow-redirects: 1.15.2 | |
| 2089 | + transitivePeerDependencies: | |
| 2090 | + - debug | |
| 2091 | + dev: true | |
| 2092 | + | |
| 2093 | + /axios/1.2.2: | |
| 2094 | + resolution: {integrity: sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==} | |
| 1614 | 2095 | dependencies: |
| 1615 | 2096 | follow-redirects: 1.15.2 |
| 1616 | 2097 | form-data: 4.0.0 |
| ... | ... | @@ -1670,11 +2151,29 @@ packages: |
| 1670 | 2151 | balanced-match: 1.0.2 |
| 1671 | 2152 | dev: true |
| 1672 | 2153 | |
| 2154 | + /braces/2.3.2: | |
| 2155 | + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/braces/-/braces-2.3.2.tgz} | |
| 2156 | + engines: {node: '>=0.10.0'} | |
| 2157 | + dependencies: | |
| 2158 | + arr-flatten: 1.1.0 | |
| 2159 | + array-unique: 0.3.2 | |
| 2160 | + extend-shallow: 2.0.1 | |
| 2161 | + fill-range: 4.0.0 | |
| 2162 | + isobject: 3.0.1 | |
| 2163 | + repeat-element: 1.1.4 | |
| 2164 | + snapdragon: 0.8.2 | |
| 2165 | + snapdragon-node: 2.1.1 | |
| 2166 | + split-string: 3.1.0 | |
| 2167 | + to-regex: 3.0.2 | |
| 2168 | + transitivePeerDependencies: | |
| 2169 | + - supports-color | |
| 2170 | + dev: true | |
| 2171 | + | |
| 1673 | 2172 | /braces/3.0.2: |
| 1674 | 2173 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} |
| 1675 | 2174 | engines: {node: '>=8'} |
| 1676 | 2175 | dependencies: |
| 1677 | - fill-range: registry.npmmirror.com/fill-range/7.0.1 | |
| 2176 | + fill-range: 7.0.1 | |
| 1678 | 2177 | dev: true |
| 1679 | 2178 | |
| 1680 | 2179 | /browserslist/4.21.4: |
| ... | ... | @@ -1710,7 +2209,7 @@ packages: |
| 1710 | 2209 | /call-bind/1.0.2: |
| 1711 | 2210 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} |
| 1712 | 2211 | dependencies: |
| 1713 | - function-bind: registry.npmmirror.com/function-bind/1.1.1 | |
| 2212 | + function-bind: 1.1.1 | |
| 1714 | 2213 | get-intrinsic: 1.1.3 |
| 1715 | 2214 | dev: false |
| 1716 | 2215 | |
| ... | ... | @@ -1723,18 +2222,27 @@ packages: |
| 1723 | 2222 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} |
| 1724 | 2223 | dependencies: |
| 1725 | 2224 | pascal-case: 3.1.2 |
| 1726 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2225 | + tslib: 2.4.1 | |
| 1727 | 2226 | dev: true |
| 1728 | 2227 | |
| 1729 | 2228 | /camelcase-keys/6.2.2: |
| 1730 | 2229 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} |
| 1731 | 2230 | engines: {node: '>=8'} |
| 1732 | 2231 | dependencies: |
| 1733 | - camelcase: registry.npmmirror.com/camelcase/5.3.1 | |
| 2232 | + camelcase: 5.3.1 | |
| 1734 | 2233 | map-obj: 4.3.0 |
| 1735 | 2234 | quick-lru: 4.0.1 |
| 1736 | 2235 | dev: true |
| 1737 | 2236 | |
| 2237 | + /camelcase/5.3.1: | |
| 2238 | + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} | |
| 2239 | + engines: {node: '>=6'} | |
| 2240 | + | |
| 2241 | + /camelcase/6.3.0: | |
| 2242 | + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/camelcase/-/camelcase-6.3.0.tgz} | |
| 2243 | + engines: {node: '>=10'} | |
| 2244 | + dev: true | |
| 2245 | + | |
| 1738 | 2246 | /caniuse-lite/1.0.30001431: |
| 1739 | 2247 | resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} |
| 1740 | 2248 | dev: true |
| ... | ... | @@ -1743,7 +2251,7 @@ packages: |
| 1743 | 2251 | resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} |
| 1744 | 2252 | dependencies: |
| 1745 | 2253 | no-case: 3.0.4 |
| 1746 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2254 | + tslib: 2.4.1 | |
| 1747 | 2255 | upper-case-first: 2.0.2 |
| 1748 | 2256 | dev: true |
| 1749 | 2257 | |
| ... | ... | @@ -1751,20 +2259,20 @@ packages: |
| 1751 | 2259 | resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} |
| 1752 | 2260 | engines: {node: '>=0.10.0'} |
| 1753 | 2261 | dependencies: |
| 1754 | - ansi-styles: registry.npmmirror.com/ansi-styles/2.2.1 | |
| 2262 | + ansi-styles: 2.2.1 | |
| 1755 | 2263 | escape-string-regexp: 1.0.5 |
| 1756 | 2264 | has-ansi: 2.0.0 |
| 1757 | 2265 | strip-ansi: 3.0.1 |
| 1758 | - supports-color: registry.npmmirror.com/supports-color/2.0.0 | |
| 2266 | + supports-color: 2.0.0 | |
| 1759 | 2267 | dev: true |
| 1760 | 2268 | |
| 1761 | 2269 | /chalk/2.4.2: |
| 1762 | 2270 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} |
| 1763 | 2271 | engines: {node: '>=4'} |
| 1764 | 2272 | dependencies: |
| 1765 | - ansi-styles: registry.npmmirror.com/ansi-styles/3.2.1 | |
| 2273 | + ansi-styles: 3.2.1 | |
| 1766 | 2274 | escape-string-regexp: 1.0.5 |
| 1767 | - supports-color: registry.npmmirror.com/supports-color/5.5.0 | |
| 2275 | + supports-color: 5.5.0 | |
| 1768 | 2276 | dev: true |
| 1769 | 2277 | |
| 1770 | 2278 | /chalk/4.1.2: |
| ... | ... | @@ -1875,13 +2383,25 @@ packages: |
| 1875 | 2383 | object-visit: 1.0.1 |
| 1876 | 2384 | dev: true |
| 1877 | 2385 | |
| 2386 | + /color-convert/1.9.3: | |
| 2387 | + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} | |
| 2388 | + dependencies: | |
| 2389 | + color-name: 1.1.3 | |
| 2390 | + dev: true | |
| 2391 | + | |
| 1878 | 2392 | /color-convert/2.0.1: |
| 1879 | 2393 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} |
| 1880 | 2394 | engines: {node: '>=7.0.0'} |
| 1881 | 2395 | dependencies: |
| 1882 | - color-name: registry.npmmirror.com/color-name/1.1.4 | |
| 2396 | + color-name: 1.1.4 | |
| 2397 | + | |
| 2398 | + /color-name/1.1.3: | |
| 2399 | + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} | |
| 1883 | 2400 | dev: true |
| 1884 | 2401 | |
| 2402 | + /color-name/1.1.4: | |
| 2403 | + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} | |
| 2404 | + | |
| 1885 | 2405 | /colord/2.9.3: |
| 1886 | 2406 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} |
| 1887 | 2407 | dev: true |
| ... | ... | @@ -1942,7 +2462,7 @@ packages: |
| 1942 | 2462 | resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} |
| 1943 | 2463 | dependencies: |
| 1944 | 2464 | no-case: 3.0.4 |
| 1945 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2465 | + tslib: 2.4.1 | |
| 1946 | 2466 | upper-case: 2.0.2 |
| 1947 | 2467 | dev: true |
| 1948 | 2468 | |
| ... | ... | @@ -1976,11 +2496,20 @@ packages: |
| 1976 | 2496 | through2: 4.0.2 |
| 1977 | 2497 | dev: true |
| 1978 | 2498 | |
| 2499 | + /convert-source-map/1.9.0: | |
| 2500 | + 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} | |
| 2501 | + dev: true | |
| 2502 | + | |
| 1979 | 2503 | /copy-descriptor/0.1.1: |
| 1980 | 2504 | resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} |
| 1981 | 2505 | engines: {node: '>=0.10.0'} |
| 1982 | 2506 | dev: true |
| 1983 | 2507 | |
| 2508 | + /core-js/3.26.1: | |
| 2509 | + 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} | |
| 2510 | + requiresBuild: true | |
| 2511 | + dev: true | |
| 2512 | + | |
| 1984 | 2513 | /cors/2.8.5: |
| 1985 | 2514 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} |
| 1986 | 2515 | engines: {node: '>= 0.10'} |
| ... | ... | @@ -1989,7 +2518,7 @@ packages: |
| 1989 | 2518 | vary: 1.1.2 |
| 1990 | 2519 | dev: true |
| 1991 | 2520 | |
| 1992 | - /cosmiconfig-typescript-loader/4.2.0_wb7bklcl6jlvxijczjyxggip4a: | |
| 2521 | + /cosmiconfig-typescript-loader/4.2.0_bxtyj3et3xbsdyxhh3oblnfbj4: | |
| 1993 | 2522 | resolution: {integrity: sha512-NkANeMnaHrlaSSlpKGyvn2R4rqUDeE/9E5YHx+b4nwo0R8dZyAqcih8/gxpCZvqWP9Vf6xuLpMSzSgdVEIM78g==} |
| 1994 | 2523 | engines: {node: '>=12', npm: '>=6'} |
| 1995 | 2524 | peerDependencies: |
| ... | ... | @@ -1998,9 +2527,9 @@ packages: |
| 1998 | 2527 | ts-node: '>=10' |
| 1999 | 2528 | typescript: '>=3' |
| 2000 | 2529 | dependencies: |
| 2001 | - '@types/node': 14.18.33 | |
| 2002 | - cosmiconfig: 7.1.0 | |
| 2003 | - ts-node: 10.9.1_rju6pyblifsagdmqm3y74zsi6q | |
| 2530 | + '@types/node': 18.11.18 | |
| 2531 | + cosmiconfig: 8.0.0 | |
| 2532 | + ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq | |
| 2004 | 2533 | typescript: 4.9.4 |
| 2005 | 2534 | dev: true |
| 2006 | 2535 | |
| ... | ... | @@ -2015,6 +2544,16 @@ packages: |
| 2015 | 2544 | yaml: 1.10.2 |
| 2016 | 2545 | dev: true |
| 2017 | 2546 | |
| 2547 | + /cosmiconfig/8.0.0: | |
| 2548 | + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} | |
| 2549 | + engines: {node: '>=14'} | |
| 2550 | + dependencies: | |
| 2551 | + import-fresh: 3.3.0 | |
| 2552 | + js-yaml: 4.1.0 | |
| 2553 | + parse-json: 5.2.0 | |
| 2554 | + path-type: 4.0.0 | |
| 2555 | + dev: true | |
| 2556 | + | |
| 2018 | 2557 | /create-require/1.1.1: |
| 2019 | 2558 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} |
| 2020 | 2559 | dev: true |
| ... | ... | @@ -2023,6 +2562,14 @@ packages: |
| 2023 | 2562 | resolution: {integrity: sha512-by7jKAo73y5/Do0K6sxdTKHgndY0NMjG2bEdgeJxycbcmHuCiMXqw8sxy5C5Y5WTOTcDGmbT7Sr5CgKOXR06OA==} |
| 2024 | 2563 | dev: false |
| 2025 | 2564 | |
| 2565 | + /cross-fetch/3.1.5: | |
| 2566 | + 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} | |
| 2567 | + dependencies: | |
| 2568 | + node-fetch: 2.6.7 | |
| 2569 | + transitivePeerDependencies: | |
| 2570 | + - encoding | |
| 2571 | + dev: true | |
| 2572 | + | |
| 2026 | 2573 | /cross-spawn/7.0.3: |
| 2027 | 2574 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} |
| 2028 | 2575 | engines: {node: '>= 8'} |
| ... | ... | @@ -2278,7 +2825,7 @@ packages: |
| 2278 | 2825 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} |
| 2279 | 2826 | dependencies: |
| 2280 | 2827 | no-case: 3.0.4 |
| 2281 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 2828 | + tslib: 2.4.1 | |
| 2282 | 2829 | dev: true |
| 2283 | 2830 | |
| 2284 | 2831 | /dot-prop/5.3.0: |
| ... | ... | @@ -2297,7 +2844,14 @@ packages: |
| 2297 | 2844 | peerDependencies: |
| 2298 | 2845 | echarts: ^5.0.1 |
| 2299 | 2846 | dependencies: |
| 2300 | - echarts: registry.npmmirror.com/echarts/5.4.1 | |
| 2847 | + echarts: 5.4.1 | |
| 2848 | + dev: false | |
| 2849 | + | |
| 2850 | + /echarts/5.4.1: | |
| 2851 | + resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/echarts/-/echarts-5.4.1.tgz} | |
| 2852 | + dependencies: | |
| 2853 | + tslib: 2.3.0 | |
| 2854 | + zrender: 5.4.1 | |
| 2301 | 2855 | dev: false |
| 2302 | 2856 | |
| 2303 | 2857 | /ejs/3.1.8: |
| ... | ... | @@ -2312,8 +2866,8 @@ packages: |
| 2312 | 2866 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} |
| 2313 | 2867 | dev: true |
| 2314 | 2868 | |
| 2315 | - /element-plus/2.2.27_vue@3.2.45: | |
| 2316 | - resolution: {integrity: sha512-P04HDOZBYDdvlYuleuCZRULzAc5xJVOBfLDK9xWxVo0vyo8ntdaXS5sTU+/76vrNzuO3FhLn9kvrsbiJEVa1jg==} | |
| 2869 | + /element-plus/2.2.28_vue@3.2.45: | |
| 2870 | + resolution: {integrity: sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A==} | |
| 2317 | 2871 | peerDependencies: |
| 2318 | 2872 | vue: ^3.2.0 |
| 2319 | 2873 | dependencies: |
| ... | ... | @@ -2323,7 +2877,7 @@ packages: |
| 2323 | 2877 | '@popperjs/core': /@sxzz/popperjs-es/2.11.7 |
| 2324 | 2878 | '@types/lodash': 4.14.189 |
| 2325 | 2879 | '@types/lodash-es': 4.17.6 |
| 2326 | - '@vueuse/core': 9.8.2_vue@3.2.45 | |
| 2880 | + '@vueuse/core': 9.10.0_vue@3.2.45 | |
| 2327 | 2881 | async-validator: 4.2.5 |
| 2328 | 2882 | dayjs: 1.11.7 |
| 2329 | 2883 | escape-html: 1.0.3 |
| ... | ... | @@ -2450,21 +3004,21 @@ packages: |
| 2450 | 3004 | engines: {node: '>=10'} |
| 2451 | 3005 | dev: true |
| 2452 | 3006 | |
| 2453 | - /eslint-config-prettier/8.5.0_eslint@8.30.0: | |
| 2454 | - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} | |
| 3007 | + /eslint-config-prettier/8.6.0_eslint@8.31.0: | |
| 3008 | + resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} | |
| 2455 | 3009 | hasBin: true |
| 2456 | 3010 | peerDependencies: |
| 2457 | 3011 | eslint: '>=7.0.0' |
| 2458 | 3012 | dependencies: |
| 2459 | - eslint: 8.30.0 | |
| 3013 | + eslint: 8.31.0 | |
| 2460 | 3014 | dev: true |
| 2461 | 3015 | |
| 2462 | - /eslint-define-config/1.12.0: | |
| 2463 | - resolution: {integrity: sha512-Kt9TcMbgsY9VRt7jIuw76KE/2RuD31eWB4Ubv6btXgU8NTSsbT6gZ8qzeiU+rAih/8sOl8Kt89spAZBMElu6qQ==} | |
| 3016 | + /eslint-define-config/1.13.0: | |
| 3017 | + resolution: {integrity: sha512-d0BfmPGBcMusfiz6QY/piAhWaEyJriJtvk9SHfuJzI7am9k4ce07SfmPkpcR0ckXNyu4FBons10akOO2Tx+X+Q==} | |
| 2464 | 3018 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13', pnpm: '>= 7.0.0'} |
| 2465 | 3019 | dev: true |
| 2466 | 3020 | |
| 2467 | - /eslint-plugin-prettier/4.2.1_kl4pe43v5b43npmso5hoplpbyi: | |
| 3021 | + /eslint-plugin-prettier/4.2.1_32m5uc2milwdw3tnkcq5del26y: | |
| 2468 | 3022 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} |
| 2469 | 3023 | engines: {node: '>=12.0.0'} |
| 2470 | 3024 | peerDependencies: |
| ... | ... | @@ -2475,25 +3029,25 @@ packages: |
| 2475 | 3029 | eslint-config-prettier: |
| 2476 | 3030 | optional: true |
| 2477 | 3031 | dependencies: |
| 2478 | - eslint: 8.30.0 | |
| 2479 | - eslint-config-prettier: 8.5.0_eslint@8.30.0 | |
| 3032 | + eslint: 8.31.0 | |
| 3033 | + eslint-config-prettier: 8.6.0_eslint@8.31.0 | |
| 2480 | 3034 | prettier: 2.8.1 |
| 2481 | 3035 | prettier-linter-helpers: 1.0.0 |
| 2482 | 3036 | dev: true |
| 2483 | 3037 | |
| 2484 | - /eslint-plugin-vue/9.8.0_eslint@8.30.0: | |
| 3038 | + /eslint-plugin-vue/9.8.0_eslint@8.31.0: | |
| 2485 | 3039 | resolution: {integrity: sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==} |
| 2486 | 3040 | engines: {node: ^14.17.0 || >=16.0.0} |
| 2487 | 3041 | peerDependencies: |
| 2488 | 3042 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 |
| 2489 | 3043 | dependencies: |
| 2490 | - eslint: 8.30.0 | |
| 2491 | - eslint-utils: 3.0.0_eslint@8.30.0 | |
| 3044 | + eslint: 8.31.0 | |
| 3045 | + eslint-utils: 3.0.0_eslint@8.31.0 | |
| 2492 | 3046 | natural-compare: 1.4.0 |
| 2493 | 3047 | nth-check: 2.1.1 |
| 2494 | 3048 | postcss-selector-parser: 6.0.10 |
| 2495 | 3049 | semver: 7.3.8 |
| 2496 | - vue-eslint-parser: 9.1.0_eslint@8.30.0 | |
| 3050 | + vue-eslint-parser: 9.1.0_eslint@8.31.0 | |
| 2497 | 3051 | xml-name-validator: 4.0.0 |
| 2498 | 3052 | transitivePeerDependencies: |
| 2499 | 3053 | - supports-color |
| ... | ... | @@ -2522,13 +3076,13 @@ packages: |
| 2522 | 3076 | eslint-visitor-keys: 1.3.0 |
| 2523 | 3077 | dev: true |
| 2524 | 3078 | |
| 2525 | - /eslint-utils/3.0.0_eslint@8.30.0: | |
| 3079 | + /eslint-utils/3.0.0_eslint@8.31.0: | |
| 2526 | 3080 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} |
| 2527 | 3081 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} |
| 2528 | 3082 | peerDependencies: |
| 2529 | 3083 | eslint: '>=5' |
| 2530 | 3084 | dependencies: |
| 2531 | - eslint: 8.30.0 | |
| 3085 | + eslint: 8.31.0 | |
| 2532 | 3086 | eslint-visitor-keys: 2.1.0 |
| 2533 | 3087 | dev: true |
| 2534 | 3088 | |
| ... | ... | @@ -2547,12 +3101,12 @@ packages: |
| 2547 | 3101 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2548 | 3102 | dev: true |
| 2549 | 3103 | |
| 2550 | - /eslint/8.30.0: | |
| 2551 | - resolution: {integrity: sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==} | |
| 3104 | + /eslint/8.31.0: | |
| 3105 | + resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==} | |
| 2552 | 3106 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} |
| 2553 | 3107 | hasBin: true |
| 2554 | 3108 | dependencies: |
| 2555 | - '@eslint/eslintrc': 1.4.0 | |
| 3109 | + '@eslint/eslintrc': 1.4.1 | |
| 2556 | 3110 | '@humanwhocodes/config-array': 0.11.8 |
| 2557 | 3111 | '@humanwhocodes/module-importer': 1.0.1 |
| 2558 | 3112 | '@nodelib/fs.walk': 1.2.8 |
| ... | ... | @@ -2563,7 +3117,7 @@ packages: |
| 2563 | 3117 | doctrine: 3.0.0 |
| 2564 | 3118 | escape-string-regexp: 4.0.0 |
| 2565 | 3119 | eslint-scope: 7.1.1 |
| 2566 | - eslint-utils: 3.0.0_eslint@8.30.0 | |
| 3120 | + eslint-utils: 3.0.0_eslint@8.31.0 | |
| 2567 | 3121 | eslint-visitor-keys: 3.3.0 |
| 2568 | 3122 | espree: 9.4.1 |
| 2569 | 3123 | esquery: 1.4.0 |
| ... | ... | @@ -2787,7 +3341,24 @@ packages: |
| 2787 | 3341 | /filelist/1.0.4: |
| 2788 | 3342 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} |
| 2789 | 3343 | dependencies: |
| 2790 | - minimatch: 5.1.0 | |
| 3344 | + minimatch: 5.1.2 | |
| 3345 | + dev: true | |
| 3346 | + | |
| 3347 | + /fill-range/4.0.0: | |
| 3348 | + 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} | |
| 3349 | + engines: {node: '>=0.10.0'} | |
| 3350 | + dependencies: | |
| 3351 | + extend-shallow: 2.0.1 | |
| 3352 | + is-number: 3.0.0 | |
| 3353 | + repeat-string: 1.6.1 | |
| 3354 | + to-regex-range: 2.1.1 | |
| 3355 | + dev: true | |
| 3356 | + | |
| 3357 | + /fill-range/7.0.1: | |
| 3358 | + 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} | |
| 3359 | + engines: {node: '>=8'} | |
| 3360 | + dependencies: | |
| 3361 | + to-regex-range: 5.0.1 | |
| 2791 | 3362 | dev: true |
| 2792 | 3363 | |
| 2793 | 3364 | /find-up/4.1.0: |
| ... | ... | @@ -2825,7 +3396,6 @@ packages: |
| 2825 | 3396 | peerDependenciesMeta: |
| 2826 | 3397 | debug: |
| 2827 | 3398 | optional: true |
| 2828 | - dev: false | |
| 2829 | 3399 | |
| 2830 | 3400 | /for-in/1.0.2: |
| 2831 | 3401 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} |
| ... | ... | @@ -2861,6 +3431,15 @@ packages: |
| 2861 | 3431 | universalify: 2.0.0 |
| 2862 | 3432 | dev: true |
| 2863 | 3433 | |
| 3434 | + /fs-extra/11.1.0: | |
| 3435 | + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} | |
| 3436 | + engines: {node: '>=14.14'} | |
| 3437 | + dependencies: | |
| 3438 | + graceful-fs: 4.2.10 | |
| 3439 | + jsonfile: 6.1.0 | |
| 3440 | + universalify: 2.0.0 | |
| 3441 | + dev: true | |
| 3442 | + | |
| 2864 | 3443 | /fs.realpath/1.0.0: |
| 2865 | 3444 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} |
| 2866 | 3445 | dev: true |
| ... | ... | @@ -2875,6 +3454,10 @@ packages: |
| 2875 | 3454 | |
| 2876 | 3455 | /function-bind/1.1.1: |
| 2877 | 3456 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} |
| 3457 | + | |
| 3458 | + /gensync/1.0.0-beta.2: | |
| 3459 | + 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} | |
| 3460 | + engines: {node: '>=6.9.0'} | |
| 2878 | 3461 | dev: true |
| 2879 | 3462 | |
| 2880 | 3463 | /get-caller-file/2.0.5: |
| ... | ... | @@ -2884,8 +3467,8 @@ packages: |
| 2884 | 3467 | /get-intrinsic/1.1.3: |
| 2885 | 3468 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} |
| 2886 | 3469 | dependencies: |
| 2887 | - function-bind: registry.npmmirror.com/function-bind/1.1.1 | |
| 2888 | - has: registry.npmmirror.com/has/1.0.3 | |
| 3470 | + function-bind: 1.1.1 | |
| 3471 | + has: 1.0.3 | |
| 2889 | 3472 | has-symbols: 1.0.3 |
| 2890 | 3473 | dev: false |
| 2891 | 3474 | |
| ... | ... | @@ -3007,6 +3590,16 @@ packages: |
| 3007 | 3590 | ansi-regex: 2.1.1 |
| 3008 | 3591 | dev: true |
| 3009 | 3592 | |
| 3593 | + /has-flag/1.0.0: | |
| 3594 | + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} | |
| 3595 | + engines: {node: '>=0.10.0'} | |
| 3596 | + dev: true | |
| 3597 | + | |
| 3598 | + /has-flag/3.0.0: | |
| 3599 | + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} | |
| 3600 | + engines: {node: '>=4'} | |
| 3601 | + dev: true | |
| 3602 | + | |
| 3010 | 3603 | /has-flag/4.0.0: |
| 3011 | 3604 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} |
| 3012 | 3605 | engines: {node: '>=8'} |
| ... | ... | @@ -3044,7 +3637,7 @@ packages: |
| 3044 | 3637 | resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} |
| 3045 | 3638 | engines: {node: '>=0.10.0'} |
| 3046 | 3639 | dependencies: |
| 3047 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 3640 | + is-number: 3.0.0 | |
| 3048 | 3641 | kind-of: 4.0.0 |
| 3049 | 3642 | dev: true |
| 3050 | 3643 | |
| ... | ... | @@ -3053,7 +3646,6 @@ packages: |
| 3053 | 3646 | engines: {node: '>= 0.4.0'} |
| 3054 | 3647 | dependencies: |
| 3055 | 3648 | function-bind: 1.1.1 |
| 3056 | - dev: true | |
| 3057 | 3649 | |
| 3058 | 3650 | /he/1.2.0: |
| 3059 | 3651 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} |
| ... | ... | @@ -3064,7 +3656,7 @@ packages: |
| 3064 | 3656 | resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} |
| 3065 | 3657 | dependencies: |
| 3066 | 3658 | capital-case: 1.0.4 |
| 3067 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 3659 | + tslib: 2.4.1 | |
| 3068 | 3660 | dev: true |
| 3069 | 3661 | |
| 3070 | 3662 | /hosted-git-info/2.8.9: |
| ... | ... | @@ -3075,7 +3667,7 @@ packages: |
| 3075 | 3667 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} |
| 3076 | 3668 | engines: {node: '>=10'} |
| 3077 | 3669 | dependencies: |
| 3078 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 3670 | + lru-cache: 6.0.0 | |
| 3079 | 3671 | dev: true |
| 3080 | 3672 | |
| 3081 | 3673 | /html-tags/3.2.0: |
| ... | ... | @@ -3288,6 +3880,18 @@ packages: |
| 3288 | 3880 | resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} |
| 3289 | 3881 | dev: false |
| 3290 | 3882 | |
| 3883 | + /is-number/3.0.0: | |
| 3884 | + 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} | |
| 3885 | + engines: {node: '>=0.10.0'} | |
| 3886 | + dependencies: | |
| 3887 | + kind-of: 3.2.2 | |
| 3888 | + dev: true | |
| 3889 | + | |
| 3890 | + /is-number/7.0.0: | |
| 3891 | + 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} | |
| 3892 | + engines: {node: '>=0.12.0'} | |
| 3893 | + dev: true | |
| 3894 | + | |
| 3291 | 3895 | /is-obj/2.0.0: |
| 3292 | 3896 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} |
| 3293 | 3897 | engines: {node: '>=8'} |
| ... | ... | @@ -3371,6 +3975,11 @@ packages: |
| 3371 | 3975 | minimatch: 3.1.2 |
| 3372 | 3976 | dev: true |
| 3373 | 3977 | |
| 3978 | + /jiti/1.16.0: | |
| 3979 | + 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} | |
| 3980 | + hasBin: true | |
| 3981 | + dev: true | |
| 3982 | + | |
| 3374 | 3983 | /js-base64/2.6.4: |
| 3375 | 3984 | resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} |
| 3376 | 3985 | dev: true |
| ... | ... | @@ -3379,6 +3988,10 @@ packages: |
| 3379 | 3988 | resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} |
| 3380 | 3989 | dev: true |
| 3381 | 3990 | |
| 3991 | + /js-tokens/4.0.0: | |
| 3992 | + 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} | |
| 3993 | + dev: true | |
| 3994 | + | |
| 3382 | 3995 | /js-tokens/8.0.0: |
| 3383 | 3996 | resolution: {integrity: sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==} |
| 3384 | 3997 | dev: true |
| ... | ... | @@ -3394,6 +4007,12 @@ packages: |
| 3394 | 4007 | resolution: {integrity: sha512-dVvV54GdFuJgmEKn+oBiaifDMen4p6o6j/lJh0OVMcouME8sST0bJ7bldIgKBQk4za0zyGn0/pm4vOznR25mLw==} |
| 3395 | 4008 | dev: false |
| 3396 | 4009 | |
| 4010 | + /jsesc/2.5.2: | |
| 4011 | + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jsesc/-/jsesc-2.5.2.tgz} | |
| 4012 | + engines: {node: '>=4'} | |
| 4013 | + hasBin: true | |
| 4014 | + dev: true | |
| 4015 | + | |
| 3397 | 4016 | /json-parse-even-better-errors/2.3.1: |
| 3398 | 4017 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} |
| 3399 | 4018 | dev: true |
| ... | ... | @@ -3437,7 +4056,7 @@ packages: |
| 3437 | 4056 | /jsonfile/6.1.0: |
| 3438 | 4057 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} |
| 3439 | 4058 | dependencies: |
| 3440 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 4059 | + universalify: 2.0.0 | |
| 3441 | 4060 | optionalDependencies: |
| 3442 | 4061 | graceful-fs: 4.2.10 |
| 3443 | 4062 | dev: true |
| ... | ... | @@ -3475,6 +4094,10 @@ packages: |
| 3475 | 4094 | resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} |
| 3476 | 4095 | dev: true |
| 3477 | 4096 | |
| 4097 | + /kolorist/1.6.0: | |
| 4098 | + resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/kolorist/-/kolorist-1.6.0.tgz} | |
| 4099 | + dev: true | |
| 4100 | + | |
| 3478 | 4101 | /levn/0.4.1: |
| 3479 | 4102 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} |
| 3480 | 4103 | engines: {node: '>= 0.8.0'} |
| ... | ... | @@ -3655,7 +4278,7 @@ packages: |
| 3655 | 4278 | /lower-case/2.0.2: |
| 3656 | 4279 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} |
| 3657 | 4280 | dependencies: |
| 3658 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4281 | + tslib: 2.4.1 | |
| 3659 | 4282 | dev: true |
| 3660 | 4283 | |
| 3661 | 4284 | /lru-cache/6.0.0: |
| ... | ... | @@ -3669,6 +4292,12 @@ packages: |
| 3669 | 4292 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} |
| 3670 | 4293 | dependencies: |
| 3671 | 4294 | sourcemap-codec: 1.4.8 |
| 4295 | + | |
| 4296 | + /magic-string/0.27.0: | |
| 4297 | + 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} | |
| 4298 | + engines: {node: '>=12'} | |
| 4299 | + dependencies: | |
| 4300 | + '@jridgewell/sourcemap-codec': 1.4.14 | |
| 3672 | 4301 | dev: true |
| 3673 | 4302 | |
| 3674 | 4303 | /make-error/1.3.6: |
| ... | ... | @@ -3766,7 +4395,7 @@ packages: |
| 3766 | 4395 | dependencies: |
| 3767 | 4396 | arr-diff: 4.0.0 |
| 3768 | 4397 | array-unique: 0.3.2 |
| 3769 | - braces: registry.npmmirror.com/braces/2.3.2 | |
| 4398 | + braces: 2.3.2 | |
| 3770 | 4399 | define-property: 1.0.0 |
| 3771 | 4400 | extend-shallow: 2.0.1 |
| 3772 | 4401 | extglob: 2.0.4 |
| ... | ... | @@ -3828,13 +4457,6 @@ packages: |
| 3828 | 4457 | brace-expansion: 1.1.11 |
| 3829 | 4458 | dev: true |
| 3830 | 4459 | |
| 3831 | - /minimatch/5.1.0: | |
| 3832 | - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} | |
| 3833 | - engines: {node: '>=10'} | |
| 3834 | - dependencies: | |
| 3835 | - brace-expansion: 2.0.1 | |
| 3836 | - dev: true | |
| 3837 | - | |
| 3838 | 4460 | /minimatch/5.1.2: |
| 3839 | 4461 | resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} |
| 3840 | 4462 | engines: {node: '>=10'} |
| ... | ... | @@ -3884,7 +4506,7 @@ packages: |
| 3884 | 4506 | dev: false |
| 3885 | 4507 | |
| 3886 | 4508 | /nanoid/3.3.4: |
| 3887 | - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} | |
| 4509 | + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/nanoid/-/nanoid-3.3.4.tgz} | |
| 3888 | 4510 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} |
| 3889 | 4511 | hasBin: true |
| 3890 | 4512 | |
| ... | ... | @@ -3923,7 +4545,19 @@ packages: |
| 3923 | 4545 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} |
| 3924 | 4546 | dependencies: |
| 3925 | 4547 | lower-case: 2.0.2 |
| 3926 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4548 | + tslib: 2.4.1 | |
| 4549 | + dev: true | |
| 4550 | + | |
| 4551 | + /node-fetch/2.6.7: | |
| 4552 | + 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} | |
| 4553 | + engines: {node: 4.x || >=6.0.0} | |
| 4554 | + peerDependencies: | |
| 4555 | + encoding: ^0.1.0 | |
| 4556 | + peerDependenciesMeta: | |
| 4557 | + encoding: | |
| 4558 | + optional: true | |
| 4559 | + dependencies: | |
| 4560 | + whatwg-url: 5.0.0 | |
| 3927 | 4561 | dev: true |
| 3928 | 4562 | |
| 3929 | 4563 | /node-releases/2.0.6: |
| ... | ... | @@ -3944,8 +4578,8 @@ packages: |
| 3944 | 4578 | engines: {node: '>=10'} |
| 3945 | 4579 | dependencies: |
| 3946 | 4580 | hosted-git-info: 4.1.0 |
| 3947 | - is-core-module: registry.npmmirror.com/is-core-module/2.11.0 | |
| 3948 | - semver: registry.npmmirror.com/semver/7.3.8 | |
| 4581 | + is-core-module: 2.11.0 | |
| 4582 | + semver: 7.3.8 | |
| 3949 | 4583 | validate-npm-package-license: 3.0.4 |
| 3950 | 4584 | dev: true |
| 3951 | 4585 | |
| ... | ... | @@ -4091,7 +4725,7 @@ packages: |
| 4091 | 4725 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} |
| 4092 | 4726 | dependencies: |
| 4093 | 4727 | dot-case: 3.0.4 |
| 4094 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4728 | + tslib: 2.4.1 | |
| 4095 | 4729 | dev: true |
| 4096 | 4730 | |
| 4097 | 4731 | /parent-module/1.0.1: |
| ... | ... | @@ -4105,7 +4739,7 @@ packages: |
| 4105 | 4739 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} |
| 4106 | 4740 | engines: {node: '>=8'} |
| 4107 | 4741 | dependencies: |
| 4108 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 4742 | + '@babel/code-frame': 7.18.6 | |
| 4109 | 4743 | error-ex: 1.3.2 |
| 4110 | 4744 | json-parse-even-better-errors: 2.3.1 |
| 4111 | 4745 | lines-and-columns: 1.2.4 |
| ... | ... | @@ -4115,7 +4749,7 @@ packages: |
| 4115 | 4749 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} |
| 4116 | 4750 | dependencies: |
| 4117 | 4751 | no-case: 3.0.4 |
| 4118 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4752 | + tslib: 2.4.1 | |
| 4119 | 4753 | dev: true |
| 4120 | 4754 | |
| 4121 | 4755 | /pascalcase/0.1.1: |
| ... | ... | @@ -4127,7 +4761,7 @@ packages: |
| 4127 | 4761 | resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} |
| 4128 | 4762 | dependencies: |
| 4129 | 4763 | dot-case: 3.0.4 |
| 4130 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 4764 | + tslib: 2.4.1 | |
| 4131 | 4765 | dev: true |
| 4132 | 4766 | |
| 4133 | 4767 | /path-exists/4.0.0: |
| ... | ... | @@ -4162,17 +4796,12 @@ packages: |
| 4162 | 4796 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} |
| 4163 | 4797 | dev: true |
| 4164 | 4798 | |
| 4165 | - /pathe/0.3.9: | |
| 4166 | - resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} | |
| 4167 | - dev: true | |
| 4168 | - | |
| 4169 | 4799 | /pathe/1.0.0: |
| 4170 | 4800 | resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==} |
| 4171 | 4801 | dev: true |
| 4172 | 4802 | |
| 4173 | 4803 | /picocolors/1.0.0: |
| 4174 | 4804 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} |
| 4175 | - dev: true | |
| 4176 | 4805 | |
| 4177 | 4806 | /picomatch/2.3.1: |
| 4178 | 4807 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} |
| ... | ... | @@ -4185,6 +4814,24 @@ packages: |
| 4185 | 4814 | hasBin: true |
| 4186 | 4815 | dev: true |
| 4187 | 4816 | |
| 4817 | + /pinia/2.0.28_prq2uz4lho2pwp6irk4cfkrxwu: | |
| 4818 | + resolution: {integrity: sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/pinia/-/pinia-2.0.28.tgz} | |
| 4819 | + peerDependencies: | |
| 4820 | + '@vue/composition-api': ^1.4.0 | |
| 4821 | + typescript: '>=4.4.4' | |
| 4822 | + vue: ^2.6.14 || ^3.2.0 | |
| 4823 | + peerDependenciesMeta: | |
| 4824 | + '@vue/composition-api': | |
| 4825 | + optional: true | |
| 4826 | + typescript: | |
| 4827 | + optional: true | |
| 4828 | + dependencies: | |
| 4829 | + '@vue/devtools-api': 6.4.5 | |
| 4830 | + typescript: 4.9.4 | |
| 4831 | + vue: 3.2.45 | |
| 4832 | + vue-demi: 0.13.11_vue@3.2.45 | |
| 4833 | + dev: false | |
| 4834 | + | |
| 4188 | 4835 | /pngjs/5.0.0: |
| 4189 | 4836 | resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} |
| 4190 | 4837 | engines: {node: '>=10.13.0'} |
| ... | ... | @@ -4201,7 +4848,7 @@ packages: |
| 4201 | 4848 | dependencies: |
| 4202 | 4849 | htmlparser2: 8.0.1 |
| 4203 | 4850 | js-tokens: 8.0.0 |
| 4204 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4851 | + postcss: 8.4.20 | |
| 4205 | 4852 | postcss-safe-parser: 6.0.0_postcss@8.4.20 |
| 4206 | 4853 | dev: true |
| 4207 | 4854 | |
| ... | ... | @@ -4214,7 +4861,7 @@ packages: |
| 4214 | 4861 | peerDependencies: |
| 4215 | 4862 | postcss: '>4 <9' |
| 4216 | 4863 | dependencies: |
| 4217 | - postcss: registry.npmmirror.com/postcss/5.2.18 | |
| 4864 | + postcss: 5.2.18 | |
| 4218 | 4865 | dev: true |
| 4219 | 4866 | |
| 4220 | 4867 | /postcss-resolve-nested-selector/0.1.1: |
| ... | ... | @@ -4227,7 +4874,7 @@ packages: |
| 4227 | 4874 | peerDependencies: |
| 4228 | 4875 | postcss: ^8.3.3 |
| 4229 | 4876 | dependencies: |
| 4230 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4877 | + postcss: 8.4.20 | |
| 4231 | 4878 | dev: true |
| 4232 | 4879 | |
| 4233 | 4880 | /postcss-scss/4.0.6_postcss@8.4.20: |
| ... | ... | @@ -4236,7 +4883,7 @@ packages: |
| 4236 | 4883 | peerDependencies: |
| 4237 | 4884 | postcss: ^8.4.19 |
| 4238 | 4885 | dependencies: |
| 4239 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4886 | + postcss: 8.4.20 | |
| 4240 | 4887 | dev: true |
| 4241 | 4888 | |
| 4242 | 4889 | /postcss-selector-parser/6.0.10: |
| ... | ... | @@ -4260,21 +4907,30 @@ packages: |
| 4260 | 4907 | peerDependencies: |
| 4261 | 4908 | postcss: ^8.3.9 |
| 4262 | 4909 | dependencies: |
| 4263 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 4910 | + postcss: 8.4.20 | |
| 4264 | 4911 | dev: true |
| 4265 | 4912 | |
| 4266 | 4913 | /postcss-value-parser/4.2.0: |
| 4267 | 4914 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} |
| 4268 | 4915 | dev: true |
| 4269 | 4916 | |
| 4917 | + /postcss/5.2.18: | |
| 4918 | + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} | |
| 4919 | + engines: {node: '>=0.12'} | |
| 4920 | + dependencies: | |
| 4921 | + chalk: 1.1.3 | |
| 4922 | + js-base64: 2.6.4 | |
| 4923 | + source-map: 0.5.7 | |
| 4924 | + supports-color: 3.2.3 | |
| 4925 | + dev: true | |
| 4926 | + | |
| 4270 | 4927 | /postcss/8.4.20: |
| 4271 | - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} | |
| 4928 | + resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/postcss/-/postcss-8.4.20.tgz} | |
| 4272 | 4929 | engines: {node: ^10 || ^12 || >=14} |
| 4273 | 4930 | dependencies: |
| 4274 | 4931 | nanoid: 3.3.4 |
| 4275 | 4932 | picocolors: 1.0.0 |
| 4276 | 4933 | source-map-js: 1.0.2 |
| 4277 | - dev: true | |
| 4278 | 4934 | |
| 4279 | 4935 | /posthtml-parser/0.2.1: |
| 4280 | 4936 | resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} |
| ... | ... | @@ -4451,6 +5107,9 @@ packages: |
| 4451 | 5107 | strip-indent: 3.0.0 |
| 4452 | 5108 | dev: true |
| 4453 | 5109 | |
| 5110 | + /regenerator-runtime/0.13.11: | |
| 5111 | + 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} | |
| 5112 | + | |
| 4454 | 5113 | /regex-not/1.0.2: |
| 4455 | 5114 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} |
| 4456 | 5115 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -4547,6 +5206,17 @@ packages: |
| 4547 | 5206 | glob: 7.2.3 |
| 4548 | 5207 | dev: true |
| 4549 | 5208 | |
| 5209 | + /rollup-plugin-purge-icons/0.9.1: | |
| 5210 | + 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} | |
| 5211 | + engines: {node: '>= 12'} | |
| 5212 | + dependencies: | |
| 5213 | + '@purge-icons/core': 0.9.1 | |
| 5214 | + '@purge-icons/generated': 0.9.0 | |
| 5215 | + transitivePeerDependencies: | |
| 5216 | + - encoding | |
| 5217 | + - supports-color | |
| 5218 | + dev: true | |
| 5219 | + | |
| 4550 | 5220 | /rollup/2.79.1: |
| 4551 | 5221 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} |
| 4552 | 5222 | engines: {node: '>=10.0.0'} |
| ... | ... | @@ -4555,8 +5225,8 @@ packages: |
| 4555 | 5225 | fsevents: 2.3.2 |
| 4556 | 5226 | dev: true |
| 4557 | 5227 | |
| 4558 | - /rollup/3.8.1: | |
| 4559 | - resolution: {integrity: sha512-4yh9eMW7byOroYcN8DlF9P/2jCpu6txVIHjEqquQVSx7DI0RgyCCN3tjrcy4ra6yVtV336aLBB3v2AarYAxePQ==} | |
| 5228 | + /rollup/3.9.1: | |
| 5229 | + resolution: {integrity: sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==} | |
| 4560 | 5230 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} |
| 4561 | 5231 | hasBin: true |
| 4562 | 5232 | optionalDependencies: |
| ... | ... | @@ -4572,7 +5242,7 @@ packages: |
| 4572 | 5242 | /rxjs/7.5.7: |
| 4573 | 5243 | resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} |
| 4574 | 5244 | dependencies: |
| 4575 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5245 | + tslib: 2.4.1 | |
| 4576 | 5246 | dev: true |
| 4577 | 5247 | |
| 4578 | 5248 | /safe-buffer/5.2.1: |
| ... | ... | @@ -4623,7 +5293,7 @@ packages: |
| 4623 | 5293 | resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} |
| 4624 | 5294 | dependencies: |
| 4625 | 5295 | no-case: 3.0.4 |
| 4626 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5296 | + tslib: 2.4.1 | |
| 4627 | 5297 | upper-case-first: 2.0.2 |
| 4628 | 5298 | dev: true |
| 4629 | 5299 | |
| ... | ... | @@ -4691,7 +5361,7 @@ packages: |
| 4691 | 5361 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} |
| 4692 | 5362 | engines: {node: '>=8'} |
| 4693 | 5363 | dependencies: |
| 4694 | - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 | |
| 5364 | + ansi-styles: 4.3.0 | |
| 4695 | 5365 | astral-regex: 2.0.0 |
| 4696 | 5366 | is-fullwidth-code-point: 3.0.0 |
| 4697 | 5367 | dev: true |
| ... | ... | @@ -4700,7 +5370,7 @@ packages: |
| 4700 | 5370 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} |
| 4701 | 5371 | engines: {node: '>=10'} |
| 4702 | 5372 | dependencies: |
| 4703 | - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 | |
| 5373 | + ansi-styles: 4.3.0 | |
| 4704 | 5374 | astral-regex: 2.0.0 |
| 4705 | 5375 | is-fullwidth-code-point: 3.0.0 |
| 4706 | 5376 | dev: true |
| ... | ... | @@ -4722,7 +5392,7 @@ packages: |
| 4722 | 5392 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} |
| 4723 | 5393 | dependencies: |
| 4724 | 5394 | dot-case: 3.0.4 |
| 4725 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 5395 | + tslib: 2.4.1 | |
| 4726 | 5396 | dev: true |
| 4727 | 5397 | |
| 4728 | 5398 | /snapdragon-node/2.1.1: |
| ... | ... | @@ -4758,9 +5428,8 @@ packages: |
| 4758 | 5428 | dev: true |
| 4759 | 5429 | |
| 4760 | 5430 | /source-map-js/1.0.2: |
| 4761 | - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} | |
| 5431 | + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/source-map-js/-/source-map-js-1.0.2.tgz} | |
| 4762 | 5432 | engines: {node: '>=0.10.0'} |
| 4763 | - dev: true | |
| 4764 | 5433 | |
| 4765 | 5434 | /source-map-resolve/0.5.3: |
| 4766 | 5435 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} |
| ... | ... | @@ -4929,7 +5598,7 @@ packages: |
| 4929 | 5598 | resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} |
| 4930 | 5599 | dev: true |
| 4931 | 5600 | |
| 4932 | - /stylelint-config-html/1.1.0_bto6pmslw3cibsiuq6smxboytq: | |
| 5601 | + /stylelint-config-html/1.1.0_kbto3rg3njmczth2rrsgfnlsqa: | |
| 4933 | 5602 | resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} |
| 4934 | 5603 | engines: {node: ^12 || >=14} |
| 4935 | 5604 | peerDependencies: |
| ... | ... | @@ -4937,48 +5606,48 @@ packages: |
| 4937 | 5606 | stylelint: '>=14.0.0' |
| 4938 | 5607 | dependencies: |
| 4939 | 5608 | postcss-html: 1.5.0 |
| 4940 | - stylelint: 14.16.0 | |
| 5609 | + stylelint: 14.16.1 | |
| 4941 | 5610 | dev: true |
| 4942 | 5611 | |
| 4943 | - /stylelint-config-prettier/9.0.4_stylelint@14.16.0: | |
| 5612 | + /stylelint-config-prettier/9.0.4_stylelint@14.16.1: | |
| 4944 | 5613 | resolution: {integrity: sha512-38nIGTGpFOiK5LjJ8Ma1yUgpKENxoKSOhbDNSemY7Ep0VsJoXIW9Iq/2hSt699oB9tReynfWicTAoIHiq8Rvbg==} |
| 4945 | 5614 | engines: {node: '>= 12'} |
| 4946 | 5615 | hasBin: true |
| 4947 | 5616 | peerDependencies: |
| 4948 | 5617 | stylelint: '>=11.0.0' |
| 4949 | 5618 | dependencies: |
| 4950 | - stylelint: 14.16.0 | |
| 5619 | + stylelint: 14.16.1 | |
| 4951 | 5620 | dev: true |
| 4952 | 5621 | |
| 4953 | - /stylelint-config-recommended/9.0.0_stylelint@14.16.0: | |
| 5622 | + /stylelint-config-recommended/9.0.0_stylelint@14.16.1: | |
| 4954 | 5623 | resolution: {integrity: sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==} |
| 4955 | 5624 | peerDependencies: |
| 4956 | 5625 | stylelint: ^14.10.0 |
| 4957 | 5626 | dependencies: |
| 4958 | - stylelint: 14.16.0 | |
| 5627 | + stylelint: 14.16.1 | |
| 4959 | 5628 | dev: true |
| 4960 | 5629 | |
| 4961 | - /stylelint-config-standard/29.0.0_stylelint@14.16.0: | |
| 5630 | + /stylelint-config-standard/29.0.0_stylelint@14.16.1: | |
| 4962 | 5631 | resolution: {integrity: sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg==} |
| 4963 | 5632 | peerDependencies: |
| 4964 | 5633 | stylelint: ^14.14.0 |
| 4965 | 5634 | dependencies: |
| 4966 | - stylelint: 14.16.0 | |
| 4967 | - stylelint-config-recommended: 9.0.0_stylelint@14.16.0 | |
| 5635 | + stylelint: 14.16.1 | |
| 5636 | + stylelint-config-recommended: 9.0.0_stylelint@14.16.1 | |
| 4968 | 5637 | dev: true |
| 4969 | 5638 | |
| 4970 | - /stylelint-order/5.0.0_stylelint@14.16.0: | |
| 5639 | + /stylelint-order/5.0.0_stylelint@14.16.1: | |
| 4971 | 5640 | resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==} |
| 4972 | 5641 | peerDependencies: |
| 4973 | 5642 | stylelint: ^14.0.0 |
| 4974 | 5643 | dependencies: |
| 4975 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 5644 | + postcss: 8.4.20 | |
| 4976 | 5645 | postcss-sorting: 7.0.1_postcss@8.4.20 |
| 4977 | - stylelint: 14.16.0 | |
| 5646 | + stylelint: 14.16.1 | |
| 4978 | 5647 | dev: true |
| 4979 | 5648 | |
| 4980 | - /stylelint/14.16.0: | |
| 4981 | - resolution: {integrity: sha512-X6uTi9DcxjzLV8ZUAjit1vsRtSwcls0nl07c9rqOPzvpA8IvTX/xWEkBRowS0ffevRrqkHa/ThDEu86u73FQDg==} | |
| 5649 | + /stylelint/14.16.1: | |
| 5650 | + resolution: {integrity: sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==} | |
| 4982 | 5651 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} |
| 4983 | 5652 | hasBin: true |
| 4984 | 5653 | dependencies: |
| ... | ... | @@ -5005,7 +5674,7 @@ packages: |
| 5005 | 5674 | micromatch: 4.0.5 |
| 5006 | 5675 | normalize-path: 3.0.0 |
| 5007 | 5676 | picocolors: 1.0.0 |
| 5008 | - postcss: registry.npmmirror.com/postcss/8.4.20 | |
| 5677 | + postcss: 8.4.20 | |
| 5009 | 5678 | postcss-media-query-parser: 0.2.3 |
| 5010 | 5679 | postcss-resolve-nested-selector: 0.1.1 |
| 5011 | 5680 | postcss-safe-parser: 6.0.0_postcss@8.4.20 |
| ... | ... | @@ -5024,6 +5693,25 @@ packages: |
| 5024 | 5693 | - supports-color |
| 5025 | 5694 | dev: true |
| 5026 | 5695 | |
| 5696 | + /supports-color/2.0.0: | |
| 5697 | + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} | |
| 5698 | + engines: {node: '>=0.8.0'} | |
| 5699 | + dev: true | |
| 5700 | + | |
| 5701 | + /supports-color/3.2.3: | |
| 5702 | + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} | |
| 5703 | + engines: {node: '>=0.8.0'} | |
| 5704 | + dependencies: | |
| 5705 | + has-flag: 1.0.0 | |
| 5706 | + dev: true | |
| 5707 | + | |
| 5708 | + /supports-color/5.5.0: | |
| 5709 | + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} | |
| 5710 | + engines: {node: '>=4'} | |
| 5711 | + dependencies: | |
| 5712 | + has-flag: 3.0.0 | |
| 5713 | + dev: true | |
| 5714 | + | |
| 5027 | 5715 | /supports-color/7.2.0: |
| 5028 | 5716 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} |
| 5029 | 5717 | engines: {node: '>=8'} |
| ... | ... | @@ -5054,7 +5742,7 @@ packages: |
| 5054 | 5742 | loader-utils: 1.4.2 |
| 5055 | 5743 | merge-options: 1.0.1 |
| 5056 | 5744 | micromatch: 3.1.0 |
| 5057 | - postcss: registry.npmmirror.com/postcss/5.2.18 | |
| 5745 | + postcss: 5.2.18 | |
| 5058 | 5746 | postcss-prefix-selector: 1.16.0_postcss@5.2.18 |
| 5059 | 5747 | posthtml-rename-id: 1.0.12 |
| 5060 | 5748 | posthtml-svg-mode: 1.0.3 |
| ... | ... | @@ -5078,10 +5766,14 @@ packages: |
| 5078 | 5766 | css-select: 4.3.0 |
| 5079 | 5767 | css-tree: 1.1.3 |
| 5080 | 5768 | csso: 4.2.0 |
| 5081 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 5769 | + picocolors: 1.0.0 | |
| 5082 | 5770 | stable: 0.1.8 |
| 5083 | 5771 | dev: true |
| 5084 | 5772 | |
| 5773 | + /systemjs/6.13.0: | |
| 5774 | + 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} | |
| 5775 | + dev: true | |
| 5776 | + | |
| 5085 | 5777 | /table/6.8.1: |
| 5086 | 5778 | resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} |
| 5087 | 5779 | engines: {node: '>=10.0.0'} |
| ... | ... | @@ -5127,6 +5819,10 @@ packages: |
| 5127 | 5819 | resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} |
| 5128 | 5820 | dev: false |
| 5129 | 5821 | |
| 5822 | + /to-fast-properties/2.0.0: | |
| 5823 | + 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} | |
| 5824 | + engines: {node: '>=4'} | |
| 5825 | + | |
| 5130 | 5826 | /to-object-path/0.3.0: |
| 5131 | 5827 | resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} |
| 5132 | 5828 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -5134,6 +5830,21 @@ packages: |
| 5134 | 5830 | kind-of: 3.2.2 |
| 5135 | 5831 | dev: true |
| 5136 | 5832 | |
| 5833 | + /to-regex-range/2.1.1: | |
| 5834 | + 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} | |
| 5835 | + engines: {node: '>=0.10.0'} | |
| 5836 | + dependencies: | |
| 5837 | + is-number: 3.0.0 | |
| 5838 | + repeat-string: 1.6.1 | |
| 5839 | + dev: true | |
| 5840 | + | |
| 5841 | + /to-regex-range/5.0.1: | |
| 5842 | + 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} | |
| 5843 | + engines: {node: '>=8.0'} | |
| 5844 | + dependencies: | |
| 5845 | + is-number: 7.0.0 | |
| 5846 | + dev: true | |
| 5847 | + | |
| 5137 | 5848 | /to-regex/3.0.2: |
| 5138 | 5849 | resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} |
| 5139 | 5850 | engines: {node: '>=0.10.0'} |
| ... | ... | @@ -5144,6 +5855,10 @@ packages: |
| 5144 | 5855 | safe-regex: 1.1.0 |
| 5145 | 5856 | dev: true |
| 5146 | 5857 | |
| 5858 | + /tr46/0.0.3: | |
| 5859 | + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/tr46/-/tr46-0.0.3.tgz} | |
| 5860 | + dev: true | |
| 5861 | + | |
| 5147 | 5862 | /traverse/0.6.7: |
| 5148 | 5863 | resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} |
| 5149 | 5864 | dev: true |
| ... | ... | @@ -5153,7 +5868,7 @@ packages: |
| 5153 | 5868 | engines: {node: '>=8'} |
| 5154 | 5869 | dev: true |
| 5155 | 5870 | |
| 5156 | - /ts-node/10.9.1_rju6pyblifsagdmqm3y74zsi6q: | |
| 5871 | + /ts-node/10.9.1_awa2wsr5thmg3i7jqycphctjfq: | |
| 5157 | 5872 | resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} |
| 5158 | 5873 | hasBin: true |
| 5159 | 5874 | peerDependencies: |
| ... | ... | @@ -5172,7 +5887,7 @@ packages: |
| 5172 | 5887 | '@tsconfig/node12': 1.0.11 |
| 5173 | 5888 | '@tsconfig/node14': 1.0.3 |
| 5174 | 5889 | '@tsconfig/node16': 1.0.3 |
| 5175 | - '@types/node': 14.18.33 | |
| 5890 | + '@types/node': 18.11.18 | |
| 5176 | 5891 | acorn: 8.8.1 |
| 5177 | 5892 | acorn-walk: 8.2.0 |
| 5178 | 5893 | arg: 4.1.3 |
| ... | ... | @@ -5188,6 +5903,10 @@ packages: |
| 5188 | 5903 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} |
| 5189 | 5904 | dev: true |
| 5190 | 5905 | |
| 5906 | + /tslib/2.3.0: | |
| 5907 | + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/tslib/-/tslib-2.3.0.tgz} | |
| 5908 | + dev: false | |
| 5909 | + | |
| 5191 | 5910 | /tslib/2.4.1: |
| 5192 | 5911 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} |
| 5193 | 5912 | dev: true |
| ... | ... | @@ -5287,19 +6006,19 @@ packages: |
| 5287 | 6006 | dependencies: |
| 5288 | 6007 | browserslist: 4.21.4 |
| 5289 | 6008 | escalade: 3.1.1 |
| 5290 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 6009 | + picocolors: 1.0.0 | |
| 5291 | 6010 | dev: true |
| 5292 | 6011 | |
| 5293 | 6012 | /upper-case-first/2.0.2: |
| 5294 | 6013 | resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} |
| 5295 | 6014 | dependencies: |
| 5296 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 6015 | + tslib: 2.4.1 | |
| 5297 | 6016 | dev: true |
| 5298 | 6017 | |
| 5299 | 6018 | /upper-case/2.0.2: |
| 5300 | 6019 | resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} |
| 5301 | 6020 | dependencies: |
| 5302 | - tslib: registry.npmmirror.com/tslib/2.4.1 | |
| 6021 | + tslib: 2.4.1 | |
| 5303 | 6022 | dev: true |
| 5304 | 6023 | |
| 5305 | 6024 | /uri-js/4.4.1: |
| ... | ... | @@ -5349,7 +6068,7 @@ packages: |
| 5349 | 6068 | engines: {node: '>= 0.8'} |
| 5350 | 6069 | dev: true |
| 5351 | 6070 | |
| 5352 | - /vite-plugin-compression/0.5.1_vite@4.0.3: | |
| 6071 | + /vite-plugin-compression/0.5.1_vite@4.0.4: | |
| 5353 | 6072 | resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} |
| 5354 | 6073 | peerDependencies: |
| 5355 | 6074 | vite: '>=2.0.0' |
| ... | ... | @@ -5357,7 +6076,7 @@ packages: |
| 5357 | 6076 | chalk: 4.1.2 |
| 5358 | 6077 | debug: 4.3.4 |
| 5359 | 6078 | fs-extra: 10.1.0 |
| 5360 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6079 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 5361 | 6080 | transitivePeerDependencies: |
| 5362 | 6081 | - supports-color |
| 5363 | 6082 | dev: true |
| ... | ... | @@ -5368,7 +6087,7 @@ packages: |
| 5368 | 6087 | ejs: 3.1.8 |
| 5369 | 6088 | dev: true |
| 5370 | 6089 | |
| 5371 | - /vite-plugin-eslint/1.8.1_eslint@8.30.0+vite@4.0.3: | |
| 6090 | + /vite-plugin-eslint/1.8.1_eslint@8.31.0+vite@4.0.4: | |
| 5372 | 6091 | resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} |
| 5373 | 6092 | peerDependencies: |
| 5374 | 6093 | eslint: '>=7' |
| ... | ... | @@ -5376,12 +6095,12 @@ packages: |
| 5376 | 6095 | dependencies: |
| 5377 | 6096 | '@rollup/pluginutils': 4.2.1 |
| 5378 | 6097 | '@types/eslint': 8.4.10 |
| 5379 | - eslint: 8.30.0 | |
| 6098 | + eslint: 8.31.0 | |
| 5380 | 6099 | rollup: 2.79.1 |
| 5381 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6100 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 5382 | 6101 | dev: true |
| 5383 | 6102 | |
| 5384 | - /vite-plugin-progress/0.0.6_vite@4.0.3: | |
| 6103 | + /vite-plugin-progress/0.0.6_vite@4.0.4: | |
| 5385 | 6104 | resolution: {integrity: sha512-pIK2TVEY4XFGrz10CQDdEufBBCDaV0geRHfXV3abGTBr+OF9O0Zmd3ZDrHJXDv4Rl3qAQP4BTCuPYQ3XqstmqA==} |
| 5386 | 6105 | engines: {node: '>=14', pnpm: '>=7.0.0'} |
| 5387 | 6106 | peerDependencies: |
| ... | ... | @@ -5390,10 +6109,25 @@ packages: |
| 5390 | 6109 | picocolors: 1.0.0 |
| 5391 | 6110 | progress: 2.0.3 |
| 5392 | 6111 | rd: 2.0.1 |
| 5393 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6112 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6113 | + dev: true | |
| 6114 | + | |
| 6115 | + /vite-plugin-purge-icons/0.9.2_vite@4.0.4: | |
| 6116 | + 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} | |
| 6117 | + engines: {node: '>= 12'} | |
| 6118 | + peerDependencies: | |
| 6119 | + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 | |
| 6120 | + dependencies: | |
| 6121 | + '@purge-icons/core': 0.9.1 | |
| 6122 | + '@purge-icons/generated': 0.9.0 | |
| 6123 | + rollup-plugin-purge-icons: 0.9.1 | |
| 6124 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6125 | + transitivePeerDependencies: | |
| 6126 | + - encoding | |
| 6127 | + - supports-color | |
| 5394 | 6128 | dev: true |
| 5395 | 6129 | |
| 5396 | - /vite-plugin-style-import/2.0.0_vite@4.0.3: | |
| 6130 | + /vite-plugin-style-import/2.0.0_vite@4.0.4: | |
| 5397 | 6131 | resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} |
| 5398 | 6132 | peerDependencies: |
| 5399 | 6133 | vite: '>=2.0.0' |
| ... | ... | @@ -5405,10 +6139,10 @@ packages: |
| 5405 | 6139 | fs-extra: 10.1.0 |
| 5406 | 6140 | magic-string: 0.25.9 |
| 5407 | 6141 | pathe: 0.2.0 |
| 5408 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6142 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 5409 | 6143 | dev: true |
| 5410 | 6144 | |
| 5411 | - /vite-plugin-svg-icons/2.0.1_vite@4.0.3: | |
| 6145 | + /vite-plugin-svg-icons/2.0.1_vite@4.0.4: | |
| 5412 | 6146 | resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} |
| 5413 | 6147 | peerDependencies: |
| 5414 | 6148 | vite: '>=2.0.0' |
| ... | ... | @@ -5421,27 +6155,41 @@ packages: |
| 5421 | 6155 | pathe: 0.2.0 |
| 5422 | 6156 | svg-baker: 1.7.0 |
| 5423 | 6157 | svgo: 2.8.0 |
| 5424 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6158 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 5425 | 6159 | transitivePeerDependencies: |
| 5426 | 6160 | - supports-color |
| 5427 | 6161 | dev: true |
| 5428 | 6162 | |
| 5429 | - /vite-plugin-vue-setup-extend/0.4.0_vite@4.0.3: | |
| 6163 | + /vite-plugin-vue-setup-extend/0.4.0_vite@4.0.4: | |
| 5430 | 6164 | resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==} |
| 5431 | 6165 | peerDependencies: |
| 5432 | 6166 | vite: '>=2.0.0' |
| 5433 | 6167 | dependencies: |
| 5434 | 6168 | '@vue/compiler-sfc': 3.2.45 |
| 5435 | 6169 | magic-string: 0.25.9 |
| 5436 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6170 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 5437 | 6171 | dev: true |
| 5438 | 6172 | |
| 5439 | - /vite/4.0.3_amyfslv6hdwxqbf7f4ldebbtce: | |
| 5440 | - resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} | |
| 5441 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 5442 | - hasBin: true | |
| 6173 | + /vite-plugin-windicss/1.8.10_vite@4.0.4: | |
| 6174 | + 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} | |
| 5443 | 6175 | peerDependencies: |
| 5444 | - '@types/node': '>= 14' | |
| 6176 | + vite: ^2.0.1 || ^3.0.0 || ^4.0.0 | |
| 6177 | + dependencies: | |
| 6178 | + '@windicss/plugin-utils': 1.8.10 | |
| 6179 | + debug: 4.3.4 | |
| 6180 | + kolorist: 1.6.0 | |
| 6181 | + vite: 4.0.4_zxbrnrc4iyldik6mikh3pswz4i | |
| 6182 | + windicss: 3.5.6 | |
| 6183 | + transitivePeerDependencies: | |
| 6184 | + - supports-color | |
| 6185 | + dev: true | |
| 6186 | + | |
| 6187 | + /vite/4.0.4_zxbrnrc4iyldik6mikh3pswz4i: | |
| 6188 | + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} | |
| 6189 | + engines: {node: ^14.18.0 || >=16.0.0} | |
| 6190 | + hasBin: true | |
| 6191 | + peerDependencies: | |
| 6192 | + '@types/node': '>= 14' | |
| 5445 | 6193 | less: '*' |
| 5446 | 6194 | sass: '*' |
| 5447 | 6195 | stylus: '*' |
| ... | ... | @@ -5461,11 +6209,11 @@ packages: |
| 5461 | 6209 | terser: |
| 5462 | 6210 | optional: true |
| 5463 | 6211 | dependencies: |
| 5464 | - '@types/node': 18.11.17 | |
| 6212 | + '@types/node': 18.11.18 | |
| 5465 | 6213 | esbuild: 0.16.5 |
| 5466 | 6214 | postcss: 8.4.20 |
| 5467 | 6215 | resolve: 1.22.1 |
| 5468 | - rollup: 3.8.1 | |
| 6216 | + rollup: 3.9.1 | |
| 5469 | 6217 | sass: 1.57.1 |
| 5470 | 6218 | terser: 5.16.1 |
| 5471 | 6219 | optionalDependencies: |
| ... | ... | @@ -5487,14 +6235,14 @@ packages: |
| 5487 | 6235 | vue: 3.2.45 |
| 5488 | 6236 | dev: false |
| 5489 | 6237 | |
| 5490 | - /vue-eslint-parser/9.1.0_eslint@8.30.0: | |
| 6238 | + /vue-eslint-parser/9.1.0_eslint@8.31.0: | |
| 5491 | 6239 | resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} |
| 5492 | 6240 | engines: {node: ^14.17.0 || >=16.0.0} |
| 5493 | 6241 | peerDependencies: |
| 5494 | 6242 | eslint: '>=6.0.0' |
| 5495 | 6243 | dependencies: |
| 5496 | 6244 | debug: 4.3.4 |
| 5497 | - eslint: 8.30.0 | |
| 6245 | + eslint: 8.31.0 | |
| 5498 | 6246 | eslint-scope: 7.1.1 |
| 5499 | 6247 | eslint-visitor-keys: 3.3.0 |
| 5500 | 6248 | espree: 9.4.1 |
| ... | ... | @@ -5533,14 +6281,14 @@ packages: |
| 5533 | 6281 | he: 1.2.0 |
| 5534 | 6282 | dev: true |
| 5535 | 6283 | |
| 5536 | - /vue-tsc/1.0.16_typescript@4.9.4: | |
| 5537 | - resolution: {integrity: sha512-yZaiJBbcKR1rSLhiF9KryAFH7R63po+N/invr2EAHGXxMzZksE5j1zyQKvrYiqK47ZHLAlCR+re/PHqWp/UzTg==} | |
| 6284 | + /vue-tsc/1.0.22_typescript@4.9.4: | |
| 6285 | + resolution: {integrity: sha512-xSxwgWR3czhv7sLKHWu6lzj9Xq6AtsCURVL45AY4TLGFszv2L2YlMgygXvqslyCM5bz9cyoIKSaZnzHqHTHjzA==} | |
| 5538 | 6286 | hasBin: true |
| 5539 | 6287 | peerDependencies: |
| 5540 | 6288 | typescript: '*' |
| 5541 | 6289 | dependencies: |
| 5542 | - '@volar/vue-language-core': 1.0.16 | |
| 5543 | - '@volar/vue-typescript': 1.0.16 | |
| 6290 | + '@volar/vue-language-core': 1.0.22 | |
| 6291 | + '@volar/vue-typescript': 1.0.22 | |
| 5544 | 6292 | typescript: 4.9.4 |
| 5545 | 6293 | dev: true |
| 5546 | 6294 | |
| ... | ... | @@ -5566,10 +6314,24 @@ packages: |
| 5566 | 6314 | '@vue/server-renderer': 3.2.45_vue@3.2.45 |
| 5567 | 6315 | '@vue/shared': 3.2.45 |
| 5568 | 6316 | |
| 6317 | + /vxe-table/4.3.7_vue@3.2.45+xe-utils@3.5.7: | |
| 6318 | + resolution: {integrity: sha512-v+d7eEQ5uqtVTQCts4xkW0S15LZcIuEukYHGXI53SdoUj2gLFggPYAxQr1y659CM/ESRWPz9LNVHpd97KkjGHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/vxe-table/-/vxe-table-4.3.7.tgz} | |
| 6319 | + peerDependencies: | |
| 6320 | + vue: ^3.2.28 | |
| 6321 | + xe-utils: ^3.5.0 | |
| 6322 | + dependencies: | |
| 6323 | + vue: 3.2.45 | |
| 6324 | + xe-utils: 3.5.7 | |
| 6325 | + dev: false | |
| 6326 | + | |
| 5569 | 6327 | /web-storage-cache/1.1.1: |
| 5570 | 6328 | resolution: {integrity: sha512-D0MieGooOs8RpsrK+vnejXnvh4OOv/+lTFB35JRkJJQt+uOjPE08XpaE0QBLMTRu47B1KGT/Nq3Gbag3Orinzw==} |
| 5571 | 6329 | dev: false |
| 5572 | 6330 | |
| 6331 | + /webidl-conversions/3.0.1: | |
| 6332 | + 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} | |
| 6333 | + dev: true | |
| 6334 | + | |
| 5573 | 6335 | /webpack-sources/3.2.3: |
| 5574 | 6336 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} |
| 5575 | 6337 | engines: {node: '>=10.13.0'} |
| ... | ... | @@ -5579,6 +6341,13 @@ packages: |
| 5579 | 6341 | resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} |
| 5580 | 6342 | dev: true |
| 5581 | 6343 | |
| 6344 | + /whatwg-url/5.0.0: | |
| 6345 | + 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} | |
| 6346 | + dependencies: | |
| 6347 | + tr46: 0.0.3 | |
| 6348 | + webidl-conversions: 3.0.1 | |
| 6349 | + dev: true | |
| 6350 | + | |
| 5582 | 6351 | /which-module/2.0.0: |
| 5583 | 6352 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} |
| 5584 | 6353 | dev: false |
| ... | ... | @@ -5617,7 +6386,7 @@ packages: |
| 5617 | 6386 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} |
| 5618 | 6387 | engines: {node: '>=8'} |
| 5619 | 6388 | dependencies: |
| 5620 | - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 | |
| 6389 | + ansi-styles: 4.3.0 | |
| 5621 | 6390 | string-width: 4.2.3 |
| 5622 | 6391 | strip-ansi: 6.0.1 |
| 5623 | 6392 | |
| ... | ... | @@ -5686,7 +6455,7 @@ packages: |
| 5686 | 6455 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} |
| 5687 | 6456 | engines: {node: '>=6'} |
| 5688 | 6457 | dependencies: |
| 5689 | - camelcase: registry.npmmirror.com/camelcase/5.3.1 | |
| 6458 | + camelcase: 5.3.1 | |
| 5690 | 6459 | decamelize: 1.2.0 |
| 5691 | 6460 | dev: false |
| 5692 | 6461 | |
| ... | ... | @@ -5740,1398 +6509,8 @@ packages: |
| 5740 | 6509 | engines: {node: '>=10'} |
| 5741 | 6510 | dev: true |
| 5742 | 6511 | |
| 5743 | - registry.npmmirror.com/@ampproject/remapping/2.2.0: | |
| 5744 | - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz} | |
| 5745 | - name: '@ampproject/remapping' | |
| 5746 | - version: 2.2.0 | |
| 5747 | - engines: {node: '>=6.0.0'} | |
| 5748 | - dependencies: | |
| 5749 | - '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1 | |
| 5750 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 5751 | - dev: true | |
| 5752 | - | |
| 5753 | - registry.npmmirror.com/@antfu/utils/0.7.2: | |
| 5754 | - 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} | |
| 5755 | - name: '@antfu/utils' | |
| 5756 | - version: 0.7.2 | |
| 5757 | - dev: true | |
| 5758 | - | |
| 5759 | - registry.npmmirror.com/@babel/code-frame/7.18.6: | |
| 5760 | - 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} | |
| 5761 | - name: '@babel/code-frame' | |
| 5762 | - version: 7.18.6 | |
| 5763 | - engines: {node: '>=6.9.0'} | |
| 5764 | - dependencies: | |
| 5765 | - '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6 | |
| 5766 | - dev: true | |
| 5767 | - | |
| 5768 | - registry.npmmirror.com/@babel/compat-data/7.20.1: | |
| 5769 | - 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} | |
| 5770 | - name: '@babel/compat-data' | |
| 5771 | - version: 7.20.1 | |
| 5772 | - engines: {node: '>=6.9.0'} | |
| 5773 | - dev: true | |
| 5774 | - | |
| 5775 | - registry.npmmirror.com/@babel/core/7.20.5: | |
| 5776 | - resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/core/-/core-7.20.5.tgz} | |
| 5777 | - name: '@babel/core' | |
| 5778 | - version: 7.20.5 | |
| 5779 | - engines: {node: '>=6.9.0'} | |
| 5780 | - dependencies: | |
| 5781 | - '@ampproject/remapping': registry.npmmirror.com/@ampproject/remapping/2.2.0 | |
| 5782 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 5783 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 5784 | - '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5 | |
| 5785 | - '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.20.2 | |
| 5786 | - '@babel/helpers': registry.npmmirror.com/@babel/helpers/7.20.6 | |
| 5787 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 5788 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5789 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 5790 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5791 | - convert-source-map: registry.npmmirror.com/convert-source-map/1.9.0 | |
| 5792 | - debug: 4.3.4 | |
| 5793 | - gensync: registry.npmmirror.com/gensync/1.0.0-beta.2 | |
| 5794 | - json5: registry.npmmirror.com/json5/2.2.1 | |
| 5795 | - semver: registry.npmmirror.com/semver/6.3.0 | |
| 5796 | - transitivePeerDependencies: | |
| 5797 | - - supports-color | |
| 5798 | - dev: true | |
| 5799 | - | |
| 5800 | - registry.npmmirror.com/@babel/generator/7.20.5: | |
| 5801 | - resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/generator/-/generator-7.20.5.tgz} | |
| 5802 | - name: '@babel/generator' | |
| 5803 | - version: 7.20.5 | |
| 5804 | - engines: {node: '>=6.9.0'} | |
| 5805 | - dependencies: | |
| 5806 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5807 | - '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2 | |
| 5808 | - jsesc: registry.npmmirror.com/jsesc/2.5.2 | |
| 5809 | - dev: true | |
| 5810 | - | |
| 5811 | - registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6: | |
| 5812 | - 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} | |
| 5813 | - name: '@babel/helper-annotate-as-pure' | |
| 5814 | - version: 7.18.6 | |
| 5815 | - engines: {node: '>=6.9.0'} | |
| 5816 | - dependencies: | |
| 5817 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5818 | - dev: true | |
| 5819 | - | |
| 5820 | - registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5: | |
| 5821 | - 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} | |
| 5822 | - id: registry.npmmirror.com/@babel/helper-compilation-targets/7.20.0 | |
| 5823 | - name: '@babel/helper-compilation-targets' | |
| 5824 | - version: 7.20.0 | |
| 5825 | - engines: {node: '>=6.9.0'} | |
| 5826 | - peerDependencies: | |
| 5827 | - '@babel/core': ^7.0.0 | |
| 5828 | - dependencies: | |
| 5829 | - '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.20.1 | |
| 5830 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 5831 | - '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.18.6 | |
| 5832 | - browserslist: registry.npmmirror.com/browserslist/4.21.4 | |
| 5833 | - semver: registry.npmmirror.com/semver/6.3.0 | |
| 5834 | - dev: true | |
| 5835 | - | |
| 5836 | - registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.5: | |
| 5837 | - 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} | |
| 5838 | - id: registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2 | |
| 5839 | - name: '@babel/helper-create-class-features-plugin' | |
| 5840 | - version: 7.20.2 | |
| 5841 | - engines: {node: '>=6.9.0'} | |
| 5842 | - peerDependencies: | |
| 5843 | - '@babel/core': ^7.0.0 | |
| 5844 | - dependencies: | |
| 5845 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 5846 | - '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6 | |
| 5847 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 5848 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 5849 | - '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9 | |
| 5850 | - '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 | |
| 5851 | - '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.19.1 | |
| 5852 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 5853 | - transitivePeerDependencies: | |
| 5854 | - - supports-color | |
| 5855 | - dev: true | |
| 5856 | - | |
| 5857 | - registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9: | |
| 5858 | - 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} | |
| 5859 | - name: '@babel/helper-environment-visitor' | |
| 5860 | - version: 7.18.9 | |
| 5861 | - engines: {node: '>=6.9.0'} | |
| 5862 | - dev: true | |
| 5863 | - | |
| 5864 | - registry.npmmirror.com/@babel/helper-function-name/7.19.0: | |
| 5865 | - 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} | |
| 5866 | - name: '@babel/helper-function-name' | |
| 5867 | - version: 7.19.0 | |
| 5868 | - engines: {node: '>=6.9.0'} | |
| 5869 | - dependencies: | |
| 5870 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5871 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5872 | - dev: true | |
| 5873 | - | |
| 5874 | - registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6: | |
| 5875 | - 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} | |
| 5876 | - name: '@babel/helper-hoist-variables' | |
| 5877 | - version: 7.18.6 | |
| 5878 | - engines: {node: '>=6.9.0'} | |
| 5879 | - dependencies: | |
| 5880 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5881 | - dev: true | |
| 5882 | - | |
| 5883 | - registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9: | |
| 5884 | - 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} | |
| 5885 | - name: '@babel/helper-member-expression-to-functions' | |
| 5886 | - version: 7.18.9 | |
| 5887 | - engines: {node: '>=6.9.0'} | |
| 5888 | - dependencies: | |
| 5889 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5890 | - dev: true | |
| 5891 | - | |
| 5892 | - registry.npmmirror.com/@babel/helper-module-imports/7.18.6: | |
| 5893 | - 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} | |
| 5894 | - name: '@babel/helper-module-imports' | |
| 5895 | - version: 7.18.6 | |
| 5896 | - engines: {node: '>=6.9.0'} | |
| 5897 | - dependencies: | |
| 5898 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5899 | - dev: true | |
| 5900 | - | |
| 5901 | - registry.npmmirror.com/@babel/helper-module-transforms/7.20.2: | |
| 5902 | - 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} | |
| 5903 | - name: '@babel/helper-module-transforms' | |
| 5904 | - version: 7.20.2 | |
| 5905 | - engines: {node: '>=6.9.0'} | |
| 5906 | - dependencies: | |
| 5907 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 5908 | - '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6 | |
| 5909 | - '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.20.2 | |
| 5910 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 5911 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 5912 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5913 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 5914 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5915 | - transitivePeerDependencies: | |
| 5916 | - - supports-color | |
| 5917 | - dev: true | |
| 5918 | - | |
| 5919 | - registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6: | |
| 5920 | - 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} | |
| 5921 | - name: '@babel/helper-optimise-call-expression' | |
| 5922 | - version: 7.18.6 | |
| 5923 | - engines: {node: '>=6.9.0'} | |
| 5924 | - dependencies: | |
| 5925 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5926 | - dev: true | |
| 5927 | - | |
| 5928 | - registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2: | |
| 5929 | - 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} | |
| 5930 | - name: '@babel/helper-plugin-utils' | |
| 5931 | - version: 7.20.2 | |
| 5932 | - engines: {node: '>=6.9.0'} | |
| 5933 | - dev: true | |
| 5934 | - | |
| 5935 | - registry.npmmirror.com/@babel/helper-replace-supers/7.19.1: | |
| 5936 | - 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} | |
| 5937 | - name: '@babel/helper-replace-supers' | |
| 5938 | - version: 7.19.1 | |
| 5939 | - engines: {node: '>=6.9.0'} | |
| 5940 | - dependencies: | |
| 5941 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 5942 | - '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.18.9 | |
| 5943 | - '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 | |
| 5944 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 5945 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5946 | - transitivePeerDependencies: | |
| 5947 | - - supports-color | |
| 5948 | - dev: true | |
| 5949 | - | |
| 5950 | - registry.npmmirror.com/@babel/helper-simple-access/7.20.2: | |
| 5951 | - 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} | |
| 5952 | - name: '@babel/helper-simple-access' | |
| 5953 | - version: 7.20.2 | |
| 5954 | - engines: {node: '>=6.9.0'} | |
| 5955 | - dependencies: | |
| 5956 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5957 | - dev: true | |
| 5958 | - | |
| 5959 | - registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6: | |
| 5960 | - 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} | |
| 5961 | - name: '@babel/helper-split-export-declaration' | |
| 5962 | - version: 7.18.6 | |
| 5963 | - engines: {node: '>=6.9.0'} | |
| 5964 | - dependencies: | |
| 5965 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5966 | - dev: true | |
| 5967 | - | |
| 5968 | - registry.npmmirror.com/@babel/helper-string-parser/7.19.4: | |
| 5969 | - 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} | |
| 5970 | - name: '@babel/helper-string-parser' | |
| 5971 | - version: 7.19.4 | |
| 5972 | - engines: {node: '>=6.9.0'} | |
| 5973 | - | |
| 5974 | - registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1: | |
| 5975 | - 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} | |
| 5976 | - name: '@babel/helper-validator-identifier' | |
| 5977 | - version: 7.19.1 | |
| 5978 | - engines: {node: '>=6.9.0'} | |
| 5979 | - | |
| 5980 | - registry.npmmirror.com/@babel/helper-validator-option/7.18.6: | |
| 5981 | - 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} | |
| 5982 | - name: '@babel/helper-validator-option' | |
| 5983 | - version: 7.18.6 | |
| 5984 | - engines: {node: '>=6.9.0'} | |
| 5985 | - dev: true | |
| 5986 | - | |
| 5987 | - registry.npmmirror.com/@babel/helpers/7.20.6: | |
| 5988 | - resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helpers/-/helpers-7.20.6.tgz} | |
| 5989 | - name: '@babel/helpers' | |
| 5990 | - version: 7.20.6 | |
| 5991 | - engines: {node: '>=6.9.0'} | |
| 5992 | - dependencies: | |
| 5993 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 5994 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.5 | |
| 5995 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 5996 | - transitivePeerDependencies: | |
| 5997 | - - supports-color | |
| 5998 | - dev: true | |
| 5999 | - | |
| 6000 | - registry.npmmirror.com/@babel/highlight/7.18.6: | |
| 6001 | - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz} | |
| 6002 | - name: '@babel/highlight' | |
| 6003 | - version: 7.18.6 | |
| 6004 | - engines: {node: '>=6.9.0'} | |
| 6005 | - dependencies: | |
| 6006 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6007 | - chalk: 2.4.2 | |
| 6008 | - js-tokens: registry.npmmirror.com/js-tokens/4.0.0 | |
| 6009 | - dev: true | |
| 6010 | - | |
| 6011 | - registry.npmmirror.com/@babel/parser/7.20.5: | |
| 6012 | - 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} | |
| 6013 | - name: '@babel/parser' | |
| 6014 | - version: 7.20.5 | |
| 6015 | - engines: {node: '>=6.0.0'} | |
| 6016 | - hasBin: true | |
| 6017 | - dependencies: | |
| 6018 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6019 | - | |
| 6020 | - registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5: | |
| 6021 | - 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} | |
| 6022 | - id: registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6 | |
| 6023 | - name: '@babel/plugin-syntax-jsx' | |
| 6024 | - version: 7.18.6 | |
| 6025 | - engines: {node: '>=6.9.0'} | |
| 6026 | - peerDependencies: | |
| 6027 | - '@babel/core': ^7.0.0-0 | |
| 6028 | - dependencies: | |
| 6029 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6030 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6031 | - dev: true | |
| 6032 | - | |
| 6033 | - registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5: | |
| 6034 | - 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} | |
| 6035 | - id: registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0 | |
| 6036 | - name: '@babel/plugin-syntax-typescript' | |
| 6037 | - version: 7.20.0 | |
| 6038 | - engines: {node: '>=6.9.0'} | |
| 6039 | - peerDependencies: | |
| 6040 | - '@babel/core': ^7.0.0-0 | |
| 6041 | - dependencies: | |
| 6042 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6043 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6044 | - dev: true | |
| 6045 | - | |
| 6046 | - registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.5: | |
| 6047 | - 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} | |
| 6048 | - id: registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2 | |
| 6049 | - name: '@babel/plugin-transform-typescript' | |
| 6050 | - version: 7.20.2 | |
| 6051 | - engines: {node: '>=6.9.0'} | |
| 6052 | - peerDependencies: | |
| 6053 | - '@babel/core': ^7.0.0-0 | |
| 6054 | - dependencies: | |
| 6055 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6056 | - '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.5 | |
| 6057 | - '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 | |
| 6058 | - '@babel/plugin-syntax-typescript': registry.npmmirror.com/@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5 | |
| 6059 | - transitivePeerDependencies: | |
| 6060 | - - supports-color | |
| 6061 | - dev: true | |
| 6062 | - | |
| 6063 | - registry.npmmirror.com/@babel/standalone/7.20.6: | |
| 6064 | - resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/standalone/-/standalone-7.20.6.tgz} | |
| 6065 | - name: '@babel/standalone' | |
| 6066 | - version: 7.20.6 | |
| 6067 | - engines: {node: '>=6.9.0'} | |
| 6068 | - dev: true | |
| 6069 | - | |
| 6070 | - registry.npmmirror.com/@babel/template/7.18.10: | |
| 6071 | - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/-/template-7.18.10.tgz} | |
| 6072 | - name: '@babel/template' | |
| 6073 | - version: 7.18.10 | |
| 6074 | - engines: {node: '>=6.9.0'} | |
| 6075 | - dependencies: | |
| 6076 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6077 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6078 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6079 | - dev: true | |
| 6080 | - | |
| 6081 | - registry.npmmirror.com/@babel/traverse/7.20.1: | |
| 6082 | - resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.1.tgz} | |
| 6083 | - name: '@babel/traverse' | |
| 6084 | - version: 7.20.1 | |
| 6085 | - engines: {node: '>=6.9.0'} | |
| 6086 | - dependencies: | |
| 6087 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6088 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 6089 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 6090 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 6091 | - '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6 | |
| 6092 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 6093 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6094 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6095 | - debug: 4.3.4 | |
| 6096 | - globals: 11.12.0 | |
| 6097 | - transitivePeerDependencies: | |
| 6098 | - - supports-color | |
| 6099 | - dev: true | |
| 6100 | - | |
| 6101 | - registry.npmmirror.com/@babel/traverse/7.20.5: | |
| 6102 | - resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.5.tgz} | |
| 6103 | - name: '@babel/traverse' | |
| 6104 | - version: 7.20.5 | |
| 6105 | - engines: {node: '>=6.9.0'} | |
| 6106 | - dependencies: | |
| 6107 | - '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 | |
| 6108 | - '@babel/generator': registry.npmmirror.com/@babel/generator/7.20.5 | |
| 6109 | - '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 | |
| 6110 | - '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.19.0 | |
| 6111 | - '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6 | |
| 6112 | - '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 | |
| 6113 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6114 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.5 | |
| 6115 | - debug: 4.3.4 | |
| 6116 | - globals: 11.12.0 | |
| 6117 | - transitivePeerDependencies: | |
| 6118 | - - supports-color | |
| 6119 | - dev: true | |
| 6120 | - | |
| 6121 | - registry.npmmirror.com/@babel/types/7.20.2: | |
| 6122 | - 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} | |
| 6123 | - name: '@babel/types' | |
| 6124 | - version: 7.20.2 | |
| 6125 | - engines: {node: '>=6.9.0'} | |
| 6126 | - dependencies: | |
| 6127 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 6128 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6129 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 6130 | - dev: true | |
| 6131 | - | |
| 6132 | - registry.npmmirror.com/@babel/types/7.20.5: | |
| 6133 | - 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} | |
| 6134 | - name: '@babel/types' | |
| 6135 | - version: 7.20.5 | |
| 6136 | - engines: {node: '>=6.9.0'} | |
| 6137 | - dependencies: | |
| 6138 | - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 | |
| 6139 | - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 | |
| 6140 | - to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 | |
| 6141 | - | |
| 6142 | - registry.npmmirror.com/@iconify/iconify/2.1.2: | |
| 6143 | - 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} | |
| 6144 | - name: '@iconify/iconify' | |
| 6145 | - version: 2.1.2 | |
| 6146 | - dependencies: | |
| 6147 | - cross-fetch: registry.npmmirror.com/cross-fetch/3.1.5 | |
| 6148 | - transitivePeerDependencies: | |
| 6149 | - - encoding | |
| 6150 | - dev: true | |
| 6151 | - | |
| 6152 | - registry.npmmirror.com/@iconify/iconify/3.0.1: | |
| 6153 | - resolution: {integrity: sha512-OPqVBTh8YsfrYZRVFv3OkmFNLqacM0dy/Oiw1h2wO+RZW5LieNGHlG2f9pzaeVRFWbEB8LHTeo8mcwgUTUbibQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/iconify/-/iconify-3.0.1.tgz} | |
| 6154 | - name: '@iconify/iconify' | |
| 6155 | - version: 3.0.1 | |
| 6156 | - dependencies: | |
| 6157 | - '@iconify/types': 2.0.0 | |
| 6158 | - dev: true | |
| 6159 | - | |
| 6160 | - registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1: | |
| 6161 | - 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} | |
| 6162 | - name: '@jridgewell/gen-mapping' | |
| 6163 | - version: 0.1.1 | |
| 6164 | - engines: {node: '>=6.0.0'} | |
| 6165 | - dependencies: | |
| 6166 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 6167 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6168 | - dev: true | |
| 6169 | - | |
| 6170 | - registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2: | |
| 6171 | - 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} | |
| 6172 | - name: '@jridgewell/gen-mapping' | |
| 6173 | - version: 0.3.2 | |
| 6174 | - engines: {node: '>=6.0.0'} | |
| 6175 | - dependencies: | |
| 6176 | - '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 | |
| 6177 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6178 | - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 | |
| 6179 | - dev: true | |
| 6180 | - | |
| 6181 | - registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0: | |
| 6182 | - 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} | |
| 6183 | - name: '@jridgewell/resolve-uri' | |
| 6184 | - version: 3.1.0 | |
| 6185 | - engines: {node: '>=6.0.0'} | |
| 6186 | - dev: true | |
| 6187 | - | |
| 6188 | - registry.npmmirror.com/@jridgewell/set-array/1.1.2: | |
| 6189 | - 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} | |
| 6190 | - name: '@jridgewell/set-array' | |
| 6191 | - version: 1.1.2 | |
| 6192 | - engines: {node: '>=6.0.0'} | |
| 6193 | - dev: true | |
| 6194 | - | |
| 6195 | - registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14: | |
| 6196 | - 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} | |
| 6197 | - name: '@jridgewell/sourcemap-codec' | |
| 6198 | - version: 1.4.14 | |
| 6199 | - dev: true | |
| 6200 | - | |
| 6201 | - registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17: | |
| 6202 | - 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} | |
| 6203 | - name: '@jridgewell/trace-mapping' | |
| 6204 | - version: 0.3.17 | |
| 6205 | - dependencies: | |
| 6206 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 6207 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6208 | - dev: true | |
| 6209 | - | |
| 6210 | - registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9: | |
| 6211 | - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz} | |
| 6212 | - name: '@jridgewell/trace-mapping' | |
| 6213 | - version: 0.3.9 | |
| 6214 | - dependencies: | |
| 6215 | - '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 | |
| 6216 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6217 | - dev: true | |
| 6218 | - | |
| 6219 | - registry.npmmirror.com/@nodelib/fs.stat/2.0.5: | |
| 6220 | - 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} | |
| 6221 | - name: '@nodelib/fs.stat' | |
| 6222 | - version: 2.0.5 | |
| 6223 | - engines: {node: '>= 8'} | |
| 6224 | - dev: true | |
| 6225 | - | |
| 6226 | - registry.npmmirror.com/@purge-icons/core/0.9.1: | |
| 6227 | - 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} | |
| 6228 | - name: '@purge-icons/core' | |
| 6229 | - version: 0.9.1 | |
| 6230 | - dependencies: | |
| 6231 | - '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/2.1.2 | |
| 6232 | - axios: registry.npmmirror.com/axios/0.26.1_debug@4.3.4 | |
| 6233 | - debug: 4.3.4 | |
| 6234 | - fast-glob: registry.npmmirror.com/fast-glob/3.2.12 | |
| 6235 | - fs-extra: registry.npmmirror.com/fs-extra/10.1.0 | |
| 6236 | - transitivePeerDependencies: | |
| 6237 | - - encoding | |
| 6238 | - - supports-color | |
| 6239 | - dev: true | |
| 6240 | - | |
| 6241 | - registry.npmmirror.com/@purge-icons/generated/0.9.0: | |
| 6242 | - 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} | |
| 6243 | - name: '@purge-icons/generated' | |
| 6244 | - version: 0.9.0 | |
| 6245 | - dependencies: | |
| 6246 | - '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/3.0.1 | |
| 6247 | - dev: true | |
| 6248 | - | |
| 6249 | - registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1_terser@5.16.1+vite@4.0.3: | |
| 6250 | - 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} | |
| 6251 | - id: registry.npmmirror.com/@vitejs/plugin-legacy/3.0.1 | |
| 6252 | - name: '@vitejs/plugin-legacy' | |
| 6253 | - version: 3.0.1 | |
| 6254 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6255 | - peerDependencies: | |
| 6256 | - terser: ^5.4.0 | |
| 6257 | - vite: ^4.0.0 | |
| 6258 | - dependencies: | |
| 6259 | - '@babel/standalone': registry.npmmirror.com/@babel/standalone/7.20.6 | |
| 6260 | - core-js: registry.npmmirror.com/core-js/3.26.1 | |
| 6261 | - magic-string: registry.npmmirror.com/magic-string/0.27.0 | |
| 6262 | - regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11 | |
| 6263 | - systemjs: registry.npmmirror.com/systemjs/6.13.0 | |
| 6264 | - terser: 5.16.1 | |
| 6265 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6266 | - dev: true | |
| 6267 | - | |
| 6268 | - registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.3+vue@3.2.45: | |
| 6269 | - 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} | |
| 6270 | - id: registry.npmmirror.com/@vitejs/plugin-vue-jsx/3.0.0 | |
| 6271 | - name: '@vitejs/plugin-vue-jsx' | |
| 6272 | - version: 3.0.0 | |
| 6273 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6274 | - peerDependencies: | |
| 6275 | - vite: ^4.0.0 | |
| 6276 | - vue: ^3.0.0 | |
| 6277 | - dependencies: | |
| 6278 | - '@babel/core': registry.npmmirror.com/@babel/core/7.20.5 | |
| 6279 | - '@babel/plugin-transform-typescript': registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.5 | |
| 6280 | - '@vue/babel-plugin-jsx': registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5 | |
| 6281 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6282 | - vue: 3.2.45 | |
| 6283 | - transitivePeerDependencies: | |
| 6284 | - - supports-color | |
| 6285 | - dev: true | |
| 6286 | - | |
| 6287 | - registry.npmmirror.com/@vitejs/plugin-vue/4.0.0_vite@4.0.3+vue@3.2.45: | |
| 6288 | - 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} | |
| 6289 | - id: registry.npmmirror.com/@vitejs/plugin-vue/4.0.0 | |
| 6290 | - name: '@vitejs/plugin-vue' | |
| 6291 | - version: 4.0.0 | |
| 6292 | - engines: {node: ^14.18.0 || >=16.0.0} | |
| 6293 | - peerDependencies: | |
| 6294 | - vite: ^4.0.0 | |
| 6295 | - vue: ^3.2.25 | |
| 6296 | - dependencies: | |
| 6297 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 6298 | - vue: 3.2.45 | |
| 6299 | - dev: true | |
| 6300 | - | |
| 6301 | - registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2: | |
| 6302 | - 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} | |
| 6303 | - name: '@vue/babel-helper-vue-transform-on' | |
| 6304 | - version: 1.0.2 | |
| 6305 | - dev: true | |
| 6306 | - | |
| 6307 | - registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.5: | |
| 6308 | - 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} | |
| 6309 | - id: registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1 | |
| 6310 | - name: '@vue/babel-plugin-jsx' | |
| 6311 | - version: 1.1.1 | |
| 6312 | - dependencies: | |
| 6313 | - '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6 | |
| 6314 | - '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5 | |
| 6315 | - '@babel/template': registry.npmmirror.com/@babel/template/7.18.10 | |
| 6316 | - '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.20.1 | |
| 6317 | - '@babel/types': registry.npmmirror.com/@babel/types/7.20.2 | |
| 6318 | - '@vue/babel-helper-vue-transform-on': registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2 | |
| 6319 | - camelcase: registry.npmmirror.com/camelcase/6.3.0 | |
| 6320 | - html-tags: registry.npmmirror.com/html-tags/3.2.0 | |
| 6321 | - svg-tags: registry.npmmirror.com/svg-tags/1.0.0 | |
| 6322 | - transitivePeerDependencies: | |
| 6323 | - - '@babel/core' | |
| 6324 | - - supports-color | |
| 6325 | - dev: true | |
| 6326 | - | |
| 6327 | - registry.npmmirror.com/@vue/compiler-core/3.2.45: | |
| 6328 | - resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz} | |
| 6329 | - name: '@vue/compiler-core' | |
| 6330 | - version: 3.2.45 | |
| 6331 | - dependencies: | |
| 6332 | - '@babel/parser': registry.npmmirror.com/@babel/parser/7.20.5 | |
| 6333 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6334 | - estree-walker: registry.npmmirror.com/estree-walker/2.0.2 | |
| 6335 | - source-map: 0.6.1 | |
| 6336 | - | |
| 6337 | - registry.npmmirror.com/@vue/compiler-dom/3.2.45: | |
| 6338 | - resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz} | |
| 6339 | - name: '@vue/compiler-dom' | |
| 6340 | - version: 3.2.45 | |
| 6341 | - dependencies: | |
| 6342 | - '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45 | |
| 6343 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6344 | - | |
| 6345 | - registry.npmmirror.com/@vue/devtools-api/6.4.5: | |
| 6346 | - 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} | |
| 6347 | - name: '@vue/devtools-api' | |
| 6348 | - version: 6.4.5 | |
| 6349 | - dev: false | |
| 6350 | - | |
| 6351 | - registry.npmmirror.com/@vue/reactivity/3.2.45: | |
| 6352 | - resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz} | |
| 6353 | - name: '@vue/reactivity' | |
| 6354 | - version: 3.2.45 | |
| 6355 | - dependencies: | |
| 6356 | - '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 | |
| 6357 | - | |
| 6358 | - registry.npmmirror.com/@vue/shared/3.2.45: | |
| 6359 | - resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz} | |
| 6360 | - name: '@vue/shared' | |
| 6361 | - version: 3.2.45 | |
| 6362 | - | |
| 6363 | - registry.npmmirror.com/@windicss/config/1.8.10: | |
| 6364 | - resolution: {integrity: sha512-O9SsC110b1Ik3YYa4Ck/0TWuCo7YFfA9KDrwD5sAeqscT5COIGK1HszdCT3oh0MJFej2wNrvpfyW9h6yQaW6PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@windicss/config/-/config-1.8.10.tgz} | |
| 6365 | - name: '@windicss/config' | |
| 6366 | - version: 1.8.10 | |
| 6367 | - dependencies: | |
| 6368 | - debug: 4.3.4 | |
| 6369 | - jiti: registry.npmmirror.com/jiti/1.16.0 | |
| 6370 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 6371 | - transitivePeerDependencies: | |
| 6372 | - - supports-color | |
| 6373 | - dev: true | |
| 6374 | - | |
| 6375 | - registry.npmmirror.com/@windicss/plugin-utils/1.8.10: | |
| 6376 | - 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} | |
| 6377 | - name: '@windicss/plugin-utils' | |
| 6378 | - version: 1.8.10 | |
| 6379 | - dependencies: | |
| 6380 | - '@antfu/utils': registry.npmmirror.com/@antfu/utils/0.7.2 | |
| 6381 | - '@windicss/config': registry.npmmirror.com/@windicss/config/1.8.10 | |
| 6382 | - debug: 4.3.4 | |
| 6383 | - fast-glob: registry.npmmirror.com/fast-glob/3.2.12 | |
| 6384 | - magic-string: registry.npmmirror.com/magic-string/0.27.0 | |
| 6385 | - micromatch: registry.npmmirror.com/micromatch/4.0.5 | |
| 6386 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 6387 | - transitivePeerDependencies: | |
| 6388 | - - supports-color | |
| 6389 | - dev: true | |
| 6390 | - | |
| 6391 | - registry.npmmirror.com/ansi-styles/2.2.1: | |
| 6392 | - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz} | |
| 6393 | - name: ansi-styles | |
| 6394 | - version: 2.2.1 | |
| 6395 | - engines: {node: '>=0.10.0'} | |
| 6396 | - dev: true | |
| 6397 | - | |
| 6398 | - registry.npmmirror.com/ansi-styles/3.2.1: | |
| 6399 | - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz} | |
| 6400 | - name: ansi-styles | |
| 6401 | - version: 3.2.1 | |
| 6402 | - engines: {node: '>=4'} | |
| 6403 | - dependencies: | |
| 6404 | - color-convert: registry.npmmirror.com/color-convert/1.9.3 | |
| 6405 | - dev: true | |
| 6406 | - | |
| 6407 | - registry.npmmirror.com/ansi-styles/4.3.0: | |
| 6408 | - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz} | |
| 6409 | - name: ansi-styles | |
| 6410 | - version: 4.3.0 | |
| 6411 | - engines: {node: '>=8'} | |
| 6412 | - dependencies: | |
| 6413 | - color-convert: registry.npmmirror.com/color-convert/2.0.1 | |
| 6414 | - | |
| 6415 | - registry.npmmirror.com/axios/0.26.1_debug@4.3.4: | |
| 6416 | - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz} | |
| 6417 | - id: registry.npmmirror.com/axios/0.26.1 | |
| 6418 | - name: axios | |
| 6419 | - version: 0.26.1 | |
| 6420 | - dependencies: | |
| 6421 | - follow-redirects: registry.npmmirror.com/follow-redirects/1.15.2_debug@4.3.4 | |
| 6422 | - transitivePeerDependencies: | |
| 6423 | - - debug | |
| 6424 | - dev: true | |
| 6425 | - | |
| 6426 | - registry.npmmirror.com/braces/2.3.2: | |
| 6427 | - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz} | |
| 6428 | - name: braces | |
| 6429 | - version: 2.3.2 | |
| 6430 | - engines: {node: '>=0.10.0'} | |
| 6431 | - dependencies: | |
| 6432 | - arr-flatten: 1.1.0 | |
| 6433 | - array-unique: 0.3.2 | |
| 6434 | - extend-shallow: 2.0.1 | |
| 6435 | - fill-range: registry.npmmirror.com/fill-range/4.0.0 | |
| 6436 | - isobject: 3.0.1 | |
| 6437 | - repeat-element: 1.1.4 | |
| 6438 | - snapdragon: 0.8.2 | |
| 6439 | - snapdragon-node: 2.1.1 | |
| 6440 | - split-string: 3.1.0 | |
| 6441 | - to-regex: 3.0.2 | |
| 6442 | - transitivePeerDependencies: | |
| 6443 | - - supports-color | |
| 6444 | - dev: true | |
| 6445 | - | |
| 6446 | - registry.npmmirror.com/braces/3.0.2: | |
| 6447 | - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz} | |
| 6448 | - name: braces | |
| 6449 | - version: 3.0.2 | |
| 6450 | - engines: {node: '>=8'} | |
| 6451 | - dependencies: | |
| 6452 | - fill-range: registry.npmmirror.com/fill-range/7.0.1 | |
| 6453 | - dev: true | |
| 6454 | - | |
| 6455 | - registry.npmmirror.com/browserslist/4.21.4: | |
| 6456 | - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz} | |
| 6457 | - name: browserslist | |
| 6458 | - version: 4.21.4 | |
| 6459 | - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} | |
| 6460 | - hasBin: true | |
| 6461 | - dependencies: | |
| 6462 | - caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001431 | |
| 6463 | - electron-to-chromium: registry.npmmirror.com/electron-to-chromium/1.4.284 | |
| 6464 | - node-releases: registry.npmmirror.com/node-releases/2.0.6 | |
| 6465 | - update-browserslist-db: registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4 | |
| 6466 | - dev: true | |
| 6467 | - | |
| 6468 | - registry.npmmirror.com/camelcase/5.3.1: | |
| 6469 | - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz} | |
| 6470 | - name: camelcase | |
| 6471 | - version: 5.3.1 | |
| 6472 | - engines: {node: '>=6'} | |
| 6473 | - | |
| 6474 | - registry.npmmirror.com/camelcase/6.3.0: | |
| 6475 | - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz} | |
| 6476 | - name: camelcase | |
| 6477 | - version: 6.3.0 | |
| 6478 | - engines: {node: '>=10'} | |
| 6479 | - dev: true | |
| 6480 | - | |
| 6481 | - registry.npmmirror.com/caniuse-lite/1.0.30001431: | |
| 6482 | - 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} | |
| 6483 | - name: caniuse-lite | |
| 6484 | - version: 1.0.30001431 | |
| 6485 | - dev: true | |
| 6486 | - | |
| 6487 | - registry.npmmirror.com/color-convert/1.9.3: | |
| 6488 | - 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} | |
| 6489 | - name: color-convert | |
| 6490 | - version: 1.9.3 | |
| 6491 | - dependencies: | |
| 6492 | - color-name: registry.npmmirror.com/color-name/1.1.3 | |
| 6493 | - dev: true | |
| 6494 | - | |
| 6495 | - registry.npmmirror.com/color-convert/2.0.1: | |
| 6496 | - 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} | |
| 6497 | - name: color-convert | |
| 6498 | - version: 2.0.1 | |
| 6499 | - engines: {node: '>=7.0.0'} | |
| 6500 | - dependencies: | |
| 6501 | - color-name: registry.npmmirror.com/color-name/1.1.4 | |
| 6502 | - | |
| 6503 | - registry.npmmirror.com/color-name/1.1.3: | |
| 6504 | - 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} | |
| 6505 | - name: color-name | |
| 6506 | - version: 1.1.3 | |
| 6507 | - dev: true | |
| 6508 | - | |
| 6509 | - registry.npmmirror.com/color-name/1.1.4: | |
| 6510 | - 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} | |
| 6511 | - name: color-name | |
| 6512 | - version: 1.1.4 | |
| 6513 | - | |
| 6514 | - registry.npmmirror.com/convert-source-map/1.9.0: | |
| 6515 | - 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} | |
| 6516 | - name: convert-source-map | |
| 6517 | - version: 1.9.0 | |
| 6518 | - dev: true | |
| 6519 | - | |
| 6520 | - registry.npmmirror.com/core-js/3.26.1: | |
| 6521 | - 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} | |
| 6522 | - name: core-js | |
| 6523 | - version: 3.26.1 | |
| 6524 | - requiresBuild: true | |
| 6525 | - dev: true | |
| 6526 | - | |
| 6527 | - registry.npmmirror.com/cross-fetch/3.1.5: | |
| 6528 | - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.5.tgz} | |
| 6529 | - name: cross-fetch | |
| 6530 | - version: 3.1.5 | |
| 6531 | - dependencies: | |
| 6532 | - node-fetch: registry.npmmirror.com/node-fetch/2.6.7 | |
| 6533 | - transitivePeerDependencies: | |
| 6534 | - - encoding | |
| 6535 | - dev: true | |
| 6536 | - | |
| 6537 | - registry.npmmirror.com/debug/4.3.4: | |
| 6538 | - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz} | |
| 6539 | - name: debug | |
| 6540 | - version: 4.3.4 | |
| 6541 | - engines: {node: '>=6.0'} | |
| 6542 | - peerDependencies: | |
| 6543 | - supports-color: '*' | |
| 6544 | - peerDependenciesMeta: | |
| 6545 | - supports-color: | |
| 6546 | - optional: true | |
| 6547 | - dependencies: | |
| 6548 | - ms: registry.npmmirror.com/ms/2.1.2 | |
| 6549 | - dev: true | |
| 6550 | - | |
| 6551 | - registry.npmmirror.com/echarts/5.4.1: | |
| 6552 | - resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/echarts/-/echarts-5.4.1.tgz} | |
| 6553 | - name: echarts | |
| 6554 | - version: 5.4.1 | |
| 6555 | - dependencies: | |
| 6556 | - tslib: registry.npmmirror.com/tslib/2.3.0 | |
| 6557 | - zrender: registry.npmmirror.com/zrender/5.4.1 | |
| 6558 | - dev: false | |
| 6559 | - | |
| 6560 | - registry.npmmirror.com/electron-to-chromium/1.4.284: | |
| 6561 | - 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} | |
| 6562 | - name: electron-to-chromium | |
| 6563 | - version: 1.4.284 | |
| 6564 | - dev: true | |
| 6565 | - | |
| 6566 | - registry.npmmirror.com/escalade/3.1.1: | |
| 6567 | - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz} | |
| 6568 | - name: escalade | |
| 6569 | - version: 3.1.1 | |
| 6570 | - engines: {node: '>=6'} | |
| 6571 | - dev: true | |
| 6572 | - | |
| 6573 | - registry.npmmirror.com/estree-walker/2.0.2: | |
| 6574 | - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz} | |
| 6575 | - name: estree-walker | |
| 6576 | - version: 2.0.2 | |
| 6577 | - | |
| 6578 | - registry.npmmirror.com/fast-glob/3.2.12: | |
| 6579 | - 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} | |
| 6580 | - name: fast-glob | |
| 6581 | - version: 3.2.12 | |
| 6582 | - engines: {node: '>=8.6.0'} | |
| 6583 | - dependencies: | |
| 6584 | - '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 | |
| 6585 | - '@nodelib/fs.walk': 1.2.8 | |
| 6586 | - glob-parent: 5.1.2 | |
| 6587 | - merge2: registry.npmmirror.com/merge2/1.4.1 | |
| 6588 | - micromatch: registry.npmmirror.com/micromatch/4.0.5 | |
| 6589 | - dev: true | |
| 6590 | - | |
| 6591 | - registry.npmmirror.com/fill-range/4.0.0: | |
| 6592 | - 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} | |
| 6593 | - name: fill-range | |
| 6594 | - version: 4.0.0 | |
| 6595 | - engines: {node: '>=0.10.0'} | |
| 6596 | - dependencies: | |
| 6597 | - extend-shallow: 2.0.1 | |
| 6598 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 6599 | - repeat-string: 1.6.1 | |
| 6600 | - to-regex-range: registry.npmmirror.com/to-regex-range/2.1.1 | |
| 6601 | - dev: true | |
| 6602 | - | |
| 6603 | - registry.npmmirror.com/fill-range/7.0.1: | |
| 6604 | - 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} | |
| 6605 | - name: fill-range | |
| 6606 | - version: 7.0.1 | |
| 6607 | - engines: {node: '>=8'} | |
| 6608 | - dependencies: | |
| 6609 | - to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1 | |
| 6610 | - dev: true | |
| 6611 | - | |
| 6612 | - registry.npmmirror.com/follow-redirects/1.15.2_debug@4.3.4: | |
| 6613 | - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz} | |
| 6614 | - id: registry.npmmirror.com/follow-redirects/1.15.2 | |
| 6615 | - name: follow-redirects | |
| 6616 | - version: 1.15.2 | |
| 6617 | - engines: {node: '>=4.0'} | |
| 6618 | - peerDependencies: | |
| 6619 | - debug: '*' | |
| 6620 | - peerDependenciesMeta: | |
| 6621 | - debug: | |
| 6622 | - optional: true | |
| 6623 | - dependencies: | |
| 6624 | - debug: 4.3.4 | |
| 6625 | - dev: true | |
| 6626 | - | |
| 6627 | - registry.npmmirror.com/fs-extra/10.1.0: | |
| 6628 | - 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} | |
| 6629 | - name: fs-extra | |
| 6630 | - version: 10.1.0 | |
| 6631 | - engines: {node: '>=12'} | |
| 6632 | - dependencies: | |
| 6633 | - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 | |
| 6634 | - jsonfile: registry.npmmirror.com/jsonfile/6.1.0 | |
| 6635 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 6636 | - dev: true | |
| 6637 | - | |
| 6638 | - registry.npmmirror.com/function-bind/1.1.1: | |
| 6639 | - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} | |
| 6640 | - name: function-bind | |
| 6641 | - version: 1.1.1 | |
| 6642 | - | |
| 6643 | - registry.npmmirror.com/gensync/1.0.0-beta.2: | |
| 6644 | - 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} | |
| 6645 | - name: gensync | |
| 6646 | - version: 1.0.0-beta.2 | |
| 6647 | - engines: {node: '>=6.9.0'} | |
| 6648 | - dev: true | |
| 6649 | - | |
| 6650 | - registry.npmmirror.com/graceful-fs/4.2.10: | |
| 6651 | - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} | |
| 6652 | - name: graceful-fs | |
| 6653 | - version: 4.2.10 | |
| 6654 | - dev: true | |
| 6655 | - | |
| 6656 | - registry.npmmirror.com/has-flag/1.0.0: | |
| 6657 | - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz} | |
| 6658 | - name: has-flag | |
| 6659 | - version: 1.0.0 | |
| 6660 | - engines: {node: '>=0.10.0'} | |
| 6661 | - dev: true | |
| 6662 | - | |
| 6663 | - registry.npmmirror.com/has-flag/3.0.0: | |
| 6664 | - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz} | |
| 6665 | - name: has-flag | |
| 6666 | - version: 3.0.0 | |
| 6667 | - engines: {node: '>=4'} | |
| 6668 | - dev: true | |
| 6669 | - | |
| 6670 | - registry.npmmirror.com/has/1.0.3: | |
| 6671 | - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz} | |
| 6672 | - name: has | |
| 6673 | - version: 1.0.3 | |
| 6674 | - engines: {node: '>= 0.4.0'} | |
| 6675 | - dependencies: | |
| 6676 | - function-bind: registry.npmmirror.com/function-bind/1.1.1 | |
| 6677 | - | |
| 6678 | - registry.npmmirror.com/html-tags/3.2.0: | |
| 6679 | - 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} | |
| 6680 | - name: html-tags | |
| 6681 | - version: 3.2.0 | |
| 6682 | - engines: {node: '>=8'} | |
| 6683 | - dev: true | |
| 6684 | - | |
| 6685 | - registry.npmmirror.com/is-core-module/2.11.0: | |
| 6686 | - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz} | |
| 6687 | - name: is-core-module | |
| 6688 | - version: 2.11.0 | |
| 6689 | - dependencies: | |
| 6690 | - has: registry.npmmirror.com/has/1.0.3 | |
| 6691 | - dev: true | |
| 6692 | - | |
| 6693 | - registry.npmmirror.com/is-number/3.0.0: | |
| 6694 | - 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} | |
| 6695 | - name: is-number | |
| 6696 | - version: 3.0.0 | |
| 6697 | - engines: {node: '>=0.10.0'} | |
| 6698 | - dependencies: | |
| 6699 | - kind-of: 3.2.2 | |
| 6700 | - dev: true | |
| 6701 | - | |
| 6702 | - registry.npmmirror.com/is-number/7.0.0: | |
| 6703 | - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz} | |
| 6704 | - name: is-number | |
| 6705 | - version: 7.0.0 | |
| 6706 | - engines: {node: '>=0.12.0'} | |
| 6707 | - dev: true | |
| 6708 | - | |
| 6709 | - registry.npmmirror.com/jiti/1.16.0: | |
| 6710 | - resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jiti/-/jiti-1.16.0.tgz} | |
| 6711 | - name: jiti | |
| 6712 | - version: 1.16.0 | |
| 6713 | - hasBin: true | |
| 6714 | - dev: true | |
| 6715 | - | |
| 6716 | - registry.npmmirror.com/js-tokens/4.0.0: | |
| 6717 | - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz} | |
| 6718 | - name: js-tokens | |
| 6719 | - version: 4.0.0 | |
| 6720 | - dev: true | |
| 6721 | - | |
| 6722 | - registry.npmmirror.com/jsesc/2.5.2: | |
| 6723 | - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz} | |
| 6724 | - name: jsesc | |
| 6725 | - version: 2.5.2 | |
| 6726 | - engines: {node: '>=4'} | |
| 6727 | - hasBin: true | |
| 6728 | - dev: true | |
| 6729 | - | |
| 6730 | - registry.npmmirror.com/json5/2.2.1: | |
| 6731 | - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json5/-/json5-2.2.1.tgz} | |
| 6732 | - name: json5 | |
| 6733 | - version: 2.2.1 | |
| 6734 | - engines: {node: '>=6'} | |
| 6735 | - hasBin: true | |
| 6736 | - dev: true | |
| 6737 | - | |
| 6738 | - registry.npmmirror.com/jsonfile/6.1.0: | |
| 6739 | - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz} | |
| 6740 | - name: jsonfile | |
| 6741 | - version: 6.1.0 | |
| 6742 | - dependencies: | |
| 6743 | - universalify: registry.npmmirror.com/universalify/2.0.0 | |
| 6744 | - optionalDependencies: | |
| 6745 | - graceful-fs: 4.2.10 | |
| 6746 | - dev: true | |
| 6747 | - | |
| 6748 | - registry.npmmirror.com/kolorist/1.6.0: | |
| 6749 | - resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kolorist/-/kolorist-1.6.0.tgz} | |
| 6750 | - name: kolorist | |
| 6751 | - version: 1.6.0 | |
| 6752 | - dev: true | |
| 6753 | - | |
| 6754 | - registry.npmmirror.com/lru-cache/6.0.0: | |
| 6755 | - 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} | |
| 6756 | - name: lru-cache | |
| 6757 | - version: 6.0.0 | |
| 6758 | - engines: {node: '>=10'} | |
| 6759 | - dependencies: | |
| 6760 | - yallist: registry.npmmirror.com/yallist/4.0.0 | |
| 6761 | - dev: true | |
| 6762 | - | |
| 6763 | - registry.npmmirror.com/magic-string/0.25.9: | |
| 6764 | - 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} | |
| 6765 | - name: magic-string | |
| 6766 | - version: 0.25.9 | |
| 6767 | - dependencies: | |
| 6768 | - sourcemap-codec: 1.4.8 | |
| 6769 | - | |
| 6770 | - registry.npmmirror.com/magic-string/0.27.0: | |
| 6771 | - 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} | |
| 6772 | - name: magic-string | |
| 6773 | - version: 0.27.0 | |
| 6774 | - engines: {node: '>=12'} | |
| 6775 | - dependencies: | |
| 6776 | - '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 | |
| 6777 | - dev: true | |
| 6778 | - | |
| 6779 | - registry.npmmirror.com/merge2/1.4.1: | |
| 6780 | - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz} | |
| 6781 | - name: merge2 | |
| 6782 | - version: 1.4.1 | |
| 6783 | - engines: {node: '>= 8'} | |
| 6784 | - dev: true | |
| 6785 | - | |
| 6786 | - registry.npmmirror.com/micromatch/4.0.5: | |
| 6787 | - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz} | |
| 6788 | - name: micromatch | |
| 6789 | - version: 4.0.5 | |
| 6790 | - engines: {node: '>=8.6'} | |
| 6791 | - dependencies: | |
| 6792 | - braces: registry.npmmirror.com/braces/3.0.2 | |
| 6793 | - picomatch: registry.npmmirror.com/picomatch/2.3.1 | |
| 6794 | - dev: true | |
| 6795 | - | |
| 6796 | - registry.npmmirror.com/ms/2.1.2: | |
| 6797 | - 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} | |
| 6798 | - name: ms | |
| 6799 | - version: 2.1.2 | |
| 6800 | - dev: true | |
| 6801 | - | |
| 6802 | - registry.npmmirror.com/nanoid/3.3.4: | |
| 6803 | - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz} | |
| 6804 | - name: nanoid | |
| 6805 | - version: 3.3.4 | |
| 6806 | - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} | |
| 6807 | - hasBin: true | |
| 6808 | - | |
| 6809 | - registry.npmmirror.com/node-fetch/2.6.7: | |
| 6810 | - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz} | |
| 6811 | - name: node-fetch | |
| 6812 | - version: 2.6.7 | |
| 6813 | - engines: {node: 4.x || >=6.0.0} | |
| 6814 | - peerDependencies: | |
| 6815 | - encoding: ^0.1.0 | |
| 6816 | - peerDependenciesMeta: | |
| 6817 | - encoding: | |
| 6818 | - optional: true | |
| 6819 | - dependencies: | |
| 6820 | - whatwg-url: registry.npmmirror.com/whatwg-url/5.0.0 | |
| 6821 | - dev: true | |
| 6822 | - | |
| 6823 | - registry.npmmirror.com/node-releases/2.0.6: | |
| 6824 | - 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} | |
| 6825 | - name: node-releases | |
| 6826 | - version: 2.0.6 | |
| 6827 | - dev: true | |
| 6828 | - | |
| 6829 | - registry.npmmirror.com/picocolors/1.0.0: | |
| 6830 | - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} | |
| 6831 | - name: picocolors | |
| 6832 | - version: 1.0.0 | |
| 6833 | - | |
| 6834 | - registry.npmmirror.com/picomatch/2.3.1: | |
| 6835 | - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz} | |
| 6836 | - name: picomatch | |
| 6837 | - version: 2.3.1 | |
| 6838 | - engines: {node: '>=8.6'} | |
| 6839 | - dev: true | |
| 6840 | - | |
| 6841 | - registry.npmmirror.com/pinia/2.0.28_prq2uz4lho2pwp6irk4cfkrxwu: | |
| 6842 | - resolution: {integrity: sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.28.tgz} | |
| 6843 | - id: registry.npmmirror.com/pinia/2.0.28 | |
| 6844 | - name: pinia | |
| 6845 | - version: 2.0.28 | |
| 6846 | - peerDependencies: | |
| 6847 | - '@vue/composition-api': ^1.4.0 | |
| 6848 | - typescript: '>=4.4.4' | |
| 6849 | - vue: ^2.6.14 || ^3.2.0 | |
| 6850 | - peerDependenciesMeta: | |
| 6851 | - '@vue/composition-api': | |
| 6852 | - optional: true | |
| 6853 | - typescript: | |
| 6854 | - optional: true | |
| 6855 | - dependencies: | |
| 6856 | - '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.4.5 | |
| 6857 | - typescript: 4.9.4 | |
| 6858 | - vue: 3.2.45 | |
| 6859 | - vue-demi: registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.45 | |
| 6860 | - dev: false | |
| 6861 | - | |
| 6862 | - registry.npmmirror.com/postcss/5.2.18: | |
| 6863 | - resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz} | |
| 6864 | - name: postcss | |
| 6865 | - version: 5.2.18 | |
| 6866 | - engines: {node: '>=0.12'} | |
| 6867 | - dependencies: | |
| 6868 | - chalk: 1.1.3 | |
| 6869 | - js-base64: 2.6.4 | |
| 6870 | - source-map: 0.5.7 | |
| 6871 | - supports-color: registry.npmmirror.com/supports-color/3.2.3 | |
| 6872 | - dev: true | |
| 6873 | - | |
| 6874 | - registry.npmmirror.com/postcss/8.4.20: | |
| 6875 | - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.20.tgz} | |
| 6876 | - name: postcss | |
| 6877 | - version: 8.4.20 | |
| 6878 | - engines: {node: ^10 || ^12 || >=14} | |
| 6879 | - dependencies: | |
| 6880 | - nanoid: registry.npmmirror.com/nanoid/3.3.4 | |
| 6881 | - picocolors: registry.npmmirror.com/picocolors/1.0.0 | |
| 6882 | - source-map-js: registry.npmmirror.com/source-map-js/1.0.2 | |
| 6883 | - | |
| 6884 | - registry.npmmirror.com/regenerator-runtime/0.13.11: | |
| 6885 | - 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} | |
| 6886 | - name: regenerator-runtime | |
| 6887 | - version: 0.13.11 | |
| 6888 | - | |
| 6889 | - registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1: | |
| 6890 | - 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} | |
| 6891 | - name: rollup-plugin-purge-icons | |
| 6892 | - version: 0.9.1 | |
| 6893 | - engines: {node: '>= 12'} | |
| 6894 | - dependencies: | |
| 6895 | - '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 | |
| 6896 | - '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 | |
| 6897 | - transitivePeerDependencies: | |
| 6898 | - - encoding | |
| 6899 | - - supports-color | |
| 6900 | - dev: true | |
| 6901 | - | |
| 6902 | - registry.npmmirror.com/semver/6.3.0: | |
| 6903 | - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz} | |
| 6904 | - name: semver | |
| 6905 | - version: 6.3.0 | |
| 6906 | - hasBin: true | |
| 6907 | - dev: true | |
| 6908 | - | |
| 6909 | - registry.npmmirror.com/semver/7.3.7: | |
| 6910 | - 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} | |
| 6911 | - name: semver | |
| 6912 | - version: 7.3.7 | |
| 6913 | - engines: {node: '>=10'} | |
| 6914 | - hasBin: true | |
| 6915 | - dependencies: | |
| 6916 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 6917 | - dev: true | |
| 6918 | - | |
| 6919 | - registry.npmmirror.com/semver/7.3.8: | |
| 6920 | - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz} | |
| 6921 | - name: semver | |
| 6922 | - version: 7.3.8 | |
| 6923 | - engines: {node: '>=10'} | |
| 6924 | - hasBin: true | |
| 6925 | - dependencies: | |
| 6926 | - lru-cache: registry.npmmirror.com/lru-cache/6.0.0 | |
| 6927 | - dev: true | |
| 6928 | - | |
| 6929 | - registry.npmmirror.com/source-map-js/1.0.2: | |
| 6930 | - 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} | |
| 6931 | - name: source-map-js | |
| 6932 | - version: 1.0.2 | |
| 6933 | - engines: {node: '>=0.10.0'} | |
| 6934 | - | |
| 6935 | - registry.npmmirror.com/supports-color/2.0.0: | |
| 6936 | - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz} | |
| 6937 | - name: supports-color | |
| 6938 | - version: 2.0.0 | |
| 6939 | - engines: {node: '>=0.8.0'} | |
| 6940 | - dev: true | |
| 6941 | - | |
| 6942 | - registry.npmmirror.com/supports-color/3.2.3: | |
| 6943 | - 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} | |
| 6944 | - name: supports-color | |
| 6945 | - version: 3.2.3 | |
| 6946 | - engines: {node: '>=0.8.0'} | |
| 6947 | - dependencies: | |
| 6948 | - has-flag: registry.npmmirror.com/has-flag/1.0.0 | |
| 6949 | - dev: true | |
| 6950 | - | |
| 6951 | - registry.npmmirror.com/supports-color/5.5.0: | |
| 6952 | - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz} | |
| 6953 | - name: supports-color | |
| 6954 | - version: 5.5.0 | |
| 6955 | - engines: {node: '>=4'} | |
| 6956 | - dependencies: | |
| 6957 | - has-flag: registry.npmmirror.com/has-flag/3.0.0 | |
| 6958 | - dev: true | |
| 6959 | - | |
| 6960 | - registry.npmmirror.com/svg-tags/1.0.0: | |
| 6961 | - 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} | |
| 6962 | - name: svg-tags | |
| 6963 | - version: 1.0.0 | |
| 6964 | - dev: true | |
| 6965 | - | |
| 6966 | - registry.npmmirror.com/systemjs/6.13.0: | |
| 6967 | - 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} | |
| 6968 | - name: systemjs | |
| 6969 | - version: 6.13.0 | |
| 6970 | - dev: true | |
| 6971 | - | |
| 6972 | - registry.npmmirror.com/to-fast-properties/2.0.0: | |
| 6973 | - 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} | |
| 6974 | - name: to-fast-properties | |
| 6975 | - version: 2.0.0 | |
| 6976 | - engines: {node: '>=4'} | |
| 6977 | - | |
| 6978 | - registry.npmmirror.com/to-regex-range/2.1.1: | |
| 6979 | - 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} | |
| 6980 | - name: to-regex-range | |
| 6981 | - version: 2.1.1 | |
| 6982 | - engines: {node: '>=0.10.0'} | |
| 6983 | - dependencies: | |
| 6984 | - is-number: registry.npmmirror.com/is-number/3.0.0 | |
| 6985 | - repeat-string: 1.6.1 | |
| 6986 | - dev: true | |
| 6987 | - | |
| 6988 | - registry.npmmirror.com/to-regex-range/5.0.1: | |
| 6989 | - 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} | |
| 6990 | - name: to-regex-range | |
| 6991 | - version: 5.0.1 | |
| 6992 | - engines: {node: '>=8.0'} | |
| 6993 | - dependencies: | |
| 6994 | - is-number: registry.npmmirror.com/is-number/7.0.0 | |
| 6995 | - dev: true | |
| 6996 | - | |
| 6997 | - registry.npmmirror.com/tr46/0.0.3: | |
| 6998 | - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz} | |
| 6999 | - name: tr46 | |
| 7000 | - version: 0.0.3 | |
| 7001 | - dev: true | |
| 7002 | - | |
| 7003 | - registry.npmmirror.com/tslib/2.3.0: | |
| 7004 | - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz} | |
| 7005 | - name: tslib | |
| 7006 | - version: 2.3.0 | |
| 7007 | - dev: false | |
| 7008 | - | |
| 7009 | - registry.npmmirror.com/tslib/2.4.1: | |
| 7010 | - resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz} | |
| 7011 | - name: tslib | |
| 7012 | - version: 2.4.1 | |
| 7013 | - dev: true | |
| 7014 | - | |
| 7015 | - registry.npmmirror.com/universalify/2.0.0: | |
| 7016 | - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz} | |
| 7017 | - name: universalify | |
| 7018 | - version: 2.0.0 | |
| 7019 | - engines: {node: '>= 10.0.0'} | |
| 7020 | - dev: true | |
| 7021 | - | |
| 7022 | - registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4: | |
| 7023 | - 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} | |
| 7024 | - id: registry.npmmirror.com/update-browserslist-db/1.0.10 | |
| 7025 | - name: update-browserslist-db | |
| 7026 | - version: 1.0.10 | |
| 7027 | - hasBin: true | |
| 7028 | - peerDependencies: | |
| 7029 | - browserslist: '>= 4.21.0' | |
| 7030 | - dependencies: | |
| 7031 | - browserslist: registry.npmmirror.com/browserslist/4.21.4 | |
| 7032 | - escalade: registry.npmmirror.com/escalade/3.1.1 | |
| 7033 | - picocolors: 1.0.0 | |
| 7034 | - dev: true | |
| 7035 | - | |
| 7036 | - registry.npmmirror.com/vite-plugin-purge-icons/0.9.2_vite@4.0.3: | |
| 7037 | - 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} | |
| 7038 | - id: registry.npmmirror.com/vite-plugin-purge-icons/0.9.2 | |
| 7039 | - name: vite-plugin-purge-icons | |
| 7040 | - version: 0.9.2 | |
| 7041 | - engines: {node: '>= 12'} | |
| 7042 | - peerDependencies: | |
| 7043 | - vite: ^2.0.0 || ^3.0.0 || ^4.0.0 | |
| 7044 | - dependencies: | |
| 7045 | - '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 | |
| 7046 | - '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 | |
| 7047 | - rollup-plugin-purge-icons: registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1 | |
| 7048 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 7049 | - transitivePeerDependencies: | |
| 7050 | - - encoding | |
| 7051 | - - supports-color | |
| 7052 | - dev: true | |
| 7053 | - | |
| 7054 | - registry.npmmirror.com/vite-plugin-windicss/1.8.10_vite@4.0.3: | |
| 7055 | - 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} | |
| 7056 | - id: registry.npmmirror.com/vite-plugin-windicss/1.8.10 | |
| 7057 | - name: vite-plugin-windicss | |
| 7058 | - version: 1.8.10 | |
| 7059 | - peerDependencies: | |
| 7060 | - vite: ^2.0.1 || ^3.0.0 || ^4.0.0 | |
| 7061 | - dependencies: | |
| 7062 | - '@windicss/plugin-utils': registry.npmmirror.com/@windicss/plugin-utils/1.8.10 | |
| 7063 | - debug: registry.npmmirror.com/debug/4.3.4 | |
| 7064 | - kolorist: registry.npmmirror.com/kolorist/1.6.0 | |
| 7065 | - vite: 4.0.3_amyfslv6hdwxqbf7f4ldebbtce | |
| 7066 | - windicss: registry.npmmirror.com/windicss/3.5.6 | |
| 7067 | - transitivePeerDependencies: | |
| 7068 | - - supports-color | |
| 7069 | - dev: true | |
| 7070 | - | |
| 7071 | - registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.45: | |
| 7072 | - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz} | |
| 7073 | - id: registry.npmmirror.com/vue-demi/0.13.11 | |
| 7074 | - name: vue-demi | |
| 7075 | - version: 0.13.11 | |
| 7076 | - engines: {node: '>=12'} | |
| 7077 | - hasBin: true | |
| 7078 | - requiresBuild: true | |
| 7079 | - peerDependencies: | |
| 7080 | - '@vue/composition-api': ^1.0.0-rc.1 | |
| 7081 | - vue: ^3.0.0-0 || ^2.6.0 | |
| 7082 | - peerDependenciesMeta: | |
| 7083 | - '@vue/composition-api': | |
| 7084 | - optional: true | |
| 7085 | - dependencies: | |
| 7086 | - vue: 3.2.45 | |
| 7087 | - dev: false | |
| 7088 | - | |
| 7089 | - registry.npmmirror.com/vxe-table/4.3.7_vue@3.2.45+xe-utils@3.5.7: | |
| 7090 | - 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} | |
| 7091 | - id: registry.npmmirror.com/vxe-table/4.3.7 | |
| 7092 | - name: vxe-table | |
| 7093 | - version: 4.3.7 | |
| 7094 | - peerDependencies: | |
| 7095 | - vue: ^3.2.28 | |
| 7096 | - xe-utils: ^3.5.0 | |
| 7097 | - dependencies: | |
| 7098 | - vue: 3.2.45 | |
| 7099 | - xe-utils: 3.5.7 | |
| 7100 | - dev: false | |
| 7101 | - | |
| 7102 | - registry.npmmirror.com/webidl-conversions/3.0.1: | |
| 7103 | - 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} | |
| 7104 | - name: webidl-conversions | |
| 7105 | - version: 3.0.1 | |
| 7106 | - dev: true | |
| 7107 | - | |
| 7108 | - registry.npmmirror.com/whatwg-url/5.0.0: | |
| 7109 | - 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} | |
| 7110 | - name: whatwg-url | |
| 7111 | - version: 5.0.0 | |
| 7112 | - dependencies: | |
| 7113 | - tr46: registry.npmmirror.com/tr46/0.0.3 | |
| 7114 | - webidl-conversions: registry.npmmirror.com/webidl-conversions/3.0.1 | |
| 7115 | - dev: true | |
| 7116 | - | |
| 7117 | - registry.npmmirror.com/windicss/3.5.6: | |
| 7118 | - resolution: {integrity: sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/windicss/-/windicss-3.5.6.tgz} | |
| 7119 | - name: windicss | |
| 7120 | - version: 3.5.6 | |
| 7121 | - engines: {node: '>= 12'} | |
| 7122 | - hasBin: true | |
| 7123 | - dev: true | |
| 7124 | - | |
| 7125 | - registry.npmmirror.com/yallist/4.0.0: | |
| 7126 | - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz} | |
| 7127 | - name: yallist | |
| 7128 | - version: 4.0.0 | |
| 7129 | - dev: true | |
| 7130 | - | |
| 7131 | - registry.npmmirror.com/zrender/5.4.1: | |
| 7132 | - resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/zrender/-/zrender-5.4.1.tgz} | |
| 7133 | - name: zrender | |
| 7134 | - version: 5.4.1 | |
| 6512 | + /zrender/5.4.1: | |
| 6513 | + resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/zrender/-/zrender-5.4.1.tgz} | |
| 7135 | 6514 | dependencies: |
| 7136 | - tslib: registry.npmmirror.com/tslib/2.3.0 | |
| 6515 | + tslib: 2.3.0 | |
| 7137 | 6516 | dev: false | ... | ... |
yudao-ui-admin-vue3/src/components/Crontab/src/Crontab.vue
yudao-ui-admin-vue3/src/components/XTable/index.ts
0 → 100644
yudao-ui-admin-vue3/src/components/XTable/src/XTable.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <VxeGrid v-bind="getProps" ref="xGrid" :class="`${prefixCls}`" class="xtable-scrollbar"> | |
| 3 | + <template #[item]="data" v-for="item in Object.keys($slots)" :key="item"> | |
| 4 | + <slot :name="item" v-bind="data || {}"></slot> | |
| 5 | + </template> | |
| 6 | + </VxeGrid> | |
| 7 | +</template> | |
| 8 | +<script lang="ts" setup name="XTable"> | |
| 9 | +import { computed, PropType, ref, unref, useAttrs, watch } from 'vue' | |
| 10 | +import { SizeType, VxeGridInstance } from 'vxe-table' | |
| 11 | +import { useAppStore } from '@/store/modules/app' | |
| 12 | +import { useDesign } from '@/hooks/web/useDesign' | |
| 13 | +import { XTableProps } from './type' | |
| 14 | +import { isBoolean, isFunction } from '@/utils/is' | |
| 15 | +import { useMessage } from '@/hooks/web/useMessage' | |
| 16 | +import download from '@/utils/download' | |
| 17 | +import { useI18n } from '@/hooks/web/useI18n' | |
| 18 | + | |
| 19 | +const { t } = useI18n() | |
| 20 | +const message = useMessage() // 消息弹窗 | |
| 21 | + | |
| 22 | +const appStore = useAppStore() | |
| 23 | + | |
| 24 | +const { getPrefixCls } = useDesign() | |
| 25 | +const prefixCls = getPrefixCls('x-vxe-table') | |
| 26 | + | |
| 27 | +const attrs = useAttrs() | |
| 28 | +const emit = defineEmits(['register']) | |
| 29 | + | |
| 30 | +watch( | |
| 31 | + () => appStore.getIsDark, | |
| 32 | + () => { | |
| 33 | + if (appStore.getIsDark == true) { | |
| 34 | + import('./style/dark.scss') | |
| 35 | + } | |
| 36 | + if (appStore.getIsDark == false) { | |
| 37 | + import('./style/light.scss') | |
| 38 | + } | |
| 39 | + }, | |
| 40 | + { immediate: true } | |
| 41 | +) | |
| 42 | + | |
| 43 | +const currentSize = computed(() => { | |
| 44 | + let resSize: SizeType = 'small' | |
| 45 | + const appsize = appStore.getCurrentSize | |
| 46 | + switch (appsize) { | |
| 47 | + case 'large': | |
| 48 | + resSize = 'medium' | |
| 49 | + break | |
| 50 | + case 'default': | |
| 51 | + resSize = 'small' | |
| 52 | + break | |
| 53 | + case 'small': | |
| 54 | + resSize = 'mini' | |
| 55 | + break | |
| 56 | + } | |
| 57 | + return resSize | |
| 58 | +}) | |
| 59 | + | |
| 60 | +const props = defineProps({ | |
| 61 | + options: { | |
| 62 | + type: Object as PropType<XTableProps>, | |
| 63 | + default: () => {} | |
| 64 | + } | |
| 65 | +}) | |
| 66 | +const innerProps = ref<Partial<XTableProps>>() | |
| 67 | + | |
| 68 | +const getProps = computed(() => { | |
| 69 | + const options = innerProps.value || props.options | |
| 70 | + options.size = currentSize as any | |
| 71 | + options.height = 700 | |
| 72 | + getOptionInitConfig(options) | |
| 73 | + getColumnsConfig(options) | |
| 74 | + getProxyConfig(options) | |
| 75 | + getPageConfig(options) | |
| 76 | + getToolBarConfig(options) | |
| 77 | + // console.log(options); | |
| 78 | + return { | |
| 79 | + ...options, | |
| 80 | + ...attrs | |
| 81 | + } | |
| 82 | +}) | |
| 83 | + | |
| 84 | +const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 85 | + | |
| 86 | +let proxyForm = false | |
| 87 | + | |
| 88 | +const getOptionInitConfig = (options: XTableProps) => { | |
| 89 | + options.size = currentSize as any | |
| 90 | + options.rowConfig = { | |
| 91 | + isCurrent: true, // 当鼠标点击行时,是否要高亮当前行 | |
| 92 | + isHover: true // 当鼠标移到行时,是否要高亮当前行 | |
| 93 | + } | |
| 94 | +} | |
| 95 | + | |
| 96 | +// columns | |
| 97 | +const getColumnsConfig = (options: XTableProps) => { | |
| 98 | + const { allSchemas } = options | |
| 99 | + if (!allSchemas) return | |
| 100 | + if (allSchemas.printSchema) { | |
| 101 | + options.printConfig = { | |
| 102 | + columns: allSchemas.printSchema | |
| 103 | + } | |
| 104 | + } | |
| 105 | + if (allSchemas.formSchema) { | |
| 106 | + proxyForm = true | |
| 107 | + options.formConfig = { | |
| 108 | + enabled: true, | |
| 109 | + titleWidth: 100, | |
| 110 | + titleAlign: 'right', | |
| 111 | + items: allSchemas.searchSchema | |
| 112 | + } | |
| 113 | + } | |
| 114 | + if (allSchemas.tableSchema) { | |
| 115 | + options.columns = allSchemas.tableSchema | |
| 116 | + } | |
| 117 | +} | |
| 118 | + | |
| 119 | +// 动态请求 | |
| 120 | +const getProxyConfig = (options: XTableProps) => { | |
| 121 | + const { getListApi, proxyConfig, data, isList } = options | |
| 122 | + if (proxyConfig || data) return | |
| 123 | + if (getListApi && isFunction(getListApi) && !isList) { | |
| 124 | + if (!isList) { | |
| 125 | + options.proxyConfig = { | |
| 126 | + seq: true, // 启用动态序号代理(分页之后索引自动计算为当前页的起始序号) | |
| 127 | + form: proxyForm, // 启用表单代理,当点击表单提交按钮时会自动触发 reload 行为 | |
| 128 | + props: { result: 'list', total: 'total' }, | |
| 129 | + ajax: { | |
| 130 | + query: async ({ page, form }) => { | |
| 131 | + let queryParams: any = Object.assign({}, JSON.parse(JSON.stringify(form))) | |
| 132 | + if (options.params) { | |
| 133 | + queryParams = Object.assign(queryParams, options.params) | |
| 134 | + } | |
| 135 | + if (!options?.treeConfig) { | |
| 136 | + queryParams.pageSize = page.pageSize | |
| 137 | + queryParams.pageNo = page.currentPage | |
| 138 | + } | |
| 139 | + return new Promise(async (resolve) => { | |
| 140 | + resolve(await getListApi(queryParams)) | |
| 141 | + }) | |
| 142 | + }, | |
| 143 | + delete: ({ body }) => { | |
| 144 | + return new Promise(async (resolve) => { | |
| 145 | + if (options.deleteApi) { | |
| 146 | + resolve(await options.deleteApi(JSON.stringify(body))) | |
| 147 | + } else { | |
| 148 | + Promise.reject('未设置deleteApi') | |
| 149 | + } | |
| 150 | + }) | |
| 151 | + }, | |
| 152 | + queryAll: ({ form }) => { | |
| 153 | + const queryParams = Object.assign({}, JSON.parse(JSON.stringify(form))) | |
| 154 | + return new Promise(async (resolve) => { | |
| 155 | + if (options.getAllListApi) { | |
| 156 | + resolve(await options.getAllListApi(queryParams)) | |
| 157 | + } else { | |
| 158 | + resolve(await getListApi(queryParams)) | |
| 159 | + } | |
| 160 | + }) | |
| 161 | + } | |
| 162 | + } | |
| 163 | + } | |
| 164 | + } else { | |
| 165 | + options.proxyConfig = { | |
| 166 | + seq: true, // 启用动态序号代理(分页之后索引自动计算为当前页的起始序号) | |
| 167 | + form: true, // 启用表单代理,当点击表单提交按钮时会自动触发 reload 行为 | |
| 168 | + props: { result: 'data' }, | |
| 169 | + ajax: { | |
| 170 | + query: ({ form }) => { | |
| 171 | + let queryParams: any = Object.assign({}, JSON.parse(JSON.stringify(form))) | |
| 172 | + if (options?.params) { | |
| 173 | + queryParams = Object.assign(queryParams, options.params) | |
| 174 | + } | |
| 175 | + return new Promise(async (resolve) => { | |
| 176 | + resolve(await getListApi(queryParams)) | |
| 177 | + }) | |
| 178 | + } | |
| 179 | + } | |
| 180 | + } | |
| 181 | + } | |
| 182 | + } | |
| 183 | + if (options.exportListApi) { | |
| 184 | + options.exportConfig = { | |
| 185 | + filename: options?.exportName, | |
| 186 | + // 默认选中类型 | |
| 187 | + type: 'csv', | |
| 188 | + // 自定义数据量列表 | |
| 189 | + modes: options?.getAllListApi ? ['current', 'all'] : ['current'], | |
| 190 | + columns: options?.allSchemas?.printSchema | |
| 191 | + } | |
| 192 | + } | |
| 193 | +} | |
| 194 | + | |
| 195 | +// 分页 | |
| 196 | +const getPageConfig = (options: XTableProps) => { | |
| 197 | + const { pagination, pagerConfig, treeConfig } = options | |
| 198 | + if (treeConfig) { | |
| 199 | + options.treeConfig = options.treeConfig | |
| 200 | + return | |
| 201 | + } | |
| 202 | + if (pagerConfig) return | |
| 203 | + if (pagination) { | |
| 204 | + if (isBoolean(pagination)) { | |
| 205 | + options.pagerConfig = { | |
| 206 | + border: false, // 带边框 | |
| 207 | + background: true, // 带背景颜色 | |
| 208 | + perfect: false, // 配套的样式 | |
| 209 | + pageSize: 10, // 每页大小 | |
| 210 | + pagerCount: 7, // 显示页码按钮的数量 | |
| 211 | + autoHidden: false, // 当只有一页时自动隐藏 | |
| 212 | + pageSizes: [5, 10, 20, 30, 50, 100], // 每页大小选项列表 | |
| 213 | + layouts: [ | |
| 214 | + 'PrevJump', | |
| 215 | + 'PrevPage', | |
| 216 | + 'JumpNumber', | |
| 217 | + 'NextPage', | |
| 218 | + 'NextJump', | |
| 219 | + 'Sizes', | |
| 220 | + 'FullJump', | |
| 221 | + 'Total' | |
| 222 | + ] | |
| 223 | + } | |
| 224 | + return | |
| 225 | + } | |
| 226 | + options.pagerConfig = pagination | |
| 227 | + } else { | |
| 228 | + if (pagination != false) { | |
| 229 | + options.pagerConfig = { | |
| 230 | + border: false, // 带边框 | |
| 231 | + background: true, // 带背景颜色 | |
| 232 | + perfect: false, // 配套的样式 | |
| 233 | + pageSize: 10, // 每页大小 | |
| 234 | + pagerCount: 7, // 显示页码按钮的数量 | |
| 235 | + autoHidden: false, // 当只有一页时自动隐藏 | |
| 236 | + pageSizes: [5, 10, 20, 30, 50, 100], // 每页大小选项列表 | |
| 237 | + layouts: [ | |
| 238 | + 'PrevJump', | |
| 239 | + 'PrevPage', | |
| 240 | + 'JumpNumber', | |
| 241 | + 'NextPage', | |
| 242 | + 'NextJump', | |
| 243 | + 'Sizes', | |
| 244 | + 'FullJump', | |
| 245 | + 'Total' | |
| 246 | + ] | |
| 247 | + } | |
| 248 | + } | |
| 249 | + } | |
| 250 | +} | |
| 251 | + | |
| 252 | +// tool bar | |
| 253 | +const getToolBarConfig = (options: XTableProps) => { | |
| 254 | + const { toolBar, toolbarConfig, topActionSlots } = options | |
| 255 | + if (toolbarConfig) return | |
| 256 | + if (toolBar) { | |
| 257 | + if (!isBoolean(toolBar)) { | |
| 258 | + options.toolbarConfig = toolBar | |
| 259 | + return | |
| 260 | + } | |
| 261 | + } else if (!topActionSlots) { | |
| 262 | + options.toolbarConfig = { | |
| 263 | + slots: { buttons: 'toolbar_buttons' } | |
| 264 | + } | |
| 265 | + } | |
| 266 | +} | |
| 267 | + | |
| 268 | +// 刷新列表 | |
| 269 | +const reload = () => { | |
| 270 | + const g = unref(xGrid) | |
| 271 | + if (!g) { | |
| 272 | + return | |
| 273 | + } | |
| 274 | + g.commitProxy('query') | |
| 275 | +} | |
| 276 | + | |
| 277 | +// 删除 | |
| 278 | +const deleteData = async (ids: string | number) => { | |
| 279 | + const g = unref(xGrid) | |
| 280 | + if (!g) { | |
| 281 | + return | |
| 282 | + } | |
| 283 | + const options = innerProps.value || props.options | |
| 284 | + if (!options.deleteApi) { | |
| 285 | + console.error('未传入delListApi') | |
| 286 | + return | |
| 287 | + } | |
| 288 | + return new Promise(async () => { | |
| 289 | + message.delConfirm().then(async () => { | |
| 290 | + await (options?.deleteApi && options?.deleteApi(ids)) | |
| 291 | + message.success(t('common.delSuccess')) | |
| 292 | + // 刷新列表 | |
| 293 | + reload() | |
| 294 | + }) | |
| 295 | + }) | |
| 296 | +} | |
| 297 | + | |
| 298 | +// 导出 | |
| 299 | +const exportList = async (fileName?: string) => { | |
| 300 | + const g = unref(xGrid) | |
| 301 | + if (!g) { | |
| 302 | + return | |
| 303 | + } | |
| 304 | + const options = innerProps.value || props.options | |
| 305 | + if (!options?.exportListApi) { | |
| 306 | + console.error('未传入exportListApi') | |
| 307 | + return | |
| 308 | + } | |
| 309 | + const queryParams = Object.assign({}, JSON.parse(JSON.stringify(g.getProxyInfo()?.form))) | |
| 310 | + message.exportConfirm().then(async () => { | |
| 311 | + const res = await (options?.exportListApi && options?.exportListApi(queryParams)) | |
| 312 | + download.excel(res as unknown as Blob, fileName ? fileName : 'excel.xls') | |
| 313 | + }) | |
| 314 | +} | |
| 315 | + | |
| 316 | +// 获取查询参数 | |
| 317 | +const getSearchData = () => { | |
| 318 | + const g = unref(xGrid) | |
| 319 | + if (!g) { | |
| 320 | + return | |
| 321 | + } | |
| 322 | + const queryParams = Object.assign({}, JSON.parse(JSON.stringify(g.getProxyInfo()?.form))) | |
| 323 | + return queryParams | |
| 324 | +} | |
| 325 | + | |
| 326 | +const setProps = (prop: Partial<XTableProps>) => { | |
| 327 | + innerProps.value = { ...unref(innerProps), ...prop } | |
| 328 | +} | |
| 329 | + | |
| 330 | +defineExpose({ reload, Ref: xGrid, getSearchData, deleteData, exportList }) | |
| 331 | +emit('register', { reload, getSearchData, setProps, deleteData, exportList }) | |
| 332 | +</script> | |
| 333 | +<style lang="scss"> | |
| 334 | +@import './style/index.scss'; | |
| 335 | +</style> | ... | ... |
yudao-ui-admin-vue3/src/components/XTable/src/style/dark.scss
0 → 100644
| 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/components/XTable/src/style/index.scss
0 → 100644
yudao-ui-admin-vue3/src/components/XTable/src/style/light.scss
0 → 100644
| 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'; | ... | ... |
yudao-ui-admin-vue3/src/components/XTable/src/type.ts
0 → 100644
| 1 | +import { CrudSchema } from '@/hooks/web/useCrudSchemas' | |
| 2 | +import type { VxeGridProps, VxeGridPropTypes, VxeTablePropTypes } from 'vxe-table' | |
| 3 | + | |
| 4 | +export type XTableProps<D = any> = VxeGridProps<D> & { | |
| 5 | + allSchemas?: CrudSchema | |
| 6 | + height?: number // 高度 默认730 | |
| 7 | + topActionSlots?: boolean // 是否开启表格内顶部操作栏插槽 | |
| 8 | + treeConfig?: VxeTablePropTypes.TreeConfig // 树形表单配置 | |
| 9 | + isList?: boolean // 是否不带分页的list | |
| 10 | + getListApi?: Function // 获取列表接口 | |
| 11 | + getAllListApi?: Function // 获取全部数据接口 用于 vxe 导出 | |
| 12 | + deleteApi?: Function // 删除接口 | |
| 13 | + exportListApi?: Function // 导出接口 | |
| 14 | + exportName?: string // 导出文件夹名称 | |
| 15 | + params?: any // 其他查询参数 | |
| 16 | + pagination?: boolean | VxeGridPropTypes.PagerConfig // 分页配置参数 | |
| 17 | + toolBar?: boolean | VxeGridPropTypes.ToolbarConfig // 右侧工具栏配置参数 | |
| 18 | +} | |
| 19 | +export type XColumns = VxeGridPropTypes.Columns | |
| 20 | + | |
| 21 | +export type VxeTableColumn = { | |
| 22 | + field: string | |
| 23 | + title?: string | |
| 24 | + children?: VxeTableColumn[] | |
| 25 | +} & Recordable | ... | ... |
yudao-ui-admin-vue3/src/components/index.ts
| ... | ... | @@ -4,6 +4,7 @@ import { Form } from '@/components/Form' |
| 4 | 4 | import { Table } from '@/components/Table' |
| 5 | 5 | import { Search } from '@/components/Search' |
| 6 | 6 | import { XModal } from '@/components/XModal' |
| 7 | +import { XTable } from '@/components/XTable' | |
| 7 | 8 | import { XButton, XTextButton } from '@/components/XButton' |
| 8 | 9 | import { DictTag } from '@/components/DictTag' |
| 9 | 10 | import { ContentWrap } from '@/components/ContentWrap' |
| ... | ... | @@ -15,6 +16,7 @@ export const setupGlobCom = (app: App<Element>): void => { |
| 15 | 16 | app.component('Table', Table) |
| 16 | 17 | app.component('Search', Search) |
| 17 | 18 | app.component('XModal', XModal) |
| 19 | + app.component('XTable', XTable) | |
| 18 | 20 | app.component('XButton', XButton) |
| 19 | 21 | app.component('XTextButton', XTextButton) |
| 20 | 22 | app.component('DictTag', DictTag) | ... | ... |
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/hooks/web/useXTable.ts
0 → 100644
| 1 | +import { ref, unref } from 'vue' | |
| 2 | +import { XTableProps } from '@/components/XTable/src/type' | |
| 3 | + | |
| 4 | +export interface tableMethod { | |
| 5 | + reload: () => void | |
| 6 | + setProps: (props: XTableProps) => void | |
| 7 | + deleteData: (ids: string | number) => void | |
| 8 | + exportList: (fileName?: string) => void | |
| 9 | +} | |
| 10 | + | |
| 11 | +export const useXTable = (props: XTableProps): [Function, tableMethod] => { | |
| 12 | + const tableRef = ref<Nullable<tableMethod>>(null) | |
| 13 | + | |
| 14 | + const register = (instance) => { | |
| 15 | + tableRef.value = instance | |
| 16 | + props && instance.setProps(props) | |
| 17 | + } | |
| 18 | + const getInstance = (): tableMethod => { | |
| 19 | + const table = unref(tableRef) | |
| 20 | + if (!table) { | |
| 21 | + console.error('表格实例不存在') | |
| 22 | + } | |
| 23 | + return table as tableMethod | |
| 24 | + } | |
| 25 | + const methods: tableMethod = { | |
| 26 | + reload: () => getInstance().reload(), | |
| 27 | + setProps: (props) => getInstance().setProps(props), | |
| 28 | + deleteData: (ids: string | number) => getInstance().deleteData(ids), | |
| 29 | + exportList: (fileName?: string) => getInstance().exportList(fileName) | |
| 30 | + } | |
| 31 | + return [register, methods] | |
| 32 | +} | ... | ... |
yudao-ui-admin-vue3/src/main.ts
| ... | ... | @@ -26,10 +26,10 @@ 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 | |
| ... | ... | @@ -53,6 +53,8 @@ const setupAll = async () => { |
| 53 | 53 | |
| 54 | 54 | setupAuth(app) |
| 55 | 55 | |
| 56 | + await router.isReady() | |
| 57 | + | |
| 56 | 58 | app.mount('#app') |
| 57 | 59 | } |
| 58 | 60 | ... | ... |
yudao-ui-admin-vue3/src/plugins/vxeTable/index.ts
| 1 | -import { App, unref, watch } from 'vue' | |
| 1 | +import { App, unref } from 'vue' | |
| 2 | 2 | import XEUtils from 'xe-utils' |
| 3 | -import './index.scss' | |
| 4 | 3 | import './renderer' |
| 5 | 4 | import { i18n } from '@/plugins/vueI18n' |
| 6 | -import { useAppStore } from '@/store/modules/app' | |
| 7 | 5 | import zhCN from 'vxe-table/lib/locale/lang/zh-CN' |
| 8 | 6 | import enUS from 'vxe-table/lib/locale/lang/en-US' |
| 9 | 7 | import { |
| ... | ... | @@ -46,21 +44,6 @@ import { |
| 46 | 44 | Table |
| 47 | 45 | } from 'vxe-table' |
| 48 | 46 | |
| 49 | -const appStore = useAppStore() | |
| 50 | -watch( | |
| 51 | - () => appStore.getIsDark, | |
| 52 | - () => { | |
| 53 | - if (appStore.getIsDark) { | |
| 54 | - import('./theme/dark.scss') | |
| 55 | - } else { | |
| 56 | - import('./theme/light.scss') | |
| 57 | - } | |
| 58 | - }, | |
| 59 | - { | |
| 60 | - deep: true, | |
| 61 | - immediate: true | |
| 62 | - } | |
| 63 | -) | |
| 64 | 47 | // 全局默认参数 |
| 65 | 48 | VXETable.setup({ |
| 66 | 49 | size: 'medium', // 全局尺寸 | ... | ... |
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/router/index.ts
| ... | ... | @@ -6,15 +6,11 @@ import { isRelogin } from '@/config/axios/service' |
| 6 | 6 | import { getAccessToken } from '@/utils/auth' |
| 7 | 7 | import { useTitle } from '@/hooks/web/useTitle' |
| 8 | 8 | import { useNProgress } from '@/hooks/web/useNProgress' |
| 9 | -import { CACHE_KEY, useCache } from '@/hooks/web/useCache' | |
| 10 | 9 | import { usePageLoading } from '@/hooks/web/usePageLoading' |
| 11 | 10 | import { useDictStoreWithOut } from '@/store/modules/dict' |
| 12 | 11 | import { useUserStoreWithOut } from '@/store/modules/user' |
| 13 | 12 | import { usePermissionStoreWithOut } from '@/store/modules/permission' |
| 14 | 13 | import { getInfoApi } from '@/api/login' |
| 15 | -import { listSimpleDictDataApi } from '@/api/system/dict/dict.data' | |
| 16 | - | |
| 17 | -const { wsCache } = useCache() | |
| 18 | 14 | |
| 19 | 15 | const { start, done } = useNProgress() |
| 20 | 16 | |
| ... | ... | @@ -50,10 +46,8 @@ router.beforeEach(async (to, from, next) => { |
| 50 | 46 | const dictStore = useDictStoreWithOut() |
| 51 | 47 | const userStore = useUserStoreWithOut() |
| 52 | 48 | const permissionStore = usePermissionStoreWithOut() |
| 53 | - const dictMap = wsCache.get(CACHE_KEY.DICT_CACHE) | |
| 54 | - if (!dictMap) { | |
| 55 | - const res = await listSimpleDictDataApi() | |
| 56 | - dictStore.setDictMap(res) | |
| 49 | + if (!dictStore.getIsSetDict) { | |
| 50 | + dictStore.setDictMap() | |
| 57 | 51 | } |
| 58 | 52 | if (!userStore.getIsSetUser) { |
| 59 | 53 | isRelogin.show = true | ... | ... |
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/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/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/infra/apiAccessLog/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #duration_default="{ row }"> |
| 6 | 6 | <span>{{ row.duration + 'ms' }}</span> |
| 7 | 7 | </template> |
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | @click="handleDetail(row)" |
| 18 | 18 | /> |
| 19 | 19 | </template> |
| 20 | - </vxe-grid> | |
| 20 | + </XTable> | |
| 21 | 21 | </ContentWrap> |
| 22 | 22 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 23 | 23 | <!-- 对话框(详情) --> |
| ... | ... | @@ -38,15 +38,14 @@ |
| 38 | 38 | <script setup lang="ts" name="ApiAccessLog"> |
| 39 | 39 | import { ref } from 'vue' |
| 40 | 40 | import { useI18n } from '@/hooks/web/useI18n' |
| 41 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 42 | -import { VxeGridInstance } from 'vxe-table' | |
| 41 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 43 | 42 | import { allSchemas } from './apiAccessLog.data' |
| 44 | 43 | import * as ApiAccessLogApi from '@/api/infra/apiAccessLog' |
| 44 | + | |
| 45 | 45 | const { t } = useI18n() // 国际化 |
| 46 | 46 | |
| 47 | 47 | // 列表相关的变量 |
| 48 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 49 | -const { gridOptions } = useVxeGrid<ApiAccessLogApi.ApiAccessLogVO>({ | |
| 48 | +const [registerTable] = useXTable({ | |
| 50 | 49 | allSchemas: allSchemas, |
| 51 | 50 | topActionSlots: false, |
| 52 | 51 | getListApi: ApiAccessLogApi.getApiAccessLogPageApi | ... | ... |
yudao-ui-admin-vue3/src/views/infra/apiErrorLog/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:导出 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| 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 }"> |
| ... | ... | @@ -40,7 +40,7 @@ |
| 40 | 40 | @click="handleProcessClick(row, InfraApiErrorLogProcessStatusEnum.IGNORE, '已忽略')" |
| 41 | 41 | /> |
| 42 | 42 | </template> |
| 43 | - </vxe-grid> | |
| 43 | + </XTable> | |
| 44 | 44 | </ContentWrap> |
| 45 | 45 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 46 | 46 | <!-- 对话框(详情) --> |
| ... | ... | @@ -54,18 +54,17 @@ |
| 54 | 54 | <script setup lang="ts" name="ApiErrorLog"> |
| 55 | 55 | import { ref } from 'vue' |
| 56 | 56 | import { useI18n } from '@/hooks/web/useI18n' |
| 57 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 58 | -import { VxeGridInstance } from 'vxe-table' | |
| 57 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 59 | 58 | import { allSchemas } from './apiErrorLog.data' |
| 60 | 59 | import * as ApiErrorLogApi from '@/api/infra/apiErrorLog' |
| 61 | 60 | import { InfraApiErrorLogProcessStatusEnum } from '@/utils/constants' |
| 62 | 61 | import { useMessage } from '@/hooks/web/useMessage' |
| 63 | -const message = useMessage() | |
| 62 | + | |
| 64 | 63 | const { t } = useI18n() // 国际化 |
| 64 | +const message = useMessage() | |
| 65 | 65 | |
| 66 | 66 | // ========== 列表相关 ========== |
| 67 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 68 | -const { gridOptions, getList, exportList } = useVxeGrid<ApiErrorLogApi.ApiErrorLogVO>({ | |
| 67 | +const [registerTable, { reload, exportList }] = useXTable({ | |
| 69 | 68 | allSchemas: allSchemas, |
| 70 | 69 | getListApi: ApiErrorLogApi.getApiErrorLogPageApi, |
| 71 | 70 | exportListApi: ApiErrorLogApi.exportApiErrorLogApi |
| ... | ... | @@ -82,10 +81,7 @@ const handleDetail = (row: ApiErrorLogApi.ApiErrorLogVO) => { |
| 82 | 81 | dialogTitle.value = t('action.detail') |
| 83 | 82 | dialogVisible.value = true |
| 84 | 83 | } |
| 85 | -// 导出 | |
| 86 | -const handleExport = async () => { | |
| 87 | - await exportList(xGrid, '错误数据.xls') | |
| 88 | -} | |
| 84 | + | |
| 89 | 85 | // 异常处理操作 |
| 90 | 86 | const handleProcessClick = ( |
| 91 | 87 | row: ApiErrorLogApi.ApiErrorLogVO, |
| ... | ... | @@ -100,7 +96,7 @@ const handleProcessClick = ( |
| 100 | 96 | }) |
| 101 | 97 | .finally(async () => { |
| 102 | 98 | // 刷新列表 |
| 103 | - await getList(xGrid) | |
| 99 | + await reload() | |
| 104 | 100 | }) |
| 105 | 101 | .catch(() => {}) |
| 106 | 102 | } | ... | ... |
yudao-ui-admin-vue3/src/views/infra/codegen/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:导入 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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 |
| ... | ... | @@ -49,20 +49,19 @@ |
| 49 | 49 | @click="handleGenTable(row)" |
| 50 | 50 | /> |
| 51 | 51 | </template> |
| 52 | - </vxe-grid> | |
| 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> |
| 59 | 59 | <script setup lang="ts" name="Codegen"> |
| 60 | 60 | import { ref } from 'vue' |
| 61 | 61 | import { useRouter } from 'vue-router' |
| 62 | -import { VxeGridInstance } from 'vxe-table' | |
| 63 | 62 | import { useI18n } from '@/hooks/web/useI18n' |
| 64 | 63 | import { useMessage } from '@/hooks/web/useMessage' |
| 65 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 64 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 66 | 65 | import download from '@/utils/download' |
| 67 | 66 | import * as CodegenApi from '@/api/infra/codegen' |
| 68 | 67 | import { CodegenTableVO } from '@/api/infra/codegen/types' |
| ... | ... | @@ -73,8 +72,7 @@ const { t } = useI18n() // 国际化 |
| 73 | 72 | const message = useMessage() // 消息弹窗 |
| 74 | 73 | const { push } = useRouter() // 路由跳转 |
| 75 | 74 | // 列表相关的变量 |
| 76 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 77 | -const { gridOptions, getList, deleteData } = useVxeGrid<CodegenTableVO>({ | |
| 75 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 78 | 76 | allSchemas: allSchemas, |
| 79 | 77 | getListApi: CodegenApi.getCodegenTablePageApi, |
| 80 | 78 | deleteApi: CodegenApi.deleteCodegenTableApi |
| ... | ... | @@ -105,17 +103,10 @@ const handleSynchDb = (row: CodegenTableVO) => { |
| 105 | 103 | message.success('同步成功') |
| 106 | 104 | }) |
| 107 | 105 | } |
| 106 | + | |
| 108 | 107 | // 生成代码操作 |
| 109 | 108 | const handleGenTable = async (row: CodegenTableVO) => { |
| 110 | 109 | const res = await CodegenApi.downloadCodegenApi(row.id) |
| 111 | 110 | download.zip(res, 'codegen-' + row.className + '.zip') |
| 112 | 111 | } |
| 113 | -// 删除操作 | |
| 114 | -const handleDelete = async (rowId: number) => { | |
| 115 | - await deleteData(xGrid, rowId) | |
| 116 | -} | |
| 117 | -// 查询操作 | |
| 118 | -const handleQuery = async () => { | |
| 119 | - await getList(xGrid) | |
| 120 | -} | |
| 121 | 112 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/config/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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,10 +43,10 @@ |
| 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 | - </vxe-grid> | |
| 49 | + </XTable> | |
| 50 | 50 | </ContentWrap> |
| 51 | 51 | |
| 52 | 52 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -87,8 +87,7 @@ |
| 87 | 87 | import { ref, unref } from 'vue' |
| 88 | 88 | import { useI18n } from '@/hooks/web/useI18n' |
| 89 | 89 | import { useMessage } from '@/hooks/web/useMessage' |
| 90 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 91 | -import { VxeGridInstance } from 'vxe-table' | |
| 90 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 92 | 91 | import { FormExpose } from '@/components/Form' |
| 93 | 92 | // 业务相关的 import |
| 94 | 93 | import * as ConfigApi from '@/api/infra/config' |
| ... | ... | @@ -97,8 +96,7 @@ import { rules, allSchemas } from './config.data' |
| 97 | 96 | const { t } = useI18n() // 国际化 |
| 98 | 97 | const message = useMessage() // 消息弹窗 |
| 99 | 98 | // 列表相关的变量 |
| 100 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 101 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<ConfigApi.ConfigVO>({ | |
| 99 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 102 | 100 | allSchemas: allSchemas, |
| 103 | 101 | getListApi: ConfigApi.getConfigPageApi, |
| 104 | 102 | deleteApi: ConfigApi.deleteConfigApi, |
| ... | ... | @@ -125,11 +123,6 @@ const handleCreate = () => { |
| 125 | 123 | setDialogTile('create') |
| 126 | 124 | } |
| 127 | 125 | |
| 128 | -// 导出操作 | |
| 129 | -const handleExport = async () => { | |
| 130 | - await exportList(xGrid, '配置.xls') | |
| 131 | -} | |
| 132 | - | |
| 133 | 126 | // 修改操作 |
| 134 | 127 | const handleUpdate = async (rowId: number) => { |
| 135 | 128 | setDialogTile('update') |
| ... | ... | @@ -145,11 +138,6 @@ const handleDetail = async (rowId: number) => { |
| 145 | 138 | detailData.value = res |
| 146 | 139 | } |
| 147 | 140 | |
| 148 | -// 删除操作 | |
| 149 | -const handleDelete = async (rowId: number) => { | |
| 150 | - await deleteData(xGrid, rowId) | |
| 151 | -} | |
| 152 | - | |
| 153 | 141 | // 提交按钮 |
| 154 | 142 | const submitForm = async () => { |
| 155 | 143 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -171,7 +159,7 @@ const submitForm = async () => { |
| 171 | 159 | } finally { |
| 172 | 160 | actionLoading.value = false |
| 173 | 161 | // 刷新列表 |
| 174 | - await getList(xGrid) | |
| 162 | + await reload() | |
| 175 | 163 | } |
| 176 | 164 | } |
| 177 | 165 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/dataSourceConfig/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <XButton |
| 7 | 7 | type="primary" |
| ... | ... | @@ -31,10 +31,10 @@ |
| 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 | - </vxe-grid> | |
| 37 | + </XTable> | |
| 38 | 38 | </ContentWrap> |
| 39 | 39 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 40 | 40 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -69,9 +69,8 @@ |
| 69 | 69 | // 全局相关的 import |
| 70 | 70 | import { ref, unref } from 'vue' |
| 71 | 71 | import { useI18n } from '@/hooks/web/useI18n' |
| 72 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 72 | 73 | import { useMessage } from '@/hooks/web/useMessage' |
| 73 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 74 | -import { VxeGridInstance } from 'vxe-table' | |
| 75 | 74 | import { FormExpose } from '@/components/Form' |
| 76 | 75 | // 业务相关的 import |
| 77 | 76 | import * as DataSourceConfiggApi from '@/api/infra/dataSourceConfig' |
| ... | ... | @@ -80,8 +79,7 @@ import { rules, allSchemas } from './dataSourceConfig.data' |
| 80 | 79 | const { t } = useI18n() // 国际化 |
| 81 | 80 | const message = useMessage() // 消息弹窗 |
| 82 | 81 | // 列表相关的变量 |
| 83 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 84 | -const { gridOptions, getList, deleteData } = useVxeGrid<DataSourceConfiggApi.DataSourceConfigVO>({ | |
| 82 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 85 | 83 | allSchemas: allSchemas, |
| 86 | 84 | isList: true, |
| 87 | 85 | getListApi: DataSourceConfiggApi.getDataSourceConfigListApi, |
| ... | ... | @@ -123,11 +121,6 @@ const handleDetail = async (rowId: number) => { |
| 123 | 121 | setDialogTile('detail') |
| 124 | 122 | } |
| 125 | 123 | |
| 126 | -// 删除操作 | |
| 127 | -const handleDelete = async (rowId: number) => { | |
| 128 | - await deleteData(xGrid, rowId) | |
| 129 | -} | |
| 130 | - | |
| 131 | 124 | // 提交按钮 |
| 132 | 125 | const submitForm = async () => { |
| 133 | 126 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -149,7 +142,7 @@ const submitForm = async () => { |
| 149 | 142 | } finally { |
| 150 | 143 | loading.value = false |
| 151 | 144 | // 刷新列表 |
| 152 | - await getList(xGrid) | |
| 145 | + await reload() | |
| 153 | 146 | } |
| 154 | 147 | } |
| 155 | 148 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/fileConfig/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -41,10 +41,10 @@ |
| 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 | - </vxe-grid> | |
| 47 | + </XTable> | |
| 48 | 48 | </ContentWrap> |
| 49 | 49 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 50 | 50 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -173,8 +173,7 @@ import { |
| 173 | 173 | } from 'element-plus' |
| 174 | 174 | import { useI18n } from '@/hooks/web/useI18n' |
| 175 | 175 | import { useMessage } from '@/hooks/web/useMessage' |
| 176 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 177 | -import { VxeGridInstance } from 'vxe-table' | |
| 176 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 178 | 177 | // 业务相关的 import |
| 179 | 178 | import * as FileConfigApi from '@/api/infra/fileConfig' |
| 180 | 179 | import { rules, allSchemas } from './fileConfig.data' |
| ... | ... | @@ -183,8 +182,7 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' |
| 183 | 182 | const { t } = useI18n() // 国际化 |
| 184 | 183 | const message = useMessage() // 消息弹窗 |
| 185 | 184 | // 列表相关的变量 |
| 186 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 187 | -const { gridOptions, getList, deleteData } = useVxeGrid<FileConfigApi.FileConfigVO>({ | |
| 185 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 188 | 186 | allSchemas: allSchemas, |
| 189 | 187 | getListApi: FileConfigApi.getFileConfigPageApi, |
| 190 | 188 | deleteApi: FileConfigApi.deleteFileConfigApi |
| ... | ... | @@ -276,7 +274,7 @@ const handleMaster = (row: FileConfigApi.FileConfigVO) => { |
| 276 | 274 | .confirm('是否确认修改配置【 ' + row.name + ' 】为主配置?', t('common.reminder')) |
| 277 | 275 | .then(async () => { |
| 278 | 276 | await FileConfigApi.updateFileConfigMasterApi(row.id) |
| 279 | - await getList(xGrid) | |
| 277 | + await reload() | |
| 280 | 278 | }) |
| 281 | 279 | } |
| 282 | 280 | |
| ... | ... | @@ -285,11 +283,6 @@ const handleTest = async (rowId: number) => { |
| 285 | 283 | message.alert('测试通过,上传文件成功!访问地址:' + res) |
| 286 | 284 | } |
| 287 | 285 | |
| 288 | -// 删除操作 | |
| 289 | -const handleDelete = async (rowId: number) => { | |
| 290 | - await deleteData(xGrid, rowId) | |
| 291 | -} | |
| 292 | - | |
| 293 | 286 | // 提交按钮 |
| 294 | 287 | const submitForm = async (formEl: FormInstance | undefined) => { |
| 295 | 288 | if (!formEl) return |
| ... | ... | @@ -308,7 +301,7 @@ const submitForm = async (formEl: FormInstance | undefined) => { |
| 308 | 301 | dialogVisible.value = false |
| 309 | 302 | } finally { |
| 310 | 303 | actionLoading.value = false |
| 311 | - await getList(xGrid) | |
| 304 | + await reload() | |
| 312 | 305 | } |
| 313 | 306 | } |
| 314 | 307 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/fileList/fileList.data.ts
yudao-ui-admin-vue3/src/views/infra/fileList/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <XButton |
| 7 | 7 | type="primary" |
| ... | ... | @@ -21,10 +21,10 @@ |
| 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 | - </vxe-grid> | |
| 27 | + </XTable> | |
| 28 | 28 | </ContentWrap> |
| 29 | 29 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 30 | 30 | <!-- 对话框(详情) --> |
| ... | ... | @@ -85,8 +85,7 @@ |
| 85 | 85 | import { ref, unref } from 'vue' |
| 86 | 86 | import { useI18n } from '@/hooks/web/useI18n' |
| 87 | 87 | import { useMessage } from '@/hooks/web/useMessage' |
| 88 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 89 | -import { VxeGridInstance } from 'vxe-table' | |
| 88 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 90 | 89 | import { ElUpload, ElImage, UploadInstance, UploadRawFile } from 'element-plus' |
| 91 | 90 | // 业务相关的 import |
| 92 | 91 | import { allSchemas } from './fileList.data' |
| ... | ... | @@ -98,8 +97,7 @@ const { t } = useI18n() // 国际化 |
| 98 | 97 | const message = useMessage() // 消息弹窗 |
| 99 | 98 | |
| 100 | 99 | // 列表相关的变量 |
| 101 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 102 | -const { gridOptions, getList, deleteData } = useVxeGrid<FileApi.FileVO>({ | |
| 100 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 103 | 101 | allSchemas: allSchemas, |
| 104 | 102 | getListApi: FileApi.getFilePageApi, |
| 105 | 103 | deleteApi: FileApi.deleteFileApi |
| ... | ... | @@ -145,7 +143,7 @@ const handleFileSuccess = async (response: any): Promise<void> => { |
| 145 | 143 | message.success('上传成功') |
| 146 | 144 | uploadDialogVisible.value = false |
| 147 | 145 | uploadDisabled.value = false |
| 148 | - await getList(xGrid) | |
| 146 | + await reload() | |
| 149 | 147 | } |
| 150 | 148 | // 文件数超出提示 |
| 151 | 149 | const handleExceed = (): void => { |
| ... | ... | @@ -164,11 +162,6 @@ const handleDetail = (row: FileApi.FileVO) => { |
| 164 | 162 | dialogVisible.value = true |
| 165 | 163 | } |
| 166 | 164 | |
| 167 | -// 删除操作 | |
| 168 | -const handleDelete = async (rowId: number) => { | |
| 169 | - await deleteData(xGrid, rowId) | |
| 170 | -} | |
| 171 | - | |
| 172 | 165 | // ========== 复制相关 ========== |
| 173 | 166 | const handleCopy = async (text: string) => { |
| 174 | 167 | const { copy, copied, isSupported } = useClipboard({ source: text }) | ... | ... |
yudao-ui-admin-vue3/src/views/infra/job/JobLog.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <XButton |
| 7 | 7 | type="warning" |
| 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 }"> |
| ... | ... | @@ -29,7 +29,7 @@ |
| 29 | 29 | @click="handleDetail(row)" |
| 30 | 30 | /> |
| 31 | 31 | </template> |
| 32 | - </vxe-grid> | |
| 32 | + </XTable> | |
| 33 | 33 | </ContentWrap> |
| 34 | 34 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 35 | 35 | <!-- 对话框(详情) --> |
| ... | ... | @@ -51,15 +51,13 @@ |
| 51 | 51 | import { ref } from 'vue' |
| 52 | 52 | import dayjs from 'dayjs' |
| 53 | 53 | import { useI18n } from '@/hooks/web/useI18n' |
| 54 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 55 | -import { VxeGridInstance } from 'vxe-table' | |
| 54 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 56 | 55 | import * as JobLogApi from '@/api/infra/jobLog' |
| 57 | 56 | import { allSchemas } from './jobLog.data' |
| 58 | 57 | |
| 59 | 58 | const { t } = useI18n() // 国际化 |
| 60 | 59 | // 列表相关的变量 |
| 61 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 62 | -const { gridOptions, exportList } = useVxeGrid<JobLogApi.JobLogVO>({ | |
| 60 | +const [registerTable, { exportList }] = useXTable({ | |
| 63 | 61 | allSchemas: allSchemas, |
| 64 | 62 | getListApi: JobLogApi.getJobLogPageApi, |
| 65 | 63 | exportListApi: JobLogApi.exportJobLogApi |
| ... | ... | @@ -79,8 +77,4 @@ const handleDetail = async (row: JobLogApi.JobLogVO) => { |
| 79 | 77 | dialogTitle.value = t('action.detail') |
| 80 | 78 | dialogVisible.value = true |
| 81 | 79 | } |
| 82 | -// 导出操作 | |
| 83 | -const handleExport = async () => { | |
| 84 | - await exportList(xGrid, '定时任务详情.xls') | |
| 85 | -} | |
| 86 | 80 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/infra/job/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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" /> |
| ... | ... | @@ -83,7 +83,7 @@ |
| 83 | 83 | </template> |
| 84 | 84 | </el-dropdown> |
| 85 | 85 | </template> |
| 86 | - </vxe-grid> | |
| 86 | + </XTable> | |
| 87 | 87 | </ContentWrap> |
| 88 | 88 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 89 | 89 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -134,8 +134,7 @@ import { useRouter } from 'vue-router' |
| 134 | 134 | import { ElDropdown, ElDropdownMenu, ElDropdownItem } from 'element-plus' |
| 135 | 135 | import { useI18n } from '@/hooks/web/useI18n' |
| 136 | 136 | import { useMessage } from '@/hooks/web/useMessage' |
| 137 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 138 | -import { VxeGridInstance } from 'vxe-table' | |
| 137 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 139 | 138 | import { FormExpose } from '@/components/Form' |
| 140 | 139 | import { Crontab } from '@/components/Crontab' |
| 141 | 140 | import * as JobApi from '@/api/infra/job' |
| ... | ... | @@ -147,8 +146,7 @@ const message = useMessage() // 消息弹窗 |
| 147 | 146 | const { push } = useRouter() |
| 148 | 147 | |
| 149 | 148 | // 列表相关的变量 |
| 150 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 151 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<JobApi.JobVO>({ | |
| 149 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 152 | 150 | allSchemas: allSchemas, |
| 153 | 151 | getListApi: JobApi.getJobPageApi, |
| 154 | 152 | deleteApi: JobApi.deleteJobApi, |
| ... | ... | @@ -181,11 +179,6 @@ const handleCreate = () => { |
| 181 | 179 | setDialogTile('create') |
| 182 | 180 | } |
| 183 | 181 | |
| 184 | -// 导出操作 | |
| 185 | -const handleExport = async () => { | |
| 186 | - await exportList(xGrid, '定时任务.xls') | |
| 187 | -} | |
| 188 | - | |
| 189 | 182 | // 修改操作 |
| 190 | 183 | const handleUpdate = async (rowId: number) => { |
| 191 | 184 | setDialogTile('update') |
| ... | ... | @@ -250,10 +243,6 @@ const parseTime = (time) => { |
| 250 | 243 | return time_str |
| 251 | 244 | } |
| 252 | 245 | |
| 253 | -// 删除操作 | |
| 254 | -const handleDelete = async (rowId: number) => { | |
| 255 | - await deleteData(xGrid, rowId) | |
| 256 | -} | |
| 257 | 246 | const handleChangeStatus = async (row: JobApi.JobVO) => { |
| 258 | 247 | const text = row.status === InfraJobStatusEnum.STOP ? '开启' : '关闭' |
| 259 | 248 | const status = |
| ... | ... | @@ -267,7 +256,7 @@ const handleChangeStatus = async (row: JobApi.JobVO) => { |
| 267 | 256 | : InfraJobStatusEnum.STOP |
| 268 | 257 | await JobApi.updateJobStatusApi(row.id, status) |
| 269 | 258 | message.success(text + '成功') |
| 270 | - await getList(xGrid) | |
| 259 | + await reload() | |
| 271 | 260 | }) |
| 272 | 261 | .catch(() => { |
| 273 | 262 | row.status = |
| ... | ... | @@ -277,7 +266,7 @@ const handleChangeStatus = async (row: JobApi.JobVO) => { |
| 277 | 266 | }) |
| 278 | 267 | } |
| 279 | 268 | // 执行日志 |
| 280 | -const handleJobLog = (rowId: number) => { | |
| 269 | +const handleJobLog = (rowId?: number) => { | |
| 281 | 270 | if (rowId) { |
| 282 | 271 | push('/job/job-log?id=' + rowId) |
| 283 | 272 | } else { |
| ... | ... | @@ -289,7 +278,7 @@ const handleRun = (row: JobApi.JobVO) => { |
| 289 | 278 | message.confirm('确认要立即执行一次' + row.name + '?', t('common.reminder')).then(async () => { |
| 290 | 279 | await JobApi.runJobApi(row.id) |
| 291 | 280 | message.success('执行成功') |
| 292 | - await getList(xGrid) | |
| 281 | + await reload() | |
| 293 | 282 | }) |
| 294 | 283 | } |
| 295 | 284 | // 提交按钮 |
| ... | ... | @@ -312,7 +301,7 @@ const submitForm = async () => { |
| 312 | 301 | dialogVisible.value = false |
| 313 | 302 | } finally { |
| 314 | 303 | actionLoading.value = false |
| 315 | - await getList(xGrid) | |
| 304 | + await reload() | |
| 316 | 305 | } |
| 317 | 306 | } |
| 318 | 307 | }) | ... | ... |
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
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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,10 +40,10 @@ |
| 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 | - </vxe-grid> | |
| 46 | + </XTable> | |
| 47 | 47 | </ContentWrap> |
| 48 | 48 | |
| 49 | 49 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -79,8 +79,7 @@ |
| 79 | 79 | import { ref, unref } from 'vue' |
| 80 | 80 | import { useI18n } from '@/hooks/web/useI18n' |
| 81 | 81 | import { useMessage } from '@/hooks/web/useMessage' |
| 82 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 83 | -import { VxeGridInstance } from 'vxe-table' | |
| 82 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 84 | 83 | import { FormExpose } from '@/components/Form' |
| 85 | 84 | import { rules, allSchemas } from './app.data' |
| 86 | 85 | import * as AppApi from '@/api/pay/app' |
| ... | ... | @@ -89,8 +88,7 @@ const { t } = useI18n() // 国际化 |
| 89 | 88 | const message = useMessage() // 消息弹窗 |
| 90 | 89 | |
| 91 | 90 | // 列表相关的变量 |
| 92 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 93 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<AppApi.AppVO>({ | |
| 91 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 94 | 92 | allSchemas: allSchemas, |
| 95 | 93 | getListApi: AppApi.getAppPageApi, |
| 96 | 94 | deleteApi: AppApi.deleteAppApi, |
| ... | ... | @@ -117,11 +115,6 @@ const handleCreate = () => { |
| 117 | 115 | setDialogTile('create') |
| 118 | 116 | } |
| 119 | 117 | |
| 120 | -// 导出操作 | |
| 121 | -const handleExport = async () => { | |
| 122 | - await exportList(xGrid, '应用信息.xls') | |
| 123 | -} | |
| 124 | - | |
| 125 | 118 | // 修改操作 |
| 126 | 119 | const handleUpdate = async (rowId: number) => { |
| 127 | 120 | setDialogTile('update') |
| ... | ... | @@ -137,11 +130,6 @@ const handleDetail = async (rowId: number) => { |
| 137 | 130 | detailData.value = res |
| 138 | 131 | } |
| 139 | 132 | |
| 140 | -// 删除操作 | |
| 141 | -const handleDelete = async (rowId: number) => { | |
| 142 | - await deleteData(xGrid, rowId) | |
| 143 | -} | |
| 144 | - | |
| 145 | 133 | // 提交按钮 |
| 146 | 134 | const submitForm = async () => { |
| 147 | 135 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -163,7 +151,7 @@ const submitForm = async () => { |
| 163 | 151 | } finally { |
| 164 | 152 | actionLoading.value = false |
| 165 | 153 | // 刷新列表 |
| 166 | - await getList(xGrid) | |
| 154 | + await reload() | |
| 167 | 155 | } |
| 168 | 156 | } |
| 169 | 157 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/pay/merchant/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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,10 +40,10 @@ |
| 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 | - </vxe-grid> | |
| 46 | + </XTable> | |
| 47 | 47 | </ContentWrap> |
| 48 | 48 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 49 | 49 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -78,8 +78,7 @@ |
| 78 | 78 | import { ref, unref } from 'vue' |
| 79 | 79 | import { useI18n } from '@/hooks/web/useI18n' |
| 80 | 80 | import { useMessage } from '@/hooks/web/useMessage' |
| 81 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 82 | -import { VxeGridInstance } from 'vxe-table' | |
| 81 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 83 | 82 | import { FormExpose } from '@/components/Form' |
| 84 | 83 | import { rules, allSchemas } from './merchant.data' |
| 85 | 84 | import * as MerchantApi from '@/api/pay/merchant' |
| ... | ... | @@ -87,8 +86,7 @@ import * as MerchantApi from '@/api/pay/merchant' |
| 87 | 86 | const { t } = useI18n() // 国际化 |
| 88 | 87 | const message = useMessage() // 消息弹窗 |
| 89 | 88 | // 列表相关的变量 |
| 90 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 91 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<MerchantApi.MerchantVO>({ | |
| 89 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 92 | 90 | allSchemas: allSchemas, |
| 93 | 91 | getListApi: MerchantApi.getMerchantPageApi, |
| 94 | 92 | deleteApi: MerchantApi.deleteMerchantApi, |
| ... | ... | @@ -115,11 +113,6 @@ const handleCreate = () => { |
| 115 | 113 | setDialogTile('create') |
| 116 | 114 | } |
| 117 | 115 | |
| 118 | -// 导出操作 | |
| 119 | -const handleExport = async () => { | |
| 120 | - await exportList(xGrid, '商户列表.xls') | |
| 121 | -} | |
| 122 | - | |
| 123 | 116 | // 修改操作 |
| 124 | 117 | const handleUpdate = async (rowId: number) => { |
| 125 | 118 | setDialogTile('update') |
| ... | ... | @@ -135,11 +128,6 @@ const handleDetail = async (rowId: number) => { |
| 135 | 128 | detailData.value = res |
| 136 | 129 | } |
| 137 | 130 | |
| 138 | -// 删除操作 | |
| 139 | -const handleDelete = async (rowId: number) => { | |
| 140 | - await deleteData(xGrid, rowId) | |
| 141 | -} | |
| 142 | - | |
| 143 | 131 | // 提交按钮 |
| 144 | 132 | const submitForm = async () => { |
| 145 | 133 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -161,7 +149,7 @@ const submitForm = async () => { |
| 161 | 149 | } finally { |
| 162 | 150 | actionLoading.value = false |
| 163 | 151 | // 刷新列表 |
| 164 | - await getList(xGrid) | |
| 152 | + await reload() | |
| 165 | 153 | } |
| 166 | 154 | } |
| 167 | 155 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/pay/order/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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 }"> |
| ... | ... | @@ -29,7 +29,7 @@ |
| 29 | 29 | @click="handleDetail(row.id)" |
| 30 | 30 | /> |
| 31 | 31 | </template> |
| 32 | - </vxe-grid> | |
| 32 | + </XTable> | |
| 33 | 33 | </ContentWrap> |
| 34 | 34 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 35 | 35 | <!-- 对话框(详情) --> |
| ... | ... | @@ -44,15 +44,13 @@ |
| 44 | 44 | <script setup lang="ts" name="Order"> |
| 45 | 45 | import { ref } from 'vue' |
| 46 | 46 | import { useI18n } from '@/hooks/web/useI18n' |
| 47 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 48 | -import { VxeGridInstance } from 'vxe-table' | |
| 47 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 49 | 48 | import { allSchemas } from './order.data' |
| 50 | 49 | import * as OrderApi from '@/api/pay/order' |
| 51 | 50 | |
| 52 | 51 | const { t } = useI18n() // 国际化 |
| 53 | 52 | // 列表相关的变量 |
| 54 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 55 | -const { gridOptions, exportList } = useVxeGrid<OrderApi.OrderVO>({ | |
| 53 | +const [registerTable, { exportList }] = useXTable({ | |
| 56 | 54 | allSchemas: allSchemas, |
| 57 | 55 | getListApi: OrderApi.getOrderPageApi, |
| 58 | 56 | exportListApi: OrderApi.exportOrderApi |
| ... | ... | @@ -74,10 +72,6 @@ const setDialogTile = (type: string) => { |
| 74 | 72 | const handleCreate = () => { |
| 75 | 73 | setDialogTile('create') |
| 76 | 74 | } |
| 77 | -// 导出操作 | |
| 78 | -const handleExport = async () => { | |
| 79 | - await exportList(xGrid, '订单数据.xls') | |
| 80 | -} | |
| 81 | 75 | |
| 82 | 76 | // 详情操作 |
| 83 | 77 | const handleDetail = async (rowId: number) => { | ... | ... |
yudao-ui-admin-vue3/src/views/pay/refund/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:导出 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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 }"> |
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | @click="handleDetail(row.id)" |
| 22 | 22 | /> |
| 23 | 23 | </template> |
| 24 | - </vxe-grid> | |
| 24 | + </XTable> | |
| 25 | 25 | </ContentWrap> |
| 26 | 26 | |
| 27 | 27 | <XModal v-model="dialogVisible" :title="t('action.detail')"> |
| ... | ... | @@ -36,26 +36,19 @@ |
| 36 | 36 | <script setup lang="ts" name="Refund"> |
| 37 | 37 | import { ref } from 'vue' |
| 38 | 38 | import { useI18n } from '@/hooks/web/useI18n' |
| 39 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 40 | -import { VxeGridInstance } from 'vxe-table' | |
| 39 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 41 | 40 | import { allSchemas } from './refund.data' |
| 42 | 41 | import * as RefundApi from '@/api/pay/refund' |
| 43 | 42 | |
| 44 | 43 | const { t } = useI18n() // 国际化 |
| 45 | 44 | |
| 46 | 45 | // 列表相关的变量 |
| 47 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 48 | -const { gridOptions, exportList } = useVxeGrid<RefundApi.RefundVO>({ | |
| 46 | +const [registerTable, { exportList }] = useXTable({ | |
| 49 | 47 | allSchemas: allSchemas, |
| 50 | 48 | getListApi: RefundApi.getRefundPageApi, |
| 51 | 49 | exportListApi: RefundApi.exportRefundApi |
| 52 | 50 | }) |
| 53 | 51 | |
| 54 | -// 导出操作 | |
| 55 | -const handleExport = async () => { | |
| 56 | - await exportList(xGrid, '退款订单.xls') | |
| 57 | -} | |
| 58 | - | |
| 59 | 52 | // ========== CRUD 相关 ========== |
| 60 | 53 | const dialogVisible = ref(false) // 是否显示弹出层 |
| 61 | 54 | const detailData = ref() // 详情 Ref | ... | ... |
yudao-ui-admin-vue3/src/views/system/dept/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" show-overflow class="xtable-scrollbar"> | |
| 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,10 +30,10 @@ |
| 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 | - </vxe-grid> | |
| 36 | + </XTable> | |
| 37 | 37 | </ContentWrap> |
| 38 | 38 | <!-- 添加或修改菜单对话框 --> |
| 39 | 39 | <XModal id="deptModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -77,11 +77,10 @@ |
| 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' |
| 84 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 83 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 85 | 84 | import { FormExpose } from '@/components/Form' |
| 86 | 85 | import { allSchemas, rules } from './dept.data' |
| 87 | 86 | import * as DeptApi from '@/api/system/dept' |
| ... | ... | @@ -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', |
| ... | ... | @@ -119,7 +118,7 @@ const getTree = async () => { |
| 119 | 118 | dept.children = handleTree(res) |
| 120 | 119 | deptOptions.value.push(dept) |
| 121 | 120 | } |
| 122 | -const { gridOptions, getList, deleteData } = useVxeGrid<DeptApi.DeptVO>({ | |
| 121 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 123 | 122 | allSchemas: allSchemas, |
| 124 | 123 | treeConfig: treeConfig, |
| 125 | 124 | getListApi: DeptApi.getDeptPageApi, |
| ... | ... | @@ -168,17 +167,12 @@ const submitForm = async () => { |
| 168 | 167 | dialogVisible.value = false |
| 169 | 168 | } finally { |
| 170 | 169 | actionLoading.value = false |
| 171 | - await getList(xGrid) | |
| 170 | + await reload() | |
| 172 | 171 | } |
| 173 | 172 | } |
| 174 | 173 | }) |
| 175 | 174 | } |
| 176 | 175 | |
| 177 | -// 删除操作 | |
| 178 | -const handleDelete = async (rowId: number) => { | |
| 179 | - await deleteData(xGrid, rowId) | |
| 180 | -} | |
| 181 | - | |
| 182 | 176 | const userNicknameFormat = (row) => { |
| 183 | 177 | if (!row || !row.leaderUserId) { |
| 184 | 178 | return '未设置' | ... | ... |
yudao-ui-admin-vue3/src/views/system/dict/index.vue
| ... | ... | @@ -7,12 +7,7 @@ |
| 7 | 7 | <span>字典分类</span> |
| 8 | 8 | </div> |
| 9 | 9 | </template> |
| 10 | - <vxe-grid | |
| 11 | - ref="xTypeGrid" | |
| 12 | - v-bind="typeGridOptions" | |
| 13 | - @cell-click="cellClickEvent" | |
| 14 | - class="xtable-scrollbar" | |
| 15 | - > | |
| 10 | + <XTable @register="registerType" @cell-click="cellClickEvent"> | |
| 16 | 11 | <!-- 操作:新增类型 --> |
| 17 | 12 | <template #toolbar_buttons> |
| 18 | 13 | <XButton |
| ... | ... | @@ -36,10 +31,10 @@ |
| 36 | 31 | preIcon="ep:delete" |
| 37 | 32 | :title="t('action.del')" |
| 38 | 33 | v-hasPermi="['system:dict:delete']" |
| 39 | - @click="handleTypeDelete(row.id)" | |
| 34 | + @click="typeDeleteData(row.id)" | |
| 40 | 35 | /> |
| 41 | 36 | </template> |
| 42 | - </vxe-grid> | |
| 37 | + </XTable> | |
| 43 | 38 | <!-- @星语:分页和列表重叠在一起了 --> |
| 44 | 39 | </el-card> |
| 45 | 40 | <!-- ====== 字典数据 ====== --> |
| ... | ... | @@ -55,7 +50,7 @@ |
| 55 | 50 | </div> |
| 56 | 51 | <div v-if="tableTypeSelect"> |
| 57 | 52 | <!-- 列表 --> |
| 58 | - <vxe-grid ref="xDataGrid" v-bind="dataGridOptions" class="xtable-scrollbar"> | |
| 53 | + <XTable @register="registerData"> | |
| 59 | 54 | <!-- 操作:新增数据 --> |
| 60 | 55 | <template #toolbar_buttons> |
| 61 | 56 | <XButton |
| ... | ... | @@ -79,10 +74,10 @@ |
| 79 | 74 | v-hasPermi="['system:dict:delete']" |
| 80 | 75 | preIcon="ep:delete" |
| 81 | 76 | :title="t('action.del')" |
| 82 | - @click="handleDataDelete(row.id)" | |
| 77 | + @click="dataDeleteData(row.id)" | |
| 83 | 78 | /> |
| 84 | 79 | </template> |
| 85 | - </vxe-grid> | |
| 80 | + </XTable> | |
| 86 | 81 | </div> |
| 87 | 82 | </el-card> |
| 88 | 83 | <XModal id="dictModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -130,8 +125,8 @@ |
| 130 | 125 | import { ref, unref, reactive } from 'vue' |
| 131 | 126 | import { useI18n } from '@/hooks/web/useI18n' |
| 132 | 127 | import { useMessage } from '@/hooks/web/useMessage' |
| 133 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 134 | -import { VxeGridInstance, VxeTableEvents } from 'vxe-table' | |
| 128 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 129 | +import { VxeTableEvents } from 'vxe-table' | |
| 135 | 130 | import { FormExpose } from '@/components/Form' |
| 136 | 131 | import { ElInput, ElTag, ElCard } from 'element-plus' |
| 137 | 132 | import * as DictTypeSchemas from './dict.type' |
| ... | ... | @@ -143,28 +138,18 @@ import { DictDataVO, DictTypeVO } from '@/api/system/dict/types' |
| 143 | 138 | const { t } = useI18n() // 国际化 |
| 144 | 139 | const message = useMessage() // 消息弹窗 |
| 145 | 140 | |
| 146 | -const xTypeGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 147 | -const { | |
| 148 | - gridOptions: typeGridOptions, | |
| 149 | - getList: typeGetList, | |
| 150 | - deleteData: typeDeleteData | |
| 151 | -} = useVxeGrid<DictTypeVO>({ | |
| 141 | +const [registerType, { reload: typeGetList, deleteData: typeDeleteData }] = useXTable({ | |
| 152 | 142 | allSchemas: DictTypeSchemas.allSchemas, |
| 153 | 143 | getListApi: DictTypeApi.getDictTypePageApi, |
| 154 | 144 | deleteApi: DictTypeApi.deleteDictTypeApi |
| 155 | 145 | }) |
| 156 | 146 | |
| 157 | -const xDataGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 158 | 147 | const queryParams = reactive({ |
| 159 | 148 | dictType: null |
| 160 | 149 | }) |
| 161 | -const { | |
| 162 | - gridOptions: dataGridOptions, | |
| 163 | - getList: dataGetList, | |
| 164 | - deleteData: dataDeleteData | |
| 165 | -} = useVxeGrid<DictDataVO>({ | |
| 150 | +const [registerData, { reload: dataGetList, deleteData: dataDeleteData }] = useXTable({ | |
| 166 | 151 | allSchemas: DictDataSchemas.allSchemas, |
| 167 | - queryParams: queryParams, | |
| 152 | + params: queryParams, | |
| 168 | 153 | getListApi: DictDataApi.getDictDataPageApi, |
| 169 | 154 | deleteApi: DictDataApi.deleteDictDataApi |
| 170 | 155 | }) |
| ... | ... | @@ -199,7 +184,7 @@ const tableTypeSelect = ref(false) |
| 199 | 184 | const cellClickEvent: VxeTableEvents.CellClick = async ({ row }) => { |
| 200 | 185 | tableTypeSelect.value = true |
| 201 | 186 | queryParams.dictType = row['type'] |
| 202 | - await dataGetList(xDataGrid) | |
| 187 | + await dataGetList() | |
| 203 | 188 | parentType.value = row['type'] |
| 204 | 189 | } |
| 205 | 190 | // 弹出框 |
| ... | ... | @@ -217,15 +202,6 @@ const setDialogTile = (type: string) => { |
| 217 | 202 | dialogVisible.value = true |
| 218 | 203 | } |
| 219 | 204 | |
| 220 | -// 删除操作 | |
| 221 | -const handleTypeDelete = async (rowId: number) => { | |
| 222 | - await typeDeleteData(xTypeGrid, rowId) | |
| 223 | -} | |
| 224 | - | |
| 225 | -const handleDataDelete = async (rowId: number) => { | |
| 226 | - await dataDeleteData(xDataGrid, rowId) | |
| 227 | -} | |
| 228 | - | |
| 229 | 205 | // 提交按钮 |
| 230 | 206 | const submitTypeForm = async () => { |
| 231 | 207 | const elForm = unref(typeFormRef)?.getElFormRef() |
| ... | ... | @@ -247,7 +223,7 @@ const submitTypeForm = async () => { |
| 247 | 223 | dialogVisible.value = false |
| 248 | 224 | } finally { |
| 249 | 225 | actionLoading.value = false |
| 250 | - typeGetList(xTypeGrid) | |
| 226 | + typeGetList() | |
| 251 | 227 | } |
| 252 | 228 | } |
| 253 | 229 | }) |
| ... | ... | @@ -272,7 +248,7 @@ const submitDataForm = async () => { |
| 272 | 248 | dialogVisible.value = false |
| 273 | 249 | } finally { |
| 274 | 250 | actionLoading.value = false |
| 275 | - dataGetList(xDataGrid) | |
| 251 | + dataGetList() | |
| 276 | 252 | } |
| 277 | 253 | } |
| 278 | 254 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/errorCode/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:新增 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| ... | ... | @@ -32,10 +32,10 @@ |
| 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 | - </vxe-grid> | |
| 38 | + </XTable> | |
| 39 | 39 | </ContentWrap> |
| 40 | 40 | <!-- 弹窗 --> |
| 41 | 41 | <XModal id="errorCodeModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -71,8 +71,7 @@ |
| 71 | 71 | import { ref, unref } from 'vue' |
| 72 | 72 | import { useI18n } from '@/hooks/web/useI18n' |
| 73 | 73 | import { useMessage } from '@/hooks/web/useMessage' |
| 74 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 75 | -import { VxeGridInstance } from 'vxe-table' | |
| 74 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 76 | 75 | import { FormExpose } from '@/components/Form' |
| 77 | 76 | // 业务相关的 import |
| 78 | 77 | import { rules, allSchemas } from './errorCode.data' |
| ... | ... | @@ -81,8 +80,7 @@ import * as ErrorCodeApi from '@/api/system/errorCode' |
| 81 | 80 | const { t } = useI18n() // 国际化 |
| 82 | 81 | const message = useMessage() // 消息弹窗 |
| 83 | 82 | // 列表相关的变量 |
| 84 | -const xGrid = ref<VxeGridInstance>() // grid Ref | |
| 85 | -const { gridOptions, getList, deleteData } = useVxeGrid<ErrorCodeApi.ErrorCodeVO>({ | |
| 83 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 86 | 84 | allSchemas: allSchemas, |
| 87 | 85 | getListApi: ErrorCodeApi.getErrorCodePageApi, |
| 88 | 86 | deleteApi: ErrorCodeApi.deleteErrorCodeApi |
| ... | ... | @@ -123,11 +121,6 @@ const handleDetail = async (rowId: number) => { |
| 123 | 121 | detailData.value = res |
| 124 | 122 | } |
| 125 | 123 | |
| 126 | -// 删除操作 | |
| 127 | -const handleDelete = async (rowId: number) => { | |
| 128 | - await deleteData(xGrid, rowId) | |
| 129 | -} | |
| 130 | - | |
| 131 | 124 | // 提交新增/修改的表单 |
| 132 | 125 | const submitForm = async () => { |
| 133 | 126 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -149,7 +142,7 @@ const submitForm = async () => { |
| 149 | 142 | } finally { |
| 150 | 143 | actionLoading.value = false |
| 151 | 144 | // 刷新列表 |
| 152 | - await getList(xGrid) | |
| 145 | + await reload() | |
| 153 | 146 | } |
| 154 | 147 | } |
| 155 | 148 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/loginlog/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:导出 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| 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 }"> |
| 15 | 15 | <!-- 操作:详情 --> |
| 16 | 16 | <XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" /> |
| 17 | 17 | </template> |
| 18 | - </vxe-grid> | |
| 18 | + </XTable> | |
| 19 | 19 | </ContentWrap> |
| 20 | 20 | <!-- 弹窗 --> |
| 21 | 21 | <XModal id="postModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -31,16 +31,14 @@ |
| 31 | 31 | // 全局相关的 import |
| 32 | 32 | import { ref } from 'vue' |
| 33 | 33 | import { useI18n } from '@/hooks/web/useI18n' |
| 34 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 35 | -import { VxeGridInstance } from 'vxe-table' | |
| 34 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 36 | 35 | // 业务相关的 import |
| 37 | 36 | import { allSchemas } from './loginLog.data' |
| 38 | 37 | import { getLoginLogPageApi, exportLoginLogApi, LoginLogVO } from '@/api/system/loginLog' |
| 39 | 38 | |
| 40 | 39 | const { t } = useI18n() // 国际化 |
| 41 | 40 | // 列表相关的变量 |
| 42 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 43 | -const { gridOptions, exportList } = useVxeGrid<LoginLogVO>({ | |
| 41 | +const [registerTable, { exportList }] = useXTable({ | |
| 44 | 42 | allSchemas: allSchemas, |
| 45 | 43 | getListApi: getLoginLogPageApi, |
| 46 | 44 | exportListApi: exportLoginLogApi |
| ... | ... | @@ -56,9 +54,4 @@ const handleDetail = async (row: LoginLogVO) => { |
| 56 | 54 | detailData.value = row |
| 57 | 55 | dialogVisible.value = true |
| 58 | 56 | } |
| 59 | - | |
| 60 | -// 导出操作 | |
| 61 | -const handleExport = async () => { | |
| 62 | - await exportList(xGrid, '登录列表.xls') | |
| 63 | -} | |
| 64 | 57 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/menu/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" show-overflow class="xtable-scrollbar"> | |
| 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,10 +31,10 @@ |
| 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 | - </vxe-grid> | |
| 37 | + </XTable> | |
| 38 | 38 | </ContentWrap> |
| 39 | 39 | <!-- 添加或修改菜单对话框 --> |
| 40 | 40 | <XModal id="menuModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -194,28 +194,28 @@ 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' |
| 201 | 200 | import { handleTree, defaultProps } from '@/utils/tree' |
| 202 | 201 | import * as MenuApi from '@/api/system/menu' |
| 203 | 202 | import { allSchemas, rules } from './menu.data' |
| 204 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 203 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 205 | 204 | |
| 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', |
| 215 | 215 | parentField: 'parentId', |
| 216 | 216 | expandAll: false |
| 217 | 217 | } |
| 218 | -const { gridOptions, getList, deleteData } = useVxeGrid<MenuApi.MenuVO>({ | |
| 218 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 219 | 219 | allSchemas: allSchemas, |
| 220 | 220 | treeConfig: treeConfig, |
| 221 | 221 | getListApi: MenuApi.getMenuListApi, |
| ... | ... | @@ -326,7 +326,7 @@ const submitForm = async () => { |
| 326 | 326 | actionLoading.value = false |
| 327 | 327 | wsCache.delete(CACHE_KEY.ROLE_ROUTERS) |
| 328 | 328 | // 操作成功,重新加载列表 |
| 329 | - await getList(xGrid) | |
| 329 | + await reload() | |
| 330 | 330 | } |
| 331 | 331 | } |
| 332 | 332 | |
| ... | ... | @@ -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(xGrid, rowId) | |
| 342 | -} | |
| 343 | 337 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/notice/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:新增 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| ... | ... | @@ -32,10 +32,10 @@ |
| 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 | - </vxe-grid> | |
| 38 | + </XTable> | |
| 39 | 39 | </ContentWrap> |
| 40 | 40 | <!-- 弹窗 --> |
| 41 | 41 | <XModal id="noticeModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -75,8 +75,7 @@ |
| 75 | 75 | import { ref, unref } from 'vue' |
| 76 | 76 | import { useI18n } from '@/hooks/web/useI18n' |
| 77 | 77 | import { useMessage } from '@/hooks/web/useMessage' |
| 78 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 79 | -import { VxeGridInstance } from 'vxe-table' | |
| 78 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 80 | 79 | import { FormExpose } from '@/components/Form' |
| 81 | 80 | // 业务相关的 import |
| 82 | 81 | import * as NoticeApi from '@/api/system/notice' |
| ... | ... | @@ -86,8 +85,7 @@ import { Editor } from '@/components/Editor' |
| 86 | 85 | const { t } = useI18n() // 国际化 |
| 87 | 86 | const message = useMessage() // 消息弹窗 |
| 88 | 87 | // 列表相关的变量 |
| 89 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 90 | -const { gridOptions, getList, deleteData } = useVxeGrid<NoticeApi.NoticeVO>({ | |
| 88 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 91 | 89 | allSchemas: allSchemas, |
| 92 | 90 | getListApi: NoticeApi.getNoticePageApi, |
| 93 | 91 | deleteApi: NoticeApi.deleteNoticeApi |
| ... | ... | @@ -128,11 +126,6 @@ const handleDetail = async (rowId: number) => { |
| 128 | 126 | detailData.value = res |
| 129 | 127 | } |
| 130 | 128 | |
| 131 | -// 删除操作 | |
| 132 | -const handleDelete = async (rowId: number) => { | |
| 133 | - await deleteData(xGrid, rowId) | |
| 134 | -} | |
| 135 | - | |
| 136 | 129 | // 提交新增/修改的表单 |
| 137 | 130 | const submitForm = async () => { |
| 138 | 131 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -153,7 +146,7 @@ const submitForm = async () => { |
| 153 | 146 | dialogVisible.value = false |
| 154 | 147 | } finally { |
| 155 | 148 | actionLoading.value = false |
| 156 | - await getList(xGrid) | |
| 149 | + await reload() | |
| 157 | 150 | } |
| 158 | 151 | } |
| 159 | 152 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -48,10 +48,10 @@ |
| 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 | - </vxe-grid> | |
| 54 | + </XTable> | |
| 55 | 55 | </ContentWrap> |
| 56 | 56 | <!-- 弹窗 --> |
| 57 | 57 | <XModal id="postModel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -135,8 +135,7 @@ import { ref, unref } from 'vue' |
| 135 | 135 | import { ElTag } from 'element-plus' |
| 136 | 136 | import { useI18n } from '@/hooks/web/useI18n' |
| 137 | 137 | import { useMessage } from '@/hooks/web/useMessage' |
| 138 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 139 | -import { VxeGridInstance } from 'vxe-table' | |
| 138 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 140 | 139 | import { FormExpose } from '@/components/Form' |
| 141 | 140 | // 业务相关的 import |
| 142 | 141 | import * as ClientApi from '@/api/system/oauth2/client' |
| ... | ... | @@ -146,8 +145,7 @@ const { t } = useI18n() // 国际化 |
| 146 | 145 | const message = useMessage() // 消息弹窗 |
| 147 | 146 | |
| 148 | 147 | // 列表相关的变量 |
| 149 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 150 | -const { gridOptions, getList, deleteData } = useVxeGrid<ClientApi.OAuth2ClientVO>({ | |
| 148 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 151 | 149 | allSchemas: allSchemas, |
| 152 | 150 | getListApi: ClientApi.getOAuth2ClientPageApi, |
| 153 | 151 | deleteApi: ClientApi.deleteOAuth2ClientApi |
| ... | ... | @@ -186,11 +184,6 @@ const handleDetail = async (rowId: number) => { |
| 186 | 184 | detailData.value = res |
| 187 | 185 | } |
| 188 | 186 | |
| 189 | -// 删除操作 | |
| 190 | -const handleDelete = async (rowId: number) => { | |
| 191 | - await deleteData(xGrid, rowId) | |
| 192 | -} | |
| 193 | - | |
| 194 | 187 | // 提交新增/修改的表单 |
| 195 | 188 | const submitForm = async () => { |
| 196 | 189 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -212,7 +205,7 @@ const submitForm = async () => { |
| 212 | 205 | } finally { |
| 213 | 206 | actionLoading.value = false |
| 214 | 207 | // 刷新列表 |
| 215 | - await getList(xGrid) | |
| 208 | + await reload() | |
| 216 | 209 | } |
| 217 | 210 | } |
| 218 | 211 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/oauth2/token/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 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')" |
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | @click="handleForceLogout(row.id)" |
| 14 | 14 | /> |
| 15 | 15 | </template> |
| 16 | - </vxe-grid> | |
| 16 | + </XTable> | |
| 17 | 17 | </ContentWrap> |
| 18 | 18 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 19 | 19 | <!-- 对话框(详情) --> |
| ... | ... | @@ -28,8 +28,7 @@ |
| 28 | 28 | import { ref } from 'vue' |
| 29 | 29 | import { useI18n } from '@/hooks/web/useI18n' |
| 30 | 30 | import { useMessage } from '@/hooks/web/useMessage' |
| 31 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 32 | -import { VxeGridInstance } from 'vxe-table' | |
| 31 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 33 | 32 | |
| 34 | 33 | import { allSchemas } from './token.data' |
| 35 | 34 | import * as TokenApi from '@/api/system/oauth2/token' |
| ... | ... | @@ -37,8 +36,7 @@ import * as TokenApi from '@/api/system/oauth2/token' |
| 37 | 36 | const { t } = useI18n() // 国际化 |
| 38 | 37 | const message = useMessage() // 消息弹窗 |
| 39 | 38 | // 列表相关的变量 |
| 40 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 41 | -const { gridOptions, getList } = useVxeGrid<TokenApi.OAuth2TokenVO>({ | |
| 39 | +const [registerTable, { reload }] = useXTable({ | |
| 42 | 40 | allSchemas: allSchemas, |
| 43 | 41 | topActionSlots: false, |
| 44 | 42 | getListApi: TokenApi.getAccessTokenPageApi |
| ... | ... | @@ -65,7 +63,7 @@ const handleForceLogout = (rowId: number) => { |
| 65 | 63 | }) |
| 66 | 64 | .finally(async () => { |
| 67 | 65 | // 刷新列表 |
| 68 | - await getList(xGrid) | |
| 66 | + await reload() | |
| 69 | 67 | }) |
| 70 | 68 | } |
| 71 | 69 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/operatelog/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -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 }"> |
| ... | ... | @@ -22,7 +22,7 @@ |
| 22 | 22 | <!-- 操作:详情 --> |
| 23 | 23 | <XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" /> |
| 24 | 24 | </template> |
| 25 | - </vxe-grid> | |
| 25 | + </XTable> | |
| 26 | 26 | </ContentWrap> |
| 27 | 27 | <!-- 弹窗 --> |
| 28 | 28 | <XModal id="postModel" v-model="dialogVisible" :title="t('action.detail')"> |
| ... | ... | @@ -45,16 +45,14 @@ |
| 45 | 45 | // 全局相关的 import |
| 46 | 46 | import { ref } from 'vue' |
| 47 | 47 | import { useI18n } from '@/hooks/web/useI18n' |
| 48 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 49 | -import { VxeGridInstance } from 'vxe-table' | |
| 48 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 50 | 49 | // 业务相关的 import |
| 51 | 50 | import * as OperateLogApi from '@/api/system/operatelog' |
| 52 | 51 | import { allSchemas } from './operatelog.data' |
| 53 | 52 | |
| 54 | 53 | const { t } = useI18n() // 国际化 |
| 55 | 54 | // 列表相关的变量 |
| 56 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 57 | -const { gridOptions, exportList } = useVxeGrid<OperateLogApi.OperateLogVO>({ | |
| 55 | +const [registerTable, { exportList }] = useXTable({ | |
| 58 | 56 | allSchemas: allSchemas, |
| 59 | 57 | getListApi: OperateLogApi.getOperateLogPageApi, |
| 60 | 58 | exportListApi: OperateLogApi.exportOperateLogApi |
| ... | ... | @@ -70,9 +68,4 @@ const handleDetail = (row: OperateLogApi.OperateLogVO) => { |
| 70 | 68 | detailData.value = row |
| 71 | 69 | dialogVisible.value = true |
| 72 | 70 | } |
| 73 | - | |
| 74 | -// 导出操作 | |
| 75 | -const handleExport = async () => { | |
| 76 | - await exportList(xGrid, '操作日志.xls') | |
| 77 | -} | |
| 78 | 71 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/post/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['system:post:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('岗位列表.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #actionbtns_default="{ row }"> |
| ... | ... | @@ -40,10 +40,10 @@ |
| 40 | 40 | preIcon="ep:delete" |
| 41 | 41 | :title="t('action.del')" |
| 42 | 42 | v-hasPermi="['system:post:delete']" |
| 43 | - @click="handleDelete(row.id)" | |
| 43 | + @click="deleteData(row.id)" | |
| 44 | 44 | /> |
| 45 | 45 | </template> |
| 46 | - </vxe-grid> | |
| 46 | + </XTable> | |
| 47 | 47 | </ContentWrap> |
| 48 | 48 | <!-- 弹窗 --> |
| 49 | 49 | <XModal id="postModel" :loading="modelLoading" v-model="modelVisible" :title="modelTitle"> |
| ... | ... | @@ -79,8 +79,7 @@ |
| 79 | 79 | import { ref, unref } from 'vue' |
| 80 | 80 | import { useI18n } from '@/hooks/web/useI18n' |
| 81 | 81 | import { useMessage } from '@/hooks/web/useMessage' |
| 82 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 83 | -import { VxeGridInstance } from 'vxe-table' | |
| 82 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 84 | 83 | import { FormExpose } from '@/components/Form' |
| 85 | 84 | // 业务相关的 import |
| 86 | 85 | import * as PostApi from '@/api/system/post' |
| ... | ... | @@ -89,8 +88,7 @@ import { rules, allSchemas } from './post.data' |
| 89 | 88 | const { t } = useI18n() // 国际化 |
| 90 | 89 | const message = useMessage() // 消息弹窗 |
| 91 | 90 | // 列表相关的变量 |
| 92 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 93 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<PostApi.PostVO>({ | |
| 91 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 94 | 92 | allSchemas: allSchemas, |
| 95 | 93 | getListApi: PostApi.getPostPageApi, |
| 96 | 94 | deleteApi: PostApi.deletePostApi, |
| ... | ... | @@ -119,11 +117,6 @@ const handleCreate = () => { |
| 119 | 117 | modelLoading.value = false |
| 120 | 118 | } |
| 121 | 119 | |
| 122 | -// 导出操作 | |
| 123 | -const handleExport = async () => { | |
| 124 | - await exportList(xGrid, '岗位列表.xls') | |
| 125 | -} | |
| 126 | - | |
| 127 | 120 | // 修改操作 |
| 128 | 121 | const handleUpdate = async (rowId: number) => { |
| 129 | 122 | setDialogTile('update') |
| ... | ... | @@ -141,11 +134,6 @@ const handleDetail = async (rowId: number) => { |
| 141 | 134 | modelLoading.value = false |
| 142 | 135 | } |
| 143 | 136 | |
| 144 | -// 删除操作 | |
| 145 | -const handleDelete = async (rowId: number) => { | |
| 146 | - await deleteData(xGrid, rowId) | |
| 147 | -} | |
| 148 | - | |
| 149 | 137 | // 提交新增/修改的表单 |
| 150 | 138 | const submitForm = async () => { |
| 151 | 139 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -167,7 +155,7 @@ const submitForm = async () => { |
| 167 | 155 | } finally { |
| 168 | 156 | actionLoading.value = false |
| 169 | 157 | // 刷新列表 |
| 170 | - await getList(xGrid) | |
| 158 | + await reload() | |
| 171 | 159 | } |
| 172 | 160 | } |
| 173 | 161 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/role/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:新增 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| ... | ... | @@ -46,10 +46,10 @@ |
| 46 | 46 | preIcon="ep:delete" |
| 47 | 47 | :title="t('action.del')" |
| 48 | 48 | v-hasPermi="['system:role:delete']" |
| 49 | - @click="handleDelete(row.id)" | |
| 49 | + @click="deleteData(row.id)" | |
| 50 | 50 | /> |
| 51 | 51 | </template> |
| 52 | - </vxe-grid> | |
| 52 | + </XTable> | |
| 53 | 53 | </ContentWrap> |
| 54 | 54 | |
| 55 | 55 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -159,11 +159,10 @@ import { |
| 159 | 159 | ElSwitch, |
| 160 | 160 | ElTag |
| 161 | 161 | } from 'element-plus' |
| 162 | -import { VxeGridInstance } from 'vxe-table' | |
| 163 | 162 | import { FormExpose } from '@/components/Form' |
| 164 | 163 | import { useI18n } from '@/hooks/web/useI18n' |
| 165 | 164 | import { useMessage } from '@/hooks/web/useMessage' |
| 166 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 165 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 167 | 166 | import { handleTree, defaultProps } from '@/utils/tree' |
| 168 | 167 | import { SystemDataScopeEnum } from '@/utils/constants' |
| 169 | 168 | import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' |
| ... | ... | @@ -176,8 +175,7 @@ import * as PermissionApi from '@/api/system/permission' |
| 176 | 175 | const { t } = useI18n() // 国际化 |
| 177 | 176 | const message = useMessage() // 消息弹窗 |
| 178 | 177 | // 列表相关的变量 |
| 179 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 180 | -const { gridOptions, getList, deleteData } = useVxeGrid<RoleApi.RoleVO>({ | |
| 178 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 181 | 179 | allSchemas: allSchemas, |
| 182 | 180 | getListApi: RoleApi.getRolePageApi, |
| 183 | 181 | deleteApi: RoleApi.deleteRoleApi |
| ... | ... | @@ -219,11 +217,6 @@ const handleDetail = async (rowId: number) => { |
| 219 | 217 | detailData.value = res |
| 220 | 218 | } |
| 221 | 219 | |
| 222 | -// 删除操作 | |
| 223 | -const handleDelete = async (rowId: number) => { | |
| 224 | - await deleteData(xGrid, rowId) | |
| 225 | -} | |
| 226 | - | |
| 227 | 220 | // 提交按钮 |
| 228 | 221 | const submitForm = async () => { |
| 229 | 222 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -245,7 +238,7 @@ const submitForm = async () => { |
| 245 | 238 | } finally { |
| 246 | 239 | actionLoading.value = false |
| 247 | 240 | // 刷新列表 |
| 248 | - await getList(xGrid) | |
| 241 | + await reload() | |
| 249 | 242 | } |
| 250 | 243 | } |
| 251 | 244 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/sensitiveWord/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | preIcon="ep:download" |
| 18 | 18 | :title="t('action.export')" |
| 19 | 19 | v-hasPermi="['system:sensitive-word:export']" |
| 20 | - @click="handleExport()" | |
| 20 | + @click="exportList('敏感词数据.xls')" | |
| 21 | 21 | /> |
| 22 | 22 | </template> |
| 23 | 23 | <template #tags_default="{ row }"> |
| ... | ... | @@ -50,10 +50,10 @@ |
| 50 | 50 | preIcon="ep:delete" |
| 51 | 51 | :title="t('action.del')" |
| 52 | 52 | v-hasPermi="['system:sensitive-word:delete']" |
| 53 | - @click="handleDelete(row.id)" | |
| 53 | + @click="deleteData(row.id)" | |
| 54 | 54 | /> |
| 55 | 55 | </template> |
| 56 | - </vxe-grid> | |
| 56 | + </XTable> | |
| 57 | 57 | </ContentWrap> |
| 58 | 58 | |
| 59 | 59 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -106,8 +106,7 @@ |
| 106 | 106 | import { onMounted, ref, unref } from 'vue' |
| 107 | 107 | import { useI18n } from '@/hooks/web/useI18n' |
| 108 | 108 | import { useMessage } from '@/hooks/web/useMessage' |
| 109 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 110 | -import { VxeGridInstance } from 'vxe-table' | |
| 109 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 111 | 110 | import { FormExpose } from '@/components/Form' |
| 112 | 111 | import { ElTag, ElSelect, ElOption } from 'element-plus' |
| 113 | 112 | import * as SensitiveWordApi from '@/api/system/sensitiveWord' |
| ... | ... | @@ -116,14 +115,12 @@ import { rules, allSchemas } from './sensitiveWord.data' |
| 116 | 115 | const { t } = useI18n() // 国际化 |
| 117 | 116 | const message = useMessage() // 消息弹窗 |
| 118 | 117 | // 列表相关的变量 |
| 119 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 120 | -const { gridOptions, getList, deleteData, exportList } = | |
| 121 | - useVxeGrid<SensitiveWordApi.SensitiveWordVO>({ | |
| 122 | - allSchemas: allSchemas, | |
| 123 | - getListApi: SensitiveWordApi.getSensitiveWordPageApi, | |
| 124 | - deleteApi: SensitiveWordApi.deleteSensitiveWordApi, | |
| 125 | - exportListApi: SensitiveWordApi.exportSensitiveWordApi | |
| 126 | - }) | |
| 118 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 119 | + allSchemas: allSchemas, | |
| 120 | + getListApi: SensitiveWordApi.getSensitiveWordPageApi, | |
| 121 | + deleteApi: SensitiveWordApi.deleteSensitiveWordApi, | |
| 122 | + exportListApi: SensitiveWordApi.exportSensitiveWordApi | |
| 123 | +}) | |
| 127 | 124 | const actionLoading = ref(false) // 遮罩层 |
| 128 | 125 | const actionType = ref('') // 操作按钮的类型 |
| 129 | 126 | const dialogVisible = ref(false) // 是否显示弹出层 |
| ... | ... | @@ -150,11 +147,6 @@ const handleCreate = () => { |
| 150 | 147 | setDialogTile('create') |
| 151 | 148 | } |
| 152 | 149 | |
| 153 | -// 导出操作 | |
| 154 | -const handleExport = async () => { | |
| 155 | - await exportList(xGrid, '敏感词数据.xls') | |
| 156 | -} | |
| 157 | - | |
| 158 | 150 | // 修改操作 |
| 159 | 151 | const handleUpdate = async (rowId: number) => { |
| 160 | 152 | setDialogTile('update') |
| ... | ... | @@ -170,11 +162,6 @@ const handleDetail = async (rowId: number) => { |
| 170 | 162 | detailData.value = res |
| 171 | 163 | } |
| 172 | 164 | |
| 173 | -// 删除操作 | |
| 174 | -const handleDelete = async (rowId: number) => { | |
| 175 | - await deleteData(xGrid, rowId) | |
| 176 | -} | |
| 177 | - | |
| 178 | 165 | // 提交按钮 |
| 179 | 166 | const submitForm = async () => { |
| 180 | 167 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -196,7 +183,7 @@ const submitForm = async () => { |
| 196 | 183 | } finally { |
| 197 | 184 | actionLoading.value = false |
| 198 | 185 | // 刷新列表 |
| 199 | - await getList(xGrid) | |
| 186 | + await reload() | |
| 200 | 187 | } |
| 201 | 188 | } |
| 202 | 189 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/sms/smsChannel/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:新增 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| ... | ... | @@ -32,10 +32,10 @@ |
| 32 | 32 | preIcon="ep:delete" |
| 33 | 33 | :title="t('action.del')" |
| 34 | 34 | v-hasPermi="['system:sms-channel:delete']" |
| 35 | - @click="handleDelete(row.id)" | |
| 35 | + @click="deleteData(row.id)" | |
| 36 | 36 | /> |
| 37 | 37 | </template> |
| 38 | - </vxe-grid> | |
| 38 | + </XTable> | |
| 39 | 39 | </ContentWrap> |
| 40 | 40 | |
| 41 | 41 | <XModal id="smsChannel" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -72,8 +72,7 @@ |
| 72 | 72 | import { ref, unref } from 'vue' |
| 73 | 73 | import { useI18n } from '@/hooks/web/useI18n' |
| 74 | 74 | import { useMessage } from '@/hooks/web/useMessage' |
| 75 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 76 | -import { VxeGridInstance } from 'vxe-table' | |
| 75 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 77 | 76 | import { FormExpose } from '@/components/Form' |
| 78 | 77 | // 业务相关的 import |
| 79 | 78 | import * as SmsChannelApi from '@/api/system/sms/smsChannel' |
| ... | ... | @@ -83,8 +82,7 @@ const { t } = useI18n() // 国际化 |
| 83 | 82 | const message = useMessage() // 消息弹窗 |
| 84 | 83 | |
| 85 | 84 | // 列表相关的变量 |
| 86 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 87 | -const { gridOptions, getList, deleteData } = useVxeGrid<SmsChannelApi.SmsChannelVO>({ | |
| 85 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 88 | 86 | allSchemas: allSchemas, |
| 89 | 87 | getListApi: SmsChannelApi.getSmsChannelPageApi, |
| 90 | 88 | deleteApi: SmsChannelApi.deleteSmsChannelApi |
| ... | ... | @@ -125,11 +123,6 @@ const handleDetail = async (rowId: number) => { |
| 125 | 123 | detailData.value = res |
| 126 | 124 | } |
| 127 | 125 | |
| 128 | -// 删除操作 | |
| 129 | -const handleDelete = async (rowId: number) => { | |
| 130 | - await deleteData(xGrid, rowId) | |
| 131 | -} | |
| 132 | - | |
| 133 | 126 | // 提交按钮 |
| 134 | 127 | const submitForm = async () => { |
| 135 | 128 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -151,7 +144,7 @@ const submitForm = async () => { |
| 151 | 144 | } finally { |
| 152 | 145 | actionLoading.value = false |
| 153 | 146 | // 刷新列表 |
| 154 | - await getList(xGrid) | |
| 147 | + await reload() | |
| 155 | 148 | } |
| 156 | 149 | } |
| 157 | 150 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/sms/smsLog/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:导出 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| 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 }"> |
| 15 | 15 | <XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" /> |
| 16 | 16 | </template> |
| 17 | - </vxe-grid> | |
| 17 | + </XTable> | |
| 18 | 18 | </ContentWrap> |
| 19 | 19 | |
| 20 | 20 | <XModal id="smsLog" v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -34,15 +34,13 @@ |
| 34 | 34 | // 全局相关的 import |
| 35 | 35 | import { ref } from 'vue' |
| 36 | 36 | import { useI18n } from '@/hooks/web/useI18n' |
| 37 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 38 | -import { VxeGridInstance } from 'vxe-table' | |
| 37 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 39 | 38 | import { allSchemas } from './sms.log.data' |
| 40 | 39 | import * as SmsLoglApi from '@/api/system/sms/smsLog' |
| 41 | 40 | const { t } = useI18n() // 国际化 |
| 42 | 41 | |
| 43 | 42 | // 列表相关的变量 |
| 44 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 45 | -const { gridOptions, exportList } = useVxeGrid<SmsLoglApi.SmsLogVO>({ | |
| 43 | +const [registerTable, { exportList }] = useXTable({ | |
| 46 | 44 | allSchemas: allSchemas, |
| 47 | 45 | getListApi: SmsLoglApi.getSmsLogPageApi, |
| 48 | 46 | exportListApi: SmsLoglApi.exportSmsLogApi |
| ... | ... | @@ -59,9 +57,4 @@ const handleDetail = (row: SmsLoglApi.SmsLogVO) => { |
| 59 | 57 | detailData.value = row |
| 60 | 58 | dialogVisible.value = true |
| 61 | 59 | } |
| 62 | - | |
| 63 | -// 导出操作 | |
| 64 | -const handleExport = async () => { | |
| 65 | - await exportList(xGrid, '短信日志.xls') | |
| 66 | -} | |
| 67 | 60 | </script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/sms/smsTemplate/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <!-- 操作:新增 --> |
| 6 | 6 | <template #toolbar_buttons> |
| 7 | 7 | <XButton |
| ... | ... | @@ -38,10 +38,10 @@ |
| 38 | 38 | preIcon="ep:delete" |
| 39 | 39 | :title="t('action.del')" |
| 40 | 40 | v-hasPermi="['system:sms-template:delete']" |
| 41 | - @click="handleDelete(row.id)" | |
| 41 | + @click="deleteData(row.id)" | |
| 42 | 42 | /> |
| 43 | 43 | </template> |
| 44 | - </vxe-grid> | |
| 44 | + </XTable> | |
| 45 | 45 | </ContentWrap> |
| 46 | 46 | <XModal id="smsTemplate" v-model="dialogVisible" :title="dialogTitle"> |
| 47 | 47 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -113,8 +113,7 @@ |
| 113 | 113 | import { ref, unref } from 'vue' |
| 114 | 114 | import { useI18n } from '@/hooks/web/useI18n' |
| 115 | 115 | import { useMessage } from '@/hooks/web/useMessage' |
| 116 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 117 | -import { VxeGridInstance } from 'vxe-table' | |
| 116 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 118 | 117 | import { FormExpose } from '@/components/Form' |
| 119 | 118 | import { ElForm, ElFormItem, ElInput } from 'element-plus' |
| 120 | 119 | // 业务相关的 import |
| ... | ... | @@ -125,8 +124,7 @@ const { t } = useI18n() // 国际化 |
| 125 | 124 | const message = useMessage() // 消息弹窗 |
| 126 | 125 | |
| 127 | 126 | // 列表相关的变量 |
| 128 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 129 | -const { gridOptions, getList, deleteData } = useVxeGrid<SmsTemplateApi.SmsTemplateVO>({ | |
| 127 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 130 | 128 | allSchemas: allSchemas, |
| 131 | 129 | getListApi: SmsTemplateApi.getSmsTemplatePageApi, |
| 132 | 130 | deleteApi: SmsTemplateApi.deleteSmsTemplateApi |
| ... | ... | @@ -168,11 +166,6 @@ const handleDetail = async (rowId: number) => { |
| 168 | 166 | detailData.value = res |
| 169 | 167 | } |
| 170 | 168 | |
| 171 | -// 删除操作 | |
| 172 | -const handleDelete = async (rowId: number) => { | |
| 173 | - await deleteData(xGrid, rowId) | |
| 174 | -} | |
| 175 | - | |
| 176 | 169 | // 提交按钮 |
| 177 | 170 | const submitForm = async () => { |
| 178 | 171 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -194,7 +187,7 @@ const submitForm = async () => { |
| 194 | 187 | } finally { |
| 195 | 188 | actionLoading.value = false |
| 196 | 189 | // 刷新列表 |
| 197 | - await getList(xGrid) | |
| 190 | + await reload() | |
| 198 | 191 | } |
| 199 | 192 | } |
| 200 | 193 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/tenant/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <!-- 操作:新增 --> |
| 7 | 7 | <XButton |
| ... | ... | @@ -16,7 +16,7 @@ |
| 16 | 16 | preIcon="ep:download" |
| 17 | 17 | :title="t('action.export')" |
| 18 | 18 | v-hasPermi="['system:tenant:export']" |
| 19 | - @click="handleExport()" | |
| 19 | + @click="exportList('租户列表.xls')" | |
| 20 | 20 | /> |
| 21 | 21 | </template> |
| 22 | 22 | <template #accountCount_default="{ row }"> |
| ... | ... | @@ -46,10 +46,10 @@ |
| 46 | 46 | preIcon="ep:delete" |
| 47 | 47 | :title="t('action.del')" |
| 48 | 48 | v-hasPermi="['system:tenant:delete']" |
| 49 | - @click="handleDelete(row.id)" | |
| 49 | + @click="deleteData(row.id)" | |
| 50 | 50 | /> |
| 51 | 51 | </template> |
| 52 | - </vxe-grid> | |
| 52 | + </XTable> | |
| 53 | 53 | </ContentWrap> |
| 54 | 54 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 55 | 55 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -89,8 +89,7 @@ |
| 89 | 89 | import { ref, unref } from 'vue' |
| 90 | 90 | import { useI18n } from '@/hooks/web/useI18n' |
| 91 | 91 | import { useMessage } from '@/hooks/web/useMessage' |
| 92 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 93 | -import { VxeGridInstance } from 'vxe-table' | |
| 92 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 94 | 93 | import { ElTag } from 'element-plus' |
| 95 | 94 | import { FormExpose } from '@/components/Form' |
| 96 | 95 | import * as TenantApi from '@/api/system/tenant' |
| ... | ... | @@ -99,8 +98,7 @@ import { rules, allSchemas, tenantPackageOption } from './tenant.data' |
| 99 | 98 | const { t } = useI18n() // 国际化 |
| 100 | 99 | const message = useMessage() // 消息弹窗 |
| 101 | 100 | // 列表相关的变量 |
| 102 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 103 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<TenantApi.TenantVO>({ | |
| 101 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 104 | 102 | allSchemas: allSchemas, |
| 105 | 103 | getListApi: TenantApi.getTenantPageApi, |
| 106 | 104 | deleteApi: TenantApi.deleteTenantApi, |
| ... | ... | @@ -151,16 +149,6 @@ const handleDetail = async (rowId: number) => { |
| 151 | 149 | setDialogTile('detail') |
| 152 | 150 | } |
| 153 | 151 | |
| 154 | -// 删除操作 | |
| 155 | -const handleDelete = async (rowId: number) => { | |
| 156 | - await deleteData(xGrid, rowId) | |
| 157 | -} | |
| 158 | - | |
| 159 | -// 导出操作 | |
| 160 | -const handleExport = async () => { | |
| 161 | - await exportList(xGrid, '租户列表.xls') | |
| 162 | -} | |
| 163 | - | |
| 164 | 152 | // 提交按钮 |
| 165 | 153 | const submitForm = async () => { |
| 166 | 154 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -183,7 +171,7 @@ const submitForm = async () => { |
| 183 | 171 | } finally { |
| 184 | 172 | actionLoading.value = false |
| 185 | 173 | // 刷新列表 |
| 186 | - await getList(xGrid) | |
| 174 | + await reload() | |
| 187 | 175 | } |
| 188 | 176 | } |
| 189 | 177 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/tenantPackage/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <ContentWrap> |
| 3 | 3 | <!-- 列表 --> |
| 4 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | 5 | <template #toolbar_buttons> |
| 6 | 6 | <XButton |
| 7 | 7 | type="primary" |
| ... | ... | @@ -12,9 +12,9 @@ |
| 12 | 12 | </template> |
| 13 | 13 | <template #actionbtns_default="{ row }"> |
| 14 | 14 | <XTextButton preIcon="ep:edit" :title="t('action.edit')" @click="handleUpdate(row.id)" /> |
| 15 | - <XTextButton preIcon="ep:delete" :title="t('action.del')" @click="handleDelete(row.id)" /> | |
| 15 | + <XTextButton preIcon="ep:delete" :title="t('action.del')" @click="deleteData(row.id)" /> | |
| 16 | 16 | </template> |
| 17 | - </vxe-grid> | |
| 17 | + </XTable> | |
| 18 | 18 | </ContentWrap> |
| 19 | 19 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| 20 | 20 | <!-- 对话框(添加 / 修改) --> |
| ... | ... | @@ -69,8 +69,7 @@ import { onMounted, ref, unref } from 'vue' |
| 69 | 69 | import { handleTree, defaultProps } from '@/utils/tree' |
| 70 | 70 | import { useI18n } from '@/hooks/web/useI18n' |
| 71 | 71 | import { useMessage } from '@/hooks/web/useMessage' |
| 72 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 73 | -import { VxeGridInstance } from 'vxe-table' | |
| 72 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 74 | 73 | import { FormExpose } from '@/components/Form' |
| 75 | 74 | import { ElCard, ElSwitch, ElTree } from 'element-plus' |
| 76 | 75 | // 业务相关的 import |
| ... | ... | @@ -86,7 +85,6 @@ const menuExpand = ref(false) |
| 86 | 85 | const menuNodeAll = ref(false) |
| 87 | 86 | const treeRef = ref<InstanceType<typeof ElTree>>() |
| 88 | 87 | const treeNodeAll = ref(false) |
| 89 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 90 | 88 | const formRef = ref<FormExpose>() // 表单 Ref |
| 91 | 89 | const loading = ref(false) // 遮罩层 |
| 92 | 90 | const actionType = ref('') // 操作按钮的类型 |
| ... | ... | @@ -102,7 +100,7 @@ const getTree = async () => { |
| 102 | 100 | menuOptions.value = handleTree(res) |
| 103 | 101 | } |
| 104 | 102 | |
| 105 | -const { gridOptions, getList, deleteData } = useVxeGrid<TenantPackageApi.TenantPackageVO>({ | |
| 103 | +const [registerTable, { reload, deleteData }] = useXTable({ | |
| 106 | 104 | allSchemas: allSchemas, |
| 107 | 105 | getListApi: TenantPackageApi.getTenantPackageTypePageApi, |
| 108 | 106 | deleteApi: TenantPackageApi.deleteTenantPackageTypeApi |
| ... | ... | @@ -134,11 +132,6 @@ const handleUpdate = async (rowId: number) => { |
| 134 | 132 | unref(treeRef)?.setCheckedKeys(res.menuIds) |
| 135 | 133 | } |
| 136 | 134 | |
| 137 | -// 删除操作 | |
| 138 | -const handleDelete = async (rowId: number) => { | |
| 139 | - await deleteData(xGrid, rowId) | |
| 140 | -} | |
| 141 | - | |
| 142 | 135 | // 提交按钮 |
| 143 | 136 | const submitForm = async () => { |
| 144 | 137 | const elForm = unref(formRef)?.getElFormRef() |
| ... | ... | @@ -149,7 +142,10 @@ const submitForm = async () => { |
| 149 | 142 | // 提交请求 |
| 150 | 143 | try { |
| 151 | 144 | const data = unref(formRef)?.formModel as TenantPackageApi.TenantPackageVO |
| 152 | - data.menuIds = treeRef.value!.getCheckedKeys(false) as number[] | |
| 145 | + data.menuIds = [ | |
| 146 | + ...(treeRef.value!.getCheckedKeys(false) as unknown as Array<number>), | |
| 147 | + ...(treeRef.value!.getHalfCheckedKeys() as unknown as Array<number>) | |
| 148 | + ] | |
| 153 | 149 | if (actionType.value === 'create') { |
| 154 | 150 | await TenantPackageApi.createTenantPackageTypeApi(data) |
| 155 | 151 | message.success(t('common.createSuccess')) |
| ... | ... | @@ -162,7 +158,7 @@ const submitForm = async () => { |
| 162 | 158 | } finally { |
| 163 | 159 | loading.value = false |
| 164 | 160 | // 刷新列表 |
| 165 | - await getList(xGrid) | |
| 161 | + await reload() | |
| 166 | 162 | } |
| 167 | 163 | } |
| 168 | 164 | }) | ... | ... |
yudao-ui-admin-vue3/src/views/system/user/index.vue
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | </div> |
| 28 | 28 | </template> |
| 29 | 29 | <!-- 列表 --> |
| 30 | - <vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar"> | |
| 30 | + <XTable @register="registerTable"> | |
| 31 | 31 | <template #toolbar_buttons> |
| 32 | 32 | <!-- 操作:新增 --> |
| 33 | 33 | <XButton |
| ... | ... | @@ -112,14 +112,14 @@ |
| 112 | 112 | preIcon="ep:delete" |
| 113 | 113 | :title="t('action.del')" |
| 114 | 114 | v-hasPermi="['system:user:delete']" |
| 115 | - @click="handleDelete(row.id)" | |
| 115 | + @click="deleteData(row.id)" | |
| 116 | 116 | /> |
| 117 | 117 | </el-dropdown-item> |
| 118 | 118 | </el-dropdown-menu> |
| 119 | 119 | </template> |
| 120 | 120 | </el-dropdown> |
| 121 | 121 | </template> |
| 122 | - </vxe-grid> | |
| 122 | + </XTable> | |
| 123 | 123 | </el-card> |
| 124 | 124 | </div> |
| 125 | 125 | <XModal v-model="dialogVisible" :title="dialogTitle"> |
| ... | ... | @@ -283,14 +283,13 @@ import { |
| 283 | 283 | UploadRawFile |
| 284 | 284 | } from 'element-plus' |
| 285 | 285 | import { useRouter } from 'vue-router' |
| 286 | -import { VxeGridInstance } from 'vxe-table' | |
| 287 | 286 | import { handleTree, defaultProps } from '@/utils/tree' |
| 288 | 287 | import download from '@/utils/download' |
| 289 | 288 | import { CommonStatusEnum } from '@/utils/constants' |
| 290 | 289 | import { getAccessToken, getTenantId } from '@/utils/auth' |
| 291 | 290 | import { useI18n } from '@/hooks/web/useI18n' |
| 292 | 291 | import { useMessage } from '@/hooks/web/useMessage' |
| 293 | -import { useVxeGrid } from '@/hooks/web/useVxeGrid' | |
| 292 | +import { useXTable } from '@/hooks/web/useXTable' | |
| 294 | 293 | import { FormExpose } from '@/components/Form' |
| 295 | 294 | import { rules, allSchemas } from './user.data' |
| 296 | 295 | import * as UserApi from '@/api/system/user' |
| ... | ... | @@ -312,10 +311,9 @@ const queryParams = reactive({ |
| 312 | 311 | // ========== 列表相关 ========== |
| 313 | 312 | const tableTitle = ref('用户列表') |
| 314 | 313 | // 列表相关的变量 |
| 315 | -const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref | |
| 316 | -const { gridOptions, getList, deleteData, exportList } = useVxeGrid<UserApi.UserVO>({ | |
| 314 | +const [registerTable, { reload, deleteData, exportList }] = useXTable({ | |
| 317 | 315 | allSchemas: allSchemas, |
| 318 | - queryParams: queryParams, | |
| 316 | + params: queryParams, | |
| 319 | 317 | getListApi: UserApi.getUserPageApi, |
| 320 | 318 | deleteApi: UserApi.deleteUserApi, |
| 321 | 319 | exportListApi: UserApi.exportUserApi |
| ... | ... | @@ -334,7 +332,7 @@ const filterNode = (value: string, data: Tree) => { |
| 334 | 332 | } |
| 335 | 333 | const handleDeptNodeClick = async (row: { [key: string]: any }) => { |
| 336 | 334 | queryParams.deptId = row.id |
| 337 | - await getList(xGrid) | |
| 335 | + await reload() | |
| 338 | 336 | } |
| 339 | 337 | const { push } = useRouter() |
| 340 | 338 | const handleDeptEdit = () => { |
| ... | ... | @@ -407,10 +405,7 @@ const handleDetail = async (rowId: number) => { |
| 407 | 405 | detailData.value = res |
| 408 | 406 | await setDialogTile('detail') |
| 409 | 407 | } |
| 410 | -// 删除操作 | |
| 411 | -const handleDelete = async (rowId: number) => { | |
| 412 | - await deleteData(xGrid, rowId) | |
| 413 | -} | |
| 408 | + | |
| 414 | 409 | // 提交按钮 |
| 415 | 410 | const submitForm = async () => { |
| 416 | 411 | loading.value = true |
| ... | ... | @@ -428,7 +423,7 @@ const submitForm = async () => { |
| 428 | 423 | } finally { |
| 429 | 424 | // unref(formRef)?.setSchema(allSchemas.formSchema) |
| 430 | 425 | // 刷新列表 |
| 431 | - await getList(xGrid) | |
| 426 | + await reload() | |
| 432 | 427 | loading.value = false |
| 433 | 428 | } |
| 434 | 429 | } |
| ... | ... | @@ -443,7 +438,7 @@ const handleStatusChange = async (row: UserApi.UserVO) => { |
| 443 | 438 | await UserApi.updateUserStatusApi(row.id, row.status) |
| 444 | 439 | message.success(text + '成功') |
| 445 | 440 | // 刷新列表 |
| 446 | - await getList(xGrid) | |
| 441 | + await reload() | |
| 447 | 442 | }) |
| 448 | 443 | .catch(() => { |
| 449 | 444 | row.status = |
| ... | ... | @@ -544,7 +539,7 @@ const handleFileSuccess = async (response: any): Promise<void> => { |
| 544 | 539 | text += '< ' + username + ': ' + data.failureUsernames[username] + ' >' |
| 545 | 540 | } |
| 546 | 541 | message.alert(text) |
| 547 | - await getList(xGrid) | |
| 542 | + await reload() | |
| 548 | 543 | } |
| 549 | 544 | // 文件数超出提示 |
| 550 | 545 | const handleExceed = (): void => { | ... | ... |
yudao-ui-admin/package.json
yudao-ui-admin/src/views/infra/file/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="app-container"> |
| 3 | - <doc-alert title="上传下载" url="https://doc.iocoder.cn/file/" /> | |
| 3 | + <doc-alert title="上传下载" url="https://doc.iocoder.cn/file/"/> | |
| 4 | 4 | <!-- 搜索工作栏 --> |
| 5 | 5 | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| 6 | 6 | <el-form-item label="文件路径" prop="path"> |
| 7 | 7 | <el-input v-model="queryParams.path" placeholder="请输入文件路径" clearable @keyup.enter.native="handleQuery"/> |
| 8 | 8 | </el-form-item> |
| 9 | 9 | <el-form-item label="创建时间" prop="createTime"> |
| 10 | - <el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" | |
| 11 | - range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" /> | |
| 10 | + <el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" | |
| 11 | + type="daterange" | |
| 12 | + range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" | |
| 13 | + :default-time="['00:00:00', '23:59:59']"/> | |
| 12 | 14 | </el-form-item> |
| 13 | 15 | <el-form-item> |
| 14 | 16 | <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> |
| ... | ... | @@ -35,6 +37,9 @@ |
| 35 | 37 | <template v-slot="scope"> |
| 36 | 38 | <image-preview v-if="scope.row.type&&scope.row.type.indexOf('image/') === 0" :src="scope.row.url" |
| 37 | 39 | :width="'100px'"></image-preview> |
| 40 | + <video v-else-if="scope.row.type&&scope.row.type.indexOf('video/') === 0" :width="'100px'"> | |
| 41 | + <source :src="scope.row.url"/> | |
| 42 | + </video> | |
| 38 | 43 | <i v-else>无法预览,点击 |
| 39 | 44 | <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" target="_blank" |
| 40 | 45 | :href="getFileUrl + scope.row.configId + '/get/' + scope.row.path">下载 |
| ... | ... | @@ -118,7 +123,7 @@ export default { |
| 118 | 123 | title: "", // 弹出层标题 |
| 119 | 124 | isUploading: false, // 是否禁用上传 |
| 120 | 125 | url: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/upload", // 请求地址 |
| 121 | - headers: { Authorization: "Bearer " + getAccessToken() }, // 设置上传的请求头部 | |
| 126 | + headers: {Authorization: "Bearer " + getAccessToken()}, // 设置上传的请求头部 | |
| 122 | 127 | data: {} // 上传的额外数据,用于文件名 |
| 123 | 128 | }, |
| 124 | 129 | }; |
| ... | ... | @@ -189,19 +194,20 @@ export default { |
| 189 | 194 | /** 删除按钮操作 */ |
| 190 | 195 | handleDelete(row) { |
| 191 | 196 | const id = row.id; |
| 192 | - this.$modal.confirm('是否确认删除文件编号为"' + id + '"的数据项?').then(function() { | |
| 197 | + this.$modal.confirm('是否确认删除文件编号为"' + id + '"的数据项?').then(function () { | |
| 193 | 198 | return deleteFile(id); |
| 194 | 199 | }).then(() => { |
| 195 | 200 | this.getList(); |
| 196 | 201 | this.$modal.msgSuccess("删除成功"); |
| 197 | - }).catch(() => {}); | |
| 202 | + }).catch(() => { | |
| 203 | + }); | |
| 198 | 204 | }, |
| 199 | 205 | // 用户昵称展示 |
| 200 | 206 | sizeFormat(row, column) { |
| 201 | - const unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"]; | |
| 207 | + const unitArr = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; | |
| 202 | 208 | const srcSize = parseFloat(row.size); |
| 203 | 209 | const index = Math.floor(Math.log(srcSize) / Math.log(1024)); |
| 204 | - let size =srcSize/Math.pow(1024,index); | |
| 210 | + let size = srcSize / Math.pow(1024, index); | |
| 205 | 211 | size = size.toFixed(2);//保留的小数位数 |
| 206 | 212 | return size + ' ' + unitArr[index]; |
| 207 | 213 | }, | ... | ... |
yudao-ui-admin/src/views/infra/redis/index.vue
| ... | ... | @@ -136,8 +136,8 @@ |
| 136 | 136 | |
| 137 | 137 | <script> |
| 138 | 138 | import {getCache, getKeyDefineList, getKeyList, getKeyValue, deleteKey, deleteKeys} from "@/api/infra/redis"; |
| 139 | -import echarts from "echarts"; | |
| 140 | - | |
| 139 | +import * as echarts from 'echarts' | |
| 140 | +require('echarts/theme/macarons') // echarts theme | |
| 141 | 141 | export default { |
| 142 | 142 | name: "Server", |
| 143 | 143 | data () { | ... | ... |
yudao-ui-admin/src/views/infra/webSocket/index.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="app-container"> | |
| 3 | + <el-form label-width="120px"> | |
| 4 | + <el-row type="flex" :gutter="0"> | |
| 5 | + <el-col :sm="12"> | |
| 6 | + <el-form-item label="WebSocket地址" size="small"> | |
| 7 | + <el-input v-model="url" type="text"/> | |
| 8 | + </el-form-item> | |
| 9 | + </el-col> | |
| 10 | + <el-col :offset="1"> | |
| 11 | + <el-form-item label="" label-width="0px" size="small"> | |
| 12 | + <el-button @click="connect" type="primary" :disabled="ws&&ws.readyState===1"> | |
| 13 | + {{ ws && ws.readyState === 1 ? "已连接" : "连接" }} | |
| 14 | + </el-button> | |
| 15 | + <el-button @click="exit" type="danger">断开</el-button> | |
| 16 | + </el-form-item> | |
| 17 | + </el-col> | |
| 18 | + </el-row> | |
| 19 | + <el-form-item label="发送内容" size="small"> | |
| 20 | + <el-input type="textarea" v-model="message" :rows="5"/> | |
| 21 | + </el-form-item> | |
| 22 | + <el-form-item label="" size="small"> | |
| 23 | + <el-button type="success" @click="send">发送消息</el-button> | |
| 24 | + </el-form-item> | |
| 25 | + <el-form-item label="接收内容" size="small"> | |
| 26 | + <el-input type="textarea" v-model="content" :rows="12" disabled/> | |
| 27 | + </el-form-item> | |
| 28 | + <el-form-item label="" size="small"> | |
| 29 | + <el-button type="info" @click="content=''">清空消息</el-button> | |
| 30 | + </el-form-item> | |
| 31 | + </el-form> | |
| 32 | + </div> | |
| 33 | +</template> | |
| 34 | + | |
| 35 | +<script> | |
| 36 | +import store from "@/store"; | |
| 37 | +import {getNowDateTime} from "@/utils/ruoyi"; | |
| 38 | + | |
| 39 | +export default { | |
| 40 | + data() { | |
| 41 | + return { | |
| 42 | + url: process.env.VUE_APP_BASE_API + "/websocket/message", | |
| 43 | + message: "", | |
| 44 | + content: "", | |
| 45 | + ws: null, | |
| 46 | + }; | |
| 47 | + }, | |
| 48 | + created() { | |
| 49 | + this.url = this.url.replace("http", "ws") | |
| 50 | + }, | |
| 51 | + methods: { | |
| 52 | + connect() { | |
| 53 | + if (!'WebSocket' in window) { | |
| 54 | + this.$modal.msgError("您的浏览器不支持WebSocket"); | |
| 55 | + return; | |
| 56 | + } | |
| 57 | + const userId = store.getters.userId; | |
| 58 | + this.ws = new WebSocket(this.url + "?userId=" + userId); | |
| 59 | + const self = this; | |
| 60 | + this.ws.onopen = function (event) { | |
| 61 | + self.content = self.content + "\n**********************连接开始**********************\n"; | |
| 62 | + }; | |
| 63 | + this.ws.onmessage = function (event) { | |
| 64 | + self.content = self.content + "接收时间:" + getNowDateTime() + "\n" + event.data + "\n"; | |
| 65 | + }; | |
| 66 | + this.ws.onclose = function (event) { | |
| 67 | + self.content = self.content + "**********************连接关闭**********************\n"; | |
| 68 | + }; | |
| 69 | + this.ws.error = function (event) { | |
| 70 | + self.content = self.content + "**********************连接异常**********************\n"; | |
| 71 | + }; | |
| 72 | + }, | |
| 73 | + exit() { | |
| 74 | + if (this.ws) { | |
| 75 | + this.ws.close(); | |
| 76 | + this.ws = null; | |
| 77 | + } | |
| 78 | + }, | |
| 79 | + send() { | |
| 80 | + if (!this.ws || this.ws.readyState !== 1) { | |
| 81 | + this.$modal.msgError("未连接到服务器"); | |
| 82 | + return; | |
| 83 | + } | |
| 84 | + if (!this.message) { | |
| 85 | + this.$modal.msgError("请输入发送内容"); | |
| 86 | + return; | |
| 87 | + } | |
| 88 | + this.ws.send(this.message); | |
| 89 | + } | |
| 90 | + }, | |
| 91 | +}; | |
| 92 | +</script> | ... | ... |
yudao-ui-app/utils/request/responseInterceptors.js
| ... | ... | @@ -30,7 +30,7 @@ module.exports = vm => { |
| 30 | 30 | if (!isRefreshToken) { |
| 31 | 31 | isRefreshToken = true |
| 32 | 32 | // 1. 如果获取不到刷新令牌,则只能执行登出操作 |
| 33 | - if (!vm.$store.getters.refreshToken()) { | |
| 33 | + if (!vm.$store.getters.refreshToken) { | |
| 34 | 34 | vm.$store.commit('CLEAR_LOGIN_INFO') |
| 35 | 35 | return Promise.reject(res) |
| 36 | 36 | } | ... | ... |