fix(t233): add redacted ERP diagnostics
This commit is contained in:
@@ -220,6 +220,12 @@ ERP 配置来源:
|
||||
`422 ERP_LOGIN_REJECTED`、`502 ERP_RESPONSE_INVALID` 和 `503 ERP_UNAVAILABLE`;SSR 导入页
|
||||
用相同 code 显示可关闭弹窗并保留表单。所有 message 都是固定匿名文本,不含 ERP/OCR 原始
|
||||
响应、验证码、Cookie、账号或密码。
|
||||
- `CMROUBAO_ERP_DEBUG_LOG` 默认 `false`,仅接受 `true` 或 `false`。临时设为 `true` 后,
|
||||
API 启动窗口记录 ERP request 的 method/path,以及 response 的 status、content type、长度和
|
||||
最多 4 KiB 的递归脱敏 JSON 摘要;不记录请求 body、完整 URL query、header、Cookie、验证码、
|
||||
OCR 文本、账号、密码、token、订单标识、收件信息、非 JSON body 或图片。诊断完成后必须设回
|
||||
`false` 并重启 API。Windows 可使用根目录 `start-backend.bat --erp-debug` 仅为本次 API
|
||||
进程覆盖开启;也可与 `--migrate` 组合。
|
||||
|
||||
会话不写 SQLite 或 Redis;服务重启后在下一次货运导入前重新经 OCR 建立会话。
|
||||
|
||||
|
||||
+10
-8
@@ -5,7 +5,7 @@
|
||||
## 当前快照
|
||||
|
||||
- 日期:2026-07-29
|
||||
- 阶段:T-233 计划修复 ERP 预检错误映射并增加受控诊断日志
|
||||
- 阶段:T-233 已修复 ERP 预检错误映射并增加受控诊断日志
|
||||
- Git:当前分支为 `main`;T-001 至 T-004、T-101 至 T-104、T-201 至 T-219
|
||||
均按文档提交、实现提交的顺序纳入历史
|
||||
- 生产代码:`android-buyer/` 已接入 Roubao Android 源码
|
||||
@@ -190,6 +190,8 @@
|
||||
| `docs/tasks/T-229.md` | DONE | 从受控 `.env` 加载 ERP 凭证 |
|
||||
| `docs/tasks/T-230.md` | DONE | OCR 自动登录并移除人工 ERP 连接页 |
|
||||
| `docs/tasks/T-231.md` | DONE | 显示 ERP/OCR 导入预检稳定错误 |
|
||||
| `docs/tasks/T-232.md` | DONE | 记录 ERP/OCR 导入预检安全诊断日志 |
|
||||
| `docs/tasks/T-233.md` | DONE | 修复预检错误映射并增加受控 ERP 诊断日志 |
|
||||
| `docs/design/` | 已确认 | T-202 原型索引、4 个管理页和 7 个 Android 页面 |
|
||||
| `deepseek总结.txt` | 已有 | 历史讨论摘要,不是正式需求权威 |
|
||||
| `android-buyer/` | 已有 | Roubao `main` 固定 commit 的 Android 基线 |
|
||||
@@ -201,13 +203,13 @@
|
||||
## 任务摘要
|
||||
|
||||
- 已完成:T-001 至 T-004、T-101 至 T-104、T-201 至 T-219。
|
||||
- 已完成:另含 T-220 至 T-231 ERP 契约、货运存储、采购需求生成、日期增量同步、Go
|
||||
直连协议、OCR 会话预检、稳定预检错误、直连 `FreightSource`、旧 Connector 清理和受控本地
|
||||
凭证加载。
|
||||
- 进行中:T-233 修复将 ERP 预检错误降级为通用 `503` 的 Web adapter 映射,并增加默认关闭的
|
||||
ERP 脱敏诊断日志。
|
||||
- 下一步:启用受控诊断日志后以受控单号导入一次,读取 ERP 请求/响应摘要和货运预检 code;
|
||||
再确认开放 API、OCR/ERP 数据使用权限并完成不记录订单内容的 smoke。
|
||||
- 已完成:另含 T-220 至 T-233 ERP 契约、货运存储、采购需求生成、日期增量同步、Go
|
||||
直连协议、OCR 会话预检、稳定预检错误、安全诊断日志、直连 `FreightSource`、旧 Connector
|
||||
清理和受控本地凭证加载。
|
||||
- 进行中:无。
|
||||
- 下一步:使用 `start-backend.bat --erp-debug` 重启 API 后以受控单号导入一次,读取 ERP
|
||||
请求/响应摘要和货运预检 code;再确认开放 API、OCR/ERP 数据使用权限并完成不记录订单内容的
|
||||
smoke。
|
||||
|
||||
## 当前可运行内容
|
||||
|
||||
|
||||
+11
-6
@@ -4,7 +4,7 @@ title: 修复 ERP 预检错误映射并增加受控诊断日志
|
||||
phase: 2
|
||||
deps:
|
||||
- T-232
|
||||
status: PLANNED
|
||||
status: DONE
|
||||
created: 2026-07-29
|
||||
context_ref: b316287
|
||||
work_branch: null
|
||||
@@ -12,6 +12,7 @@ write_paths:
|
||||
- docs/tasks/T-233.md
|
||||
- docs/current-state.md
|
||||
- docs/api.md
|
||||
- start-backend.bat
|
||||
- backend-api/.env.example
|
||||
- backend-api/cmd/api/**
|
||||
- backend-api/internal/config/**
|
||||
@@ -37,17 +38,18 @@ client 不记录请求路径、HTTP 状态或响应摘要,无法区分 TLS/网
|
||||
token、Cookie、收件人、电话、地址和订单标识均替换为 `[REDACTED]`。图片、非 JSON 和
|
||||
传输失败只输出类型、长度、状态或固定类别,不输出原始内容或 Go error。
|
||||
4. 不记录请求 body、完整 URL query、header、Cookie、OCR 文本或密钥。启动时仅记录调试
|
||||
已启用,不输出配置值;调试结束后将 `.env` 设回 `false`。
|
||||
已启用,不输出配置值;调试结束后将 `.env` 设回 `false`。根目录
|
||||
`start-backend.bat --erp-debug` 可只对本次 API 进程开启同一开关。
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] ERP 不可用可从 `/freight/import` 日志看到
|
||||
- [x] ERP 不可用可从 `/freight/import` 日志看到
|
||||
`freight_import_preflight_failed code=ERP_UNAVAILABLE status=503`。
|
||||
- [ ] 开启 `CMROUBAO_ERP_DEBUG_LOG=true` 后,验证码、登录、用户校验及后续查询均有可关联
|
||||
- [x] 开启 `CMROUBAO_ERP_DEBUG_LOG=true` 后,验证码、登录、用户校验及后续查询均有可关联
|
||||
的脱敏请求/响应日志;默认关闭时没有这些日志。
|
||||
- [ ] 日志绝不含 ERP 凭证、验证码、Cookie、token、订单号、收件人、手机号、地址或原始
|
||||
- [x] 日志绝不含 ERP 凭证、验证码、Cookie、token、订单号、收件人、手机号、地址或原始
|
||||
非 JSON/图片 body。
|
||||
- [ ] 配置、脱敏、ERP client 和 Web adapter 均有测试;标准 Go 验证和入口构建通过。
|
||||
- [x] 配置、脱敏、ERP client 和 Web adapter 均有测试;标准 Go 验证和入口构建通过。
|
||||
|
||||
## 边界
|
||||
|
||||
@@ -59,3 +61,6 @@ client 不记录请求路径、HTTP 状态或响应摘要,无法区分 TLS/网
|
||||
|
||||
- 2026-07-29:创建任务。现场终端提供 `freight_import_failed status=503`,确认稳定 code 在
|
||||
Web adapter 丢失;本机没有可重放的真实 ERP 账户响应。
|
||||
- 2026-07-29:修复 CreateFreightSync 复用所有预检错误映射,增加受控 ERP 诊断 logger、
|
||||
JSON 递归脱敏和 4 KiB 限制,并提供 `start-backend.bat --erp-debug` 一次性开关。标准 Go
|
||||
测试、race、vet 和三个入口构建均通过;未请求真实 ERP。
|
||||
|
||||
Reference in New Issue
Block a user