修复库房地址受控展示
为平台库房管理列表和详情增加专用响应处理,在保留全局敏感字段保护的前提下恢复库房自身地址。未填写地址时显示‘未填写’,创建和编辑继续复用原有白名单写入逻辑,不修改数据库及历史数据。补充回归测试、操作日志和项目文档。
This commit is contained in:
43
docs/操作日志_库房地址受控展示_20260813.md
Normal file
43
docs/操作日志_库房地址受控展示_20260813.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 库房地址受控展示操作日志
|
||||
|
||||
操作时间:2026-08-13
|
||||
操作类型:修改
|
||||
影响模块:平台总后台库房管理、平台管理 API
|
||||
|
||||
## 操作前状态
|
||||
|
||||
库房地址已保存于 `product_warehouse.address`,新建与编辑接口也允许写入地址,但通用敏感字段保护会删除列表和详情响应中的 `address`,导致页面统一显示 `-`。
|
||||
|
||||
## 具体操作
|
||||
|
||||
1. 为库房管理增加专用列表与详情处理器。
|
||||
2. 保留全局敏感字段保护,并在保护后仅恢复当前库房资源自身的地址。
|
||||
3. 创建与编辑继续复用原有通用白名单写入逻辑。
|
||||
4. 未填写地址时在页面显示“未填写”。
|
||||
5. 新增列表、详情和空地址回归测试。
|
||||
|
||||
## 操作后状态
|
||||
|
||||
- 库房列表、详情和编辑页面可取得已保存地址。
|
||||
- 未填写地址时显示“未填写”。
|
||||
- 其他资源和公共接口继续执行原有地址保护。
|
||||
- 数据库结构与历史数据均未修改。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `backend/api/internal/logic/platform/product/warehouse.go`:新增库房地址受控列表、详情和恢复逻辑。
|
||||
- `backend/api/internal/logic/platform/product/warehouse_test.go`:新增地址恢复测试。
|
||||
- `backend/api/internal/routers/platform.go`:库房 GET 路由改用专用处理器,POST/PUT 保持通用处理器。
|
||||
- `frontend/platform_admin/src/api/resources.ts`:配置库房地址空值文案。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `go test ./internal/logic/platform/product ./internal/routers`:通过。
|
||||
- `npm.cmd run resource-pages:check`:通过,详情 46 类、新建 25 类、编辑 23 类。
|
||||
- `npm.cmd run build`:通过,TypeScript 检查与 Vite 生产构建成功。
|
||||
- 本地后端重新编译并重启,健康接口返回 `platform-api`、`ok`。
|
||||
- `git diff --check`:通过。
|
||||
|
||||
## 风险评估
|
||||
|
||||
完整库房地址仅在已鉴权的平台库房管理接口中恢复。全局敏感字段规则未放宽,数据库与其他终端不受影响。
|
||||
39
docs/项目文档_库房地址受控展示_v1.0.md
Normal file
39
docs/项目文档_库房地址受控展示_v1.0.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 项目文档:库房地址受控展示 v1.0
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
本次修改解决平台总后台库房地址已保存但无法显示的问题。库房继续使用自身的 `product_warehouse.address` 字段,地址保持可选,不修改数据库结构或历史数据。
|
||||
|
||||
## 2. 目录结构说明
|
||||
|
||||
```text
|
||||
platforms/
|
||||
├── backend/api/internal/logic/platform/product/
|
||||
│ ├── warehouse.go # 库房列表、详情及地址受控恢复
|
||||
│ └── warehouse_test.go # 库房地址响应测试
|
||||
├── backend/api/internal/routers/
|
||||
│ └── platform.go # 平台库房管理路由
|
||||
├── frontend/platform_admin/src/api/
|
||||
│ └── resources.ts # 库房地址空值展示配置
|
||||
└── docs/
|
||||
├── 项目文档_库房地址受控展示_v1.0.md
|
||||
└── 操作日志_库房地址受控展示_20260813.md
|
||||
```
|
||||
|
||||
## 3. 核心文件说明
|
||||
|
||||
- `warehouse.go`:列表与详情先执行通用响应投影和敏感字段保护,再按当前查询记录恢复库房自身地址。
|
||||
- `warehouse_test.go`:覆盖列表顺序、单条详情及空地址场景。
|
||||
- `platform.go`:GET 使用库房专用处理器;创建、更新和状态修改继续沿用通用资源能力。
|
||||
- `resources.ts`:空地址显示“未填写”,编辑输入提示为“请输入地址”。
|
||||
|
||||
## 4. 变更记录
|
||||
|
||||
- 修复库房列表地址显示 `-`。
|
||||
- 支持详情和编辑页面读取已保存库房地址。
|
||||
- 保持地址可选,并为未填写状态提供明确文案。
|
||||
- 未新增依赖、数据库迁移或历史数据修改。
|
||||
|
||||
## 5. 维护指南
|
||||
|
||||
新增需要受控展示地址的管理资源时,应采用资源专用恢复逻辑,不得从全局敏感字段集合中移除 `address`。修改后至少运行平台产品逻辑测试、路由测试和平台前端构建。
|
||||
Reference in New Issue
Block a user