Files
platforms/docs/操作日志_账户角色中文展示与摘要统一_20260811.md

58 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 操作日志:账户角色中文展示与摘要统一
操作时间2026-08-11 01:47:12
操作类型:修改、扩展
影响模块:平台总后台、气站后台、配送点后台、平台账户接口
## 操作前状态
- 配送点账户曾实现“配送点管理员”中文展示,但标准资源独立页面改造后退回“角色编码 / admin”。
- 气站登录只允许 `admin`,平台创建和更新接口却仍接受任意角色编码,可能产生无法登录的账户。
- 气站、配送点和生产商账户没有头像字段或受控头像接口,平台页面仍展示默认头像占位。
- 平台账户编辑下拉使用角色名称,但列表和详情仍可能显示原始角色编码。
## 具体操作
1. 为气站和配送点账户增加资源级固定角色元数据,统一显示“角色”“气站管理员”“配送点管理员”。
2. 气站账户创建强制写入 `admin`,更新不再修改角色;保留旧请求字段用于兼容但不采纳。
3. 历史未知角色统一显示为“未知角色(原编码)”,不执行数据库迁移,不自动扩大权限。
4. 平台账户列表和详情加载动态角色名称,用角色名称替代裸编码。
5. 无真实头像能力的账户隐藏头像列并使用文字摘要;新建页不展示空的唯一标识和创建时间。具备头像接口的工作人员、用户和平台账户保持原功能。
6. 气站后台和配送点后台的账户管理弹层同步使用中文只读角色,并停止向账户更新接口提交角色字段。
## 代码变更
- `backend/api/internal/logic/platform/gas/account.go`:固定气站管理员角色并禁止更新角色。
- `backend/api/internal/logic/platform/gas/account_test.go`:验证旧角色字段不能改变管理员角色。
- `frontend/platform_admin/src/api/`:增加固定角色、未知角色和动态平台角色显示能力。
- `frontend/platform_admin/src/views/resource/`:按真实头像能力切换头像摘要或文字摘要。
- `frontend/gas_admin/src/``frontend/delivery_admin/src/`:统一账户角色中文名称和只读行为。
- `frontend/platform_admin/scripts/check-account-role-presentation.mjs`:静态检查三套后台的角色与摘要规则。
## 行为变化
| 场景 | 修改前 | 修改后 |
| --- | --- | --- |
| 配送点账户角色 | “角色编码 / admin” | “角色 / 配送点管理员” |
| 气站账户角色 | 可输入任意编码 | 固定“气站管理员”,后端保存 `admin` |
| 历史未知角色 | 直接显示裸编码 | 显示“未知角色(原编码)”,不自动修改 |
| 无头像账户 | 显示不可操作默认头像 | 详情、编辑使用文字摘要;新建直接进入表单 |
| 平台账户角色 | 列表和详情可能显示编码 | 使用动态平台角色名称 |
## 验证结果
- 平台总后台、气站后台、配送点后台 TypeScript 类型检查和生产构建全部通过。
- 三套后台资源契约检查通过;标准资源页面检查通过:详情 46 类、新建 25 类、编辑 23 类。
- 账户角色静态检查通过,确认三套后台中文角色、未知角色和头像摘要规则均已覆盖。
- 后端 `go test ./...` 全量测试通过,包含新增气站管理员角色约束测试。
- 本地浏览器已验证应用可正常进入登录页;数据页视觉回归因当前测试会话未登录而未执行,未使用或提交本地默认密码。
## 风险评估
- 不迁移历史非 `admin` 记录,避免静默赋予管理员权限;管理员需根据“未知角色”提示单独核查。
- 气站账户从本次变更起无法创建新角色,符合当前登录与菜单仅支持 `admin` 的既有约束。
- 生产商角色模型尚未明确,本次不修改其角色写入规则。
- 本次不新增气站、配送点或生产商头像字段,因此不产生数据库迁移和孤儿上传文件。