690 Commits

Author SHA1 Message Date
GeWuYou
61349a83ab feat(functional): 增强Result类型功能并添加完整测试覆盖
- 为Result.Failure方法添加参数验证,确保异常和消息参数不为空
- 重构Result<T>内部状态枚举顺序以优化比较逻辑
- 为Result<T>的Map、Bind和MapAsync方法添加参数验证和异常处理
- 在Result<T>比较逻辑中添加类型不可比较时的安全处理
- 添加ResultExtensions.BindAsync扩展方法支持异步绑定操作
- 重写Combine扩展方法中对失败结果的处理逻辑
- 添加完整的Result相关类型单元测试覆盖所有功能场景
- 为Result类型添加详细的XML文档注释和使用示例
2026-02-25 20:21:37 +08:00
GeWuYou
1cb7dfdb14 feat(functional): 添加函数式编程支持和Result类型实现
- 实现了Result和Result<T>结构体,提供函数式错误处理
- 添加了AsyncExtensions中的函数式编程命名空间引用
- 在FunctionExtensions中添加函数式编程相关引用
- 从项目文件中移除LanguageExt.Core依赖包
- 重构GlobalUsings.cs移除不必要的全局引用
- 添加ResultExtensions扩展方法支持函数式操作
- 实现Map、Bind、Match等核心函数式编程方法
- 添加异步操作支持和安全执行委托功能
2026-02-25 20:21:37 +08:00
GeWuYou
ee3f8c97df fix(tests): 修正异步扩展测试中的异常类型断言
- 将 OperationCanceledException 替换为 TaskCanceledException 进行正确的异常断言
2026-02-25 17:28:52 +08:00
GeWuYou
cddd1fa627 test(extensions): 更新异步扩展方法测试以使用直接调用方式
- 移除旧的Arrange步骤,直接在Act步骤中调用AsyncExtensions.WithTimeout方法
- 添加新的测试用例验证超时时内部任务能够被正确取消
- 修改现有测试用例适配新的方法调用方式
- 简化异常处理相关的断言逻辑
2026-02-25 17:28:52 +08:00
GeWuYou
afbff7127d refactor(extensions): 重构异步扩展中的超时处理机制
- 将参数从直接传入Task改为传入接收取消令牌的任务工厂方法
- 更新XML文档注释以反映新的参数设计
- 优化取消令牌处理逻辑,统一管理超时和外部取消信号
- 改进异常处理机制,确保超时情况下正确抛出TimeoutException
- 简化代码结构并提高可读性
2026-02-25 17:28:52 +08:00
GeWuYou
850fecdff4 fix(async): 修复异步扩展中的超时和重试逻辑问题
- 修复TimeoutAfter方法中的取消令牌处理逻辑,避免OperationCanceledException被意外捕获
- 修复RetryAsync方法中的参数验证,移除对可空值类型的空值检查
- 为RetryAsync方法添加throwOriginal参数以控制异常抛出行为
- 统一超时处理中的令牌取消方式,使用linkedCts.Cancel()替代timeoutCts.CancelAsync()
2026-02-25 17:28:52 +08:00
GeWuYou
475f301d9f feat(extensions): 添加多个扩展方法类和对应测试
- 新增 AsyncExtensions 提供异步任务超时、重试、安全执行等功能
- 新增 CollectionExtensions 提供集合遍历、空值检查、过滤等扩展功能
- 新增 GuardExtensions 提供参数验证的 Guard 模式扩展方法
- 新增 NumericExtensions 提供数值范围限制、插值计算等数学扩展功能
- 为所有扩展方法添加完整的单元测试覆盖正常和异常情况
- 包含详细的 XML 文档注释和使用示例代码
2026-02-25 17:28:52 +08:00
GeWuYou
66da08e3e1 docs(skill): 更新技能文档
- 修改了 SKILL.md 文件内容移除了BOM
2026-02-25 09:28:33 +08:00
GeWuYou
8aba6c6fad refactor(scripts): 重构脚本以使用共享模块配置
- 将模块配置提取到共享的 module-config.sh 文件中
- 在 batch-generate.sh 中使用 get_source_dir 和 is_valid_module 函数
- 更新可用模块列表显示为动态获取
- 在 generate-examples.sh 中添加命名空间参数和详细的示例生成指南
- 优化 update-vitepress-nav.sh 中的用户界面和添加重复检查
- 修改 validate-all.sh 中的代码块验证以避免中断流程
- 改进 validate-frontmatter.sh 中的 frontmatter 检测逻辑
- 将 find 命令结果存储为数组以提高处理准确性
2026-02-25 09:28:33 +08:00
GeWuYou
bb449259d3 feat(docs): 添加 VitePress 文档生成技能系统
- 新增 .claude/skills 目录及完整的文档生成技能系统
- 添加批量 API 文档生成脚本支持模块化文档创建
- 添加 API 文档、功能指南和教程生成模板与示例
- 添加 C# XML 注释解析和代码示例生成工具
- 添加文档验证和导航更新脚本确保质量
- 更新 .gitignore 配置排除本地设置文件
2026-02-25 09:28:33 +08:00
GeWuYou
7c71ed154e chore(docs): 更新 .NET 版本标识从 6.0+ 到 8.0+
- 修改 README.md 中的 .NET badge 版本号
- 将 .NET 支持版本更新为最新的 8.0+ 标准
2026-02-24 15:20:31 +08:00
GeWuYou
94d3f0ba27 fix(storage): 修复文件存储和存档仓库中的路径处理问题
- 在 FileStorage 中过滤掉以点开头的隐藏目录
- 优化 SaveRepository 中的存档存在性检查逻辑
- 移除冗余的 ScopedStorage 创建操作
- 删除过时的 SaveRepository 使用指南文档
2026-02-24 15:20:31 +08:00
GeWuYou
2d4527d066 feat(storage): 添加目录操作功能和存档仓库系统
- 在IStorage接口中添加目录操作相关方法:ListDirectoriesAsync、
  ListFilesAsync、DirectoryExistsAsync、CreateDirectoryAsync
