mirror of
				https://github.com/continew-org/continew-starter.git
				synced 2025-10-31 10:57:15 +08:00 
			
		
		
		
	refactor(license): 优化 License 模块部分代码
This commit is contained in:
		| @@ -16,12 +16,229 @@ | |||||||
|  |  | ||||||
|     <dependencyManagement> |     <dependencyManagement> | ||||||
|         <dependencies> |         <dependencies> | ||||||
|             <!-- 扩展模块 - CRUD - 核心模块 --> |             <!-- 核心模块 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-extension-crud-core</artifactId> |                 <artifactId>continew-starter-core</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- JSON 模块 - Jackson --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-json-jackson</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- API 文档模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-api-doc</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- Web 模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-web</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 认证模块 - SaToken --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-auth-satoken</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 认证模块 - JustAuth --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-auth-justauth</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 数据访问模块 - MyBatis Plus --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-data-mp</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 数据访问模块 - MyBatis Flex --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-data-mf</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 数据访问模块 - 核心模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-data-core</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 缓存模块 - Redisson --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-cache-redisson</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 缓存模块 - Spring Cache --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-cache-springcache</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 缓存模块 - JetCache --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-cache-jetcache</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 安全模块 - 密码编码器 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-security-password</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 安全模块 - 加密 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-security-crypto</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 安全模块 - 脱敏 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-security-mask</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 安全模块 - XSS 过滤 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-security-xss</artifactId> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 安全模块 - 敏感词 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-security-sensitivewords</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 限流模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-ratelimiter</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 幂等模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-idempotent</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 链路追踪模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-trace</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 验证码模块 - 图形验证码 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-captcha-graphic</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 验证码模块 - 行为验证码 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-captcha-behavior</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 消息模块 - 邮件 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-messaging-mail</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 消息模块 - WebSocket --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-messaging-websocket</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 日志模块 - 基于拦截器实现(Spring Boot Actuator HttpTrace 增强版) --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-log-interceptor</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 日志模块 - 基于 AOP 实现 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-log-aop</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 日志模块 - 核心模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-log-core</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- 文件处理模块 - Excel --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-file-excel</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |             <!-- 存储模块 - 本地存储 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-storage-local</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 存储模块 - 对象存储 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-storage-oss</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- 存储模块 - 核心模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-storage-core</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- License 模块 - 生成器 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-license-generator</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- License 模块 - 校验器 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-license-verifier</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- License 模块 - 核心模块 --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>top.continew</groupId> | ||||||
|  |                 <artifactId>continew-starter-license-core</artifactId> | ||||||
|  |                 <version>${revision}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|             <!-- 扩展模块 - CRUD - MyBatis Plus ORM 模块 --> |             <!-- 扩展模块 - CRUD - MyBatis Plus ORM 模块 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
| @@ -34,267 +251,36 @@ | |||||||
|                 <artifactId>continew-starter-extension-crud-mf</artifactId> |                 <artifactId>continew-starter-extension-crud-mf</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |             <!-- 扩展模块 - CRUD - 核心模块 --> | ||||||
|             <!-- 扩展模块 - 数据权限 - 核心模块 --> |  | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-extension-datapermission-core</artifactId> |                 <artifactId>continew-starter-extension-crud-core</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- 扩展模块 - 数据权限 - MyBatis Plus ORM 模块 --> |             <!-- 扩展模块 - 数据权限 - MyBatis Plus ORM 模块 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-extension-datapermission-mp</artifactId> |                 <artifactId>continew-starter-extension-datapermission-mp</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |             <!-- 扩展模块 - 数据权限 - 核心模块 --> | ||||||
|             <!-- 扩展模块 - 多租户 - 核心模块 --> |  | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-extension-tenant-core</artifactId> |                 <artifactId>continew-starter-extension-datapermission-core</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- 扩展模块 - 多租户 - MyBatis Plus ORM 模块 --> |             <!-- 扩展模块 - 多租户 - MyBatis Plus ORM 模块 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-extension-tenant-mp</artifactId> |                 <artifactId>continew-starter-extension-tenant-mp</artifactId> | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |             <!-- 扩展模块 - 多租户 - 核心模块 --> | ||||||
|             <!-- 认证模块 - JustAuth --> |  | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|                 <artifactId>continew-starter-auth-justauth</artifactId> |                 <artifactId>continew-starter-extension-tenant-core</artifactId> | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 认证模块 - SaToken --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-auth-satoken</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 数据访问模块 - MyBatis Plus --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-data-mp</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 数据访问模块 - MyBatis Flex --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-data-mf</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 数据访问模块 - 核心模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-data-core</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 缓存模块 - JetCache --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-cache-jetcache</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 缓存模块 - Spring Cache --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-cache-springcache</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 缓存模块 - Redisson --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-cache-redisson</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 消息模块 - WebSocket --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-messaging-websocket</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 消息模块 - 邮件 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-messaging-mail</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 验证码模块 - 行为验证码 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-captcha-behavior</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 验证码模块 - 图形验证码 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-captcha-graphic</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 文件处理模块 - Excel --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-file-excel</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 存储模块 - 核心模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-storage-core</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 存储模块 - 本地存储 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-storage-local</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 存储模块 - 对象存储 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-storage-oss</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 日志模块 - 基于拦截器实现(Spring Boot Actuator HttpTrace 增强版) --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-log-interceptor</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 日志模块 - 基于 AOP 实现 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-log-aop</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 日志模块 - 核心模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-log-core</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 链路追踪模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-trace</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 幂等模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-idempotent</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 限流模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-ratelimiter</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 安全模块 - XSS 过滤 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-security-xss</artifactId> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 安全模块 - 敏感词 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-security-sensitivewords</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 安全模块 - 加密 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-security-crypto</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 安全模块 - 脱敏 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-security-mask</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 安全模块 - 密码编码器 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-security-password</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- Web 模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-web</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- API 文档模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-api-doc</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- JSON 模块 - Jackson --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-json-jackson</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- 核心模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-core</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- license 核心模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-license-core</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- license 生成模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-license-generate</artifactId> |  | ||||||
|                 <version>${revision}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- license 校验模块 --> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>top.continew</groupId> |  | ||||||
|                 <artifactId>continew-starter-license-verify</artifactId> |  | ||||||
|                 <version>${revision}</version> |                 <version>${revision}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|         </dependencies> |         </dependencies> | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
|     <description>ContiNew Starter 缓存模块 - JetCache</description> |     <description>ContiNew Starter 缓存模块 - JetCache</description> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|         <!-- JetCache(一个基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作) --> |         <!-- JetCache(基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.alicp.jetcache</groupId> |             <groupId>com.alicp.jetcache</groupId> | ||||||
|             <artifactId>jetcache-autoconfigure</artifactId> |             <artifactId>jetcache-autoconfigure</artifactId> | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ | |||||||
|             <artifactId>easy-captcha</artifactId> |             <artifactId>easy-captcha</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |  | ||||||
|         <!-- JS 引擎(一个纯编译的 JavaScript 引擎) --> |         <!-- JS 引擎(纯编译的 JavaScript 引擎) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>org.openjdk.nashorn</groupId> |             <groupId>org.openjdk.nashorn</groupId> | ||||||
|             <artifactId>nashorn-core</artifactId> |             <artifactId>nashorn-core</artifactId> | ||||||
|   | |||||||
| @@ -34,6 +34,21 @@ public class PropertiesConstants { | |||||||
|      */ |      */ | ||||||
|     public static final String ENABLED = "enabled"; |     public static final String ENABLED = "enabled"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Web 配置 | ||||||
|  |      */ | ||||||
|  |     public static final String WEB = CONTINEW_STARTER + StringConstants.DOT + "web"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Web-跨域配置 | ||||||
|  |      */ | ||||||
|  |     public static final String WEB_CORS = WEB + StringConstants.DOT + "cors"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Web-响应配置 | ||||||
|  |      */ | ||||||
|  |     public static final String WEB_RESPONSE = WEB + StringConstants.DOT + "response"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 安全配置 |      * 安全配置 | ||||||
|      */ |      */ | ||||||
| @@ -60,29 +75,19 @@ public class PropertiesConstants { | |||||||
|     public static final String SECURITY_XSS = SECURITY + StringConstants.DOT + "xss"; |     public static final String SECURITY_XSS = SECURITY + StringConstants.DOT + "xss"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Web 配置 |      * 限流配置 | ||||||
|      */ |      */ | ||||||
|     public static final String WEB = CONTINEW_STARTER + StringConstants.DOT + "web"; |     public static final String RATE_LIMITER = CONTINEW_STARTER + StringConstants.DOT + "rate-limiter"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Web-跨域配置 |      * 幂等配置 | ||||||
|      */ |      */ | ||||||
|     public static final String WEB_CORS = WEB + StringConstants.DOT + "cors"; |     public static final String IDEMPOTENT = CONTINEW_STARTER + StringConstants.DOT + "idempotent"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Web-响应配置 |      * 链路追踪配置 | ||||||
|      */ |      */ | ||||||
|     public static final String WEB_RESPONSE = WEB + StringConstants.DOT + "response"; |     public static final String TRACE = CONTINEW_STARTER + StringConstants.DOT + "trace"; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 日志配置 |  | ||||||
|      */ |  | ||||||
|     public static final String LOG = CONTINEW_STARTER + StringConstants.DOT + "log"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 存储配置 |  | ||||||
|      */ |  | ||||||
|     public static final String STORAGE = CONTINEW_STARTER + StringConstants.DOT + "storage"; |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 验证码配置 |      * 验证码配置 | ||||||
| @@ -109,6 +114,31 @@ public class PropertiesConstants { | |||||||
|      */ |      */ | ||||||
|     public static final String MESSAGING_WEBSOCKET = MESSAGING + StringConstants.DOT + "websocket"; |     public static final String MESSAGING_WEBSOCKET = MESSAGING + StringConstants.DOT + "websocket"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 日志配置 | ||||||
|  |      */ | ||||||
|  |     public static final String LOG = CONTINEW_STARTER + StringConstants.DOT + "log"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 存储配置 | ||||||
|  |      */ | ||||||
|  |     public static final String STORAGE = CONTINEW_STARTER + StringConstants.DOT + "storage"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * License 配置 | ||||||
|  |      */ | ||||||
|  |     public static final String LICENSE = CONTINEW_STARTER + StringConstants.DOT + "license"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * License 生成器配置 | ||||||
|  |      */ | ||||||
|  |     public static final String LICENSE_GENERATOR = LICENSE + StringConstants.DOT + "generator"; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * License 校验器配置 | ||||||
|  |      */ | ||||||
|  |     public static final String LICENSE_VERIFIER = LICENSE + StringConstants.DOT + "verifier"; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * CRUD 配置 |      * CRUD 配置 | ||||||
|      */ |      */ | ||||||
| @@ -124,36 +154,6 @@ public class PropertiesConstants { | |||||||
|      */ |      */ | ||||||
|     public static final String TENANT = CONTINEW_STARTER + StringConstants.DOT + "tenant"; |     public static final String TENANT = CONTINEW_STARTER + StringConstants.DOT + "tenant"; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 限流配置 |  | ||||||
|      */ |  | ||||||
|     public static final String RATE_LIMITER = CONTINEW_STARTER + StringConstants.DOT + "rate-limiter"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 幂等配置 |  | ||||||
|      */ |  | ||||||
|     public static final String IDEMPOTENT = CONTINEW_STARTER + StringConstants.DOT + "idempotent"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 链路追踪配置 |  | ||||||
|      */ |  | ||||||
|     public static final String TRACE = CONTINEW_STARTER + StringConstants.DOT + "trace"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * license配置 |  | ||||||
|      */ |  | ||||||
|     public static final String LICENSE = CONTINEW_STARTER + StringConstants.DOT + "license"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * license 生成模块配置 |  | ||||||
|      */ |  | ||||||
|     public static final String LICENSE_GENERATE = LICENSE + StringConstants.DOT + "generate"; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * license 校验模块配置 |  | ||||||
|      */ |  | ||||||
|     public static final String LICENSE_VERIFY = LICENSE + StringConstants.DOT + "verify"; |  | ||||||
|  |  | ||||||
|     private PropertiesConstants() { |     private PropertiesConstants() { | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -44,14 +44,12 @@ | |||||||
|         <ip2region.version>3.3.6</ip2region.version> |         <ip2region.version>3.3.6</ip2region.version> | ||||||
|         <hutool.version>5.8.36</hutool.version> |         <hutool.version>5.8.36</hutool.version> | ||||||
|         <snakeyaml.version>2.4</snakeyaml.version> |         <snakeyaml.version>2.4</snakeyaml.version> | ||||||
|  |         <truelicense.version>1.33</truelicense.version> | ||||||
|  |         <zip4j.version>2.11.5</zip4j.version> | ||||||
|         <!-- 解决部分传递依赖漏洞问题 --> |         <!-- 解决部分传递依赖漏洞问题 --> | ||||||
|         <commons-beanutils.version>1.9.4</commons-beanutils.version> |         <commons-beanutils.version>1.9.4</commons-beanutils.version> | ||||||
|         <commons-io.version>2.17.0</commons-io.version> |         <commons-io.version>2.17.0</commons-io.version> | ||||||
|         <commons-compress.version>1.26.0</commons-compress.version> |         <commons-compress.version>1.26.0</commons-compress.version> | ||||||
|         <!--license--> |  | ||||||
|         <truelicense.version>1.33</truelicense.version> |  | ||||||
|         <zip4j.version>2.11.5</zip4j.version> |  | ||||||
|  |  | ||||||
|         <!-- Maven Plugin Versions --> |         <!-- Maven Plugin Versions --> | ||||||
|         <flatten.version>1.7.0</flatten.version> |         <flatten.version>1.7.0</flatten.version> | ||||||
|         <spotless.version>2.44.3</spotless.version> |         <spotless.version>2.44.3</spotless.version> | ||||||
| @@ -85,7 +83,7 @@ | |||||||
|                 <version>${redisson.version}</version> |                 <version>${redisson.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- JetCache(一个基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作) --> |             <!-- JetCache(基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>com.alicp.jetcache</groupId> |                 <groupId>com.alicp.jetcache</groupId> | ||||||
|                 <artifactId>jetcache-bom</artifactId> |                 <artifactId>jetcache-bom</artifactId> | ||||||
| @@ -227,14 +225,14 @@ | |||||||
|                 <version>${easy-captcha.version}</version> |                 <version>${easy-captcha.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- JS 引擎(一个纯编译的 JavaScript 引擎) --> |             <!-- JS 引擎(纯编译的 JavaScript 引擎) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>org.openjdk.nashorn</groupId> |                 <groupId>org.openjdk.nashorn</groupId> | ||||||
|                 <artifactId>nashorn-core</artifactId> |                 <artifactId>nashorn-core</artifactId> | ||||||
|                 <version>${nashorn.version}</version> |                 <version>${nashorn.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- Easy Excel(一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具) --> |             <!-- Easy Excel(基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>com.alibaba</groupId> |                 <groupId>com.alibaba</groupId> | ||||||
|                 <artifactId>easyexcel</artifactId> |                 <artifactId>easyexcel</artifactId> | ||||||
| @@ -283,14 +281,14 @@ | |||||||
|                 <version>${thumbnails.version}</version> |                 <version>${thumbnails.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- Graceful Response(一个Spring Boot技术栈下的优雅响应处理组件,可以帮助开发者完成响应数据封装、异常处理、错误码填充等过程,提高开发效率,提高代码质量) --> |             <!-- Graceful Response(Spring Boot技术栈下的优雅响应处理组件,可以帮助开发者完成响应数据封装、异常处理、错误码填充等过程,提高开发效率,提高代码质量) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>com.feiniaojin</groupId> |                 <groupId>com.feiniaojin</groupId> | ||||||
|                 <artifactId>graceful-response</artifactId> |                 <artifactId>graceful-response</artifactId> | ||||||
|                 <version>${graceful-response.version}</version> |                 <version>${graceful-response.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- Crane4j(一个基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架) --> |             <!-- Crane4j(基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>cn.crane4j</groupId> |                 <groupId>cn.crane4j</groupId> | ||||||
|                 <artifactId>crane4j-spring-boot-starter</artifactId> |                 <artifactId>crane4j-spring-boot-starter</artifactId> | ||||||
| @@ -320,7 +318,7 @@ | |||||||
|                 <version>${snakeyaml.version}</version> |                 <version>${snakeyaml.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- OkHTTP(一个默认高效的 HTTP 客户端) --> |             <!-- OkHTTP(默认高效的 HTTP 客户端) --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>com.squareup.okhttp3</groupId> |                 <groupId>com.squareup.okhttp3</groupId> | ||||||
|                 <artifactId>okhttp</artifactId> |                 <artifactId>okhttp</artifactId> | ||||||
| @@ -355,6 +353,19 @@ | |||||||
|                 <version>${hutool.version}</version> |                 <version>${hutool.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|  |             <!-- TrueLicense (开源的证书管理引擎) --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>de.schlichtherle.truelicense</groupId> | ||||||
|  |                 <artifactId>truelicense-core</artifactId> | ||||||
|  |                 <version>${truelicense.version}</version> | ||||||
|  |             </dependency> | ||||||
|  |             <!-- Zip4j (开源的 Java 处理 zip 压缩文件的开发包) --> | ||||||
|  |             <dependency> | ||||||
|  |                 <groupId>net.lingala.zip4j</groupId> | ||||||
|  |                 <artifactId>zip4j</artifactId> | ||||||
|  |                 <version>${zip4j.version}</version> | ||||||
|  |             </dependency> | ||||||
|  |  | ||||||
|             <!-- 解决部分传递依赖漏洞问题 --> |             <!-- 解决部分传递依赖漏洞问题 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>commons-beanutils</groupId> |                 <groupId>commons-beanutils</groupId> | ||||||
| @@ -374,20 +385,6 @@ | |||||||
|                 <version>${commons-compress.version}</version> |                 <version>${commons-compress.version}</version> | ||||||
|             </dependency> |             </dependency> | ||||||
|  |  | ||||||
|             <!-- license 依赖--> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>de.schlichtherle.truelicense</groupId> |  | ||||||
|                 <artifactId>truelicense-core</artifactId> |  | ||||||
|                 <version>${truelicense.version}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!--zip4j压缩文件--> |  | ||||||
|             <dependency> |  | ||||||
|                 <groupId>net.lingala.zip4j</groupId> |  | ||||||
|                 <artifactId>zip4j</artifactId> |  | ||||||
|                 <version>${zip4j.version}</version> |  | ||||||
|             </dependency> |  | ||||||
|  |  | ||||||
|             <!-- ContiNew Starter 依赖 --> |             <!-- ContiNew Starter 依赖 --> | ||||||
|             <dependency> |             <dependency> | ||||||
|                 <groupId>top.continew</groupId> |                 <groupId>top.continew</groupId> | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
|     <description>ContiNew Starter 扩展模块 - CRUD(增删改查) - 核心模块</description> |     <description>ContiNew Starter 扩展模块 - CRUD(增删改查) - 核心模块</description> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|         <!-- Crane4j(一个基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架) --> |         <!-- Crane4j(基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>cn.crane4j</groupId> |             <groupId>cn.crane4j</groupId> | ||||||
|             <artifactId>crane4j-spring-boot-starter</artifactId> |             <artifactId>crane4j-spring-boot-starter</artifactId> | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
|     <description>ContiNew Starter 文件处理模块 - Excel</description> |     <description>ContiNew Starter 文件处理模块 - Excel</description> | ||||||
|  |  | ||||||
|     <dependencies> |     <dependencies> | ||||||
|         <!-- Easy Excel(一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具) --> |         <!-- Easy Excel(基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.alibaba</groupId> |             <groupId>com.alibaba</groupId> | ||||||
|             <artifactId>easyexcel</artifactId> |             <artifactId>easyexcel</artifactId> | ||||||
|   | |||||||
| @@ -7,27 +7,27 @@ | |||||||
|         <artifactId>continew-starter-license</artifactId> |         <artifactId>continew-starter-license</artifactId> | ||||||
|         <version>${revision}</version> |         <version>${revision}</version> | ||||||
|     </parent> |     </parent> | ||||||
|     <artifactId>continew-starter-license-core</artifactId> |  | ||||||
|     <description>ContiNew Starter License核心模块</description> |  | ||||||
|     <dependencies> |  | ||||||
|  |  | ||||||
|         <!-- continew starter 核心模块 --> |     <artifactId>continew-starter-license-core</artifactId> | ||||||
|  |     <description>ContiNew Starter License 模块 - 核心模块</description> | ||||||
|  |  | ||||||
|  |     <dependencies> | ||||||
|  |         <!-- 核心模块 --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>top.continew</groupId> |             <groupId>top.continew</groupId> | ||||||
|             <artifactId>continew-starter-core</artifactId> |             <artifactId>continew-starter-core</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |  | ||||||
|         <!-- license 依赖--> |         <!-- TrueLicense (一个开源的证书管理引擎)--> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>de.schlichtherle.truelicense</groupId> |             <groupId>de.schlichtherle.truelicense</groupId> | ||||||
|             <artifactId>truelicense-core</artifactId> |             <artifactId>truelicense-core</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |  | ||||||
|         <!--zip4j压缩文件--> |         <!-- Zip4j (开源的 Java 处理 zip 压缩文件的开发包) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>net.lingala.zip4j</groupId> |             <groupId>net.lingala.zip4j</groupId> | ||||||
|             <artifactId>zip4j</artifactId> |             <artifactId>zip4j</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |  | ||||||
|     </dependencies> |     </dependencies> | ||||||
| </project> | </project> | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import java.io.Serializable; | |||||||
|  * |  * | ||||||
|  * @author echo |  * @author echo | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class BuildCreatorResp implements Serializable { | public class BuildCreatorResp implements Serializable { | ||||||
|  |  | ||||||
|     @Serial |     @Serial | ||||||
| @@ -38,7 +38,7 @@ public class BuildCreatorResp implements Serializable { | |||||||
|     private LicenseCreatorParam param; |     private LicenseCreatorParam param; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 客户端zip文件 |      * 客户端 Zip 文件 | ||||||
|      */ |      */ | ||||||
|     private ZipFile clientZipFile; |     private ZipFile clientZipFile; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ package top.continew.license.model; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class ConfigParam { | public class ConfigParam { | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -30,6 +30,7 @@ import java.io.InputStream; | |||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  */ |  */ | ||||||
| public class CustomKeyStoreParam extends AbstractKeyStoreParam { | public class CustomKeyStoreParam extends AbstractKeyStoreParam { | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 密钥路径,可为磁盘路径,也可为项目资源文件里的路径,如果为磁盘路径需重写getStream()方法 |      * 密钥路径,可为磁盘路径,也可为项目资源文件里的路径,如果为磁盘路径需重写getStream()方法 | ||||||
|      */ |      */ | ||||||
| @@ -50,8 +51,8 @@ public class CustomKeyStoreParam extends AbstractKeyStoreParam { | |||||||
|      */ |      */ | ||||||
|     private String keyPass; |     private String keyPass; | ||||||
|  |  | ||||||
|     public CustomKeyStoreParam(Class aClass, String s) { |     public CustomKeyStoreParam(Class clazz, String s) { | ||||||
|         super(aClass, s); |         super(clazz, s); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public CustomKeyStoreParam(Class clazz, String resource, String alias, String storePass, String keyPass) { |     public CustomKeyStoreParam(Class clazz, String resource, String alias, String storePass, String keyPass) { | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ import java.util.Date; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class LicenseCreatorParam implements Serializable { | public class LicenseCreatorParam implements Serializable { | ||||||
|  |  | ||||||
|     @Serial |     @Serial | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ import java.util.Date; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class LicenseCreatorParamVO { | public class LicenseCreatorParamVO { | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ import java.util.Set; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class LicenseExtraModel { | public class LicenseExtraModel { | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -28,11 +28,14 @@ import java.io.LineNumberReader; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| public class ExecCmdUtil { | public class ExecCmdUtil { | ||||||
|  |  | ||||||
|     private static final String CREATE_3RDSESSION_SHELL_SCRIPT = "head -n 80 /dev/urandom | tr -dc A-Za-z0-9 | head -c 168"; |     private static final String CREATE_3RDSESSION_SHELL_SCRIPT = "head -n 80 /dev/urandom | tr -dc A-Za-z0-9 | head -c 168"; | ||||||
|  |  | ||||||
|  |     private ExecCmdUtil() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 执行cmd命令(shell脚本) |      * 执行cmd命令(shell脚本) | ||||||
|      * |      * | ||||||
| @@ -82,7 +85,6 @@ public class ExecCmdUtil { | |||||||
|      * 执行linux命令(shell脚本)生成3rd_session随机数 |      * 执行linux命令(shell脚本)生成3rd_session随机数 | ||||||
|      */ |      */ | ||||||
|     public static String create3rdSessionToken() throws IOException { |     public static String create3rdSessionToken() throws IOException { | ||||||
|  |  | ||||||
|         return exec(CREATE_3RDSESSION_SHELL_SCRIPT); |         return exec(CREATE_3RDSESSION_SHELL_SCRIPT); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -52,6 +52,9 @@ public class ServerInfoUtils { | |||||||
|         private static String mainBoardSerial = null; |         private static String mainBoardSerial = null; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private ServerInfoUtils() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 组装需要额外校验的License参数 |      * 组装需要额外校验的License参数 | ||||||
|      * |      * | ||||||
| @@ -324,7 +327,6 @@ public class ServerInfoUtils { | |||||||
|      * @throws Exception 默认异常 |      * @throws Exception 默认异常 | ||||||
|      */ |      */ | ||||||
|     private static Set<InetAddress> getLocalAllInetAddress() throws Exception { |     private static Set<InetAddress> getLocalAllInetAddress() throws Exception { | ||||||
|  |  | ||||||
|         Set<InetAddress> result = CollUtil.newHashSet(); |         Set<InetAddress> result = CollUtil.newHashSet(); | ||||||
|         // 遍历所有的网络接口 |         // 遍历所有的网络接口 | ||||||
|         for (Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); |         for (Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); | ||||||
| @@ -342,5 +344,4 @@ public class ServerInfoUtils { | |||||||
|         } |         } | ||||||
|         return result; |         return result; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,82 +0,0 @@ | |||||||
| ## continew-starter-license-generate 使用方法 |  | ||||||
|  |  | ||||||
| 1. 引入依赖 |  | ||||||
|  |  | ||||||
| ```java |  | ||||||
|         <dependency> |  | ||||||
|             <groupId>top.continew</groupId> |  | ||||||
|             <artifactId>continew-starter-license-generate</artifactId> |  | ||||||
|             <version>2.11.0-SNAPSHOT</version> |  | ||||||
|         </dependency> |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| 2. 开发对外接口 |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| /* |  | ||||||
|  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. |  | ||||||
|  * |  | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * |  | ||||||
|  *     http://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
|  * |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| package top.continew.admin.controller.license; |  | ||||||
|  |  | ||||||
| import cn.dev33.satoken.annotation.SaIgnore; |  | ||||||
| import org.springframework.beans.factory.annotation.Autowired; |  | ||||||
| import org.springframework.web.bind.annotation.GetMapping; |  | ||||||
| import org.springframework.web.bind.annotation.RequestMapping; |  | ||||||
| import org.springframework.web.bind.annotation.RestController; |  | ||||||
| import top.continew.license.model.LicenseCreatorParamVO; |  | ||||||
| import top.continew.license.model.LicenseExtraModel; |  | ||||||
| import top.continew.license.service.LicenseCreateService; |  | ||||||
|  |  | ||||||
| import java.util.Calendar; |  | ||||||
| import java.util.Date; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @Desc: |  | ||||||
|  * @Author loach |  | ||||||
|  * @ClassName top.continew.admin.controller.license.LicenseGenerateController |  | ||||||
|  * @Date 2025-04-15 10:52 |  | ||||||
|  */ |  | ||||||
| @RestController |  | ||||||
| @RequestMapping("/license") |  | ||||||
| public class LicenseGenerateController { |  | ||||||
|  |  | ||||||
|     @Autowired |  | ||||||
|     private LicenseCreateService licenseCreateService; |  | ||||||
|  |  | ||||||
|     @GetMapping("/generate") |  | ||||||
|     public void listDict() throws Exception { |  | ||||||
|         //设置证书校验参数 |  | ||||||
|         LicenseCreatorParamVO paramVO = new LicenseCreatorParamVO(); |  | ||||||
|         paramVO.setCustomerName("continew"); |  | ||||||
|         paramVO.setDescription("continew"); |  | ||||||
|         paramVO.setKeyPass("123456a"); |  | ||||||
|         paramVO.setStorePass("123456a"); |  | ||||||
|         //设置过期时间 |  | ||||||
|         Calendar calendar = Calendar.getInstance(); |  | ||||||
|         long expire = Instant.now().toEpochMilli() + (24L * 3600L * 1000L);; |  | ||||||
|         // long expire = new Date().getTime() + (24L * 3600L * 1000L); |  | ||||||
|         calendar.setTimeInMillis(expire); |  | ||||||
|         paramVO.setExpireTime(calendar.getTime()); |  | ||||||
|         //设置额外校验参数(服务器信息) |  | ||||||
|         LicenseExtraModel extraModel = licenseCreateService.getServerInfo(); |  | ||||||
|         paramVO.setLicenseExtraModel(extraModel); |  | ||||||
|         licenseCreateService.generateLicense(paramVO); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| } |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| 注:默认生成 license 为FileUtil.getTmpDirPath()下。将压缩包发送给客户端使用。 |  | ||||||
| @@ -9,16 +9,14 @@ | |||||||
|         <version>${revision}</version> |         <version>${revision}</version> | ||||||
|     </parent> |     </parent> | ||||||
| 
 | 
 | ||||||
|     <artifactId>continew-starter-license-verify</artifactId> |     <artifactId>continew-starter-license-generator</artifactId> | ||||||
|     <packaging>jar</packaging> |     <description>ContiNew Starter License 模块 - 生成器</description> | ||||||
|     <description>ContiNew Starter License校验模块</description> |  | ||||||
| 
 | 
 | ||||||
|     <dependencies> |     <dependencies> | ||||||
|         <!-- license 核心模块 --> |         <!-- License 模块 - 核心模块 --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>top.continew</groupId> |             <groupId>top.continew</groupId> | ||||||
|             <artifactId>continew-starter-license-core</artifactId> |             <artifactId>continew-starter-license-core</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
| 
 |  | ||||||
|     </dependencies> |     </dependencies> | ||||||
| </project> | </project> | ||||||
| @@ -36,7 +36,7 @@ import top.continew.starter.core.constant.PropertiesConstants; | |||||||
|  */ |  */ | ||||||
| @AutoConfiguration | @AutoConfiguration | ||||||
| @EnableConfigurationProperties(LicenseGenerateProperties.class) | @EnableConfigurationProperties(LicenseGenerateProperties.class) | ||||||
| @ConditionalOnProperty(prefix = PropertiesConstants.LICENSE_GENERATE, name = PropertiesConstants.ENABLED, havingValue = "true", matchIfMissing = true) | @ConditionalOnProperty(prefix = PropertiesConstants.LICENSE_GENERATOR, name = PropertiesConstants.ENABLED, havingValue = "true", matchIfMissing = true) | ||||||
| public class LicenseGenerateAutoConfiguration { | public class LicenseGenerateAutoConfiguration { | ||||||
| 
 | 
 | ||||||
|     private static final Logger log = LoggerFactory.getLogger(LicenseGenerateAutoConfiguration.class); |     private static final Logger log = LoggerFactory.getLogger(LicenseGenerateAutoConfiguration.class); | ||||||
| @@ -52,6 +52,6 @@ public class LicenseGenerateAutoConfiguration { | |||||||
| 
 | 
 | ||||||
|     @PostConstruct |     @PostConstruct | ||||||
|     public void postConstruct() { |     public void postConstruct() { | ||||||
|         log.debug("[ContiNew Starter] - Auto Configuration 'License-Generate' completed initialization."); |         log.debug("[ContiNew Starter] - Auto Configuration 'License-Generator' completed initialization."); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -25,8 +25,9 @@ import top.continew.starter.core.constant.PropertiesConstants; | |||||||
|  * @author Jasmine |  * @author Jasmine | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  */ |  */ | ||||||
| @ConfigurationProperties(PropertiesConstants.LICENSE_GENERATE) | @ConfigurationProperties(PropertiesConstants.LICENSE_GENERATOR) | ||||||
| public class LicenseGenerateProperties { | public class LicenseGenerateProperties { | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 是否启用 |      * 是否启用 | ||||||
|      */ |      */ | ||||||
| @@ -43,8 +43,7 @@ import java.util.prefs.Preferences; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| 
 |  | ||||||
| public class LicenseCreateService { | public class LicenseCreateService { | ||||||
| 
 | 
 | ||||||
|     private static final Logger log = LoggerFactory.getLogger(LicenseCreateService.class); |     private static final Logger log = LoggerFactory.getLogger(LicenseCreateService.class); | ||||||
| @@ -88,7 +87,6 @@ public class LicenseCreateService { | |||||||
|      * @throws Exception 例外 |      * @throws Exception 例外 | ||||||
|      */ |      */ | ||||||
|     public void generateLicense(LicenseCreatorParamVO paramVO) throws Exception { |     public void generateLicense(LicenseCreatorParamVO paramVO) throws Exception { | ||||||
| 
 |  | ||||||
|         BuildCreatorResp buildCreatorResp = buildCreator(paramVO); |         BuildCreatorResp buildCreatorResp = buildCreator(paramVO); | ||||||
|         LicenseCreatorParam param = buildCreatorResp.getParam(); |         LicenseCreatorParam param = buildCreatorResp.getParam(); | ||||||
|         ZipFile clientZipFile = buildCreatorResp.getClientZipFile(); |         ZipFile clientZipFile = buildCreatorResp.getClientZipFile(); | ||||||
| @@ -186,7 +184,6 @@ public class LicenseCreateService { | |||||||
|     private ZipFile generateClientConfig(LicenseCreatorParam param, |     private ZipFile generateClientConfig(LicenseCreatorParam param, | ||||||
|                                          String currentCustomerDir, |                                          String currentCustomerDir, | ||||||
|                                          String publicAlias) throws Exception { |                                          String publicAlias) throws Exception { | ||||||
| 
 |  | ||||||
|         ZipFile clientLicense = new ZipFile(currentCustomerDir + "clientLicense.zip"); |         ZipFile clientLicense = new ZipFile(currentCustomerDir + "clientLicense.zip"); | ||||||
|         File config = new File(currentCustomerDir + "clientConfig.json"); |         File config = new File(currentCustomerDir + "clientConfig.json"); | ||||||
|         ConfigParam configParam = new ConfigParam(); |         ConfigParam configParam = new ConfigParam(); | ||||||
| @@ -254,7 +251,6 @@ public class LicenseCreateService { | |||||||
|      * @return {@link String } |      * @return {@link String } | ||||||
|      */ |      */ | ||||||
|     private String relativePath(LicenseCreatorParamVO paramVO) { |     private String relativePath(LicenseCreatorParamVO paramVO) { | ||||||
| 
 |  | ||||||
|         if (paramVO.getLicenseSavePath() != null) { |         if (paramVO.getLicenseSavePath() != null) { | ||||||
|             return paramVO.getLicenseSavePath(); |             return paramVO.getLicenseSavePath(); | ||||||
|         } |         } | ||||||
| @@ -284,7 +280,6 @@ public class LicenseCreateService { | |||||||
|      * @return {@link LicenseContent } |      * @return {@link LicenseContent } | ||||||
|      */ |      */ | ||||||
|     private LicenseContent initLicenseContent(LicenseCreatorParam param) { |     private LicenseContent initLicenseContent(LicenseCreatorParam param) { | ||||||
| 
 |  | ||||||
|         LicenseContent licenseContent = new LicenseContent(); |         LicenseContent licenseContent = new LicenseContent(); | ||||||
|         licenseContent.setHolder(DEFAULT_HOLDER_ISSUER); |         licenseContent.setHolder(DEFAULT_HOLDER_ISSUER); | ||||||
|         licenseContent.setIssuer(DEFAULT_HOLDER_ISSUER); |         licenseContent.setIssuer(DEFAULT_HOLDER_ISSUER); | ||||||
| @@ -9,12 +9,11 @@ | |||||||
|         <version>${revision}</version> |         <version>${revision}</version> | ||||||
|     </parent> |     </parent> | ||||||
| 
 | 
 | ||||||
|     <artifactId>continew-starter-license-generate</artifactId> |     <artifactId>continew-starter-license-verifier</artifactId> | ||||||
|     <packaging>jar</packaging> |     <description>ContiNew Starter License 模块 - 校验器</description> | ||||||
|     <description>ContiNew Starter License生成模块</description> |  | ||||||
| 
 | 
 | ||||||
|     <dependencies> |     <dependencies> | ||||||
|         <!-- license 核心模块 --> |         <!-- License 模块 - 核心模块 --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>top.continew</groupId> |             <groupId>top.continew</groupId> | ||||||
|             <artifactId>continew-starter-license-core</artifactId> |             <artifactId>continew-starter-license-core</artifactId> | ||||||
| @@ -26,7 +26,7 @@ import org.springframework.context.annotation.DependsOn; | |||||||
| 
 | 
 | ||||||
| import de.schlichtherle.license.LicenseManager; | import de.schlichtherle.license.LicenseManager; | ||||||
| import jakarta.annotation.PostConstruct; | import jakarta.annotation.PostConstruct; | ||||||
| import top.continew.license.Initializing.LicenseStarterInitializingBean; | import top.continew.license.initializing.LicenseStarterInitializingBean; | ||||||
| import top.continew.license.bean.LicenseInstallerBean; | import top.continew.license.bean.LicenseInstallerBean; | ||||||
| import top.continew.license.manager.CustomLicenseManager; | import top.continew.license.manager.CustomLicenseManager; | ||||||
| import top.continew.starter.core.constant.PropertiesConstants; | import top.continew.starter.core.constant.PropertiesConstants; | ||||||
| @@ -39,7 +39,7 @@ import top.continew.starter.core.constant.PropertiesConstants; | |||||||
|  */ |  */ | ||||||
| @AutoConfiguration | @AutoConfiguration | ||||||
| @EnableConfigurationProperties(LicenseVerifyProperties.class) | @EnableConfigurationProperties(LicenseVerifyProperties.class) | ||||||
| @ConditionalOnProperty(prefix = PropertiesConstants.LICENSE_VERIFY, name = PropertiesConstants.ENABLED, havingValue = "true", matchIfMissing = true) | @ConditionalOnProperty(prefix = PropertiesConstants.LICENSE_VERIFIER, name = PropertiesConstants.ENABLED, havingValue = "true", matchIfMissing = true) | ||||||
| public class LicenseVerifyAutoConfiguration { | public class LicenseVerifyAutoConfiguration { | ||||||
| 
 | 
 | ||||||
|     private static final Logger log = LoggerFactory.getLogger(LicenseVerifyAutoConfiguration.class); |     private static final Logger log = LoggerFactory.getLogger(LicenseVerifyAutoConfiguration.class); | ||||||
| @@ -80,7 +80,7 @@ public class LicenseVerifyAutoConfiguration { | |||||||
| 
 | 
 | ||||||
|     @PostConstruct |     @PostConstruct | ||||||
|     public void postConstruct() { |     public void postConstruct() { | ||||||
|         log.debug("[ContiNew Starter] - Auto Configuration 'License-Verify' completed initialization."); |         log.debug("[ContiNew Starter] - Auto Configuration 'License-Verifier' completed initialization."); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| @@ -26,8 +26,8 @@ import top.continew.starter.core.constant.PropertiesConstants; | |||||||
|  * |  * | ||||||
|  * @author loach |  * @author loach | ||||||
|  * @since 2.11.0 |  * @since 2.11.0 | ||||||
|  **/ |  */ | ||||||
| @ConfigurationProperties(PropertiesConstants.LICENSE_VERIFY) | @ConfigurationProperties(PropertiesConstants.LICENSE_VERIFIER) | ||||||
| public class LicenseVerifyProperties { | public class LicenseVerifyProperties { | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
| @@ -14,7 +14,7 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package top.continew.license.Initializing; | package top.continew.license.initializing; | ||||||
| 
 | 
 | ||||||
| import org.springframework.beans.factory.InitializingBean; | import org.springframework.beans.factory.InitializingBean; | ||||||
| import top.continew.license.bean.LicenseInstallerBean; | import top.continew.license.bean.LicenseInstallerBean; | ||||||
| @@ -1,22 +0,0 @@ | |||||||
| ## continew-starter-license-verify 食用方法 |  | ||||||
|  |  | ||||||
| 1. 引入依赖 |  | ||||||
|  |  | ||||||
| ```java |  | ||||||
|         <dependency> |  | ||||||
|             <groupId>top.continew</groupId> |  | ||||||
|             <artifactId>continew-starter-license-verify</artifactId> |  | ||||||
|             <version>2.11.0-SNAPSHOT</version> |  | ||||||
|         </dependency> |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| 2. 配置YML(license 压缩包存放位置) |  | ||||||
|  |  | ||||||
| ```yaml |  | ||||||
| continew-starter: |  | ||||||
|   license: |  | ||||||
|     verify: |  | ||||||
|       storePath: D:/license |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| 注:默认加载 `FileUtil.getTmpDirPath()` 位置。 |  | ||||||
| @@ -12,9 +12,10 @@ | |||||||
|     <artifactId>continew-starter-license</artifactId> |     <artifactId>continew-starter-license</artifactId> | ||||||
|     <packaging>pom</packaging> |     <packaging>pom</packaging> | ||||||
|     <description>ContiNew Starter License模块</description> |     <description>ContiNew Starter License模块</description> | ||||||
|  |  | ||||||
|     <modules> |     <modules> | ||||||
|         <module>continew-starter-license-core</module> |         <module>continew-starter-license-core</module> | ||||||
|         <module>continew-starter-license-generate</module> |         <module>continew-starter-license-generator</module> | ||||||
|         <module>continew-starter-license-verify</module> |         <module>continew-starter-license-verifier</module> | ||||||
|     </modules> |     </modules> | ||||||
| </project> | </project> | ||||||
| @@ -21,7 +21,7 @@ package top.continew.starter.storage.model.req; | |||||||
|  * |  * | ||||||
|  * @author echo |  * @author echo | ||||||
|  * @date 2024/11/04 15:13 |  * @date 2024/11/04 15:13 | ||||||
|  **/ |  */ | ||||||
| public class StorageProperties { | public class StorageProperties { | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ | |||||||
|             <artifactId>spring-boot-starter-undertow</artifactId> |             <artifactId>spring-boot-starter-undertow</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |  | ||||||
|         <!-- Graceful Response(一个Spring Boot技术栈下的优雅响应处理组件,可以帮助开发者完成响应数据封装、异常处理、错误码填充等过程,提高开发效率,提高代码质量) --> |         <!-- Graceful Response(Spring Boot技术栈下的优雅响应处理组件,可以帮助开发者完成响应数据封装、异常处理、错误码填充等过程,提高开发效率,提高代码质量) --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.feiniaojin</groupId> |             <groupId>com.feiniaojin</groupId> | ||||||
|             <artifactId>graceful-response</artifactId> |             <artifactId>graceful-response</artifactId> | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								pom.xml
									
									
									
									
									
								
							| @@ -38,20 +38,20 @@ | |||||||
|         <module>continew-starter-json</module> |         <module>continew-starter-json</module> | ||||||
|         <module>continew-starter-api-doc</module> |         <module>continew-starter-api-doc</module> | ||||||
|         <module>continew-starter-web</module> |         <module>continew-starter-web</module> | ||||||
|  |         <module>continew-starter-auth</module> | ||||||
|  |         <module>continew-starter-data</module> | ||||||
|  |         <module>continew-starter-cache</module> | ||||||
|         <module>continew-starter-security</module> |         <module>continew-starter-security</module> | ||||||
|         <module>continew-starter-ratelimiter</module> |         <module>continew-starter-ratelimiter</module> | ||||||
|         <module>continew-starter-idempotent</module> |         <module>continew-starter-idempotent</module> | ||||||
|         <module>continew-starter-trace</module> |         <module>continew-starter-trace</module> | ||||||
|         <module>continew-starter-log</module> |  | ||||||
|         <module>continew-starter-storage</module> |  | ||||||
|         <module>continew-starter-file</module> |  | ||||||
|         <module>continew-starter-captcha</module> |         <module>continew-starter-captcha</module> | ||||||
|         <module>continew-starter-cache</module> |  | ||||||
|         <module>continew-starter-data</module> |  | ||||||
|         <module>continew-starter-auth</module> |  | ||||||
|         <module>continew-starter-messaging</module> |         <module>continew-starter-messaging</module> | ||||||
|         <module>continew-starter-extension</module> |         <module>continew-starter-log</module> | ||||||
|  |         <module>continew-starter-file</module> | ||||||
|  |         <module>continew-starter-storage</module> | ||||||
|         <module>continew-starter-license</module> |         <module>continew-starter-license</module> | ||||||
|  |         <module>continew-starter-extension</module> | ||||||
|     </modules> |     </modules> | ||||||
|  |  | ||||||
|     <build> |     <build> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user