# 平台资源中文展示统一 ## 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` 插槽,修复树形表格容器存在但列和数据不渲染的问题。 - v1.3:购物车列表的用户与商品关系列统一展示可读名称,UUID 降级为复制和排障信息。 - v1.4:商城订单统一展示用户名称及空值业务文案;Mock 订单改用商城独立交易状态,并补齐金额、支付时间和下单快照。 - v1.5:商品评价列表的商城订单、商品和用户关系统一展示可读业务名称,UUID 降级为复制信息。 - v1.6:商品分类的技术标识列与其他电商列表统一为“系统唯一标识”,显示截断值并保留复制能力。 - v1.7:提现详情的钱包关系改为可读归属类型摘要,审核人合并展示姓名快照与可复制标识,移除“名称加载失败”和重复裸 UUID。 - v1.7.1:提现列表的审核人改为直接使用审核姓名快照,并保留审核人标识复制与详情跳转,避免历史账户关系加载失败影响列表展示。