- 为FileStorage和GodotFileStorage实现目录操作功能
- 添加ScopedStorage的目录操作委托实现
- 新增ISaveRepository接口定义基于槽位的存档系统
- 实现SaveRepository类提供完整的存档管理功能
- 添加SaveConfiguration类用于存档系统配置
2026-02-24 15:20:31 +08:00
GeWuYou
6a99b54d6e refactor(repository): 更新仓储接口继承实用工具接口
- 添加 GFramework.Core.Abstractions.utility 命名空间引用
- 修改 IRepository 接口继承 IUtility 接口
- 为仓储接口添加实用工具功能支持
v0.0.196
2026-02-23 22:56:12 +08:00
GeWuYou
f8a1c99b99 refactor(GodotResourceRepository): 重构资源仓库路径加载功能
- 添加ILogger用于日志记录替换GD.PushWarning
- 修改GetAll方法返回ToArray()副本而非直接Values引用
- 分离路径加载方法为非递归和递归两个独立接口
- 新增LoadFromPath和LoadFromPathRecursive的重载方法
- 提取内部处理逻辑到ProcessEntry私有方法
- 优化目录遍历逻辑并改进错误处理机制
- 添加重复键检测和资源加载失败的日志记录
v0.0.195 v0.0.194
2026-02-23 22:33:29 +08:00
GeWuYou
4fd90e45a1 feat(godot): 添加资源仓储功能支持
- 新增 IHasKey 接口定义键值访问契约
- 新增 IRepository 接口提供通用数据仓储功能
- 实现 GodotResourceRepository 类支持资源的存储和加载
- 添加 IResourceRepository 接口扩展通用仓储功能
- 实现从路径批量加载 Godot 资源的功能
- 支持递归加载子目录中的资源文件
- 提供 .tres 和 .res 文件的自动识别和加载
2026-02-23 22:33:29 +08:00
GeWuYou
7046c2cd47 feat(services): 添加内置模块重复注册检查功能
- 在 ServiceModuleManager 中添加 _builtInModulesRegistered 标志位
- 实现重复注册检测逻辑,避免内置模块被多次注册
- 更新 RegisterBuiltInModules 方法的文档注释
- 在销毁所有模块时重置注册标志位
- 优化方法参数命名和描述信息
- 改进代码结构和注释内容
v0.0.193
2026-02-23 13:53:29 +08:00
GeWuYou
c401d63a05 docs(IServiceModuleManager): 为服务模块管理器接口添加完整文档注释
- 为接口添加总体功能描述注释
- 为RegisterModule方法添加参数说明注释
- 为RegisterBuiltInModules方法添加容器和属性参数说明注释
- 为GetModules方法添加返回值说明注释
- 为InitializeAllAsync方法添加异步模式参数和返回值说明注释
- 为DestroyAllAsync方法添加返回值说明注释
2026-02-23 13:53:29 +08:00
GeWuYou
5cb0a03d5c refactor(architecture): 重构架构服务接口设计
- 将 ArchitectureServices 类型改为 IArchitectureServices 接口
- 简化 IArchitectureServices 接口中属性声明的访问修饰符
- 为 IArchitectureServices 接口添加模块管理器属性
2026-02-23 13:53:29 +08:00
GeWuYou
ed187473dd test(architecture): 更新架构服务测试以验证内置模块注册
- 添加了对ArchitectureProperties和GFramework.Core.services的引用
- 实现了RegisterBuiltInServices方法用于注册内置服务
- 修改了构造函数测试以验证容器初始化而非所有服务
- 更新了EventBus、CommandExecutor和QueryExecutor的测试以验证注册后可用性
- 添加了AsyncQueryExecutor可用性测试
- 添加了未注册服务时EventBus为null的测试
- 在多个实例测试中添加了模块注册以确保独立性
- 添加了ModuleManager属性非空测试
- 实现了ECS配置开关控制模块注册的测试
- 移除了TestArchitectureContextV3中的硬编码服务实现
- 更新了ECS相关测试以直接注册EcsWorld到容器中
- 改进了ECS世界获取失败时的错误消息
2026-02-23 13:53:29 +08:00
GeWuYou
c593c5016b feat(architecture): 实现服务模块化管理和ECS功能
- 将架构服务重构为模块化设计,引入ServiceModuleManager统一管理
- 新增EventBusModule、CommandExecutorModule、QueryExecutorModule等核心服务模块
- 实现ECS模块支持,可配置启用Entity Component System功能
- 在架构初始化过程中集成模块注册、初始化和销毁流程
- 更新架构属性配置,添加EnableEcs开关控制ECS功能启用
- 优化服务获取方式,从直接依赖改为通过容器动态获取
- 移除架构上下文中的ECS相关实现代码,统一由ECS模块管理
2026-02-23 13:53:29 +08:00
GeWuYou
07e2a80de5 refactor(ecs): 将EcsSystemBase中的EcsWorld类型改为接口
- 将EcsWorld属性的类型从具体类EcsWorld改为接口IEcsWorld
- 修改OnInit方法中的服务获取逻辑以使用接口类型
- 提高代码的抽象性和可扩展性
2026-02-23 12:27:16 +08:00
GeWuYou
808d3beecf refactor(abstractions): 更新 IsExternalInit 类型定义
- 将预处理器条件从具体版本改为 !NET5_0_OR_GREATER
- 修改类访问修饰符为 internal
- 更新 XML 注释文档,添加对 .NET 5.0+ 版本的说明
- 移除中文注释中的特殊字符描述
- 优化代码可读性和维护性
2026-02-23 12:27:16 +08:00
GeWuYou
89b7bcca8a feat(ecs): 为ECS相关功能添加实验性特性标记
- 在ArchitectureContext中的ECS相关方法添加[Experimental]特性
- 在ECS测试类上添加[Experimental]特性标记
- 为ECS基础测试方法添加实验性特性
- 统一使用System.Diagnostics.CodeAnalysis命名空间
- 标记GetEcsWorld、RegisterEcsSystem等核心方法为实验性API
2026-02-23 12:27:16 +08:00
GeWuYou
a65d4fa294 refactor(architecture): 重构架构生命周期相关接口命名
- 将 IArchitectureLifecycle 重命名为 IArchitectureLifecycleHook
- 将 IArchitecturePhaseAware 重命名为 IArchitecturePhaseListener
- 更新内部生命周期钩子集合类型为 IArchitectureLifecycleHook
- 更新 NotifyPhaseAwareObjects 方法中的类型引用
- 移除 IArchitectureModule 对生命周期接口的继承
- 更新 IModel 和 ISystem 接口中的相位感知类型引用
- 删除废弃的 AbstractModule 抽象类
2026-02-23 12:27:16 +08:00
GeWuYou
9ccfd7f49e refactor(architecture): 将销毁方法改为异步实现
- 将Destroy方法替换为DestroyAsync异步方法
- 更新锚点绑定以使用异步销毁任务
- 在异步方法中保持相同的销毁逻辑
- 确保扩展组件正确分离和清理
- 维持原有的继承关系和调用链路
2026-02-23 12:27:16 +08:00
GeWuYou
3db89ab498 refactor(architecture): 重构架构初始化和销毁机制
- 将Init方法统一重命名为Initialize方法以提高一致性
- 修改Architecture类中的组件注册逻辑,优化去重判断
- 更新ECS系统基础类以使用新的初始化接口
- 重构EcsWorld类使用属性自动实现而非私有字段
- 移除过时的EcsUsageExample示例文件
- 更新相关测试类以匹配新的初始化方法命名
- 改进代码注释和文档字符串格式
2026-02-23 12:27:16 +08:00
GeWuYou
35845be93f test(ecs): 添加高级ECS集成测试并完善测试覆盖
- 新增EcsAdvancedTests类,包含完整的ECS系统测试套件
- 添加EcsWorld高级功能测试,包括实体创建、销毁和组件操作
- 实现EcsSystemRunner生命周期控制测试,验证启动停止行为
- 添加多系统交互测试,验证优先级执行顺序
- 完善组件操作测试,涵盖增删改查场景
- 集成ArchitectureContext与ECS的测试用例
- 添加依赖注入容器的ECS系统注册测试
- 补充系统运行器异常处理和资源清理测试
2026-02-23 12:27:16 +08:00
GeWuYou
6ee7a52326 fix(mediator): 修复参数验证错误消息中的字符串拼接问题
- 修正了 Name 参数为空时错误消息中的字符串拼接格式
- 在错误消息中添加了适当的空格分隔符
2026-02-23 12:27:16 +08:00
GeWuYou
5f3fac2147 test(ecstests): 添加ECS测试并优化中介者测试的异常断言
- 添加EcsBasicTests类,实现ECS基础功能测试包括实体创建、组件设置、系统更新等
- 添加EcsIntegrationTests类,实现ECS集成测试包括性能基准测试和优先级调度验证
- 修改MediatorComprehensiveTests中的断言,使用OperationCanceledException替代TaskCanceledException
- 移除流测试中的冗余取消令牌传递,简化异步流的取消测试逻辑
2026-02-23 12:27:16 +08:00
GeWuYou
daff1fa12b feat(architecture): 集成Arch ECS框架并升级目标框架
- 在ArchitectureContext中添加ECS世界和系统调度器支持
- 添加IEcsWorld和IEcsSystem接口定义
- 实现EcsWorld、EcsSystemBase和EcsSystemRunner核心类
- 添加Position和Velocity示例组件及MovementSystem示例
- 创建ECS使用示例代码
- 将多个项目的TargetFramework从netstandard2.0升级到netstandard2.1
- 添加Arch和Arch.System包依赖到核心项目
- 在测试项目中添加ECS相关接口的模拟实现
2026-02-23 12:27:16 +08:00
GeWuYou
d653994ded fix(ui): 修复UI过渡流水线中的空引用异常
- 添加空值检查避免FromUiKey为null时的日志记录错误
- 确保流水线执行时参数安全处理
v0.0.192
2026-02-21 08:59:56 +08:00
GeWuYou
608251047c refactor(scene): 将场景路由异步方法改为await调用
- 将SceneRouterBase中的AfterChange方法改为异步方法AfterChangeAsync
- 修改SceneRouterBase中的场景切换流程使用await调用异步方法
- 移除后台线程执行,直接使用同步await调用
- 更新日志记录逻辑,优化调试信息输出
- 简化异常处理流程,统一异步执行模式
2026-02-21 08:59:56 +08:00
GeWuYou
7015ba118d fix(registries): 修复 Values 方法返回空集合的问题
- 修复了当 Map.Values 无法转换为 IReadOnlyCollection<TValue> 时返回空集合的问题
- 现在正确地将 Map.Values 转换为 List 后再创建 ReadOnlyCollection
- 确保 Values 方法始终返回包含实际数据的集合而不是空集合
v0.0.191
2026-02-20 22:52:56 +08:00
GeWuYou
a4b3bca1c1 feat(registries): 扩展注册表接口功能并实现基础类
- 移除 IRegistry 接口中的 in 泛型约束
- 添加 Unregister 方法用于移除指定键的项
- 添加 GetAll 方法用于获取所有键值对
- 添加 Values 方法用于获取所有注册值
- 添加 Keys 属性用于获取所有键
- 添加 Count 属性用于获取项的数量
- 在 KeyValueRegistryBase 中实现新增的接口方法
- 添加 System.Collections.ObjectModel 引用支持只读集合
2026-02-20 22:52:56 +08:00
GeWuYou
6b51c04deb feat(scene): 添加环绕场景过渡处理器注册功能
- 实现 RegisterAroundHandler 方法用于注册环绕场景过渡处理器
- 实现 UnregisterAroundHandler 方法用于注销环绕场景过渡处理器
- 添加处理器选项配置参数支持
- 提供完整的环绕处理器生命周期管理功能
v0.0.190
2026-02-20 22:32:40 +08:00
GeWuYou
29d05e099b chore(deps): 更新项目依赖包版本
- 将 Meziantou.Analyzer 从 2.0.302 版本更新到 3.0.9 版本
- 将 Godot.SourceGenerators 从 4.6.0 版本更新到 4.6.1 版本
- 在多个项目文件中统一更新了代码分析器依赖版本
2026-02-20 20:31:12 +08:00
dependabot[bot]
85ef0967a7 Bump GodotSharp and GodotSharpEditor
Bumps GodotSharp from 4.6.0 to 4.6.1
Bumps GodotSharpEditor from 4.6.0 to 4.6.1

