Files
platforms/docs/项目文档_用户地址受控展示_v1.1.md
2026-08-11 21:33:20 +08:00

2.8 KiB
Raw Blame History

用户地址受控展示项目文档 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 验证前端。