From d54711b20b321183401d226f866c35f335860ea8 Mon Sep 17 00:00:00 2001 From: zhh293 <928198963@qq.com> Date: Sat, 3 May 2025 21:58:51 +0800 Subject: [PATCH 1/8] Delete race special directory --- race special/common/HELP.md | 18 -- race special/common/common.iml | 8 - race special/common/pom.xml | 78 ----- .../example/constant/AutoFillConstant.java | 14 - .../example/constant/JwtClaimsConstant.java | 11 - .../org/example/constant/MessageConstant.java | 28 -- .../example/constant/PasswordConstant.java | 10 - .../org/example/constant/StatusConstant.java | 13 - .../java/org/example/context/BaseContext.java | 19 -- .../org/example/exception/BaseException.java | 15 - .../exception/LoginFailedException.java | 10 - .../PasswordEditFailedException.java | 12 - .../exception/PasswordErrorException.java | 15 - .../org/example/json/JacksonObjectMapper.java | 51 ---- .../properties/AiPictureProperties.java | 16 - .../org/example/properties/AiProperties.java | 20 -- .../properties/AiQueryPictureProperties.java | 16 - .../org/example/properties/JwtProperties.java | 26 -- .../java/org/example/result/PageResult.java | 22 -- .../main/java/org/example/result/Result.java | 37 --- .../java/org/example/utils/AiPictureUtil.java | 18 -- .../org/example/utils/AiQueryPictureUtil.java | 18 -- .../main/java/org/example/utils/AiUtil.java | 243 ---------------- .../main/java/org/example/utils/JwtUtil.java | 59 ---- .../spring-configuration-metadata.json | 154 ---------- .../example/constant/AutoFillConstant.class | Bin 564 -> 0 bytes .../example/constant/JwtClaimsConstant.class | Bin 538 -> 0 bytes .../example/constant/MessageConstant.class | Bin 1624 -> 0 bytes .../example/constant/PasswordConstant.class | Bin 399 -> 0 bytes .../org/example/constant/StatusConstant.class | Bin 522 -> 0 bytes .../org/example/context/BaseContext.class | Bin 940 -> 0 bytes .../org/example/exception/BaseException.class | Bin 489 -> 0 bytes .../exception/LoginFailedException.class | Bin 438 -> 0 bytes .../PasswordEditFailedException.class | Bin 459 -> 0 bytes .../exception/PasswordErrorException.class | Bin 525 -> 0 bytes .../example/json/JacksonObjectMapper.class | Bin 2573 -> 0 bytes .../properties/AiPictureProperties.class | Bin 3449 -> 0 bytes .../org/example/properties/AiProperties.class | Bin 5291 -> 0 bytes .../properties/AiQueryPictureProperties.class | Bin 3474 -> 0 bytes .../example/properties/JwtProperties.class | Bin 3807 -> 0 bytes .../org/example/result/PageResult.class | Bin 2045 -> 0 bytes .../classes/org/example/result/Result.class | Bin 3687 -> 0 bytes .../AiPictureUtil$AiPictureUtilBuilder.class | Bin 1749 -> 0 bytes .../org/example/utils/AiPictureUtil.class | Bin 3718 -> 0 bytes ...ictureUtil$AiQueryPictureUtilBuilder.class | Bin 1809 -> 0 bytes .../example/utils/AiQueryPictureUtil.class | Bin 3763 -> 0 bytes .../classes/org/example/utils/AiUtil.class | Bin 12624 -> 0 bytes .../classes/org/example/utils/JwtUtil.class | Bin 2275 -> 0 bytes race special/pojo/HELP.md | 18 -- race special/pojo/pom.xml | 75 ----- .../org/example/pojo/DTO/UserLoginDTO.java | 16 - .../java/org/example/pojo/VO/UserLoginVO.java | 26 -- .../java/org/example/pojo/entity/user.java | 25 -- race special/pom.xml | 181 ------------ race special/server/HELP.md | 18 -- race special/server/pom.xml | 168 ----------- .../org/example/server/ServerApplication.java | 16 - .../server/configuration/AiConfiguration.java | 19 -- .../configuration/WebMvcConfiguration.java | 93 ------ .../configuration/WebSocketConfiguration.java | 57 ---- .../example/server/controller/ai/test.java | 16 - .../example/server/controller/user/ai.java | 48 --- .../handler/GlobalExceptionHandler.java | 43 --- .../interceptor/JwtTokenAdminInterceptor.java | 63 ---- .../interceptor/JwtTokenUserceptor.java | 69 ----- .../org/example/server/mapper/AiMapper.java | 7 - .../org/example/server/service/AiService.java | 7 - .../example/server/service/Aiserviceimpl.java | 17 -- .../server/websocket/WebSocketServer.java | 68 ----- .../src/main/resources/application-dev.yml | 35 --- .../server/src/main/resources/application.yml | 67 ----- .../testServer/ServerApplicationTests.java | 274 ------------------ .../server/target/classes/application-dev.yml | 35 --- .../server/target/classes/application.yml | 67 ----- .../example/server/ServerApplication.class | Bin 1031 -> 0 bytes .../configuration/AiConfiguration.class | Bin 1456 -> 0 bytes .../configuration/WebMvcConfiguration.class | Bin 5679 -> 0 bytes .../WebSocketConfiguration.class | Bin 844 -> 0 bytes .../example/server/controller/ai/test.class | Bin 861 -> 0 bytes .../example/server/controller/user/ai.class | Bin 2625 -> 0 bytes .../handler/GlobalExceptionHandler.class | Bin 2149 -> 0 bytes .../JwtTokenAdminInterceptor.class | Bin 2979 -> 0 bytes .../interceptor/JwtTokenUserceptor.class | Bin 3033 -> 0 bytes .../org/example/server/mapper/AiMapper.class | Bin 204 -> 0 bytes .../example/server/service/AiService.class | Bin 298 -> 0 bytes .../server/service/Aiserviceimpl.class | Bin 895 -> 0 bytes .../server/websocket/WebSocketServer.class | Bin 3031 -> 0 bytes .../testServer/ServerApplicationTests.class | Bin 11351 -> 0 bytes 88 files changed, 2459 deletions(-) delete mode 100644 race special/common/HELP.md delete mode 100644 race special/common/common.iml delete mode 100644 race special/common/pom.xml delete mode 100644 race special/common/src/main/java/org/example/constant/AutoFillConstant.java delete mode 100644 race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java delete mode 100644 race special/common/src/main/java/org/example/constant/MessageConstant.java delete mode 100644 race special/common/src/main/java/org/example/constant/PasswordConstant.java delete mode 100644 race special/common/src/main/java/org/example/constant/StatusConstant.java delete mode 100644 race special/common/src/main/java/org/example/context/BaseContext.java delete mode 100644 race special/common/src/main/java/org/example/exception/BaseException.java delete mode 100644 race special/common/src/main/java/org/example/exception/LoginFailedException.java delete mode 100644 race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java delete mode 100644 race special/common/src/main/java/org/example/exception/PasswordErrorException.java delete mode 100644 race special/common/src/main/java/org/example/json/JacksonObjectMapper.java delete mode 100644 race special/common/src/main/java/org/example/properties/AiPictureProperties.java delete mode 100644 race special/common/src/main/java/org/example/properties/AiProperties.java delete mode 100644 race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java delete mode 100644 race special/common/src/main/java/org/example/properties/JwtProperties.java delete mode 100644 race special/common/src/main/java/org/example/result/PageResult.java delete mode 100644 race special/common/src/main/java/org/example/result/Result.java delete mode 100644 race special/common/src/main/java/org/example/utils/AiPictureUtil.java delete mode 100644 race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java delete mode 100644 race special/common/src/main/java/org/example/utils/AiUtil.java delete mode 100644 race special/common/src/main/java/org/example/utils/JwtUtil.java delete mode 100644 race special/common/target/classes/META-INF/spring-configuration-metadata.json delete mode 100644 race special/common/target/classes/org/example/constant/AutoFillConstant.class delete mode 100644 race special/common/target/classes/org/example/constant/JwtClaimsConstant.class delete mode 100644 race special/common/target/classes/org/example/constant/MessageConstant.class delete mode 100644 race special/common/target/classes/org/example/constant/PasswordConstant.class delete mode 100644 race special/common/target/classes/org/example/constant/StatusConstant.class delete mode 100644 race special/common/target/classes/org/example/context/BaseContext.class delete mode 100644 race special/common/target/classes/org/example/exception/BaseException.class delete mode 100644 race special/common/target/classes/org/example/exception/LoginFailedException.class delete mode 100644 race special/common/target/classes/org/example/exception/PasswordEditFailedException.class delete mode 100644 race special/common/target/classes/org/example/exception/PasswordErrorException.class delete mode 100644 race special/common/target/classes/org/example/json/JacksonObjectMapper.class delete mode 100644 race special/common/target/classes/org/example/properties/AiPictureProperties.class delete mode 100644 race special/common/target/classes/org/example/properties/AiProperties.class delete mode 100644 race special/common/target/classes/org/example/properties/AiQueryPictureProperties.class delete mode 100644 race special/common/target/classes/org/example/properties/JwtProperties.class delete mode 100644 race special/common/target/classes/org/example/result/PageResult.class delete mode 100644 race special/common/target/classes/org/example/result/Result.class delete mode 100644 race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class delete mode 100644 race special/common/target/classes/org/example/utils/AiPictureUtil.class delete mode 100644 race special/common/target/classes/org/example/utils/AiQueryPictureUtil$AiQueryPictureUtilBuilder.class delete mode 100644 race special/common/target/classes/org/example/utils/AiQueryPictureUtil.class delete mode 100644 race special/common/target/classes/org/example/utils/AiUtil.class delete mode 100644 race special/common/target/classes/org/example/utils/JwtUtil.class delete mode 100644 race special/pojo/HELP.md delete mode 100644 race special/pojo/pom.xml delete mode 100644 race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java delete mode 100644 race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java delete mode 100644 race special/pojo/src/main/java/org/example/pojo/entity/user.java delete mode 100644 race special/pom.xml delete mode 100644 race special/server/HELP.md delete mode 100644 race special/server/pom.xml delete mode 100644 race special/server/src/main/java/org/example/server/ServerApplication.java delete mode 100644 race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java delete mode 100644 race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java delete mode 100644 race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java delete mode 100644 race special/server/src/main/java/org/example/server/controller/ai/test.java delete mode 100644 race special/server/src/main/java/org/example/server/controller/user/ai.java delete mode 100644 race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java delete mode 100644 race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java delete mode 100644 race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java delete mode 100644 race special/server/src/main/java/org/example/server/mapper/AiMapper.java delete mode 100644 race special/server/src/main/java/org/example/server/service/AiService.java delete mode 100644 race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java delete mode 100644 race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java delete mode 100644 race special/server/src/main/resources/application-dev.yml delete mode 100644 race special/server/src/main/resources/application.yml delete mode 100644 race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java delete mode 100644 race special/server/target/classes/application-dev.yml delete mode 100644 race special/server/target/classes/application.yml delete mode 100644 race special/server/target/classes/org/example/server/ServerApplication.class delete mode 100644 race special/server/target/classes/org/example/server/configuration/AiConfiguration.class delete mode 100644 race special/server/target/classes/org/example/server/configuration/WebMvcConfiguration.class delete mode 100644 race special/server/target/classes/org/example/server/configuration/WebSocketConfiguration.class delete mode 100644 race special/server/target/classes/org/example/server/controller/ai/test.class delete mode 100644 race special/server/target/classes/org/example/server/controller/user/ai.class delete mode 100644 race special/server/target/classes/org/example/server/handler/GlobalExceptionHandler.class delete mode 100644 race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class delete mode 100644 race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class delete mode 100644 race special/server/target/classes/org/example/server/mapper/AiMapper.class delete mode 100644 race special/server/target/classes/org/example/server/service/AiService.class delete mode 100644 race special/server/target/classes/org/example/server/service/Aiserviceimpl.class delete mode 100644 race special/server/target/classes/org/example/server/websocket/WebSocketServer.class delete mode 100644 race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class diff --git a/race special/common/HELP.md b/race special/common/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/common/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/common/common.iml b/race special/common/common.iml deleted file mode 100644 index 7184116..0000000 --- a/race special/common/common.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/race special/common/pom.xml b/race special/common/pom.xml deleted file mode 100644 index 5e76f95..0000000 --- a/race special/common/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - common - 0.0.1-SNAPSHOT - common - common - - - - - - - - - - - - - - - - - org.projectlombok - lombok - - - com.alibaba - fastjson - 1.2.76 - - - commons-lang - commons-lang - - - org.springframework.boot - spring-boot-starter-json - - - io.jsonwebtoken - jjwt - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - com.aliyun.oss - aliyun-sdk-oss - - - javax.xml.bind - jaxb-api - - - - com.github.wechatpay-apiv3 - wechatpay-apache-httpclient - - - org.apache.tomcat.embed - tomcat-embed-core - - - - - - diff --git a/race special/common/src/main/java/org/example/constant/AutoFillConstant.java b/race special/common/src/main/java/org/example/constant/AutoFillConstant.java deleted file mode 100644 index 60a1145..0000000 --- a/race special/common/src/main/java/org/example/constant/AutoFillConstant.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.example.constant; - -/** - * 公共字段自动填充相关常量 - */ -public class AutoFillConstant { - /** - * 实体类中的方法名称 - */ - public static final String SET_CREATE_TIME = "setCreateTime"; - public static final String SET_UPDATE_TIME = "setUpdateTime"; - public static final String SET_CREATE_USER = "setCreateUser"; - public static final String SET_UPDATE_USER = "setUpdateUser"; -} diff --git a/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java b/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java deleted file mode 100644 index ff840a9..0000000 --- a/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.example.constant; - -public class JwtClaimsConstant { - - public static final String EMP_ID = "empId"; - public static final String USER_ID = "userId"; - public static final String PHONE = "phone"; - public static final String USERNAME = "username"; - public static final String NAME = "name"; - -} diff --git a/race special/common/src/main/java/org/example/constant/MessageConstant.java b/race special/common/src/main/java/org/example/constant/MessageConstant.java deleted file mode 100644 index 80e5645..0000000 --- a/race special/common/src/main/java/org/example/constant/MessageConstant.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.example.constant; - -/** - * 信息提示常量类 - */ -public class MessageConstant { - - public static final String PASSWORD_ERROR = "密码错误"; - public static final String ACCOUNT_NOT_FOUND = "账号不存在"; - public static final String ACCOUNT_LOCKED = "账号被锁定"; - public static final String UNKNOWN_ERROR = "未知错误"; - public static final String USER_NOT_LOGIN = "用户未登录"; - public static final String CATEGORY_BE_RELATED_BY_SETMEAL = "当前分类关联了套餐,不能删除"; - public static final String CATEGORY_BE_RELATED_BY_DISH = "当前分类关联了菜品,不能删除"; - public static final String SHOPPING_CART_IS_NULL = "购物车数据为空,不能下单"; - public static final String ADDRESS_BOOK_IS_NULL = "用户地址为空,不能下单"; - public static final String LOGIN_FAILED = "登录失败"; - public static final String UPLOAD_FAILED = "文件上传失败"; - public static final String SETMEAL_ENABLE_FAILED = "套餐内包含未启售菜品,无法启售"; - public static final String PASSWORD_EDIT_FAILED = "密码修改失败"; - public static final String DISH_ON_SALE = "起售中的菜品不能删除"; - public static final String SETMEAL_ON_SALE = "起售中的套餐不能删除"; - public static final String DISH_BE_RELATED_BY_SETMEAL = "当前菜品关联了套餐,不能删除"; - public static final String ORDER_STATUS_ERROR = "订单状态错误"; - public static final String ORDER_NOT_FOUND = "订单不存在"; - - public static final String ALREADY_EXITS = "用户名已经存在"; -} diff --git a/race special/common/src/main/java/org/example/constant/PasswordConstant.java b/race special/common/src/main/java/org/example/constant/PasswordConstant.java deleted file mode 100644 index a344103..0000000 --- a/race special/common/src/main/java/org/example/constant/PasswordConstant.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.constant; - -/** - * 密码常量 - */ -public class PasswordConstant { - - public static final String DEFAULT_PASSWORD = "123456"; - -} diff --git a/race special/common/src/main/java/org/example/constant/StatusConstant.java b/race special/common/src/main/java/org/example/constant/StatusConstant.java deleted file mode 100644 index 073dd74..0000000 --- a/race special/common/src/main/java/org/example/constant/StatusConstant.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.example.constant; - -/** - * 状态常量,启用或者禁用 - */ -public class StatusConstant { - - //启用 - public static final Integer ENABLE = 1; - - //禁用 - public static final Integer DISABLE = 0; -} diff --git a/race special/common/src/main/java/org/example/context/BaseContext.java b/race special/common/src/main/java/org/example/context/BaseContext.java deleted file mode 100644 index 3ba90ec..0000000 --- a/race special/common/src/main/java/org/example/context/BaseContext.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.example.context; - -public class BaseContext { - - public static ThreadLocal threadLocal = new ThreadLocal<>(); - - public static void setCurrentId(Long id) { - threadLocal.set(id); - } - - public static Long getCurrentId() { - return threadLocal.get(); - } - - public static void removeCurrentId() { - threadLocal.remove(); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/BaseException.java b/race special/common/src/main/java/org/example/exception/BaseException.java deleted file mode 100644 index 2ebd8df..0000000 --- a/race special/common/src/main/java/org/example/exception/BaseException.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.example.exception; - -/** - * 业务异常 - */ -public class BaseException extends RuntimeException { - - public BaseException() { - } - - public BaseException(String msg) { - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/LoginFailedException.java b/race special/common/src/main/java/org/example/exception/LoginFailedException.java deleted file mode 100644 index ccea683..0000000 --- a/race special/common/src/main/java/org/example/exception/LoginFailedException.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.exception; - -/** - * 登录失败 - */ -public class LoginFailedException extends BaseException{ - public LoginFailedException(String msg){ - super(msg); - } -} diff --git a/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java b/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java deleted file mode 100644 index 883b33f..0000000 --- a/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.example.exception; - -/** - * 密码修改失败异常 - */ -public class PasswordEditFailedException extends BaseException{ - - public PasswordEditFailedException(String msg){ - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/PasswordErrorException.java b/race special/common/src/main/java/org/example/exception/PasswordErrorException.java deleted file mode 100644 index 57de72e..0000000 --- a/race special/common/src/main/java/org/example/exception/PasswordErrorException.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.example.exception; - -/** - * 密码错误异常 - */ -public class PasswordErrorException extends BaseException { - - public PasswordErrorException() { - } - - public PasswordErrorException(String msg) { - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java b/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java deleted file mode 100644 index 70987eb..0000000 --- a/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.example.json; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; - -import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; - -/** - * 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象 - * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] - * 从Java对象生成JSON的过程称为 [序列化Java对象到JSON] - */ -public class JacksonObjectMapper extends ObjectMapper { - - public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; - //public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; - public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm"; - public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; - - public JacksonObjectMapper() { - super(); - //收到未知属性时不报异常 - this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); - - //反序列化时,属性不存在的兼容处理 - this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); - - SimpleModule simpleModule = new SimpleModule() - .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) - .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) - .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))) - .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) - .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) - .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); - - //注册功能模块 例如,可以添加自定义序列化器和反序列化器 - this.registerModule(simpleModule); - } -} diff --git a/race special/common/src/main/java/org/example/properties/AiPictureProperties.java b/race special/common/src/main/java/org/example/properties/AiPictureProperties.java deleted file mode 100644 index 04188d6..0000000 --- a/race special/common/src/main/java/org/example/properties/AiPictureProperties.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.picture") -public class AiPictureProperties { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/AiProperties.java b/race special/common/src/main/java/org/example/properties/AiProperties.java deleted file mode 100644 index 8c9452c..0000000 --- a/race special/common/src/main/java/org/example/properties/AiProperties.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.deepseek") -public class AiProperties { - private String apiKey; - private String apiKey1; - private String deepSeekUrl; - private String TongYingUrl; - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java b/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java deleted file mode 100644 index 9701776..0000000 --- a/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.querypicture") -public class AiQueryPictureProperties { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/JwtProperties.java b/race special/common/src/main/java/org/example/properties/JwtProperties.java deleted file mode 100644 index 594c52b..0000000 --- a/race special/common/src/main/java/org/example/properties/JwtProperties.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Component -@ConfigurationProperties(prefix = "race.jwt") -@Data -public class JwtProperties { - - /** - * 管理端员工生成jwt令牌相关配置 - */ - private String adminSecretKey; - private long adminTtl; - private String adminTokenName; - - /** - * 用户端微信用户生成jwt令牌相关配置 - */ - private String userSecretKey; - private long userTtl; - private String userTokenName; - -} diff --git a/race special/common/src/main/java/org/example/result/PageResult.java b/race special/common/src/main/java/org/example/result/PageResult.java deleted file mode 100644 index 170a553..0000000 --- a/race special/common/src/main/java/org/example/result/PageResult.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.example.result; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 封装分页查询结果 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PageResult implements Serializable { - - private long total; //总记录数 - - private List records; //当前页数据集合 - -} diff --git a/race special/common/src/main/java/org/example/result/Result.java b/race special/common/src/main/java/org/example/result/Result.java deleted file mode 100644 index 69c28a4..0000000 --- a/race special/common/src/main/java/org/example/result/Result.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.example.result; - -import lombok.Data; - -import java.io.Serializable; - -/** - * 后端统一返回结果 - * @param - */ -@Data -public class Result implements Serializable { - - private Integer code; //编码:1成功,0和其它数字为失败 - private String msg; //错误信息 - private T data; //数据 - - public static Result success() { - Result result = new Result(); - result.code = 1; - return result; - } - - public static Result success(T object) { - Result result = new Result(); - result.data = object; - result.code = 1; - return result; - } - - public static Result error(String msg) { - Result result = new Result(); - result.msg = msg; - result.code = 0; - return result; - } -} diff --git a/race special/common/src/main/java/org/example/utils/AiPictureUtil.java b/race special/common/src/main/java/org/example/utils/AiPictureUtil.java deleted file mode 100644 index 50bbbe4..0000000 --- a/race special/common/src/main/java/org/example/utils/AiPictureUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.example.utils; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AiPictureUtil { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java b/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java deleted file mode 100644 index defd4de..0000000 --- a/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.example.utils; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AiQueryPictureUtil { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/utils/AiUtil.java b/race special/common/src/main/java/org/example/utils/AiUtil.java deleted file mode 100644 index 3865991..0000000 --- a/race special/common/src/main/java/org/example/utils/AiUtil.java +++ /dev/null @@ -1,243 +0,0 @@ -package org.example.utils; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.catalina.session.StandardSession; -import org.apache.http.HttpEntity; -import org.apache.http.HttpRequest; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.springframework.boot.autoconfigure.web.ServerProperties; -import org.springframework.boot.web.server.Cookie; -import org.springframework.boot.web.servlet.server.Session; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpSessionContext; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.security.SecureRandom; -import java.time.Instant; -import java.util.Base64; -import java.util.Enumeration; -import java.util.UUID; - -@Data -@AllArgsConstructor -@Slf4j -public class AiUtil { - private String apiKey; - private String apiKey1; - private String deepSeekUrl; - private String TongYingUrl; - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; - - private static String calculateSignature( - String httpMethod, - String httpUri, - String canonicalQueryString, - String appId, - long timestamp, // 输入为 long 类型 - String nonce, - String appKey) throws Exception { - - // 显式将 timestamp 转换为字符串 - String timestampStr = String.valueOf(timestamp); - - // 构建签名字符串(所有参数均为字符串) - String signingString = String.join("\n", - httpMethod.toUpperCase(), // POST - httpUri, // /vivogpt/completions - canonicalQueryString, // requestId=xxx - appId, // "2025158089" - timestampStr, // "1745768181"(显式转换) - "x-ai-gateway-app-id:" + appId, // 头部字段 - "x-ai-gateway-timestamp:" + timestampStr, // 使用转换后的字符串 - "x-ai-gateway-nonce:" + nonce - ); - - // 打印调试信息(确保 timestamp 为字符串形式) - System.out.println("Timestamp String: " + timestampStr); - System.out.println("Signing String:\n" + signingString); - - // 计算 HMAC-SHA256(不变) - Mac sha256Hmac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKey = new SecretKeySpec(appKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); - sha256Hmac.init(secretKey); - byte[] hashBytes = sha256Hmac.doFinal(signingString.getBytes(StandardCharsets.UTF_8)); - - return Base64.getEncoder().encodeToString(hashBytes); - } - - public String getString(String message, String sessionId) throws Exception { - CloseableHttpClient httpClient = HttpClients.createDefault(); - //生成八位随机字符串 - final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - StringBuilder sb = new StringBuilder(8); - SecureRandom secureRandom = new SecureRandom(); - for (int i = 0; i < 8; i++) { - int randomIndex = secureRandom.nextInt(ALPHABET.length()); - sb.append(ALPHABET.charAt(randomIndex)); - } - String string = sb.toString(); - UUID requestId = UUID.randomUUID(); - URIBuilder uriBuilder = new URIBuilder(requestUrl); - uriBuilder.addParameter("requestId", requestId.toString()); - URI build = uriBuilder.build(); - HttpPost httpPost = new HttpPost(build); - httpPost.setHeader("Content-Type", "application/json; charset=utf-8"); - httpPost.setHeader("X-AI-GATEWAY-APP-ID",appId); - long epochSecond = Instant.now().getEpochSecond(); - httpPost.setHeader("X-AI-GATEWAY-TIMESTAMP",epochSecond+""); - httpPost.setHeader("X-AI-GATEWAY-NONCE",string); - String canonicalQueryString="requestId="+requestId; - String s = calculateSignature(httpMethod, httpUrl, canonicalQueryString, appId, epochSecond, string, appKey); - httpPost.setHeader("X-AI-GATEWAY-SIGNATURE",s); - httpPost.setHeader("X-AI-GATEWAY-SIGNED-HEADERS","x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - String systemPrompt="你是一个生活小贴士,专门用来为别人做每一天的生活规划的。"; - String escapedMessage = JSON.toJSONString(message, SerializerFeature.WriteNonStringValueAsString); - String requestBody = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":"+escapedMessage+"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + sessionId + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - String requestBody1 = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":\""+message+"\"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + sessionId + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - System.out.println("我到这里了"); - System.out.println(requestBody); - System.out.println(requestBody1); - httpPost.setEntity(new StringEntity(requestBody1, StandardCharsets.UTF_8)); - CloseableHttpResponse response = httpClient.execute(httpPost); - if (response.getStatusLine().getStatusCode() == 200) { - HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSON.parseObject(EntityUtils.toString(entity)); - JSONObject result = jsonObject.getJSONObject("data"); - return result.getString("content"); - }else{ - System.out.println(response.getStatusLine().getStatusCode()); - return null; - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /*public String getdeepSeek(String message) throws IOException { - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(deepSeekUrl); - httpPost.setHeader("Content-type", "application/json"); - httpPost.setHeader("Accept", "application/json"); - httpPost.setHeader("Authorization", "Bearer " + apiKey); - String requestBody = "{\"model\": \"deepseek-reasoner\", \"messages\": [" + - "{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}," + - "{\"role\": \"user\", \"content\":\""+message+"\" }" + - "], \"temperature\": 0.7}"; - StringEntity entity = new StringEntity(requestBody, "utf-8"); - httpPost.setEntity(entity); - CloseableHttpResponse execute = httpclient.execute(httpPost); - int statusCode = execute.getStatusLine().getStatusCode(); - if (statusCode != 200) { - throw new IOException(execute.getStatusLine().getReasonPhrase()); - } - HttpEntity entity1 = execute.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity1)); - JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("choices")); - StringBuffer sb = new StringBuffer(); - for (Object object : jsonArray) { - JSONObject json = (JSONObject) object; - JSONObject message1 = json.getJSONObject("message"); - String string = message1.getString("content"); - sb.append(string); - } - return sb.toString(); - }*/ - //剩余部分自己补全即可,套路一模一样,哈哈哈哈哈哈哈哈哈哈哈哈,太爽啦 - -} -} diff --git a/race special/common/src/main/java/org/example/utils/JwtUtil.java b/race special/common/src/main/java/org/example/utils/JwtUtil.java deleted file mode 100644 index 80001c1..0000000 --- a/race special/common/src/main/java/org/example/utils/JwtUtil.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.example.utils; - -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.JwtBuilder; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; - -import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.Map; - -public class JwtUtil { - /** - * 生成jwt - * 使用Hs256算法, 私匙使用固定秘钥 - * - * @param secretKey jwt秘钥 - * @param ttlMillis jwt过期时间(毫秒) - * @param claims 设置的信息 - * @return - */ - public static String createJWT(String secretKey, long ttlMillis, Map claims) { - // 指定签名的时候使用的签名算法,也就是header那部分 - SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; - - // 生成JWT的时间 - long expMillis = System.currentTimeMillis() + ttlMillis; - Date exp = new Date(expMillis); - - // 设置jwt的body - JwtBuilder builder = Jwts.builder() - // 如果有私有声明,一定要先设置这个自己创建的私有的声明,这个是给builder的claim赋值,一旦写在标准的声明赋值之后,就是覆盖了那些标准的声明的 - .setClaims(claims) - // 设置签名使用的签名算法和签名使用的秘钥 - .signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8)) - // 设置过期时间 - .setExpiration(exp); - - return builder.compact(); - } - - /** - * Token解密 - * - * @param secretKey jwt秘钥 此秘钥一定要保留好在服务端, 不能暴露出去, 否则sign就可以被伪造, 如果对接多个客户端建议改造成多个 - * @param token 加密后的token - * @return - */ - public static Claims parseJWT(String secretKey, String token) { - // 得到DefaultJwtParser - Claims claims = Jwts.parser() - // 设置签名的秘钥 - .setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8)) - // 设置需要解析的jwt - .parseClaimsJws(token).getBody(); - return claims; - } - -} diff --git a/race special/common/target/classes/META-INF/spring-configuration-metadata.json b/race special/common/target/classes/META-INF/spring-configuration-metadata.json deleted file mode 100644 index fd70663..0000000 --- a/race special/common/target/classes/META-INF/spring-configuration-metadata.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "groups": [ - { - "name": "race.deepseek", - "type": "org.example.properties.AiProperties", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.jwt", - "type": "org.example.properties.JwtProperties", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.picture", - "type": "org.example.properties.AiPictureProperties", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.querypicture", - "type": "org.example.properties.AiQueryPictureProperties", - "sourceType": "org.example.properties.AiQueryPictureProperties" - } - ], - "properties": [ - { - "name": "race.deepseek.api-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.api-key1", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.deep-seek-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.tong-ying-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.jwt.admin-secret-key", - "type": "java.lang.String", - "description": "管理端员工生成jwt令牌相关配置", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.admin-token-name", - "type": "java.lang.String", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.admin-ttl", - "type": "java.lang.Long", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-secret-key", - "type": "java.lang.String", - "description": "用户端微信用户生成jwt令牌相关配置", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-token-name", - "type": "java.lang.String", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-ttl", - "type": "java.lang.Long", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.picture.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.querypicture.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - } - ], - "hints": [] -} \ No newline at end of file diff --git a/race special/common/target/classes/org/example/constant/AutoFillConstant.class b/race special/common/target/classes/org/example/constant/AutoFillConstant.class deleted file mode 100644 index 85483e952067a95d4dafefd1077cc287c36ff35b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcma)($xg#C5Qcwu4W*@}tYwopAeIBUa04M#AxKDJQIqsqxvf=PrAd`Ih}YtT#DNFk zp%9ZUBIU%vBY(eVevijr-yfdv`$xye3{Dtct z_XoPILg^1K87fBLM~eHZ&AnJ?*qK$jPdD>Q4ZDkWu5Gq7>@8+a#eIgtmGq^$X2_nL zwi$9p&=-_yNnbp~qpk=Y-t|bSTS1R|Z63;mXJSr0%ZTCF3c`UdUioP33B5OKQE$d7 zxRsta@0t29*+Crk1gT`X@i*Z-d2tyls4^V=%aWn?JEh0&Q1lcHDH6&E1y{n6Bf2MH zcidm#>A4$;Fnyjd4w0ds0di>2%7bP^lmYz{v=lE9mr}e;TuyO?Dp~RviZyc3Ck*7z e-of4`ma7yCBqy;>u{_!5v4(Xbnh?bdHh%!kq<^9S diff --git a/race special/common/target/classes/org/example/constant/JwtClaimsConstant.class b/race special/common/target/classes/org/example/constant/JwtClaimsConstant.class deleted file mode 100644 index 8115441e695807426a05bca8633ce5ae6608e71a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 538 zcma)&OHaZ;6ot<~Yb%00R21KA47#uzcN!Ce7%}A$QMP6%6ByD5=|lZnu1s9`1N>3O zTg2GJjhi#~JMG+i?tFZ{y#qKwHG?!N8a6d-F)TD%-G}BSL&==*M{d~M9T~mQm+t74 zAy@a@Amnb?=XNA?Y%^&0y~Zuw(6PgycCS0_hK^kZJ@(rdEuuXJ<-6La0cX;c;WgPmW;^1QfM|O!3Vp=Z;pAcx% zdX@hEnA~GTc~v)Jnjyy}%>9%=D=!GDsA)z-QTn!bJ|hq+7h!bsG088P_e<`V6ke!F z5#Kqe!w_XYB8j!FC^~O9QHWtTDn0@_`-K^bY-qeBav&1eU$v=;-2@Jo!*;oL4-N$f zg#FTVUXN?lHuj=fpfe+gVeP!6io7srh+o8Xjf2k#>^+-EC9>F_Jzd8K2-HW@Us{+g zB~q3=c5%qc=;lxol@=*IY$gZHOv2}iSfBkWF-qW=l+KKVt#8eXUni~baOFXS&sn3R z=7?2&AUNA5Ej^YQwz?C(W9t+9r~TIzf|GEHK3*%e) zId5eJFXFA;q0>dXl%vZ((fPYI#k+lfD?d&PH!;PT|HZwvR7-L5cb%!CFV1by%~=9n zbn_a$oTF2d?&=1ec<7Di?e$5zbYp9A<|JBs-)+*Vg{`^8-9o+Td3tU9iO^1OZP~qi z&)dA?%sy~(1-rEF-dq3s@zuc5F8xSzcz8!p4xN8Mf4;O!Oem<7F0OiOOE@d%`VaQT zBfE6Pe!Nf>PX+bT$q9OOg3jE>`_Y*dnlA*!;knL@1?S;xAfidoNc+!%lmESH((e6M z#1y--~G1M2YK4B#0!1ohAW_|%c=pb?p4_$lNjhMz_bF}x4Cnc@A&2N*tx+`_PbUMs_G z$j>tT9P;xFA3{FN@Dbz}7=97Co#B^|UuL)i`6$D$Aa^qSD)KRgUqkL<_&D+jhF`}{ u5&u_+>uKy*xXb_zCyGE;%PkD!x))`CeFN7}`MUw$gtw3gyp3xeocR|fbQZJ# diff --git a/race special/common/target/classes/org/example/constant/PasswordConstant.class b/race special/common/target/classes/org/example/constant/PasswordConstant.class deleted file mode 100644 index dbd418846136d7c477139a89a212cf20720a035f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399 zcma)2yH3ME5S(-T2*!b6NI^+~cobNHKm$UG5>imim`nT@%e$w~6yYbDC!FK2Ti90b* zBF8H-nMCIdtwEaP1y2f}$E9dui$TATi7YM|8v6%6gE~lOf??g2iMTEofykyjh)J>C zG~}_*GgXG9%PbTlS*`5+9XP5^ zw$Q{1!|uOUQuN=L<6thrf+BT~PkN_k*nvV%0vNWTLZhk^Q(#cXDi=bN6sP8ZcK8PN ZT92#}>Lgca5n6Sxp@lVK^dCY6?QeXkT=f6| diff --git a/race special/common/target/classes/org/example/constant/StatusConstant.class b/race special/common/target/classes/org/example/constant/StatusConstant.class deleted file mode 100644 index c3080703406c31d91da5bce4dc4d0487ae789f57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcma)2O-sW-5Pj38NgJd6(rWzz5usHu7jG6pYlT8+50&1xajhw7BI&01x5R_u!5`p{ z5_i*J5j=RAnfGRP-t7DQdj9}$hJ6z{)=g}nRzMD$Dr_038`vi3o!;e@(;-xy37a$9 zXTjL+27-@ybWSj?yMskvZ+U?yE(qC1b4bwI;TK(QW==6%M4U zy7W7Px;jEub#+I=kh&2BOCnolk~w$$3VKf3t1{{dsbfvn)?xrflqAZd{PXxE=>SFT b4Vf2Yvq{p_8iHD5N_|LOBUw_Bbq3XMzIJS| diff --git a/race special/common/target/classes/org/example/context/BaseContext.class b/race special/common/target/classes/org/example/context/BaseContext.class deleted file mode 100644 index eb8263a75a0b09c74c5916d5d40dc8a56ec7cc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 940 zcmah{U279T6g`u#O*U(rrmgk6rq!B6?Y@XF34Jgi2=N123O-JfA=#4bmdT{_XZZmw zD2UJgDDlj0aJNP9Vdu`Ad+)jT+`YekfBOO81$-AS8WmKqSo}66plLw%qw++ zFfa!K`DW`_pwNp(WLWJ7p?bHN4U|5TgDH`E+`+NbfqgH*f|&$!fkr>lV_%)i+38gI z!zeWB-1x8LT=kMW>v(fzdJC;pXx@wj)|=OxvDI?{UA5~TLT{CsM57N<%b7Atv!*w` z!dGu*MaSx>LaSMHrZQ#A-Qjep*FB6DdZ=CpR$VRA?7khbhgH-(RN;AO3|<1F(Tj+6r!Bi$pg0 zC9U<9zaZDXKt9cP=^@S~u4FjMxP{xq@9--MJ}li`+#`vl+lk2lmvk2>{6z5+QLY`& zq#=*-_y6|3yNq|@_>!%j1Si#NOj=_P4>Ae1E1>!v&c{oXzap0=B^B&+wi%Mc!$0S| B!2|#R diff --git a/race special/common/target/classes/org/example/exception/BaseException.class b/race special/common/target/classes/org/example/exception/BaseException.class deleted file mode 100644 index 06898b79359f5f7f10503e0f1f3966aca482cb6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 489 zcma)2%T5A85Ul1cu7W5WycuJHn79YMVK`{?v>GFZ`v8+=%s$BMVEiplBp&<#Kg!q* z7@}UBNvcyl)m5GO_I#JCFaOSB{bW?lX_Nu zq>|9@J8P1#E1~%~3nk&tBcXn)-6S2~E30DdwB@vFKb_f;zA=lneq@}AgNGtY0v_S; zABz$8*TE07#F==#H4c#H?~;=Pi8EuF*%?>jTI|e0uZ!mjW0hqYU7x`|Tk6Z!H{JOV!GO_1xcPry9=|iHX?O8FSeA0>-3dC;$Ke diff --git a/race special/common/target/classes/org/example/exception/LoginFailedException.class b/race special/common/target/classes/org/example/exception/LoginFailedException.class deleted file mode 100644 index c49206dc28f972916d7bf8ce641c82267139224e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcma)2O-sW-6r7jFrl!@_ih@V+qE*brTcroZo}vhq-nYpkT}iTKvlaiAC&7b1z#k>P z_;s-dcj3*OVVE8E?fvByz!|nfG|&sM6`)UOp6gP(5n<;rzE=+_%2k;~6K8dq4UeV- z|I(yP=*GI_n`JR$d#7f(DE-(ZDxWH=YyK_zZmuiBNo;Hu@uMmhISVGdaN3knY%*Pr zmCiZ6`VohOMp0#T;GY77-Zi_qNpF=^1v|D99!|{CCOnoD!rrRL(>kaFA8Ulc|CFW#T}iTKvsM3=C&7b1z#k<} z{JJQDvoLSo?ChJzzPvs?131NIfC}0*Y}C*p_-8uTu20z7k8aeh3R9IQ;n-Q7C%uCS zp?YCrCbS}*^VKq&vb|Q*R63o=%v3s2R+s#cY$L(Lhs_)}$8S4FSTsWDl)3_^oww diff --git a/race special/common/target/classes/org/example/exception/PasswordErrorException.class b/race special/common/target/classes/org/example/exception/PasswordErrorException.class deleted file mode 100644 index 4ebe953bced122cff4a69d62c01dc6cecdb3fe5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmb7AJx>Bb6rAN-JOxo`tc(q!;R@|A6dJ5fLxQ1S?l#AoyIZn%pnuDX#KIrok21ao zXrVOjCiC)U=gsWy$LHHSfGf1BD4@Y`SjJHqO@Y$2PIT56$hXhN0)<->D1n-%6ZJ5U zC(1s`NkmM;Gro+*(rWHEWFedCRG{k_8@lR6#7t)Pn61tLl!OdOl7=j{0*bP`_8%)C5CmWvnt~DYiN?bL*=+&G$Rr9@b?m z2St<^9D$4fTvgz7yZlC`>gPc?L7u*pR}O-+2+P!6QWaE-oh8KU>bOE!B^gkmksaEA zvlbD*OC1|Hq+o+SRo0d|=S$>%JMfG4Rt~MTYU4n9;`hm^Mzcjh4cpcUb2#_{-$-+J diff --git a/race special/common/target/classes/org/example/json/JacksonObjectMapper.class b/race special/common/target/classes/org/example/json/JacksonObjectMapper.class deleted file mode 100644 index cd352888a2ca266495678ff79606176b41db183b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2573 zcmbVOU3(Kn6n>`(Y`SbI1StVT3L;HX%FLT9=giDs|NQoBt(6P z$+#%2&t(KU6W1kd$haz;n=-Bm=NUYc5NEis7L7%==3C#sn~6tTz| zvuTyIm@YU1Ln7T3g;H=EGYS$&Do7!%;0tUqJaCD)rZqH5v8w;TZQV3t8n>I4CLyCB zi*1Gl7yJ;#442v;&em(1+OFanx3w%;4AJB1?ALWsOY8ppJ+&-U4PqUkn#FMIBp-m` z+-v&HB@%Px^7Q)pQmrN-ry!3nMX?GBp5q0rz9DKEA|ojsR4F^*kA~?KF+j%E3wE% zyqHQBx0BD3seH1S-b$sTTiK0hhT)-G>p3OuZv^VT@serm>J{n=hDvZmn&%-mV1F(Y zHBiy)w-fD1zpL8B8hd;rJzG`v^##U+b_+g-Q68%oz;Uc+!A_=tBYM8S^G_= zO?OSJ#%;B?t;E_U?Wy#!%-uA%>D3T*I(mSFIxbsmO~iGxI25A_IcsSZU7T{glP~AmIGvg9 z0SEd7H|P#AP1hI?F4Ox>FnmbX82n`4>a!KHKkBomXeOQGn4vL9h`;IjGe*y!!v|pD zUoqxs!IKZS;Pw82Qw0xsGA*3WA3`b|z~>)7gk10|zhUA4XIq%`pF70)g5TeETo8`; z4so&IpK3cU2?s#}J;>!2t_aB09^`%DAjq{I7ZhRp`yqce`< z=okIuj6XoW;Eax1X4G-e4>;o=;0Nf>5b-(pZeH0LJIS2;oO_;g?!D)nd-ujE9(;q=`fykZYh*31wnP* z2}&NQ1}hi+GNyg!dfll7LeY=A6*oAcP<&{3Ss``WTXhubopUSBx%%dc<6p2>%9zQ{ zc}2UtZ2K9mIkm7aLC^VsfUQlv;)PgfO7*;bSCYxHr zB=%)BZ9?r8#`gMVB%yuEYLevcTMVJg812mv#%P~PF9mjSW8SWYB{z$9Wrk0UI+pBO zN%jkxXBLNASe%`o!Ks0D->KEh0YKwC1_QDA)L{EAO`(Y$r3TxVHUm%gG}5%>)%~J# z%H>wv8_`yW_#P;fTdY?CchgyRYcAS!s#5U+J8-=UYBVCcv{vO?vc|>#!1FiqHMD@^ z1-GhBe%jltdKISh|xGMKkoWMME@f(Mya*7>%+RV=>O+6rEOR zPxn)CvhJ2wxe510By>ph+pfGpmmLg}%AR{5YOrH%qhW2=PF6|BBM!?<>> z)#W9S@03%)(=;A+RUf;(;dUpGI|Gj;kw!62AyAC7C`KewjL4-Jkxq=gq;SR|pN5vl zs9@Aa?vnDIpbbLmV$z^zfGtU&XX!a;3a1yc)A{F8ri%i;@jSs-S_AD(E?lIr@Fd-llX;%js<-t6+d+70jH$Br_x#IkSzF zE+jxo7m~RIlae7RkxRCbdI~9!dJ0x9#Uv{v0X0bK9ULuA-PijgdE{olJ)ooX3Ubs( zztb^X`4~LDrvm2Ucu&8f2_ThD)8}*?NTYfBlqP|6D$@p?05ZrYhh7CT=?lEKuK^|K zON>)MN!r5ua}p>;zo4C`fh>9*dz+%HVg5rs1{n`&H{Lb;P30l&l`!%DuyIL_qOdA| z3}j((4h0DJhbziy;6ru3a`M_~%`|9m;xvTU?wDv5d^<3Or%(ACAxwn$EHiOjofHkx zpP4A39n8$=Z8FBUsP`(*rwS??a%yNXxk;qSDrmxl{t!-PPHULb1zni*rU_jmy?P3U zFri^WFGHC6qszM}w;7%*PM^>jn#CbB`k3ATilHDM(pj7}j)RqG4oF2A=keq6UZ%rz z4oIhf_Rx7CLlo;TN7cgGLUY2Y0)_+4~TZjMv diff --git a/race special/common/target/classes/org/example/properties/AiProperties.class b/race special/common/target/classes/org/example/properties/AiProperties.class deleted file mode 100644 index bd1be256f6acf5476d406be1ceba86ccaa9337a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5291 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 EFR%z^F8}}l diff --git a/race special/common/target/classes/org/example/properties/JwtProperties.class b/race special/common/target/classes/org/example/properties/JwtProperties.class deleted file mode 100644 index 95e30cff121578fa88b24510fffc88cb50f3736e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3807 zcma)8-E$LF6#v~Mo86>on+7OEL5dXY7sT(66jZ37V2el*@!M^>v`f?7xY-D(`1#_K zvBNtaL4XJxehnGhQrh%s1 zeFH7Izir@xfr|z%8F`fA=HjaD%v&|j@}IRX36y5fn{S(yy6G%c=6%n0 zmZk*^g*xrm1;p{T(P?+Za!#15mOy{2X?Zaxx;!hmx``pP2W-do9~VfEjh_+7%(#oR zADp!v>qKjHfmY^1oto0DTQlotOwX3*P?_tSQpLJM%}73Jhx$azHK!t z$1nINqZ7j(TC)5@J^5`O8&ArxuMJgEGdQLhnaAQU68A!PviVS@EZg@nlcDDND7K8P z4?@C9Fav}lP{ai<)9zQ|1sux^3<`pBP;^ttYv#@yFSR`NQ(fbhZFtr>`ywmpnKf(w`3rsl_h77mofs)#7w#@# zx0FWZvPT~GVnkqcBhy^K9G)!TUffsU)5&E&Dg`_tb@xl@0l7RRmlJqSU~BIqcDQBN z7iGil=qlw{cjq1~;C+0+nVTAEzj#XZAt$b_YEREWPV3Z2S0_@H4^-@l&V58MRbsq= zmr$W?C&FN;*kfj+VL6Ke`;uOVbq_|E5((VSN8x|3S$Kn=1|W-+WP(yklA(6;p>|TD zcCw;&62pB6LK4VzoTmzR!Cjm95#oCaDNJz9DrF9nlnVg>Q`pCokR);KHolJ3cRj{~ ziN@qQGEN1KC$1y?ZI5v=(U?sU8Mni}j!f?_4<#D2nG%e(UgP0JV|Hg`+zC6|8}`;j zV|H+4+zDIn{pD?m#t-8Waw4l;<(}f6otV6VR5Dk?0V3o|@+g}_;8EIXf`=jxk11Dy z%QVu;<<1*OZ`7siv&iKx<#IYX%FISx%9f2>?p7`jB)il$>QZ)pUxPlD&NYAawiEp4~u1)?1;|jF&waH&$%uP+K zA*YTM@>Bf(#nGi&H?TMtww^KDS(8Z%0-du19y zrcvkK!XX@HX|~`e%<$z&u_~Y8DeBTVicfKbQU*1w@N^g&Y*=`jQkHi|@eC!M_$P6U zl7VmeI3A~z!wH^J13HZU{@WPVaTos?;x@JgV(x#$_Cy^bWf}Py z3n=4k2{nS6JB2?-5O^hBfMjwNP28>QX7mGK!N|LE6?Zr0@e(LtPos6)6m^2CF%B zMfO6gT>FZos;hi-MNVn8J(LpI|G_QVPhs3FBWDKC8nJB9kFu5aM6b5!a-oY76uZ zsDtZKhESsm+Ci_^hX%P`gN{w&70p-&{=pD1jE`9X!CIaD8Kswg#HP~bHEbcR1#YF` zKxV18mbL}*fYg@*c~HuC1ahCm+!@G4so&0J4Lf>2H1W^+*^r+UURKTe3SQ+tNOoT1 M{yO7&qlq{F0~wjQP5=M^ diff --git a/race special/common/target/classes/org/example/result/PageResult.class b/race special/common/target/classes/org/example/result/PageResult.class deleted file mode 100644 index d22db028ab46758585013149edd37d2b14b09ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2045 zcma)6TW=dx5dMyL*WS3B*m0VKKuQuw!Iz|l5}?hcKuTH?>@+tj!BaQRD&FFF!)A>T z5>LGF19*WSKwpAHCF)8bae1KSc>~3r~3Kg<_&YU@OX1@7m#()0v(=Pz#@IfCm zT$AOk6y8pAe@B*OS+1usgm-0GN#RBseYk1jJ=s@fSu^pz>=hGL+1JJLW(v1b*ibM6 zFR&X5YE2>KJ2lVWJ5tD2?%JQ)e>({+KM^n!TMo`|c_noa!WSlhP zY@Oi9) zZtjSxk{HCTdUO-#-yB#c%d*ISI6u+H3M%u@ZILV!ub<+LUfUq3?>)drW;(7 z`?a(3W4cEWJxx8yi((M{o(5o+6tH`v`CVR!Zfu8#|T*- zF5;z*OG#H;mL4GSe_aYK9hak_OSV+(@>l3E=yJ1E{0@eGT>2f_w=lHh(r?hJGsQOa z@JPX!;qU8jtdsC23MdlY zFcwiF{|Q{?Izyd?D=gzIB^{UOYXqs3`4 z2?>_o()E&Wbg&piAXsAZOCeL7JF29f_X$18eJ;DOs4od0%j4OF`c!uEi>WWax+9w8 zydkPF;}Ohk=^o56qYd-U()iQJn2P~ujC2{VF`B_V<|rlD%SF7-)HQa?DBj@72+6pJ z#ABj0NQP26iGWg%rIKAmLP_s(ykq!VbRxZ+{~3KBK14cqt_@4FXrn(j5Xs3lGPx|} zHU>|(d&F5ZEBP3*;{VQkOn8<4b^6Z~A0ijFd~x=SCLIX-ev-yC?NFbI`(AX?u3A`x hJ{j#S6*2|~*``YxNRyHmK>q`O zz#kxA_@FaV9GP+S3(okPRD90fO_P+gcG}*1?m6e4m*u&%i@FS&-(H7 zEaZ#c#oGFcS6+5k3N#d3C}rKkHMg9XbHKFpb%nuQjrOQw)5D0iBv! z&NKlKBssHN8uhE`#OoJ#&)zEe7%KEGdeybk>Sed=u6tFlOynka2!wI&VzeHM>6Oc+ zvO-HtK{a=|P5{pD;I}Ea|F=^Q!!yKwkmA(q?s5EITx_v))`@hQ3pO7fwh^D8zUCa5y-L_rfSU zsG#Z~jzbQH@P>my9CmOC=N!C`4;-8o>O-7z@DVZ&F5`2BfkwaSB+k_Gg;lACqrE4j zBGV3Pcp%F|R&{Kc`A@SG#)bs}Qfkz}b)4elHq7Zv*|R=tTdE5C8k#}-(clBOQ1dR` zQRq+1?=TAP#)em1RTyvAo=rfvWJ6?I^y|&Kqdt!CIT_&JL4?pDkn(Bj5J3H%=u-Bk zPY?4!iBSJ2<;Tdm#$9oby@0y$932;u#xDpxgOU7^+z>{%c5?^z!^Q#hq7QHJYmPvy zWKOuYn)?|>14wPIdynQgY;DY0+s*at(HzH?;BJr3+-|OSPv&$#O)|bIOb2Ecg4$Wh z6dSfZh`KGT07Ss@r$e`l^ssOyAaDi+i?hY~X~f6voLGBxBHgfylR@9fX?B6044Fci z3_lZduTJz_%j`9>luRV2Aq+EsAg3X^(*T|!lOI-{n_A``q59)g@&}m4)6^eO-@^<& zP5lnFIF{Um?H@@*E{<`@7~_AUGj6=Zz9(?T)BI8NH3EO|8I}G&? z`okFDuTAoxCL_&c9rRg(ZpeG4!KP0|isLINOOmfoye?yX;$_n37+!N9iL9wv=lnk6 z(?}%_nmSDn7ENF6ot!eJ{jweIom^wl?B3K9gvU40bzAtI8AAkdBaqlqN-c6SrY~X@ z{Y!S-^hJl;7iLB~3q}I^f&ZRN~=YIwoO>8iD`9e&* zKsVpUo>=cD_6ew)h{g76x|3V%fTkVc_mSR2|Mst3^Cx{G0IQL@aHOmq!I*x58~*9$ Ee?dl!0{{R3 diff --git a/race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class b/race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class deleted file mode 100644 index 2518a579ff2bf6f712ed66f8344514186fe0754f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1749 zcmbVLZBNrs6n<{Eu3arM2QomEA*kCJ%ooHLKm`&KbSeo#!UsQe;|5AfH@lALztRLD zk;EV1k20Rq&XKuB7C!X6_1x#4bDnd5{r>S2z#LW#45FCC0A^UsvM8~*&*FiGhXyn} z(lBQriK33jtmkz+(eYHrGab)$EO2a5!;*#<0;*N7ukQ+^%LmqxRdOtMue9lVw!60= zkf5J$>f%s}|R|@o(ZCAc) z9#*9H!KyeENtbI?%h|R(oBdWW?(f?Tfx%^a!>;;GPj30Pv(mJkUFiv!>#i%kRmW;H zBxTK)Yu;W-ezp$ljx04Pvr+0eIMv~`V5pzhx$Z9Wmjz3O^VqOF>rndAqr%h*S1d4@ zyAYMC(fwLDY3iE}M9kmVtTnx=T(g6@bu=~0=_YPq%*1sJnaHphW--EI6hi{z7tD#z zzZA&)dv$y8`OZ5#yjD^!SfC{nudpnTEM~)tMJEt(xS59COmO?7s7uqqluZDJ4 z;Igz82g?qs4r&fo99)sHx)3keST(R^x_r945U$mOb78r1WUX9T4C)5FnQAqtAFcSS zs{vV-zp^s3XdpLx$-nAPRQ&4F#M!W3t}aa)NOAIH@SXv;6oxBvL0GDhYD?!_y~5#o zaAhr64OPdUZ!B?ecx1L#Uz!Ns^_N#F!NeNZU!CaK&QM1$+8kFjkJc6g1HH55YH(_8 zc|NGW?9W#?;w%N>wBG6#nvdCRZnn1ISI+zOvS>tVW>_lol)LY?A1`n|C&H-aw!B-D$t>F9%^z=a$l1OD{*o(g@M z&_3ifNqYA!hU#k@?RgW~XdlX+4gH17bN)&r_zQmZn4FqyL41f?I<(UzO)n8bo$fCp>nkx9yai1OjI|=`Tvbb zcJLsS?%CQ}eIYnrmUPc`+>d>d?gkG0pG)Q89A5FT3xghZi`XM#uZSTG8rXFgqaJ2Z z^e}>gho=SY6Eq>>Q4x=ccmXF3Z0o+1&6?9$iiTC@O?e2h#(OX}s6#YmAUihL3KILS z?lVk!vK1)yjS&woqrl76T34sKE?hyCwQ4*jbepS3qyErA4(lgiAt4?kN{G``OTVd> zu2U_&$F?77JcNf?;vZpekbL<$H(|VX1Bq{l4GdGJ*n(U`JV`0+3AQq76~0GOsEIae z7NZ>TGy!86XU`DlQ+6wx-O4?&$_!eJvem8J8>`G<$0(<|mHT3qnItjFcDHhWtnz+5 zPS41hi)_WgslwJ5R)$H1E}<nw0cvn%tvIJ{4~=b+0BRQ=2CDDw7A}P1^TrQj)%Da!8qEQJ~8i9^+@WS-Sbw zXyGeZ=JnBE;Cu-yd42R}ICEo#4Ww0aQ*ESd(IzQdbn>>4oQP!SoiA}Vh9uWM&D-C*(X z;)dwjO{rAjGr=KAmA`1hp`lOvCJ&iYDj|0EO_rDrPT%M?*y9`MyC~yc(Ugh28O=D7 zBzh`awA2*yLn%3Vt1;D6OsT0iN= z@DWZCB^Zzo@FLHeQfz}bnRl3Sx z#Ak1!pHE{hci#rKNZ{Gz1~lef+mhR=aaQm)je7)d*SJ@3o?-*{cfTL{M(Q_nHVT=+ z@1OHrTi%cN*{0YI7H(jNdP53h>o5!B>wJUr<~kpiytR%^)zDQh%VDkCO!2|!WuZOZ z$U)i`By~Kgkd$9jA*q^{x(Wl9dV%E0kQy&VSyxehq|rUH$<|i^H`!g6Gchk@0=32cj zy%pDPwIro3RvO-(B|qASO;=iN%4}KD-4oGJ2awv^EJT|w{y%Icyr^~Cvk#>&Jt|hM zau))HLT~s~obES59s~wyR}4GGMx*W3Ea?7&4J#G0Y;*Vgy41 z6TRFbgS@0OelMcS%}mVc(NHJ75RBY{iA5|4q|0OBlr0GKmB%gyjeH~YX}rRZ7vo00 zD4HmsDDa|}7XCa40-1}x-c}D}%@=qdGa6A2{w>0EgAs`TqnySEl8`SGlc`GK><;wW$Z32yJb5|H1Ugx zF-E`WClh~we8EJcEr}R|e!#>(zz@)$A>woHoqg$cjE!zK=RWt|=bU@*Ip>}`zy0;Y zPXM05bsOhg7&xDXgEvK75b>6Xw?$mE;k#_-M9jO`ic5k55$}jt5K)wgl8wtQdU4*t z6=};3t~#hVs5)45a81T)LOgF{$v|$Zbi5wa-aA&B59_tybXY3ytCz}`f|>zux>5;h z`^)~)Qb4NZFD_1BGSD}3*}v|Om;K7Z_{p$Vsw_+xNOAIT@SXv;7>0|pL0GJkYD?#I zt<2$CaIGFJg{ouEHI~>nG(1zSEsO{6`d1gr!FZkPFO9F=)8N{nXq#Ny++V#E80elU zRe~e+t8+o^ls{MIh_eucQ+m@IxKPZt`(~>1e))`FD~U#=W`@NQ&%1M7JLCFky^K13 zmiSPc2i&Ny&MlKC+Wg=wHTTy)w03*LXAJacS03|g{?#B1YTQ>^Yw6{PS1lLy^>XaA zFPGxdewh|lEp~M7axfoG44*S#R98ngnqugyVNo)|70(Ptd5}?q&0b?l?aOPdm05qWkpc65<$#=;$x!r{iaJx0L&MWN z)UgxOvj=!;;#4hIs+U88#(8W3YV(=F_FX!vr*@PXY+u?5tNJ$3$evQA6z(-}AttJ8 z7UYidNmL%slt-UF`B=HUG{eKtD!)d(k;V}$&*d}7Th#evZF<@YD zJ?1@3qu^l}c@HlN+9haQ#FHYP67d=i^BkSGwON*8O4g7{$w?0(>bxMM13Gq-2C}0A zt?04u>OSMACtDF@-x&6A3VGhT*5djO=mHm1SkuO0V!F1rG^!I_<*?WS782q+qJ+3l zwe+BB=|t7ik8FF9#^cz@_uvWk2FRD6a~sClTS$CEY+#5o#TMim;!a9okF%9gEB`%` zLQS+$vl!usrwJIv7<-09fU;BB>{RZGRc7R3l&wzX?pS3;JVrUysoWE*%uI<PUT0Ik^GjZ-D8f@-l!Ro$HegxNP`bI9c{4F!_KquCe8Jll$>aq z+@?%E7jM#9uSrR-rpfKfqF|2wicHSDi{2aX#&YHgG7W}T zut@O=shlO8)Lr!5KsIOPQf;Jc!6qqNaB{YgoQP!SoHkNdAx%pyEZv}@WRsNs}hlW1wnb>1as)X3uGf`wZI6WgbV2`b!=c0^z1yd$+ zW;EkSlIW>y!BSJq52fVftj1JVA*H5L%_(M$*6J?UYKjRHY1wLOYkYW5=xs*lO5$V8 zFl785!ACeklwd$Uz)_wx$>+6*V?-vyJ&WT+7S3WfP7tN|+HJx~B3lLPceoEYVA^mD zg8_nJJfMkIKOqDCuo{F0$6P%W(Nb-+7PE6SBHOFUEq=^Iq~femX=%mJQIT%q1Fa*D z>vWaDh|km&q;Z$v%^G(L&QYx3;m-F%-$?yt z&O{+I_$73PYs>rbKHC)Af&49OQEy0obQxxTY?*Ix&RpihlCzevrW(5HW!bBBn<+jJ zy)3lH8#zGRf~1Zo6_WC6DkN3YQdgnhQZJA^8B*h=DC;W9&o#P7Hre_r;3hlkawg`5 WOyCWwC75cDvUO>O-_Lji>AwLC7m-&0 diff --git a/race special/common/target/classes/org/example/utils/AiUtil.class b/race special/common/target/classes/org/example/utils/AiUtil.class deleted file mode 100644 index 2631d47e20bae2ca3d6147f8b5fe9852407c4b8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12624 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 CI8<5y diff --git a/race special/pojo/HELP.md b/race special/pojo/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/pojo/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/pojo/pom.xml b/race special/pojo/pom.xml deleted file mode 100644 index ddc2684..0000000 --- a/race special/pojo/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - pojo - 0.0.1-SNAPSHOT - pojo - pojo - - - - - - - - - - - - - - - - - org.projectlombok - lombok - - - com.fasterxml.jackson.core - jackson-databind - 2.9.2 - - - com.github.xiaoymin - knife4j-spring-boot-starter - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - - diff --git a/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java b/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java deleted file mode 100644 index 524fd01..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.pojo.DTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -@ApiModel(description = "用户登录时传递的数据模型") -public class UserLoginDTO implements Serializable { - @ApiModelProperty("用户名") - private String username; - @ApiModelProperty("密码") - private String password; -} diff --git a/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java b/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java deleted file mode 100644 index fff6800..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.example.pojo.VO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -@ApiModel(description = "用户登录时返回的数据格式") -public class UserLoginVO implements Serializable { - @ApiModelProperty("主键值") - private Long id; - @ApiModelProperty("用户名") - private String username; - @ApiModelProperty("姓名") - private String name; - @ApiModelProperty("jwt令牌") - private String token; -} diff --git a/race special/pojo/src/main/java/org/example/pojo/entity/user.java b/race special/pojo/src/main/java/org/example/pojo/entity/user.java deleted file mode 100644 index 6676f8e..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/entity/user.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.example.pojo.entity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.time.LocalDateTime; - -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class user implements Serializable { - private static final long serialVersionUID = 1L; - private Long id; - private String name; - private String password; - private String username; - private Long count; - private LocalDateTime loginTime; - private LocalDateTime logoutTime; - private LocalDateTime updateAt; -} diff --git a/race special/pom.xml b/race special/pom.xml deleted file mode 100644 index 85467f1..0000000 --- a/race special/pom.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - 4.0.0 - org.example - racespecial - 0.0.1-SNAPSHOT - pom - - - org.springframework.boot - spring-boot-starter-parent - 2.7.3 - - - - - common - pojo - server - - - - - - - - - - - - - - - - - - 1.8 - 2.2.0 - 1.18.20 - 2.6 - 1.2.1 - 1.3.0 - 3.10.2 - 3.0.2 - 1.9.4 - 0.9.1 - 3.16 - 2.3.1 - - 2.3.6 - - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis.spring} - - - - org.projectlombok - lombok - ${lombok} - - - - - com.fasterxml.jackson.core - jackson-databind - 2.15.3 - - - - commons-lang - commons-lang - ${commons.lang} - - - - com.alibaba - druid-spring-boot-starter - ${druid} - - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper} - - - - com.github.xiaoymin - knife4j-spring-boot-starter - ${knife4j} - - - - org.aspectj - aspectjrt - ${aspectj} - - - - org.aspectj - aspectjweaver - ${aspectj} - - - - io.jsonwebtoken - jjwt - ${jjwt} - - - - com.aliyun.oss - aliyun-sdk-oss - ${aliyun.sdk.oss} - - - - javax.xml.bind - jaxb-api - ${jaxb-api} - - - org.glassfish.jaxb - jaxb-runtime - ${jaxb-runtime} - - - com.sun.activation - javax.activation - 1.2.0 - - - - - org.apache.poi - poi - ${poi} - - - org.apache.poi - poi-ooxml - ${poi} - - - - com.github.wechatpay-apiv3 - wechatpay-apache-httpclient - 0.4.8 - - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - \ No newline at end of file diff --git a/race special/server/HELP.md b/race special/server/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/server/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/server/pom.xml b/race special/server/pom.xml deleted file mode 100644 index 3a27481..0000000 --- a/race special/server/pom.xml +++ /dev/null @@ -1,168 +0,0 @@ - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - server - 0.0.1-SNAPSHOT - server - server - - - - - - - - - - - - - - - - - - com.github.xiaoymin - knife4j-spring-boot-starter - 3.0.3 - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.springframework.boot - spring-boot-starter - - - org.example - common - 0.0.1-SNAPSHOT - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.boot - spring-boot-starter-web - compile - - - - com.mysql - mysql-connector-j - 8.0.33 - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - - - - org.projectlombok - lombok - - - - - com.fasterxml.jackson.core - jackson-databind - - - com.alibaba - fastjson - 1.2.76 - - - com.alibaba - druid-spring-boot-starter - - - - com.github.pagehelper - pagehelper-spring-boot-starter - - - - org.aspectj - aspectjrt - - - - org.aspectj - aspectjweaver - - - - com.github.xiaoymin - knife4j-spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-data-redis - - - - org.springframework.boot - spring-boot-starter-cache - - - - org.springframework.boot - spring-boot-starter-websocket - - - - javax.xml.bind - jaxb-api - - - org.glassfish.jaxb - jaxb-runtime - - - com.sun.activation - javax.activation - - - - - - org.apache.poi - poi - - - org.apache.poi - poi-ooxml - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - \ No newline at end of file diff --git a/race special/server/src/main/java/org/example/server/ServerApplication.java b/race special/server/src/main/java/org/example/server/ServerApplication.java deleted file mode 100644 index 25e1f8b..0000000 --- a/race special/server/src/main/java/org/example/server/ServerApplication.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.server; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.web.bind.annotation.CrossOrigin; - -@SpringBootApplication -@ComponentScan(basePackages = {"org.example.server.handler,org.example.server.mapper,org.example.server.service,org.example.server.controller,org.example.properties,org.example.server.interceptor", "org.example.server.configuration"}) -public class ServerApplication { - - public static void main(String[] args) { - SpringApplication.run(ServerApplication.class, args); - } - -} \ No newline at end of file diff --git a/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java deleted file mode 100644 index 8b59e09..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.example.server.configuration; - -import lombok.extern.slf4j.Slf4j; -import org.example.properties.AiProperties; -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -@Slf4j -public class AiConfiguration { - @Bean - public AiUtil aiUtil(AiProperties aiProperties) { - return new AiUtil(aiProperties.getApiKey(),aiProperties.getApiKey1(),aiProperties.getDeepSeekUrl(), - aiProperties.getTongYingUrl(), aiProperties.getAppId(), aiProperties.getAppKey(), aiProperties.getHttpMethod(), aiProperties.getHttpUrl(), aiProperties.getRequestUrl()); - } -} diff --git a/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java deleted file mode 100644 index 2d06d2f..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.example.server.configuration; - -import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -import lombok.extern.slf4j.Slf4j; -import org.example.json.JacksonObjectMapper; -import org.example.server.interceptor.JwtTokenAdminInterceptor; -import org.example.server.interceptor.JwtTokenUserceptor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -import java.util.List; - -/** - * 配置类,注册web层相关组件 - */ -@Configuration -@Slf4j -@ConditionalOnWebApplication -@EnableSwagger2 -@EnableKnife4j -public class WebMvcConfiguration extends WebMvcConfigurationSupport { - - @Autowired - private JwtTokenAdminInterceptor jwtTokenAdminInterceptor; - @Autowired - private JwtTokenUserceptor jwtTokenUserInterceptor; - /** - * 注册自定义拦截器 - * - * @param registry - */ - protected void addInterceptors(InterceptorRegistry registry) { - log.info("开始注册自定义拦截器..."); - registry.addInterceptor(jwtTokenUserInterceptor) - .addPathPatterns("/user/**") - .excludePathPatterns("/user/user/login") - .excludePathPatterns("/user/shop/status") - .excludePathPatterns("/user/questionSimple"); - - } - - /** - * 通过knife4j生成接口文档 - * @return - */ - @Bean - public Docket docket() { - ApiInfo apiInfo = new ApiInfoBuilder() - .title("vivo蓝心大模型开发文档") - .version("1.0") - .description("vivo文档") - .build(); - Docket docket = new Docket(DocumentationType.SWAGGER_2) - .groupName("用户端接口") - .apiInfo(apiInfo) - .select() - .apis(RequestHandlerSelectors.basePackage("org.example.server.controller")) - .paths(PathSelectors.any()) - .build(); - return docket; - } - /** - * 设置静态资源映射 - * @param registry - */ - @Override - protected void addResourceHandlers(ResourceHandlerRegistry registry) { - log.info("开始设置静态资源映射"); - registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); - registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); - } - @Override - protected void extendMessageConverters(List> converters) { - log.info("扩展消息转化器"); - MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); - converter.setObjectMapper(new JacksonObjectMapper()); - converters.add(0,converter); - } -} diff --git a/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java deleted file mode 100644 index 48d5b22..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.example.server.configuration; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.socket.server.standard.ServerEndpointExporter; - -/** - * WebSocket配置类,用于注册WebSocket的Bean - */ -@Configuration -public class WebSocketConfiguration { - - @Bean - @ConditionalOnWebApplication - public ServerEndpointExporter serverEndpointExporter() { - return new ServerEndpointExporter(); - } -/*这个代码我之后并没有创建它的对象,是不是可以推测这个被注入到ioc容器之后,依赖底层会进行某些操作需要用到他 -是的,当你使用 @Bean 注解将 ServerEndpointExporter 方法注册到 Spring 的 IOC 容器中,即便你在代码里没有显式创建它的对象,底层框架也会用到它。 -ServerEndpointExporter 是 Spring 对 JSR - 356(Java API for WebSocket)的支持组件,它的主要作用是扫描带有 @ServerEndpoint 注解的类,然后将这些 WebSocket 端点注册到 Spring 容器里,从而让 WebSocket 端点能够被 Spring 管理。 -下面是它的具体工作流程: -注册到 IOC 容器:借助 @Bean 注解,ServerEndpointExporter 实例会被注册到 Spring 的 IOC 容器中。 -自动扫描:ServerEndpointExporter 会自动扫描项目里所有带有 @ServerEndpoint 注解的类。 -端点注册:把扫描到的 @ServerEndpoint 注解类注册为 WebSocket 端点,如此一来,这些端点就能处理 WebSocket 连接与消息了。 -所以,即便你没有在代码中显式创建 ServerEndpointExporter 对象,Spring 框架在启动时会自动调用 serverEndpointExporter() 方法, -创建 ServerEndpointExporter 实例,进而完成 WebSocket 端点的注册工作。*/ - /*工作机制 -ServerEndpointExporter的作用:ServerEndpointExporter属于 Spring 框架里专门用于 WebSocket 的一个组件。它的主要功能是扫描项目里所有带有@ServerEndpoint注解的类, -并且将这些类注册到 WebSocket 服务器中。 -生命周期回调:当 Spring 容器完成ServerEndpointExporter这个 Bean 的创建后,会调用其afterPropertiesSet方法(ServerEndpointExporter实现了InitializingBean接口)。 -在这个方法里,ServerEndpointExporter会扫描所有带有@ServerEndpoint注解的类,然后把这些类注册到底层的 WebSocket 服务器里。*/ - /*是的,被注入到 Spring IOC(控制反转)容器中的实例,并非所有方法都会自动执行。下面从不同情况来详细分析: -1. 常规方法不会自动执行 -在 Spring IOC 容器里,一个 Bean 实例化后, -只有特定的方法会被自动调用,而普通的业务方法不会自动执行 -import org.springframework.stereotype.Component; - -@Component -public class MyService { - - public void doSomething() { - System.out.println("Doing something..."); - } -} -在上述代码中,MyService类被标记为@Component, -会被 Spring IOC 容器管理。但doSomething方法不会自动执行, -只有在其他代码中显式调用时才会执行 -. 特定生命周期方法会自动执行 -Spring IOC 容器会在特定的生命周期阶段自动调用一些方法,常见的有以下几种情况: -实现InitializingBean接口 -当一个 Bean 实现了InitializingBean接口, -Spring 会在 Bean 的属性设置完成后调用afterPropertiesSet方法 -使用@PostConstruct注解 -使用@PostConstruct注解标注的方法会在 Bean 的依赖注入完成后自动执行。*/ -//so easy,这就是生命周期的意义吗,啊,爽了 -} diff --git a/race special/server/src/main/java/org/example/server/controller/ai/test.java b/race special/server/src/main/java/org/example/server/controller/ai/test.java deleted file mode 100644 index a47a236..0000000 --- a/race special/server/src/main/java/org/example/server/controller/ai/test.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.server.controller.ai; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/test") -public class test { - @PostMapping("/test1") - public String test1() { - return "test1"; - } -} diff --git a/race special/server/src/main/java/org/example/server/controller/user/ai.java b/race special/server/src/main/java/org/example/server/controller/user/ai.java deleted file mode 100644 index f8ea6c1..0000000 --- a/race special/server/src/main/java/org/example/server/controller/user/ai.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.example.server.controller.user; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.example.result.Result; -import org.example.server.service.AiService; -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import java.util.HashMap; -import java.util.Map; - -@RestController -@Slf4j -@RequestMapping("/user") -@Api("用户端ai开发") -public class ai { - @Autowired - private AiUtil aiUtil; - @Autowired - private AiService aiService; - @PostMapping("/questionSimple") - @ApiOperation(value="简单文本输出",notes = "服务器会自动生成或获取SessionID,用于会话管理") - public Result> questionSimple(HttpSession session, @RequestParam String question) throws Exception { - String id = session.getId(); - log.info("这是sessionid,{} question,{}",session.getId(),question); - Map map = new HashMap<>(); - map.put("SessionId",id); - //前端一定要保存下来sessionId,不保存也行其实 - String respond=aiService.question(id,question); - map.put("Respond",respond); - return Result.success(map); - - } - - - - - - -} diff --git a/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java b/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java deleted file mode 100644 index 11824bb..0000000 --- a/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.example.server.handler; - - -import lombok.extern.slf4j.Slf4j; -import org.example.constant.MessageConstant; -import org.example.exception.BaseException; -import org.example.result.Result; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -import java.sql.SQLIntegrityConstraintViolationException; - -/** - * 全局异常处理器,处理项目中抛出的业务异常 - */ -@RestControllerAdvice -@Slf4j -public class GlobalExceptionHandler { - - /** - * 捕获业务异常 - * @param ex - * @return - */ - @ExceptionHandler - public Result exceptionHandler(BaseException ex){ - log.error("异常信息:{}", ex.getMessage()); - return Result.error(ex.getMessage()); - } - @ExceptionHandler - public Result exceptionHandler(SQLIntegrityConstraintViolationException ex){ - log.error("异常信息{}", ex.getMessage()); - if(ex.getMessage().contains("Duplicate entry")){ - String []split = ex.getMessage().split(" "); - String username=split[2]; - String message=username+ MessageConstant.ALREADY_EXITS; - return Result.error(message); - }else{ - return Result.error(MessageConstant.UNKNOWN_ERROR); - - } - } -} diff --git a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java b/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java deleted file mode 100644 index 5904120..0000000 --- a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.example.server.interceptor; - -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.example.constant.JwtClaimsConstant; -import org.example.context.BaseContext; -import org.example.properties.JwtProperties; -import org.example.utils.JwtUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * jwt令牌校验的拦截器 - */ -@Component -@Slf4j -public class JwtTokenAdminInterceptor implements HandlerInterceptor { - - @Autowired - private JwtProperties jwtProperties; - - /** - * 校验jwt - * - * @param request - * @param response - * @param handler - * @return - * @throws Exception - */ - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - System.out.println("线程id"+Thread.currentThread().getId()); - - //判断当前拦截到的是Controller的方法还是其他资源 - if (!(handler instanceof HandlerMethod)) { - //当前拦截到的不是动态方法,直接放行 - return true; - } - - //1、从请求头中获取令牌 - String token = request.getHeader(jwtProperties.getAdminTokenName()); - - //2、校验令牌 - try { - log.info("jwt校验:{}", token); - Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token); - Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString()); - BaseContext.setCurrentId(empId); - log.info("当前员工id{}", empId); - //3、通过,放行 - return true; - } catch (Exception ex) { - //4、不通过,响应401状态码 - response.setStatus(401); - return false; - } - } -} diff --git a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java b/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java deleted file mode 100644 index fce23e9..0000000 --- a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.example.server.interceptor; - -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.example.constant.JwtClaimsConstant; -import org.example.context.BaseContext; -import org.example.properties.JwtProperties; -import org.example.utils.JwtUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * jwt令牌校验的拦截器 - */ -@Component -@Slf4j -public class JwtTokenUserceptor implements HandlerInterceptor { - - @Autowired - private JwtProperties jwtProperties; - - /** - * 校验jwt - * - * @param request - * @param response - * @param handler - * @return - * @throws Exception - */ - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - System.out.println("线程id"+Thread.currentThread().getId()); - - //判断当前拦截到的是Controller的方法还是其他资源 - if (!(handler instanceof HandlerMethod)) { - //当前拦截到的不是动态方法,直接放行 - return true; - } - - //1、从请求头中获取令牌 - String token = request.getHeader(jwtProperties.getUserTokenName()); - //1、从请求头中获取令牌 - - if (token == null) { - log.info("请求头中未包含JWT令牌"); - response.setStatus(401); - return false; - } - //2、校验令牌 - try { - log.info("jwt校验:{}", token); - Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token); - Long userId = Long.valueOf(claims.get(JwtClaimsConstant.USER_ID).toString()); - BaseContext.setCurrentId(userId); - log.info("当前员工id{}", userId); - //3、通过,放行 - return true; - } catch (Exception ex) { - //4、不通过,响应401状态码 - response.setStatus(401); - return false; - } - } -} diff --git a/race special/server/src/main/java/org/example/server/mapper/AiMapper.java b/race special/server/src/main/java/org/example/server/mapper/AiMapper.java deleted file mode 100644 index 1678658..0000000 --- a/race special/server/src/main/java/org/example/server/mapper/AiMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.example.server.mapper; - -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface AiMapper { -} diff --git a/race special/server/src/main/java/org/example/server/service/AiService.java b/race special/server/src/main/java/org/example/server/service/AiService.java deleted file mode 100644 index dae0106..0000000 --- a/race special/server/src/main/java/org/example/server/service/AiService.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.example.server.service; - -import javax.servlet.http.HttpSession; - -public interface AiService { - String question(String SessionId, String question) throws Exception; -} diff --git a/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java b/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java deleted file mode 100644 index 9bdbebe..0000000 --- a/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.example.server.service; - -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.servlet.http.HttpSession; - -@Service -public class Aiserviceimpl implements AiService{ - @Autowired - private AiUtil aiUtil; - @Override - public String question(String SessionId, String question) throws Exception { - return aiUtil.getString(question, SessionId); - } -} diff --git a/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java b/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java deleted file mode 100644 index 557e5bf..0000000 --- a/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.example.server.websocket; - -import org.springframework.stereotype.Component; - -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.PathParam; -import javax.websocket.server.ServerEndpoint; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -/** - * WebSocket服务 - */ - -@Component -@ServerEndpoint("/ws/{sid}") -public class WebSocketServer { - - //存放会话对象 - private static Map sessionMap = new HashMap(); - - /** - * 连接建立成功调用的方法 - */ - - @OnOpen - public void onOpen(Session session, @PathParam("sid") String sid) { - System.out.println("客户端:" + sid + "建立连接"); - sessionMap.put(sid, session); - } - - /** - * 收到客户端消息后调用的方法 - * - * @param message 客户端发送过来的消息 - */ - - @OnMessage - public void onMessage(String message, @PathParam("sid") String sid) { - System.out.println("收到来自客户端:" + sid + "的信息:" + message); - } - - /** - * 连接关闭调用的方法 - * - * @param sid - */ - @OnClose - public void onClose(Session session, @PathParam("sid") String sid) { - sessionMap.remove(sid); - } - public void sendToAllClient(String message) { - Collection sessions = sessionMap.values(); - for (Session session : sessions) { - try { - //服务器向客户端发送消息 - session.getBasicRemote().sendText(message); - } catch (Exception e) { - e.printStackTrace(); - } - } - } -//妙啊,这些东西都是谁设计出来的,太尼玛的牛逼了,这思维,啊啊啊啊啊啊啊啊 -} diff --git a/race special/server/src/main/resources/application-dev.yml b/race special/server/src/main/resources/application-dev.yml deleted file mode 100644 index 9a73c26..0000000 --- a/race special/server/src/main/resources/application-dev.yml +++ /dev/null @@ -1,35 +0,0 @@ -race: - deepseek: - api-key: sk-b6baa9fc68b742f780fc9b64f4635868 - api-key1: sk-d88586a4d04744c2a0fea3a0e2841aca - deep-seek-url: https://api.deepseek.com/chat/completions - tong-ying-url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /vivogpt/completions - request-url: https://api-ai.vivo.com.cn/vivogpt/completions - picture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_submit - request-url: https://api-ai.vivo.com.cn/api/v1/task_submit - querypicture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_progress - request-url: https://api-ai.vivo.com.cn/api/v1/task_progress - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - host: 10.9.29.24 - port: 3306 - database: sky_take_out - username: root - password: zhang20061023@ - redis: - host: localhost - port: 6379 - #password: 123456 - database: 0 diff --git a/race special/server/src/main/resources/application.yml b/race special/server/src/main/resources/application.yml deleted file mode 100644 index 2249ffd..0000000 --- a/race special/server/src/main/resources/application.yml +++ /dev/null @@ -1,67 +0,0 @@ - -server: - port: 8080 - -spring: - profiles: - active: dev - main: - allow-circular-references: true - datasource: - druid: - driver-class-name: ${race.datasource.driver-class-name} - url: jdbc:mysql://${race.datasource.host}:${race.datasource.port}/${race.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true - username: ${race.datasource.username} - password: ${race.datasource.password} - redis: - host: ${race.redis.host} - port: ${race.redis.port} - password: ${race.redis.password} - database: ${race.redis.database} -mybatis: - mapper-locations: classpath:mapper/*.xml - type-aliases-package: org.example.entity - configuration: - map-underscore-to-camel-case: true -#mapper配置文件 -logging: - level: - org: - example: - mapper: debug - service: info - controller: info -race: - jwt: - admin-ttl: 7200000000000000000 - # 设置前端传递过来的令牌名称 - user-secret-key: itheima - user-ttl: 7200000000000 - user-token-name: authentication - admin-token-name: token - admin-secret-key: itcast - deepseek: - api-key: ${sky.deepseek.api-key} - api-key1: ${sky.deepseek.api-key1} - deep-seek-url: ${sky.deepseek.deep-seek-url} - tong-ying-url: ${sky.deepseek.tong-ying-url} - app-id: ${race.deepseek.app-id} - app-key: ${race.deepseek.app-key} - http-method: ${race.deepseek.http-method} - http-url: ${race.deepseek.http-url} - request-url: ${race.deepseek.request-url} - picture: - app-id: ${race.picture.app-id} - app-key: ${race.picture.app-key} - http-method: ${race.picture.http-method} - http-url: ${race.picture.http-url} - request-url: ${race.picture.request-url} - querypicture: - app-id: ${race.querypicture.app-id} - app-key: ${race.querypicture.app-key} - http-method: ${race.querypicture.http-method} - http-url: ${race.querypicture.http-url} - request-url: ${race.querypicture.request-url} -springfox: - documentation: - enabled: false \ No newline at end of file diff --git a/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java b/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java deleted file mode 100644 index 4ae4ff7..0000000 --- a/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java +++ /dev/null @@ -1,274 +0,0 @@ -package org.example.testServer; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.example.server.ServerApplication; -import org.example.server.configuration.WebSocketConfiguration; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.web.bind.annotation.RequestHeader; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.servlet.http.HttpSession; -import javax.websocket.Session; -import java.io.*; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.time.Instant; -import java.util.Base64; -import java.util.Dictionary; -import java.util.UUID; - -import static org.mockito.Mockito.when; - -@SpringBootTest( classes = ServerApplication.class, // 显式指定主应用类 - webEnvironment = SpringBootTest.WebEnvironment.NONE) -class ServerApplicationTests { -//蓝心大模型AppID -//2025158089 -//蓝心大模型AppKEY -//FIKXhKoeMNzWSCLV - @Test - void contextLoads() throws IOException { - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httppost = new HttpPost("https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"); - httppost.setHeader("Content-Type", "application/json"); - httppost.setHeader("Accept", "application/json"); - httppost.setHeader("Authorization", "Bearer " + "sk-d88586a4d04744c2a0fea3a0e2841aca"); - String requestBody = "{\"model\": \"qwen-plus\", \"messages\": [" + - "{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}," + - "{\"role\": \"user\", \"content\":\"" + "你好,请解释一下级数的概念,详细一点" + "\" }" + - "], \"stream\": true,\"stream_options\":{\"include_usage\":true}}"; - HttpEntity requestEntity = new StringEntity(requestBody, StandardCharsets.UTF_8); - httppost.setEntity(requestEntity); - CloseableHttpResponse response = httpclient.execute(httppost); - if (response.getStatusLine().getStatusCode() == 200) { - InputStream content = response.getEntity().getContent(); - InputStreamReader reader = new InputStreamReader(content, StandardCharsets.UTF_8); - BufferedReader br = new BufferedReader(reader); - String length; - while ((length = br.readLine()) != null) { - if (length.startsWith("data: ")) { - String jsonPart = length.substring(6).trim(); - if ("[DONE]".equals(jsonPart)) { - break; - } - JSONObject jsonObject = JSONObject.parseObject(jsonPart); - JSONArray jsonArray = jsonObject.getJSONArray("choices"); - for (Object object : jsonArray) { - JSONObject json = (JSONObject) object; - JSONObject jsonobject = json.getJSONObject("delta"); - String string = jsonobject.getString("content"); - System.out.println(string); - } - } - } - } - response.close(); - } - @MockBean - private HttpSession session; - @Test - void test(/*Session session*/) throws Exception { - CloseableHttpClient httpclient = HttpClients.createDefault(); - // 构建HTTP请求 - String appId = "2025158089"; - String appKey = "FIKXhKoeMNzWSCLV"; - String httpMethod = "POST"; - //String httpUri = "/vivogpt/completions"; - String httpUri="/api/v1/task_submit"; - //String requestUrl = "https://api-ai.vivo.com.cn" + httpUri; - String requestUrl="https://api-ai.vivo.com.cn"+httpUri; - //生成八位随机字符串 - final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - StringBuilder sb = new StringBuilder(8); - SecureRandom secureRandom = new SecureRandom(); - for (int i = 0; i < 8; i++) { - int randomIndex = secureRandom.nextInt(ALPHABET.length()); - sb.append(ALPHABET.charAt(randomIndex)); - } - String string = sb.toString(); - UUID requestId = UUID.randomUUID(); - /*URIBuilder builder = new URIBuilder(requestUrl); - builder.addParameter("requestId", requestId.toString()); - //builder.addParameter("requestId", URLEncoder.encode(requestId.toString(),StandardCharsets.UTF_8.toString())); - URI uri = builder.build();*/ - HttpPost httpPost = new HttpPost(requestUrl); - httpPost.setHeader("Content-Type", "application/json"); - httpPost.setHeader("X-AI-GATEWAY-APP-ID","2025158089"); - long epochSecond = Instant.now().getEpochSecond(); - httpPost.setHeader("X-AI-GATEWAY-TIMESTAMP",epochSecond+""); - httpPost.setHeader("X-AI-GATEWAY-NONCE",string); - //String canonicalQueryString="requestId="+requestId; - String canonicalQueryString=""; - String s = calculateSignature(httpMethod, httpUri, canonicalQueryString, appId, epochSecond, string, appKey); - httpPost.setHeader("X-AI-GATEWAY-SIGNATURE",s); - httpPost.setHeader("X-AI-GATEWAY-SIGNED-HEADERS","x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - // 生成合法的 UUID 字符串 - when(session.getId()).thenReturn(String.valueOf(requestId)); - String id = session.getId(); - UUID uuid = UUID.fromString(id); - /*String systemPrompt="你是一个生活小贴士,专门用来为别人做每一天的生活规划的。"; - String requestBody = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"user\",\"content\":\"今天天气如何?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":\"适合穿什么衣服?\"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + uuid + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - // 在 httpclient.execute(httpPost) 前添加以下调试代码 - System.out.println("===== 请求调试信息 ====="); - System.out.println("Request URL: " + httpPost.getURI()); - System.out.println("Headers:"); - for (Header header : httpPost.getAllHeaders()) { - System.out.println(" " + header.getName() + ": " + header.getValue()); - } - System.out.println("Canonical Query String: " + canonicalQueryString); - System.out.println("Signing String: " + s); // 在 calculateSignature 方法中添加打印 - System.out.println("Generated Signature: " + s); - System.out.println("=======================");*/ - String requestBody = "{" + - "\"dataId\": \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4\"," + - "\"businessCode\": \"pc\"," + - "\"userAccount\": \"openid_123456\"," + - "\"prompt\": \"梦泪老师在偷塔\"," + - "\"imageType\": 1," + - "\"styleConfig\": \"4cbc9165bc615ea0815301116e7925a3\"," + - "\"height\": 512," + - "\"width\": 512," + - "\"seed\": -1," + - "\"cfgScale\": 7," + - "\"denoisingStrength\": 0.1," + - "\"ctrlNetStrength\": 0.5," + - "\"steps\": 15," + - "\"negativePrompt\": \"低分辨率, 扭曲的面部\"" + - "}"; - httpPost.setEntity(new StringEntity(requestBody, StandardCharsets.UTF_8)); - CloseableHttpResponse response = httpclient.execute(httpPost); - if (response.getStatusLine().getStatusCode() == 200) { - /* HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity)); - jsonObject = jsonObject.getJSONObject("data"); - String string1 = jsonObject.getString("content"); - System.out.println(string1);*/ - HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity)); - JSONObject result = jsonObject.getJSONObject("result"); - String string1 = result.getString("task_id"); - //开始查询作画任务 - response.close(); - httpclient.close(); - String httpurL="/api/v1/task_progress"; - String requestURL="https://api-ai.vivo.com.cn"+httpurL; - CloseableHttpClient httpclient1 = HttpClients.createDefault(); - for(int i=0;i<5;i++) { - URIBuilder uriBuilder = new URIBuilder(requestURL); - uriBuilder.addParameter("task_id", string1); - URI build = uriBuilder.build(); - HttpGet httpGet = new HttpGet(build); - String canonicalQueryString1 = "task_id=" + string1; - httpGet.setHeader("X-AI-GATEWAY-TIMESTAMP", epochSecond + ""); - httpGet.setHeader("X-AI-GATEWAY-NONCE", string); - httpGet.setHeader("X-AI-GATEWAY-SIGNED-HEADERS", "x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - String s1 = calculateSignature("GET", httpurL, canonicalQueryString1, appId, epochSecond, string, appKey); - httpGet.setHeader("X-AI-GATEWAY-SIGNATURE", s1); - httpGet.setHeader("Content-Type", "application/json"); - httpGet.setHeader("X-AI-GATEWAY-APP-ID", "2025158089"); - CloseableHttpResponse execute = httpclient1.execute(httpGet); - if (execute.getStatusLine().getStatusCode() == 200) { - // 1. 一次性读取完整响应内容(推荐使用 EntityUtils) - String responseBody = EntityUtils.toString(execute.getEntity()); - - // 2. 解析完整的 JSON 对象 - JSONObject jsonObject1 = JSONObject.parseObject(responseBody); - JSONObject result1 = jsonObject1.getJSONObject("result"); - Integer status = result1.getInteger("status"); - System.out.println(responseBody); - // 3. 检查任务状态 - if (status==2) { - System.out.println("任务完成,响应内容:"); - System.out.println(responseBody); - break;// 直接打印完整响应 - // 此处可提取 images_url 等信息 - } else { - System.out.println("任务未完成,当前状态:" + status); - } - } else { - System.out.println("HTTP请求失败,状态码:" + execute.getStatusLine().getStatusCode()); - } - if (i < 4) { - Thread.sleep(3000); - } - } - - } - - - } - private static String calculateSignature( - String httpMethod, - String httpUri, - String canonicalQueryString, - String appId, - long timestamp, // 输入为 long 类型 - String nonce, - String appKey) throws Exception { - - // 显式将 timestamp 转换为字符串 - String timestampStr = String.valueOf(timestamp); - - // 构建签名字符串(所有参数均为字符串) - String signingString = String.join("\n", - httpMethod.toUpperCase(), // POST - httpUri, // /vivogpt/completions - canonicalQueryString, // requestId=xxx - appId, // "2025158089" - timestampStr, // "1745768181"(显式转换) - "x-ai-gateway-app-id:" + appId, // 头部字段 - "x-ai-gateway-timestamp:" + timestampStr, // 使用转换后的字符串 - "x-ai-gateway-nonce:" + nonce - ); - - // 打印调试信息(确保 timestamp 为字符串形式) - System.out.println("Timestamp String: " + timestampStr); - System.out.println("Signing String:\n" + signingString); - - // 计算 HMAC-SHA256(不变) - Mac sha256Hmac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKey = new SecretKeySpec(appKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); - sha256Hmac.init(secretKey); - byte[] hashBytes = sha256Hmac.doFinal(signingString.getBytes(StandardCharsets.UTF_8)); - - return Base64.getEncoder().encodeToString(hashBytes); - } -} diff --git a/race special/server/target/classes/application-dev.yml b/race special/server/target/classes/application-dev.yml deleted file mode 100644 index 9a73c26..0000000 --- a/race special/server/target/classes/application-dev.yml +++ /dev/null @@ -1,35 +0,0 @@ -race: - deepseek: - api-key: sk-b6baa9fc68b742f780fc9b64f4635868 - api-key1: sk-d88586a4d04744c2a0fea3a0e2841aca - deep-seek-url: https://api.deepseek.com/chat/completions - tong-ying-url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /vivogpt/completions - request-url: https://api-ai.vivo.com.cn/vivogpt/completions - picture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_submit - request-url: https://api-ai.vivo.com.cn/api/v1/task_submit - querypicture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_progress - request-url: https://api-ai.vivo.com.cn/api/v1/task_progress - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - host: 10.9.29.24 - port: 3306 - database: sky_take_out - username: root - password: zhang20061023@ - redis: - host: localhost - port: 6379 - #password: 123456 - database: 0 diff --git a/race special/server/target/classes/application.yml b/race special/server/target/classes/application.yml deleted file mode 100644 index 2249ffd..0000000 --- a/race special/server/target/classes/application.yml +++ /dev/null @@ -1,67 +0,0 @@ - -server: - port: 8080 - -spring: - profiles: - active: dev - main: - allow-circular-references: true - datasource: - druid: - driver-class-name: ${race.datasource.driver-class-name} - url: jdbc:mysql://${race.datasource.host}:${race.datasource.port}/${race.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true - username: ${race.datasource.username} - password: ${race.datasource.password} - redis: - host: ${race.redis.host} - port: ${race.redis.port} - password: ${race.redis.password} - database: ${race.redis.database} -mybatis: - mapper-locations: classpath:mapper/*.xml - type-aliases-package: org.example.entity - configuration: - map-underscore-to-camel-case: true -#mapper配置文件 -logging: - level: - org: - example: - mapper: debug - service: info - controller: info -race: - jwt: - admin-ttl: 7200000000000000000 - # 设置前端传递过来的令牌名称 - user-secret-key: itheima - user-ttl: 7200000000000 - user-token-name: authentication - admin-token-name: token - admin-secret-key: itcast - deepseek: - api-key: ${sky.deepseek.api-key} - api-key1: ${sky.deepseek.api-key1} - deep-seek-url: ${sky.deepseek.deep-seek-url} - tong-ying-url: ${sky.deepseek.tong-ying-url} - app-id: ${race.deepseek.app-id} - app-key: ${race.deepseek.app-key} - http-method: ${race.deepseek.http-method} - http-url: ${race.deepseek.http-url} - request-url: ${race.deepseek.request-url} - picture: - app-id: ${race.picture.app-id} - app-key: ${race.picture.app-key} - http-method: ${race.picture.http-method} - http-url: ${race.picture.http-url} - request-url: ${race.picture.request-url} - querypicture: - app-id: ${race.querypicture.app-id} - app-key: ${race.querypicture.app-key} - http-method: ${race.querypicture.http-method} - http-url: ${race.querypicture.http-url} - request-url: ${race.querypicture.request-url} -springfox: - documentation: - enabled: false \ No newline at end of file diff --git a/race special/server/target/classes/org/example/server/ServerApplication.class b/race special/server/target/classes/org/example/server/ServerApplication.class deleted file mode 100644 index d638de37aec5f49733d7c1240e800138ab3ed3d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcma)5&2G~`5dJnz>eK{UQYe()RzfI^P<%nX1XU`LI0dLM3WuK7&eqx1-nG{2()ZyB zIDt6u06Y|8)(JF#g|Oru&EGfQ&dh%M{^cuxr`Yw;#I}b!KJMb4hx-hx&!m#}fMKP# zH(_Xw^i(jckEIf?$}AG*Ess*NbjLd8>4Y2U^o6l$XR=^;Jk}-�AgtR0M@E=fVVG zB@XjEl`*$ct0AFhTq=gG-tqX9pYtH)DhWbsq)LWWb#4;E+pKXjY`he9rl&{T@Jv`? zD9{geX=3q0I)+<+RUEh?4BKx?Wo0HNvXI36P$_LIMuc!sQ7>{w;lu&I*XAsUw6*~+ zt&X)ikx6Mp5LO}2$?^M@_GzGy^`aB;LLBke~Xdg*j%s9E;dQtB>hGu O=~*13QQ%gA+dlw&+A8?~ diff --git a/race special/server/target/classes/org/example/server/configuration/AiConfiguration.class b/race special/server/target/classes/org/example/server/configuration/AiConfiguration.class deleted file mode 100644 index f778ad8eaea50057868ae3fe5bb8839c8918ed9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1456 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 VYDBSF5M4%SmQcJ!c6-tA%1>Zu%zyv@ diff --git a/race special/server/target/classes/org/example/server/controller/user/ai.class b/race special/server/target/classes/org/example/server/controller/user/ai.class deleted file mode 100644 index 22fdbd6ea785fae3295244d1e1048ee0efb3b496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2625 zcmb_e-E$LF6#s3LcGEOKDPI;4DNtyku!?|`)?z6jl|ZrKL&UF5vP~~;cjNAc!Z^u}EU#F%khxFTs9{g!2Wx+iSQRj@NKn{|Yh8FBP6W88K=){=&9x!Q=H@@(gvrk548 z{+wrz3&%*)Y@;p`hI2-w3)X*fr9LiEE;>E?0W5prD=hP_ci%o}PsOWBs^*rrLpIXc#KL2vUv$r-MUG$AB0 z3Whr3r}Z=XSs$Bec-pAvWwiqw5{B#YV2{7AnYxwH5}stGr?bkPW4Jlf(}w*IU8ruL zs9^PfnN|=f;gJDKAXSbO)QL2i8Pl_p5`SM_rFKZqN>6m1wJn}l8n-LSIhQRFw7puX zcdn1Ql0KS_?mL?@vVKaaIH92Vkl~Hm=_9(#2+wdxdSgOlEZxgFWbwlP%VH5`Db(jg zEpczJnZ4siQcDUeU75H?Y}X@=S$Uxf>d)wAPUf9fx{y+Ww8w?5x#PMlunK)vQ&tRR z4act=T4{VtHQ*^!mS^tAAgy@_>g8xzL~!Geg5*D zsTc*WX53kCT_r9IFdwc5o1qExWOSXIwRkge0 zxuYL8{5X9x1Rv>5nZ+`UChVM(GWH8u9jY$2$gF!>Tc|}W3&9&G*B*`6?kKfYeN+|K z;+L+1mCv{YdRR!t3YR9Qez>QL{G;>vYhT3BisdTaiQy#PjbR~L6s(&5<7VOOd&Tk; z>8?*dTV1+s&Q+X>;XS-hb2Ei@KzBz8M`n9a)q`mjAH?t>K8j%(UQnUOuntL5#kgfL zsz}9<2FYue{khbEiyd%oQ&KS!Lk6R)v6=cGN}e`So`OX)qH;kp5Gj3n$70%L3~!Ka zVR1+2-14TQ*$)TXuCPXI1>Hd%S2dvu3jwUkj#!k)&OL92HJ`CiHpd8dR$6?z{#+*t z*45x|&I>ZjL$O0wm@D_}87hk+zJrw>*i2{oxNPIOREl@5K&uhLv!8%vvkBfGJe*7; z-c0aVGe0Wr4w$;@7GIXCHyv&K8EEG3LkP=d9&=WQMOX|4OE_=fcd0L9HqMfTxMmq} zT)`6>zY4$g8z-Us?5nKgC=GzBFLI0p2e1k+am5FW&KrE?zYyjOIJoHn>J%LQ1)-L3 zFzkHf$p%Dnrt@Ys^Wc{_16BT=TzMVGPu#s9FgxpQO zIw`BCBnU6q+r+&tO2V|T8Cy7OtfN8Dlq5=0{IXB)O3q&4p{=K&xOkQSaCO+~Vmo%Y zcnv!PMM+gRrxENbv)$%nqurMI_p#ttge2o^WE=y=m(WrVS9R$1J*^<{*SYR1d)tjS IX-|=Xsy^>+H{e z{`e5U0NxFw8U1x=!hnkB!gwC1_u&P+7{(xmR1Al42B%ewgz*wyRxv8&n1Xm1_2`$w zSq0}*jLYeH6&Dmtgz*YqRghq)G3_ivBw;&Q-8HWbEa(Y4n-$IwL+!9(8Qut;iN@v_ zf^j<|81^R&OHAb#Q^L8#QzmKXa+;fS+%e?3qzroVhRe|J1B+$8m@|d$3TH_;`aHKX zCdu=ro#N)X<+R9ohHYIas>$*Ju|vl&7Og@mAJE6RE6NZ zyXweZKty6vc=L8GMrj?<~H7fhFd5UM6 zd!k*CnH2?d8eYd646I#46qgxVcE)imZ-V#Z-o`t8>3UsqQd`YItGtGN`s zrQvP7L*@O5?R08Eq{(z=CEOm3!4S?0uf&?6DH_|Yd=Bh#YK! z$Yn@AIIWd*s#=*r-v#BLd%w^3_rEk)Rg8+ALybe3^Qa-Iy{pos+S)f^r>m4PY=Uk**r80(wusU#x`2%BpJ!j@pZ88XcEAaG}ijc2%e(3Ry=?s zc$!uW?F3rmU!EcvAYJo41R^yj))4#wp&H1^25P^hog!M;Kh=f?!j_25#aksrxju?c zLhhoy5TgaqO@B$^8IscEv69J$BtxW|kR}zfq;8v3BXw&C-$svAM)s{io9qdln!1nr z%j;<9UBmuJBMoba3?UZ!T4f(5!G;QF} Y_Xxt<8 diff --git a/race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class b/race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class deleted file mode 100644 index 08d9e2a1659301c3081c321fc1d476923294098a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2979 zcmb7GS#uOs6#jZLlb%dE5)!sx*pwv+ODiBtf=Gy9HXtS;2(F!(n@J}#-9yivEFuc- z2&jk)qE_jHRhGqzXoUnzEnoc~k@8Qd-<_T$osgLF<#zYE=YHpWXS@B!-*b zO7T2iP~sP3cnOw{-Y9mJB94SI!_xwNF(lC+g{@%gLI3R$RK?sA)|fFdK8y9kxA@ zAZ+mg+p*$YeuPbO}qdMwXY-vwb<_S-bSe-?+V z@P>qE+Kv=nTx4imap`skh0~Zw+fK{O2JM$*Jke}931uTu(>`DgStF)`NC|27OPMj7 zxpeu0PH{FTva(@OwQPoQ5x$<8vYe!OqIW>VWkc;5QjVuAJ59e=wcD;akaeA5(JPgI zW>bELZbd{o(~{6oo;T$~w7X7{TOl!`VR=A)WJJ+qCb+44zKa^REb64sMMKmRzP}n4 z4?uw#E%oQ4=Bd=EsLi5D0(nBSH@l=N5PDhGC9U}2F)NeLqmHvWJROWkY?=!{%8v=z z?gFxbEJ1}UM>E1~a??ziaAbpl z8r15L267nEuyTf*@BZPOok|GOj^4Zb+r95D+X(~17|}6m;ANaM@Cwc=$*Trl!v!4| z4ZMywG;GT^@;!ScROVckx&*yAlBR1)H)4*G}VBl@MW8fh?tifRW{`vJce|>+Y z{@i&T?;5y-_Y7QCmaZ7Miuc*l%F50d}QD{KGyMx zflu)n13&r8^~ptn z;7D!NP+ij+)S7E1DqUZsVK!XB#i`uSCdU3(r7Tkpna@XzvwUN)Fc!L5G%TgJ`N5nY z(Z|{AoXV6nld|fw&GW(E7dI8Ke9Z)|J6dD@vS5%+{_6QjKO zf;@84PGwayo#YFLK*sX2qV-g_hJ*iYq!7;9g=hYX`ELW}k&s57*(ZJ266Ks>M}2( z5+}XPadL-iT9jzz+#DVCe-HeW`+q5Hre1Nb{nvPzf9|)@fpHuH6Qsq z7E+Uwvdw%i=5q_5MSOCobFJf-$*0C=r0x#1ANUf&R<24JSb=R^4POD?Bl8Z7(xSY zr~`SzorqFrBOaxGgqoE+vzs9qLMcz}p^TIZ;ZSdTiJ`)EkvR1Xpn7W{RuOgE@Hh@K zOixf+jnI~V(2j_XwK@*zXwBCXVLU?LA^Uc7&>rF<@ diff --git a/race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class b/race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class deleted file mode 100644 index 3701ca3435e99e8282c2b2c4935c6372ed62597e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3033 zcmai0`EwLS6#iz9%w{tY2yz6KOCX29cz|MpC`6FN0Fi_!h{t5NvzcUfW|{3JiHIVK ziUbAm#i$95;kjAiNn7MJtSK;wAuE$j3o|=;VzveOC|J8U z??^i%y6v3ZlNMVY$CZ|}U56l>d`(%;c2d2bl@WukH(>S%%gLF&RzkYouxU*Sm|OGG z9ke}>By7cI+p*;q+Fakzts&ClCWVGM?Y1L!=QBOR>$0e=;7r0wcUzvV_C;bu_SsZ_ zPni!n;T;y9X**JQ36Z68GQ@Yxd_{XHfJ= zWtrJhI8gz~(}vchhPee@K1RFiq<9t*LmCzY=-Y>sJ4^x(bbZk`$3VXLGqx<0Mzl{p$3XROB@;e;!Pv%+j~Gt854WV3-r z+@a&Jfk801i>CbXP2QHb(@8;BW7mHA?b=tT?4*HVJg4J`f#-45zzcX$QH~jS3CDH3 zY~U4~(6F}9d(%3C**57F{WJZ_^L%d&tU;ZQR}H+TFkUxs5^oq-h1D9C{`KwUtKS`; zxbWkZv2U(^d~ssr#Kf7e+aB+_^7DmjCr5OgGBAP@I!+sS6K`oS*x^?{|Kjh9BTYwW z-w4haIICdaHgFE_u;rC$rH)UqT&3km)gyilwiGEk-Zk(Z-q-Pgfe-PKj`IdS#wX0t z#4qP2PM)4P`@zKJFYV-!qZ;N<#ceX18tw{eQmr*>U+VbOz-RcJN~RF~4$^S!r&_-Z$IoavX_!@!;q-CyoSVhgVsCb^TqXI1l~FxuWwXLzPpx|TptARsg#VSgj7?2W3f%ct@Uj|uIXxG()CFi%HfJ8 zmhw~X7#msDr%XHad?v>@k5>gVc%$2ae$rYsTnkfnH#=9uYL&lP2P(%fMRzhXs>jyM zWW{yiRdFp;Lf~fO&0#yeE+J-9Tbg&3Il%;5GS3MUsc%)6Pu&da1KLZ2oSY?pJ4M11 z@=-C&`!N`)ytLCf)l&QT!`YFwyqsXqYS{AsI*JKvxbgk4aORtXmBK(y3t`FP>z&YW z(^P+{+l9q&*h=Tco?a$>1{;IrSG$tmCSffrVJl)$kd}dM9@rZMd5t6xMnXflk`_ z?-BYL;r*8psfmuFVhs8yVxy=WMSK)h>wbsv5u%YxcQpQp>QUS@jyWMTMQS5|VDa~u zTQhGQH6g5>r=1f`J<(;st5SqP+k!Ka9HXusQ`PfLT3i4FpK4L^waEgIb zfAr lbeu^Te~9u2k84~r?BdBa_6GVg(`84I4XJy{csA44oEqhlumIbi4PPM25r|) P0}T5)!noZ*dkKIKoUAzT diff --git a/race special/server/target/classes/org/example/server/service/AiService.class b/race special/server/target/classes/org/example/server/service/AiService.class deleted file mode 100644 index ff710713c2a8f5f4e3295d2c7ef985c1b82b3f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmZXPJ#NB45QX2^24j*~NL+ye8n#IhDOHLfMG8tJpI|W~v&h(Fcd>jn3J#D%MHy4z zf@Wskn@{ue`**$oct#rIA;u$N^mAh8O4Csz%hmg4kwB%TV|tekyJYtj zR})xknMe&f%4&a~1oQ4tbNTu?-3i%aveG*p5jQY7Y3_;(E`LcW@w!=dt#zc1l^m$J zFWb(mZ!AXk7DEEXHYEv@yy3r-N1#17DYr=3c?rcP|J#Mm5#wC=?2(cVur;J@x89e`(7Y&8Q%^G;$J)+17 z>|BVR)D@`Ckkf_**5|?Vd&Gn5lN*m3+q{eg@Cxu3c_myt}W(<{#VQZW< mVeq_HacxpzjZXotGcM1O8(8O4G2jGnAy2lE+0AJWH-UdPiQY>9 diff --git a/race special/server/target/classes/org/example/server/websocket/WebSocketServer.class b/race special/server/target/classes/org/example/server/websocket/WebSocketServer.class deleted file mode 100644 index 15072fe0dbc7f900e3301ffba149981325f0c5ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3031 zcmb7G+iw(Q6#q@T+u6%Nq0rKT7kUv&DXb{hwp`j31nEr{i{N#-9onI@GwaN3TSQb8 z1vT->7fCeHgpf!gf=Nlih|j+JA4uWNM-vjo-#0URV_S_)_M7?6cP_tk&hI;&U;n=K zGk~r5G=?=e97R6{WDLeojl&TPiRW+xFN)`p7*aSI#cI41#|Vx^@Nxvl#p?;Nyb?zr zUX3G(*TnL=j5p#~fj8q&F)AY+Lj%TSXfZV6u#A&3#wElY&2ePCWsZVAzpK5nXR&ekOKl%ED$Lp8?}Dc9D`@orCHCNZszI#zm8a}z1wdG{W=s_D^9 z-Q6Rhx_!flgiz8Nqtn`c-P8tinNiI?s*W0z)b(3w)fiE2UF-v4$eqv~37h*Zdpx1d zsF|#xB^=G3((ICO$F$Lu7dYjeh@h4^l+{dHwl50KPpdQ!flm$!BcW+gOXlL}V*;{Q zw^A1pmJMj`gf%v-+G<8~HJk98j^s>N&uAmMqcgW&)3jXGW%YU1SP^B&gU%#c%FPNM z%j{b!?1S7`|hVl*>MYhbO zVL9|&S-K(rh+4IdW{w@TdJQ9K=$h$Ds9ykyh%3=keF>!fGifa=%0@4dpiQh`gRkPT zH)$D$mJW0p${BS!n`hOQ1ucAHFGk}fDOXKT@^*O4lrbSgmvM?ndeTO~@L0;q*=g;7 zF8I9i5ms&%T#?Y>QQ66gi*r&?WZJSP6Ap=@SuPx#Fa9w9)#dvazAJUa(Q@z7 z`QPt+Gk@+Hjixc9;56P=a0c%vIE!}`yodJ#TniLi!8x3l@v(vn=#sFa2*1#N1sBmQ zVYzqYwf&&#On8&5^Z(2V-qoV_q0v($4%=4rS|k&%dQp6cy;5C^6)Z9LCtQ{ToqpdPhlN* zoHb}i$TQCJo1>btjvJ`Djq2k!5vmK%qNbC-I+@EXBD09zK&*4)9OBhDR*bOJvs_D9 z&DcP1BGOvlTM&tUdD7uU@4!ZM68hl$=0q|j_41KyXFGS4Ac+@{#0#~Gmm_(!Ry!9(vI|{AAXxDypEZ2$C6YPR zN*ExXWfBHA&0)EOFVW7IItjmEMOUaPG>4TE*x~vrTtTcW+(Z(ry7KV1>#R&0yRnrY zmLXOMbROZl3sHt@!)~7K130BU#?`BVvLhl9!WzR~p&61C&+ad5@O0d^^bfA!?C}FW^INV%(_s2p`l$ F{{iNG_A&qf diff --git a/race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class b/race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class deleted file mode 100644 index 8de2a1670c7608203015df64b0ad3f0e6385a3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11351 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 Date: Sat, 3 May 2025 22:45:20 +0800 Subject: [PATCH 2/8] vue --- .gitignore | 30 + .vscode/extensions.json | 3 + README.md | 3 +- auto-imports.d.ts | 11 + components.d.ts | 61 + env.d.ts | 1 + index.html | 13 + package-lock.json | 4439 ++++++++++++++++++++++++++++++++++ package.json | 35 + public/favicon.ico | Bin 0 -> 4286 bytes src/@types/request.d.ts | 4 + src/App.vue | 14 + src/api/index.ts | 0 src/api/interface/index.ts | 0 src/api/user/index.ts | 16 + src/api/user/type.ts | 12 + src/assets/base.css | 0 src/assets/logo.svg | 1 + src/assets/main.css | 0 src/components/vaildCode.vue | 79 + src/main.ts | 23 + src/router/index.ts | 28 + src/shims-vue.d.ts | 5 + src/stores/counter.ts | 12 + src/utils/index.ts | 13 + src/utils/request.ts | 60 + src/views/home.vue | 3 + src/views/login/index.vue | 164 ++ src/views/register/index.vue | 148 ++ tsconfig.app.json | 12 + tsconfig.json | 11 + tsconfig.node.json | 19 + vite.config.ts | 27 + 33 files changed, 5245 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 auto-imports.d.ts create mode 100644 components.d.ts create mode 100644 env.d.ts create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/@types/request.d.ts create mode 100644 src/App.vue create mode 100644 src/api/index.ts create mode 100644 src/api/interface/index.ts create mode 100644 src/api/user/index.ts create mode 100644 src/api/user/type.ts create mode 100644 src/assets/base.css create mode 100644 src/assets/logo.svg create mode 100644 src/assets/main.css create mode 100644 src/components/vaildCode.vue create mode 100644 src/main.ts create mode 100644 src/router/index.ts create mode 100644 src/shims-vue.d.ts create mode 100644 src/stores/counter.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/request.ts create mode 100644 src/views/home.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/register/index.vue create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md index 51f241a..8b13789 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# race -aigc代码 + diff --git a/auto-imports.d.ts b/auto-imports.d.ts new file mode 100644 index 0000000..bc57d8c --- /dev/null +++ b/auto-imports.d.ts @@ -0,0 +1,11 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +// biome-ignore lint: disable +export {} +declare global { + const ElMenu: typeof import('element-plus/es')['ElMenu'] + const ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] +} diff --git a/components.d.ts b/components.d.ts new file mode 100644 index 0000000..13b8414 --- /dev/null +++ b/components.d.ts @@ -0,0 +1,61 @@ +/* eslint-disable */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +// biome-ignore lint: disable +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + ElAside: typeof import('element-plus/es')['ElAside'] + ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] + ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCarousel: typeof import('element-plus/es')['ElCarousel'] + ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElSegmented: typeof import('element-plus/es')['ElSegmented'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] + ElSubmenu: typeof import('element-plus/es')['ElSubmenu'] + ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElText: typeof import('element-plus/es')['ElText'] + ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] + HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] + IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] + IconDocumentation: typeof import('./src/components/icons/IconDocumentation.vue')['default'] + IconEcosystem: typeof import('./src/components/icons/IconEcosystem.vue')['default'] + IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default'] + IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + TheWelcome: typeof import('./src/components/TheWelcome.vue')['default'] + VaildCode: typeof import('./src/components/vaildCode.vue')['default'] + WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default'] + } +} diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/index.html b/index.html new file mode 100644 index 0000000..872ab31 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..faa9784 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4439 @@ +{ + "name": "vivo-aigc", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vivo-aigc", + "version": "0.0.0", + "dependencies": { + "axios": "^1.9.0", + "element-plus": "^2.9.9", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/axios": "^0.9.36", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "less": "^4.3.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "unplugin-auto-import": "^19.1.2", + "unplugin-vue-components": "^28.5.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.27.1.tgz", + "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", + "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", + "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", + "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.1.tgz", + "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.1.tgz", + "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.27.1.tgz", + "integrity": "sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz", + "integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.1.tgz", + "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.1.tgz", + "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", + "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.3.tgz", + "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", + "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.3.tgz", + "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", + "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", + "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", + "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", + "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", + "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", + "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", + "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", + "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", + "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", + "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", + "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", + "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", + "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", + "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", + "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", + "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", + "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", + "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", + "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", + "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.0.tgz", + "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.0.tgz", + "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", + "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", + "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", + "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", + "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", + "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", + "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", + "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", + "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", + "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", + "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", + "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", + "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", + "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", + "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", + "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", + "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", + "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", + "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", + "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", + "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.1", + "resolved": "https://registry.npmmirror.com/@tsconfig/node22/-/node22-22.0.1.tgz", + "integrity": "sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/axios": { + "version": "0.9.36", + "resolved": "https://registry.npmmirror.com/@types/axios/-/axios-0.9.36.tgz", + "integrity": "sha512-NLOpedx9o+rxo/X5ChbdiX6mS1atE4WHmEEIcR9NLenRVa5HoVjAvjafwU3FPTqnZEstpoqCaW7fagqSoTDNeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.16", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.15.3", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.15.3.tgz", + "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.13.tgz", + "integrity": "sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.13" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.13.tgz", + "integrity": "sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.13.tgz", + "integrity": "sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.13", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.6.tgz", + "integrity": "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6" + } + }, + "node_modules/@vue/devtools-core": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.7.6.tgz", + "integrity": "sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6", + "@vue/devtools-shared": "^7.7.6", + "mitt": "^3.0.1", + "nanoid": "^5.1.0", + "pathe": "^2.0.3", + "vite-hot-client": "^2.0.4" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.6.tgz", + "integrity": "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.6", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.6.tgz", + "integrity": "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.10", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.2.10.tgz", + "integrity": "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/birpc": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz", + "integrity": "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001716", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", + "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.149", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", + "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.9.9", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz", + "integrity": "sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.3.tgz", + "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.3", + "@esbuild/android-arm": "0.25.3", + "@esbuild/android-arm64": "0.25.3", + "@esbuild/android-x64": "0.25.3", + "@esbuild/darwin-arm64": "0.25.3", + "@esbuild/darwin-x64": "0.25.3", + "@esbuild/freebsd-arm64": "0.25.3", + "@esbuild/freebsd-x64": "0.25.3", + "@esbuild/linux-arm": "0.25.3", + "@esbuild/linux-arm64": "0.25.3", + "@esbuild/linux-ia32": "0.25.3", + "@esbuild/linux-loong64": "0.25.3", + "@esbuild/linux-mips64el": "0.25.3", + "@esbuild/linux-ppc64": "0.25.3", + "@esbuild/linux-riscv64": "0.25.3", + "@esbuild/linux-s390x": "0.25.3", + "@esbuild/linux-x64": "0.25.3", + "@esbuild/netbsd-arm64": "0.25.3", + "@esbuild/netbsd-x64": "0.25.3", + "@esbuild/openbsd-arm64": "0.25.3", + "@esbuild/openbsd-x64": "0.25.3", + "@esbuild/sunos-x64": "0.25.3", + "@esbuild/win32-arm64": "0.25.3", + "@esbuild/win32-ia32": "0.25.3", + "@esbuild/win32-x64": "0.25.3" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmmirror.com/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exsolve": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.5.tgz", + "integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/less": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/less/-/less-4.3.0.tgz", + "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less/node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/less/node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-all2/-/npm-run-all2-7.0.2.tgz", + "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0", + "npm": ">= 9" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmmirror.com/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.2.tgz", + "integrity": "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.1.tgz", + "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.1", + "@rollup/rollup-android-arm64": "4.40.1", + "@rollup/rollup-darwin-arm64": "4.40.1", + "@rollup/rollup-darwin-x64": "4.40.1", + "@rollup/rollup-freebsd-arm64": "4.40.1", + "@rollup/rollup-freebsd-x64": "4.40.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", + "@rollup/rollup-linux-arm-musleabihf": "4.40.1", + "@rollup/rollup-linux-arm64-gnu": "4.40.1", + "@rollup/rollup-linux-arm64-musl": "4.40.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-musl": "4.40.1", + "@rollup/rollup-linux-s390x-gnu": "4.40.1", + "@rollup/rollup-linux-x64-gnu": "4.40.1", + "@rollup/rollup-linux-x64-musl": "4.40.1", + "@rollup/rollup-win32-arm64-msvc": "4.40.1", + "@rollup/rollup-win32-ia32-msvc": "4.40.1", + "@rollup/rollup-win32-x64-msvc": "4.40.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-4.2.0.tgz", + "integrity": "sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.12", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.3.2.tgz", + "integrity": "sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "picomatch": "^4.0.2", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "19.1.2", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-19.1.2.tgz", + "integrity": "sha512-EkxNIJm4ZPYtV7rRaPBKnsscgTaifIZNrJF5DkMffTxkUOJOlJuKVypA6YBSBOjzPJDTFPjfVmCQPoBuOO+YYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "picomatch": "^4.0.2", + "unimport": "^4.1.2", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-vue-components": { + "version": "28.5.0", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-28.5.0.tgz", + "integrity": "sha512-o7fMKU/uI8NiP+E0W62zoduuguWqB0obTfHFtbr1AP2uo2lhUPnPttWUE92yesdiYfo9/0hxIrj38FMc1eaySg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "debug": "^4.4.0", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "tinyglobby": "^0.2.12", + "unplugin": "^2.3.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.3.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.3.4.tgz", + "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/vite-hot-client/-/vite-hot-client-2.0.4.tgz", + "integrity": "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmmirror.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.6.tgz", + "integrity": "sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.7.6", + "@vue/devtools-kit": "^7.7.6", + "@vue/devtools-shared": "^7.7.6", + "execa": "^9.5.2", + "sirv": "^3.0.1", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", + "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "2.2.10", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.2.10.tgz", + "integrity": "sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.10" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1fdbd5e --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "vivo-aigc", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build" + }, + "dependencies": { + "axios": "^1.9.0", + "element-plus": "^2.9.9", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/axios": "^0.9.36", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "less": "^4.3.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "unplugin-auto-import": "^19.1.2", + "unplugin-vue-components": "^28.5.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/src/@types/request.d.ts b/src/@types/request.d.ts new file mode 100644 index 0000000..36db081 --- /dev/null +++ b/src/@types/request.d.ts @@ -0,0 +1,4 @@ +declare module "@/utils/request" { + const request: any; // 如果你知道具体类型,可以替换 `any` + export default request; +} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..38cd007 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/api/interface/index.ts b/src/api/interface/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/api/user/index.ts b/src/api/user/index.ts new file mode 100644 index 0000000..8e8b11e --- /dev/null +++ b/src/api/user/index.ts @@ -0,0 +1,16 @@ +//用户相关接口 +import request from "@/utils/request"; +import { type loginForm ,type userResponseData} from '@/api/user/type'; + +//统一管理接口 +enum API{ + LOGIN_URL = "/user/login", + REGISTER_URL = "/user/register" +} +//对外暴露请求函数 + +//登录接口方法 +export const reqLogin = (data: loginForm) => request.post(API.LOGIN_URL, data) as Promise; + +//注册用户信息接口方法 +export const reqRegiter = (data: loginForm) => request.post(API.REGISTER_URL, data) as Promise; \ No newline at end of file diff --git a/src/api/user/type.ts b/src/api/user/type.ts new file mode 100644 index 0000000..3bd0df0 --- /dev/null +++ b/src/api/user/type.ts @@ -0,0 +1,12 @@ +//登录接口参数 +export interface loginForm{ + username:string, + password:string + email: string, +} + +//登录,注册返回数据类型 +export interface userResponseData { + code:number, + message:string +} \ No newline at end of file diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 0000000..e69de29 diff --git a/src/components/vaildCode.vue b/src/components/vaildCode.vue new file mode 100644 index 0000000..72d7917 --- /dev/null +++ b/src/components/vaildCode.vue @@ -0,0 +1,79 @@ + + + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..7bb1572 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,23 @@ +import './assets/main.css' + +import { createApp } from 'vue' +import { createPinia } from 'pinia' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +app.use(createPinia()) +app.use(router) + +app.mount('#app') + + +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' + + + +app.use(ElementPlus) + diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..dd03598 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,28 @@ +import { createRouter, createWebHistory } from 'vue-router' +import Login from '@/views/login/index.vue' +import Register from '@/views/register/index.vue' +import Home from '@/views/home.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: Home, + }, + { + path: '/login', + name: 'login', + component: Login, + }, + { + path: '/register', + name: 'register', + component: Register, + }, + + ] +}) + +export default router diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..e8fe42a --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/src/stores/counter.ts b/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..d85cb47 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,13 @@ +/** + * @description 获取当前时间对应的提示语 + * @returns {String} + */ +export function getTimeState() { + let timeNow = new Date(); + let hours = timeNow.getHours(); + if (hours >= 6 && hours <= 10) return `早上好 ⛅`; + if (hours >= 10 && hours <= 14) return `中午好 🌞`; + if (hours >= 14 && hours <= 18) return `下午好 🌞`; + if (hours >= 18 && hours <= 24) return `晚上好 🌛`; + if (hours >= 0 && hours <= 6) return `凌晨好 🌛`; + } \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..49ade8c --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,60 @@ +//axios二次封装,请求与响应拦截器 + +import axios from 'axios' +import { ElMessage } from 'element-plus'; + +//利用axios对象create方法,创建axios实例,方便配置其他设置 +let request = axios.create({ + //基础路径 + // baseURL: `${import.meta.env.VITE_API_URL}`, + baseURL: "localhost:8080", + timeout: 5000 +}); + +//添加请求与响应拦截器 +request.interceptors.request.use((config) => { + //config配置对象有headers属性请求头,配置一些公共参数 + //返回配置对象 + return config; +}) + +//添加响应拦截器 +request.interceptors.response.use( + //成功的回调 + (response) => { + //简化数据 + return response.data; + }, + //失败的回调 + (error) => { + //处理http网络错误 + //存储错误信息 + let message = ''; + let status = error.response.state; + switch (status) { + case 401: + message = 'TOKEN过期' + break; + case 403: + message = '无权访问' + break; + case 404: + message = '请求地址错误' + break; + case 500: + message = '服务器出问题' + break; + default: + message = '网络出问题了' + } + ElMessage({ + type:'error', + message, + grouping: true, + }); + + return Promise.reject(error) + }) + + //对外暴露 + export default request; \ No newline at end of file diff --git a/src/views/home.vue b/src/views/home.vue new file mode 100644 index 0000000..f851824 --- /dev/null +++ b/src/views/home.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..539b157 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,164 @@ + + + + + + \ No newline at end of file diff --git a/src/views/register/index.vue b/src/views/register/index.vue new file mode 100644 index 0000000..1a6f56c --- /dev/null +++ b/src/views/register/index.vue @@ -0,0 +1,148 @@ + + + + + + \ No newline at end of file diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..f599fa1 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "auto-imports.d.ts"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..f69c120 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,27 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +}) From 4789ca39c438c41bddf5d3a0462a816870b8349c Mon Sep 17 00:00:00 2001 From: IHIRINA <2582067027@qq.com> Date: Sat, 3 May 2025 23:22:23 +0800 Subject: [PATCH 3/8] update --- src/utils/request.ts | 32 +++++++++++++++++--------------- src/views/register/index.vue | 28 +++++++++++++++++----------- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index 49ade8c..e05b30c 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -7,7 +7,7 @@ import { ElMessage } from 'element-plus'; let request = axios.create({ //基础路径 // baseURL: `${import.meta.env.VITE_API_URL}`, - baseURL: "localhost:8080", + baseURL: "http://localhost:8080", timeout: 5000 }); @@ -27,34 +27,36 @@ request.interceptors.response.use( }, //失败的回调 (error) => { - //处理http网络错误 - //存储错误信息 + // 处理 http 网络错误 + // 存储错误信息 let message = ''; - let status = error.response.state; + // 修正为使用 status 获取响应状态码 + let status = error.response? error.response.status : null; switch (status) { case 401: - message = 'TOKEN过期' + message = 'TOKEN 过期'; break; case 403: - message = '无权访问' + message = '无权访问'; break; case 404: - message = '请求地址错误' + message = '请求地址错误'; break; case 500: - message = '服务器出问题' + message = '服务器出问题'; break; default: - message = '网络出问题了' + message = '网络出问题了'; } + // 假设 ElMessage 是一个消息提示组件 ElMessage({ - type:'error', + type: 'error', message, grouping: true, }); - - return Promise.reject(error) + + return Promise.reject(error); }) - - //对外暴露 - export default request; \ No newline at end of file + + // 对外暴露 +export default request; \ No newline at end of file diff --git a/src/views/register/index.vue b/src/views/register/index.vue index 1a6f56c..fc48eed 100644 --- a/src/views/register/index.vue +++ b/src/views/register/index.vue @@ -109,18 +109,24 @@ const registerHandler = async () => { try { const response = await request.post('/user/register', ruleForm); - if (response.code === 200) { - localStorage.setItem('token', response.data.token) - alert('注册成功,请登录') - router.push('/login') - } else { - alert(response.msg) + if (response) { + if (response.code === 200) { + localStorage.setItem('token', response.data.token); + alert('注册成功,请登录'); + this.$router.push('/login'); + } else { + alert(response.msg); + } + } else { + console.error('未收到有效的响应'); + alert('注册失败,请重试'); + } + } catch (error) { + console.error('注册失败:', error); + alert('注册失败,请重试'); + } } - } catch (error) { - console.error('注册失败:', error); - alert('注册失败,请重试'); - } -} + \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 539b157..e371ffd 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -1,7 +1,7 @@ \ No newline at end of file From f873f58ac2aa0e9dea016f5262fc9e616c4a7fab Mon Sep 17 00:00:00 2001 From: IHIRINA <2582067027@qq.com> Date: Sat, 17 May 2025 17:39:45 +0800 Subject: [PATCH 7/8] home --- package.json | 2 +- src/router/index.ts | 30 +++++++ src/views/ask/chatAi.vue | 165 ++++++++++++++++++++++++++++++++++++++ src/views/ask/musicAi.vue | 154 +++++++++++++++++++++++++++++++++++ src/views/ask/tableAi.vue | 162 +++++++++++++++++++++++++++++++++++++ src/views/home.vue | 68 +++++++++++----- src/views/login/index.vue | 2 +- src/views/myself/my.vue | 121 ++++++++++++++++++++++++++++ src/views/myself/used.vue | 119 +++++++++++++++++++++++++++ src/views/table/index.vue | 23 +++--- 10 files changed, 812 insertions(+), 34 deletions(-) create mode 100644 src/views/ask/chatAi.vue create mode 100644 src/views/ask/musicAi.vue create mode 100644 src/views/ask/tableAi.vue create mode 100644 src/views/myself/my.vue create mode 100644 src/views/myself/used.vue diff --git a/package.json b/package.json index 60daafc..5423c0e 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@tsconfig/node22": "^22.0.1", "@types/axios": "^0.9.36", - "@types/echarts": "^4.9.22", + "@types/echarts": "^4.9.22", "@types/node": "^22.14.0", "@vitejs/plugin-vue": "^5.2.3", "@vue/tsconfig": "^0.7.0", diff --git a/src/router/index.ts b/src/router/index.ts index 66be941..beaa195 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -3,6 +3,11 @@ import Login from '@/views/login/index.vue' import Register from '@/views/register/index.vue' import Home from '@/views/home.vue' import Table from '@/views/table/index.vue' +import TableAi from '@/views/ask/tableAi.vue' +import ChatAi from '@/views/ask/chatAi.vue' +import MusicAi from '@/views/ask/musicAi.vue' +import My from '@/views/myself/my.vue' +import Used from '@/views/myself/used.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -26,6 +31,31 @@ const router = createRouter({ path: '/table', name: 'table', component: Table, + }, + { + path: '/tableAi', + name: 'tableAi', + component: TableAi, + }, + { + path: '/chatAi', + name: 'chatAi', + component: ChatAi, + }, + { + path: '/musicAi', + name: 'musicAi', + component: MusicAi, + }, + { + path: '/my', + name: 'my', + component: My, + }, + { + path: '/used', + name: 'used', + component: Used, } ] }) diff --git a/src/views/ask/chatAi.vue b/src/views/ask/chatAi.vue new file mode 100644 index 0000000..0188327 --- /dev/null +++ b/src/views/ask/chatAi.vue @@ -0,0 +1,165 @@ + + + + + \ No newline at end of file diff --git a/src/views/ask/musicAi.vue b/src/views/ask/musicAi.vue new file mode 100644 index 0000000..fd0ceb7 --- /dev/null +++ b/src/views/ask/musicAi.vue @@ -0,0 +1,154 @@ + + + + + \ No newline at end of file diff --git a/src/views/ask/tableAi.vue b/src/views/ask/tableAi.vue new file mode 100644 index 0000000..7689a8b --- /dev/null +++ b/src/views/ask/tableAi.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/views/home.vue b/src/views/home.vue index b642de8..5b45a5a 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -10,37 +10,38 @@ 收缩侧边栏 - + - 蓝心小V - AI原子能力 - AI语音研究实验室 + 蓝心小V + AI原子能力 + AI语音研究实验室 - + - + - 个人信息 - 使用情况 + 个人信息 + 使用情况 @@ -64,17 +65,16 @@ -
-
- -
- - - -
- -
-
+ + +

{{ key }}

+
+
@@ -88,8 +88,9 @@ \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue index caab0d3..50a6d63 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -124,7 +124,7 @@ const loginHandler = async () => { const response: userResponseData = await reqLogin(loginData); if (response.code === 200) { // 验证验证码 - router.push('/home') + router.push('/') console.log(response.message) } else { alert('用户名或密码错误'); diff --git a/src/views/myself/my.vue b/src/views/myself/my.vue new file mode 100644 index 0000000..9dab16b --- /dev/null +++ b/src/views/myself/my.vue @@ -0,0 +1,121 @@ + + + + + \ No newline at end of file diff --git a/src/views/myself/used.vue b/src/views/myself/used.vue new file mode 100644 index 0000000..365a84c --- /dev/null +++ b/src/views/myself/used.vue @@ -0,0 +1,119 @@ + + + + + \ No newline at end of file diff --git a/src/views/table/index.vue b/src/views/table/index.vue index ef98f35..184f539 100644 --- a/src/views/table/index.vue +++ b/src/views/table/index.vue @@ -4,43 +4,44 @@ - + 打开侧边栏 收缩侧边栏 - + - 蓝心小V - AI原子能力 - AI语音研究实验室 + 蓝心小V + AI原子能力 + AI语音研究实验室 - + - + - 个人信息 - 使用情况 + 个人信息 + 使用情况 @@ -79,7 +80,7 @@ import { nextTick, onMounted, ref } from 'vue' import { getTimeState } from '@/utils/index' import * as echarts from 'echarts' - const isCollapse = ref(true) + const isCollapse = ref(false) const handleOpen = (key: string, keyPath: string[]) => { console.log(key, keyPath) } From f2354bf4ba1cd6f7528c6f5f44dc2070e0977729 Mon Sep 17 00:00:00 2001 From: IHIRINA <2582067027@qq.com> Date: Tue, 27 May 2025 14:39:55 +0800 Subject: [PATCH 8/8] aichat --- components.d.ts | 1 + src/api/interface/index.ts | 9 ++ src/api/interface/type.ts | 9 ++ src/api/user/index.ts | 2 +- src/api/user/type.ts | 2 +- src/components/charts.vue | 163 +++++++++++++++++++++++++++++++++++++ src/utils/index.ts | 2 +- src/views/ask/chatAi.vue | 80 +++++++++++++----- 8 files changed, 246 insertions(+), 22 deletions(-) create mode 100644 src/api/interface/type.ts create mode 100644 src/components/charts.vue diff --git a/components.d.ts b/components.d.ts index 74c199e..73ded34 100644 --- a/components.d.ts +++ b/components.d.ts @@ -8,6 +8,7 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + Charts: typeof import('./src/components/charts.vue')['default'] ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] diff --git a/src/api/interface/index.ts b/src/api/interface/index.ts index e69de29..9486dbf 100644 --- a/src/api/interface/index.ts +++ b/src/api/interface/index.ts @@ -0,0 +1,9 @@ +import request from "@/utils/request" +import { type aiChatForm , type aiResponseData} from '@/api/interface/type' + +enum API { + AICHAT_URL = "/questionSimple" +} +//对外暴露请求函数 + +export const reqAiChat = (data: aiChatForm) => request.post(API.AICHAT_URL, data) as Promise; \ No newline at end of file diff --git a/src/api/interface/type.ts b/src/api/interface/type.ts new file mode 100644 index 0000000..4a09cf2 --- /dev/null +++ b/src/api/interface/type.ts @@ -0,0 +1,9 @@ +//AI接口参数 +export interface aiChatForm { + answer: string; +} + +export interface aiResponseData { + code:number, + Respond:string +} \ No newline at end of file diff --git a/src/api/user/index.ts b/src/api/user/index.ts index 8e8b11e..034336c 100644 --- a/src/api/user/index.ts +++ b/src/api/user/index.ts @@ -4,7 +4,7 @@ import { type loginForm ,type userResponseData} from '@/api/user/type'; //统一管理接口 enum API{ - LOGIN_URL = "/user/login", + LOGIN_URL = "/login", REGISTER_URL = "/user/register" } //对外暴露请求函数 diff --git a/src/api/user/type.ts b/src/api/user/type.ts index 3bd0df0..6fc5e77 100644 --- a/src/api/user/type.ts +++ b/src/api/user/type.ts @@ -8,5 +8,5 @@ export interface loginForm{ //登录,注册返回数据类型 export interface userResponseData { code:number, - message:string + msg:string } \ No newline at end of file diff --git a/src/components/charts.vue b/src/components/charts.vue new file mode 100644 index 0000000..fbf071e --- /dev/null +++ b/src/components/charts.vue @@ -0,0 +1,163 @@ + + + + + + diff --git a/src/utils/index.ts b/src/utils/index.ts index d85cb47..19ed654 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -10,4 +10,4 @@ export function getTimeState() { if (hours >= 14 && hours <= 18) return `下午好 🌞`; if (hours >= 18 && hours <= 24) return `晚上好 🌛`; if (hours >= 0 && hours <= 6) return `凌晨好 🌛`; - } \ No newline at end of file +} \ No newline at end of file diff --git a/src/views/ask/chatAi.vue b/src/views/ask/chatAi.vue index 0188327..4e1c891 100644 --- a/src/views/ask/chatAi.vue +++ b/src/views/ask/chatAi.vue @@ -68,12 +68,21 @@
-
- +
+ + +

{{ userThing }}

+
+ user +
+
+ +
+ + AI -

{{ 'List item ' + o }}

+

{{ backThing }}

- user
@@ -105,20 +114,25 @@