---
updated-dependencies:
- dependency-name: GodotSharp
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: GodotSharpEditor
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:22:09 +08:00
dependabot[bot]
fad5ea4f1c Bump Meziantou.Analyzer from 2.0.299 to 2.0.302
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 2.0.302
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
  dependency-version: 2.0.302
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
  dependency-version: 2.0.302
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
  dependency-version: 2.0.302
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
  dependency-version: 2.0.302
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:21:52 +08:00
dependabot[bot]
3f0a2f5bda Bump NUnit from 4.4.0 to 4.5.0
---
updated-dependencies:
- dependency-name: NUnit
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:21:40 +08:00
GeWuYou
905dbea964 docs(license): 添加 More-Effective-Godot-Coroutines 许可证文件
- 添加 MIT 许可证文本文件
- 包含版权声明和许可条款
- 确保第三方库许可证合规性
2026-02-17 21:52:14 +08:00
GeWuYou
56769cbf01 feat(architecture): 添加异步销毁功能支持
- 在 Architecture 中添加对 IAsyncDestroyable 接口的支持
- 将销毁集合类型从 IDestroyable 改为 object 以支持多种销毁接口
- 实现 DestroyAsync 方法提供异步销毁能力
- 保留旧的同步 Destroy 方法用于向后兼容
- 在 StateMachineSystem 中添加异步销毁状态的支持
- 添加 IAsyncDestroyable、IAsyncInitializable 和 IAsyncLifecycle 接口定义
- 更新测试代码以使用新的异步销毁方法
- 在架构销毁时清理依赖注入容器
v0.0.189
2026-02-17 18:41:16 +08:00
GeWuYou
73d1fcf6fd refactor(core): 将 IDisposable 替换为 IDestroyable 接口
- 重命名 IDisposable 接口为 IDestroyable 并移动到 lifecycle 命名空间
- 更新 Architecture.cs 中的可销毁组件集合类型从 IDisposable 到 IDestroyable
- 修改 WaitForEvent 和 WaitForMultipleEvents 类实现 IDestroyable 接口
- 更新 AsyncContextAwareStateBase 和 ContextAwareStateBase 继承 IDestroyable 接口
- 修改 StateMachineSystem 中状态清理逻辑使用 IDestroyable 类型判断
- 更新 ILifecycle 接口继承关系使用新的 IDestroyable 接口
2026-02-17 18:41:16 +08:00
GeWuYou
058dff010c refactor(tests): 移除架构服务测试中的未实现方法
- 从 ArchitectureServicesTests 类中删除 QueryAsync 方法
- 从 ArchitectureServicesTests 类中删除 PublishEventAsync 方法
- 从 GameContextTests 类中删除 QueryAsync 方法
- 从 GameContextTests 类中删除 PublishEventAsync 方法
- 清理相关的方法签名和异常抛出代码
- 简化测试类结构,移除不必要的接口实现
2026-02-17 18:41:16 +08:00
GeWuYou
8e88137399 feat(state): 支持异步状态退出功能
- 实现了 IAsyncState 接口的异步退出方法调用
- 添加了对异步状态和普通状态的区分处理
- 确保状态机系统兼容新旧状态类型
- 保持现有同步状态退出逻辑不变
2026-02-17 18:41:16 +08:00
GeWuYou
d76751c636 refactor(architecture): 移除查询和事件发布语法糖方法
- 删除 ArchitectureContext 中的 QueryAsync 和 PublishEventAsync 扩展方法
- 删除 ContextAwareExtensions 中对应的扩展方法实现
- 从 IArchitectureContext 接口中移除相关方法定义
- 更新测试代码中的参数命名从 command 到 query
- 移除相关的单元测试用例
- 修正 Godot 扩展中对 PublishEventAsync 的调用为 PublishAsync
2026-02-17 18:41:16 +08:00
GeWuYou
984829c368 refactor(coroutine): 移除命令等待事件协程扩展并改进测试
- 从 MediatorCoroutineExtensions 中移除 SendCommandAndWaitEventCoroutine 相关代码
- 从 CommandCoroutineExtensionsTests 中移除对应的测试方法
- 更新测试用例验证逻辑,统一使用静态方法调用方式
- 添加新的 MediatorCoroutineExtensionsTests 测试类
- 修改测试方法名称以更准确反映测试行为
- 统一异常处理和参数验证的测试覆盖
v0.0.188
2026-02-16 22:44:52 +08:00
GeWuYou
855b3f9eac refactor(coroutine): 优化协程扩展中的异常处理和参数验证
- 修改了CommandCoroutineExtensions和MediatorCoroutineExtensions中的异常处理逻辑
- 添加了对负数超时参数的验证和异常抛出
- 改进了服务获取的空值检查机制
- 更新了文档注释以提供更清晰的参数说明
- 重构了SendCommandAndWaitEvent方法的实现结构
- 统一了错误消息格式和异常处理方式
2026-02-16 22:44:52 +08:00
GeWuYou
b196cd40bb feat(coroutine): 添加Mediator模式与协程集成的扩展方法
- 实现SendCommandCoroutine方法,支持以协程方式发送命令并处理异常
- 实现SendCommandAndWaitEventCoroutine方法,支持发送命令并等待特定事件
- 添加超时控制功能,支持设置等待事件的超时间
- 集成IEventBus和IMediator服务,提供完整的事件驱动协程支持
- 提供异常回调处理机制,增强错误处理能力
- 实现资源清理机制,确保WaitForEvent对象正确释放
2026-02-16 22:44:52 +08:00
GeWuYou
82cd2585d5 refactor(cqrs): 将基础类改为抽象类以增强架构设计
- 将 CommandBase 类标记为抽象类
- 将 NotificationBase 类标记为抽象类
- 将 QueryBase 类标记为抽象类
- 将 RequestBase 类标记为抽象类
- 保持所有泛型约束和接口继承关系不变
- 保留构造函数和输入数据属性的原有功能
v0.0.187
2026-02-16 20:55:06 +08:00