2.8 KiB
2.8 KiB
用户地址受控展示项目文档 v1.1
1. 项目概述
- 项目名称:平台总后台用户地址受控展示。
- 实施范围:平台 API 的
user_address资源,以及端口 5173 的平台总后台列表、详情和编辑页。 - 主要功能:受控展示真实地址及坐标;用户地址列表以账户名称识别所属用户,并保留唯一标识查看与复制能力。
- 技术栈:Go、Gin、GORM、Vue 3、TypeScript、Arco Design。
2. 目录结构
platforms/
├── backend/api/internal/logic/platform/user/
│ └── relation.go # 用户地址受控位置字段恢复
├── frontend/platform_admin/
│ ├── scripts/
│ │ └── check-user-address-relation-display.mjs # 用户账户列表展示检查
│ └── src/
│ ├── api/resources.ts # 用户地址字段级列表展示配置
│ └── views/shared/
│ ├── CrudListPage.vue # 字段配置驱动的列表分流
│ ├── RelationNameText.vue # 名称、标识悬停与复制组件
│ └── resource-list-field-display.ts # 列表字段展示工具
└── docs/
└── 11-数据接口与安全.md # 用户地址资源级安全例外
3. 核心文件说明
3.1 用户地址字段配置
frontend/platform_admin/src/api/resources.ts 通过 listRelationNameOnly 明确声明列表以关系名称展示。该配置只在用户地址的所属用户字段启用,详情页和其他资源不读取该规则。
3.2 列表展示组件
RelationNameText.vue 以账户名称作为列表主内容,悬停显示完整用户唯一标识,并提供独立复制按钮。关系选项尚未加载或账户名称缺失时,列表降级显示完整唯一标识,确保记录仍可定位。
4. 行为变化
| 场景 | 变更前 | 变更后 |
|---|---|---|
| 用户地址列表列名 | 用户唯一标识 | 用户账户 |
| 用户地址列表内容 | 截断的唯一标识 | 账户名称 |
| 完整标识获取 | 点击标识复制 | 悬停查看、复制按钮复制 |
| 关系名称缺失 | 显示原始标识 | 保持显示完整原始标识 |
| 用户地址详情 | 名称与标识 | 保持不变 |
| 其他资源关系字段 | 原有规则 | 保持不变 |
5. 安全与兼容性
- 不修改后端接口、数据库结构或敏感字段授权范围。
- 唯一标识来自已授权列表响应,不新增敏感数据请求。
- 字段级开关默认关闭,其他资源保持向下兼容。
6. 维护与验证
- 新增类似关系名称列表展示时,应显式配置字段,不按资源名称硬编码。
- 执行
pnpm user-address-display:check验证目标交互规则。 - 执行
pnpm type:check、定向 Biome 检查和pnpm build验证前端。