迁移公告,邮件

This commit is contained in:
2026-08-13 22:04:27 +08:00
parent 21c264fcd7
commit 9044bafdff
18 changed files with 946 additions and 28 deletions
+5 -2
View File
@@ -5,8 +5,8 @@
- 参考基线:工作区 `gva/server`,Git `02f37833`。
- 目标:保留 GVA Vue 管理端使用的 HTTP 路径、方法、请求字段、统一响应结构和核心业务语义,同时按 Kratos 的 `service -> biz -> data` 分层落地。
- 明确排除:代码生成、代码生成历史、插件打包/安装、AI/LLM、MCP、Skills,以及测试文件。
- 当前基线没有公告或邮件的 router/model/service,因此没有虚构对应接口。
- 源端排除 51 个接口名后剩余 167 个接口名,目标端全部覆盖;另增加 `GET /health`。由于不同分组存在 `upload`、`init` 等同名方法,目标实际注册路由总数为 168。
- 公告与邮件位于 `gva/server/plugin`;两者均已按 Kratos 分层迁移,不保留 GVA 的插件式全局变量结构。
- 推荐范围包含 177 个 GVA HTTP 路由,目标端全部覆盖;另增加 `GET /health`,目标实际注册路由总数为 178。
## 模块契约矩阵
@@ -24,6 +24,8 @@
| 审计与日志 | 20 | 操作、登录、数据访问、错误日志以及安全的文件日志查看 |
| 定时任务与 SSE | 9 | Cron CRUD/启停/触发、HTTP/本地执行器、执行日志、失败告警 SSE |
| 媒体 | 15 | 文件库、附件分类、本地存储枚举、普通上传、秒传与分片续传 |
| 公告 | 8 | 公告 CRUD、批量删除、分页、发布者数据源和公开接口 |
| 邮件 | 2 | SMTP 测试、主动发送,以及失败请求邮件告警中间件 |
## 分层映射
@@ -43,6 +45,7 @@
- 超级管理员角色 `888` 保留全权限旁路;其他角色由 Casbin 策略控制。
- 代码中的 `*-gva` 字符串仅是原 Vue 图标库的图标标识,为页面显示兼容而保留;Go 文件、类型、变量和方法均使用实际职责命名。
- 当前首先实现 MySQL、Redis(不可用时退化为进程缓存)和本地文件存储;云 OSS 驱动没有混入领域层。
- SMTP 参数位于 `admin.email`;未配置服务器、发件人或密钥时错误告警保持关闭,邮件接口会返回明确的配置错误。
## 验证命令