67 lines
3.7 KiB
Markdown
67 lines
3.7 KiB
Markdown
# 平台资源中文展示统一
|
||
|
||
## 1. 项目概述
|
||
|
||
本次统一平台总后台 48 类资源的列表、详情、关联记录、操作弹窗和树形页面展示规则。目标是以中文业务名称和业务单号作为主要信息,将 UUID 降级为可复制的技术信息,并阻止未知响应字段直接形成英文表头。
|
||
|
||
技术栈保持不变:Vue 3、TypeScript、Vite、Arco Design 和现有 Gin API。本次不修改数据库结构,不删除或重命名既有接口字段,也不改变已有不脱敏字段的内容和可见性。
|
||
|
||
## 2. 核心目录
|
||
|
||
```text
|
||
frontend/platform_admin/
|
||
├── src/api/
|
||
│ ├── resources.ts # 48 类资源字段、关系和中文名称
|
||
│ ├── resource-display.ts # 共享金额、状态、关系和中文兜底
|
||
│ └── resource-detail-contract.ts # 聚合详情固定列与 JSON 契约
|
||
├── src/views/resource/
|
||
│ ├── ResourceDetailContent.vue # 标准详情和关联记录渲染
|
||
│ └── use-resource-relations.ts # 静态及动态关系名称补载
|
||
├── src/views/shared/
|
||
│ ├── CrudListPage.vue # 业务列优先的标准列表
|
||
│ ├── resource-list-field-display.ts # 资源列表列序与关系名称
|
||
│ ├── RelationNameText.vue # 名称、跳转和 UUID 复制
|
||
│ └── TreePage.vue # 树形资源中文展示
|
||
└── scripts/check-resource-display-contracts.mjs # 48 类资源静态契约检查
|
||
```
|
||
|
||
## 3. 展示规则
|
||
|
||
### 3.1 列表
|
||
|
||
- 不展示数据库自增 `id`。
|
||
- 默认展示最多 6 个主要业务字段。
|
||
- 订单、合同、支付、钱包流水和商城订单使用专属列顺序。
|
||
- “系统唯一标识”位于业务字段之后,并保留完整复制能力。
|
||
- 表格宽度不足时只在表格容器内部滚动。
|
||
|
||
### 3.2 详情与关系
|
||
|
||
- 业务编号、状态和主要关联置前;UUID、创建时间和更新时间靠后。
|
||
- 静态关系和由主体类型决定的动态关系都补载可读名称。
|
||
- 名称可点击进入存在详情路由的关联资源;树形资源没有详情路由时仅展示。
|
||
- 名称加载失败时展示明确错误文案,并继续保留 UUID。
|
||
- 未配置中文名称的响应字段在生产页面隐藏,由静态检查阻止回归。
|
||
|
||
### 3.3 聚合子表与 JSON
|
||
|
||
- 配送合同的气瓶与修订、配送订单的明细、分配、状态、轨迹、确认和支付使用固定中文列。
|
||
- 关联表不再根据 `Object.keys` 自动追加未知列。
|
||
- JSON 查看器完整展示原内容,仅改善排版;已有不脱敏要求保持不变。
|
||
|
||
## 4. 兼容性与维护
|
||
|
||
- 本次前端扩展不改变 API 请求协议。
|
||
- 没有历史名称快照时使用当前关联名称和 UUID,不伪造历史名称。
|
||
- 新增资源字段时必须先加入中文字段字典;新增聚合集合时必须声明固定列。
|
||
- 执行 `npm run resource-display-contracts:check` 可检查资源数量、空只读契约、数据库 ID 列、未知字段保护和固定集合配置。
|
||
|
||
## 5. 变更记录
|
||
|
||
- v1.0:建立 48 类资源中文展示契约,补齐原 19 类空字段只读资源。
|
||
- v1.0:统一业务列优先、关系名称跳转、UUID 次要复制和响应式表格。
|
||
- v1.0:建立固定聚合子表和完整 JSON 查看规则。
|
||
- v1.1:修复树标题插槽误读 `title` 导致中文名称为空的问题,并增加树节点名称回归检查。
|
||
- v1.2:树形资源统一改为树形表格,明确展示名称、排序、状态、系统标识和操作,唯一标识降级为复制入口。
|
||
- v1.2.1:补齐 Arco 表格 `columns` 插槽,修复树形表格容器存在但列和数据不渲染的问题。
|