固定生产商管理员角色
新建生产商时由服务端固定写入 admin,编辑时忽略并禁止修改角色。平台页面将 admin 只读显示为‘生产商管理员’,历史未知角色保持原值,不修改数据库或历史数据。补充后端回归测试、操作日志和项目文档。
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
|
||||
|
||||
## 操作前状态
|
||||
|
||||
生产商角色字段为自由文本。客户端提交 `1` 等任意字符串时,服务端会直接写入 `producer_account.role_code`,但系统并没有对应的生产商多角色权限实现。
|
||||
|
||||
## 具体操作
|
||||
|
||||
1. 新建生产商时忽略客户端角色,服务端固定写入 `admin`。
|
||||
2. 编辑生产商时忽略客户端角色,并从更新白名单移除 `role_code`。
|
||||
3. 新建和编辑页面将角色设为只读,`admin` 显示为“生产商管理员”。
|
||||
4. 历史未知角色继续按数据库原值展示,不修改数据库及历史数据。
|
||||
5. 增加新建角色固定和编辑角色忽略测试。
|
||||
|
||||
## 操作后状态
|
||||
|
||||
- 新生产商角色固定为 `admin`。
|
||||
- 编辑生产商不会改变已有角色。
|
||||
- `admin` 在页面显示为“生产商管理员”。
|
||||
- 历史值(如 `1`)保持原样,不执行迁移或数据修正。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `backend/api/internal/logic/platform/product/producer.go`:固定新建角色并禁止编辑角色。
|
||||
- `backend/api/internal/logic/platform/product/producer_test.go`:新增角色规则测试。
|
||||
- `frontend/platform_admin/src/api/resources.ts`:新增生产商管理员中文只读选项。
|
||||
- `frontend/platform_admin/src/api/resource-page-rules.ts`:移除角色编辑能力。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `go test ./internal/logic/platform/product`:通过。
|
||||
- `npm.cmd run resource-pages:check`:通过,详情 46 类、新建 25 类、编辑 23 类。
|
||||
- `npm.cmd run build`:通过,TypeScript 检查与 Vite 生产构建成功。
|
||||
- 本地后端重新编译并重启,健康接口返回 `platform-api`、`ok`。
|
||||
- `git diff --check`:通过。
|
||||
|
||||
## 风险评估
|
||||
|
||||
不修改数据库结构或历史数据,接口继续兼容旧客户端提交的 `role_code` 字段。历史非法角色与新数据会暂时存在显示差异,这是明确保留历史原值的结果。
|
||||
39
docs/项目文档_生产商角色固定_v1.0.md
Normal file
39
docs/项目文档_生产商角色固定_v1.0.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 项目文档:生产商角色固定 v1.0
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
当前系统尚未实现生产商端及其多角色权限体系,因此生产商账户仅支持稳定角色编码 `admin`,平台页面显示为“生产商管理员”。本次修改不改变数据库结构和历史数据。
|
||||
|
||||
## 2. 目录结构说明
|
||||
|
||||
```text
|
||||
platforms/
|
||||
├── backend/api/internal/logic/platform/product/
|
||||
│ ├── producer.go # 生产商创建与编辑角色规则
|
||||
│ └── producer_test.go # 生产商角色回归测试
|
||||
├── frontend/platform_admin/src/api/
|
||||
│ ├── resources.ts # 生产商管理员中文展示配置
|
||||
│ └── resource-page-rules.ts # 生产商编辑字段白名单
|
||||
└── docs/
|
||||
├── 项目文档_生产商角色固定_v1.0.md
|
||||
└── 操作日志_生产商角色固定_20260813.md
|
||||
```
|
||||
|
||||
## 3. 核心文件说明
|
||||
|
||||
- `producer.go`:`newProducerAccount` 固定角色为 `admin`;`producerAccountUpdateValues` 不生成角色更新值。
|
||||
- `producer_test.go`:验证客户端提交其他角色不会影响新建和编辑结果。
|
||||
- `resources.ts`:将 `admin` 映射为“生产商管理员”,新建时只读。
|
||||
- `resource-page-rules.ts`:角色不属于生产商可编辑字段。
|
||||
|
||||
## 4. 变更记录
|
||||
|
||||
- 新建生产商固定使用 `admin`。
|
||||
- 编辑生产商不能修改角色。
|
||||
- 新建、详情和编辑页面支持“生产商管理员”中文展示。
|
||||
- 历史未知角色保持数据库原值,不执行 SQL 或迁移。
|
||||
|
||||
## 5. 维护指南
|
||||
|
||||
未来若建设生产商端多角色体系,应先设计独立角色、菜单权限、登录鉴权和企业账户关系,再开放角色编辑。不得仅通过放开 `role_code` 文本输入实现权限扩展。
|
||||
|
||||
Reference in New Issue
Block a user