fix(platform): constrain delivery account role

This commit is contained in:
czl231
2026-08-10 21:06:12 +08:00
parent cb1dbb52b4
commit 7f594eb608
4 changed files with 73 additions and 7 deletions

View File

@@ -0,0 +1,41 @@
# 配送点账户角色约束操作日志
操作时间2026-08-10
操作类型:修改
影响模块:平台总后台配送点管理、平台配送点账户接口
## 操作前状态
`/organization/delivery-basic` 页面的“账户管理”弹窗允许自由输入角色编码,平台接口也会原样保存。配送点后台登录与鉴权仅接受 `admin`,因此可能创建无法登录的账号。
## 具体操作
- 配送点账户表单固定只读显示“配送点管理员”,不向用户暴露内部编码 `admin`
- 平台创建配送点账号时由服务端强制写入 `admin`
- 平台编辑配送点账号时不再更新角色编码。
- 增加角色编码回归测试。
## 操作后状态
平台总后台新建配送点账号不再产生无效角色;编辑账号不会意外改变权限身份。气站账户及其他资源的账户管理行为保持不变。
## 代码变更
- `frontend/platform_admin/src/views/shared/CrudListPage.vue`:配送点固定角色只读展示与提交。
- `backend/api/internal/logic/platform/delivery/account.go`:创建强制角色、编辑禁止改角色。
- `backend/api/internal/logic/platform/delivery/delivery_test.go`:新增角色约束测试。
## 验证结果
- `go test ./internal/logic/platform/delivery`:通过。
- `pnpm.cmd type:check`:通过。
- `pnpm.cmd contract:check`通过48 个资源契约一致。
- `pnpm.cmd build`:通过。
- `pnpm.cmd lint`:命令通过;仓库已有 116 个警告和 12 个提示,本次未引入阻断错误。
## 风险评估
- 历史非 `admin` 账号不会自动迁移,需后续核查后单独修复。
- 接口仍兼容携带 `role_code` 的旧客户端,但服务端不再采纳该字段。