fix version 1
This commit is contained in:
25
docs/feed.md
25
docs/feed.md
@@ -290,3 +290,28 @@ flowchart TD
|
||||
10. **测试**:为 `PostList`(分页与可见性过滤)、`LikeAction`(点赞/点踩各一次)、`DeleteComment`、`AddComment`(作者落库与计数一致)各写一条正例 + 一条边界用例。
|
||||
|
||||
> 本报告只列出与现有实现直接相关的修复项。为 feed 引入"统一内容框架""时间线抽象层""互动事件总线""DTO/VO 分层"一类改造不在建议范围内——上述 10 条都是对现有函数与配置的最小修正。
|
||||
|
||||
## 9. 整改记录(2026-09-22)
|
||||
|
||||
> 本节记录按本报告结论执行的代码整改。整改遵循**最小修正**原则:未引入新框架、抽象层、DTO/VO、事件总线,未拆分服务边界,**未修改任何 `proto/*.proto` 与生成的 `pb/*.go`**;新增/修改注释均为中文;口令类摘要统一使用 bcrypt(验证码等短时效一次性凭证仍按原有 Redis 明文比对链路存储)。校验方式:`GOWORK=off go build ./...` + `GOWORK=off go vet ./...` + `gofmt -l`(仓库根 workspace 模式存在 genproto 拆包的 ambiguous import,属本机既有问题)。
|
||||
|
||||
| 编号 | 级别 | 问题 | 处理结果 |
|
||||
| --- | --- | --- | --- |
|
||||
| F1 | 高 | 删除动态无归属校验 | 已修复:删除条件加 `passport_id`/`passport_identity = auth.Identity` |
|
||||
| F2 | 高 | 修改动态无归属校验 | 已修复:同上,越权返回 `ErrPermissionDenied` |
|
||||
| F3 | 高 | 列表无 `is_open`/`status` 过滤,私密动态泄露 | 已修复:列表查询过滤公开状态,他人不可见私密动态 |
|
||||
| F4 | 高 | 互动计数无去重、无身份绑定,可无限刷量 | 已修复:改为条件更新并加计数保护。**完整去重需要新增记录表/字段,属契约外,未做** |
|
||||
| F5 | 高 | 分页 `Limit(page)` 且未回写,分页失效并全表返回 | 已修复:改为 `Limit(page_size).Offset((page-1)*page_size)`,并归一化 `page`/`page_size` |
|
||||
| F6 | 高 | `DeleteComment` 空实现,删除接口永远成功 | 已修复:实现真实删除并校验评论归属 |
|
||||
| F7 | 高 | 列表恒不返回标签与附件 | 已修复:补 `Preload` 装配 tags/attachs |
|
||||
| F8 | 高 | 点踩计数条件写错导致 SQL 列名为空 | 已修复:修正列名/字段名 |
|
||||
| F9 | 高 | 修改动态无法改为不公开、附件变更被静默丢弃 | 已修复:允许 `is_open` 置 false(不被零值过滤吞掉),附件变更真正落库 |
|
||||
| F10 | 高 | `feed_*.yaml` 字段名不匹配导致启动即退出、`Databases` 缺失即 panic | 已修复:按 SDK 规范重写 `etc/*.yaml`(顶层 `Service`/`Port`/`Databases(Driver/Source)`/`Cache`)并补 `Etcd` 段 |
|
||||
| F11 | 高 | gateway handler 从未注册、`Mux` 为 nil、无 `service.Expose` | 已修复:照 `module/social/group`/`relation` 的既有接线方式初始化 `gwRuntime.NewServeMux()`、注册 gateway handler 并补 `service/expose.go`、`service/dependencies.go` |
|
||||
| F12 | 高 | `feed_tags` 无 `identity` 列却被 `Where("identity")` 使用 | 已修复:按模型实际列名修正 |
|
||||
|
||||
### 未纳入本轮范围
|
||||
|
||||
报告中「中」「低」级别的项(分页上限、死代码、README 与实现不符、单测缺失、可维护性等)**本轮未处理**;如需继续,按各报告第 8 节「修复建议」的顺序推进即可。
|
||||
|
||||
> 本轮整改未修改任何 `proto/*.proto` 与 `pb/*.go`,因此少数需要新增接口字段才能完整实现的项目(已在处理结果中标注)做了安全降级。
|
||||
|
||||
Reference in New Issue
Block a user