feat(shared-web): add shared swagger and tracing utilities

This commit is contained in:
2025-11-22 21:20:49 +08:00
parent b9d4a06f61
commit b587e8c1e1
22 changed files with 1058 additions and 0 deletions

62
0_Document/10_TODO.md Normal file
View File

@@ -0,0 +1,62 @@
# TODO Roadmap
说明本清单覆盖当前阶段的骨架搭建与核心基础能力不含部署与CI/CD留到项目跑通后再做
## A. 基础骨架与规范
- [x] 统一返回结果/异常处理中间件Shared.Web
- [x] 模型验证、验证失败统一输出Shared.Web
- [x] 统一日志Serilog与请求日志/TraceIdShared.Web
- [x] API 版本化与分组AdminApi、MiniApi、UserApi
- [x] Swagger 定制(鉴权按钮、分组说明、示例)
- [x] 安全中间件Security Headers、CORS 策略(按端区分)
## B. 认证与权限
- [ ] JWT 颁发与刷新AdminApi、MiniApi
- [ ] RBAC 权限模型(角色/权限/策略与特性授权AdminApi
- [ ] 小程序登录(微信 code2Session并绑定用户账户MiniApi
- [ ] 登录防刷限流MiniApi
## C. 多租户与参数字典
- [ ] 多租户中间件:从 Header/域名解析租户Shared.Web + Tenancy
- [ ] EF Core 全局查询过滤tenant_id
- [ ] 参数字典模块(系统参数/业务参数CRUD 与缓存Dictionary 模块)
## D. 数据访问与多数据源
- [ ] EF Core 10 基础上下文、实体基类、审计字段
- [ ] 读写分离/多数据源配置(主写、从读;或按租户切库预留)
- [ ] Dapper 基础设施封装(统计/报表类查询)
## E. 文件与存储
- [ ] 存储模块抽象(本地/MinIO/云厂商适配)
- [ ] 上传接口AdminApi、MiniApi与签名直传预留
- [ ] 图片/文件访问安全策略(防盗链、过期签名)
## F. 短信与消息队列
- [ ] 短信模块(阿里云/腾讯云 适配占位)与验证码发送
- [ ] MQ 模块RabbitMQPublisher/Subscriber 抽象
- [ ] 业务事件定义(订单创建/支付成功等)与事件发布入口
## G. 调度与定时任务
- [ ] 调度模块Quartz/Hangfire 二选一,默认 Hangfire
- [ ] 基础任务:订单超时取消、优惠券过期处理、日志清理
- [ ] 调度面板(后续 AdminUI 对接)
## H. 第三方配送对接(仅第三方)
- [ ] 配送适配抽象(达达/闪送/顺丰同城等)
- [ ] 统一下单/取消/查询接口与回调验签
- [ ] AdminApi 后台运力单查询与补单
## I. 网关与横切能力
- [ ] YARP 路由拆分(/api/admin、/api/mini、/api/user
- [ ] 网关级限流与请求日志
- [ ] 透传鉴权/租户标识与统一错误页
## J. 测试与质量
- [ ] 单元测试工程骨架xUnit + FluentAssertions
- [ ] 集成测试基座WebApplicationFactory、测试容器
- [ ] 静态分析与风格规范(.editorconfig
## K. 文档与规范落地
- [ ] 在文档中补充:仅第三方配送的接口与回调规范
- [ ] MiniApi 认证流程图(微信登录)与错误码
- [ ] 模块间调用关系图与依赖边界