完善配送端资源搜索与资质导航
This commit is contained in:
@@ -91,6 +91,9 @@ Global:
|
||||
- 新建人员的 `role_code` 由服务端固定为 `delivery`。
|
||||
- 人员的气站及配送点归属由服务端固定为当前范围。
|
||||
- 资质支持新增、编辑、启停和归档。
|
||||
- 人员资质必须从配送人员列表进入,服务端按当前气站、配送点、配送角色和人员标识强制过滤;缺少、无效或越权人员上下文时不得返回全部资质。
|
||||
- 资质列表显示服务端回查的人员姓名和可复制唯一标识;新建自动预填所属人员,创建和编辑均不得更换所属人员。
|
||||
- 标准资源搜索必须由后端显式字段契约驱动;没有有效搜索字段时不显示搜索区,枚举字段支持中文名称和内部稳定编码。
|
||||
- 删除均为归档;存在未完成订单时禁止归档人员。
|
||||
- 不允许创建安装、运维、仓管、调度员或质控角色账号。
|
||||
- 配送人员列表不得展示数据库自增 ID;联系电话之后显示 32px 圆形头像缩略图,头像仅通过当前配送点 JWT 范围内的受保护接口懒加载。无头像或读取异常时显示默认头像,不得从列表响应读取或暴露头像 URI。
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
10. 配送人员和用户账户列表增加 32px 受控头像缩略图,复用 5173 的懒加载、并发 6、当前页缓存、取消和 Blob URL 回收策略。
|
||||
11. 删除全部标准资源列表的数据库自增 ID 列,只保留系统唯一标识;同时把该规则加入自动检查。
|
||||
12. 配送人员头像读取补充 `role_code = delivery` 范围限制,并新增 SQL 范围测试。
|
||||
13. 修复配送人员资质列表未应用人员筛选的问题,增加气站、配送点、配送角色和人员 ID 四重范围校验。
|
||||
14. 资质列表新增人员姓名上下文、安全返回、重复人员列隐藏;新建预填所属人员,创建和编辑锁定归属。
|
||||
15. 新增后端生成的 `searchFields` 契约;无有效字段时隐藏搜索区,枚举字段支持中文名称和内部编码。
|
||||
16. 标准列表搜索标签统一为“模糊搜索”,输入框继续提示当前资源的具体可搜索字段。
|
||||
|
||||
## 操作后状态
|
||||
|
||||
@@ -41,7 +45,7 @@
|
||||
|
||||
- 变更前:列表抽屉承载记录操作,浏览器地址不随记录变化。
|
||||
- 变更后:每个允许的操作拥有独立 URL,详情页集中承载业务动作。
|
||||
- 兼容性:现有列表菜单地址、后端接口和配送点数据范围保持不变。
|
||||
- 兼容性:现有列表菜单地址和响应结构保持不变;人员资质列表现在必须提供人员标识,修复了原先可能扩大到本点全部资质的范围错误。
|
||||
|
||||
## 验证结果
|
||||
|
||||
@@ -49,13 +53,15 @@
|
||||
- `contract:check`:通过,18 个资源与后端契约一致。
|
||||
- `profile:check`:通过,资料专用只读页未回退。
|
||||
- `type:check`:通过。
|
||||
- `build`:通过,2632 个模块完成生产构建。
|
||||
- `go test ./internal/logic/delivery ./internal/routers`:通过,包含配送人员头像角色范围测试。
|
||||
- `build`:通过,2634 个模块完成生产构建。
|
||||
- `go test ./internal/logic/common ./internal/logic/delivery ./internal/logic/platform ./internal/routers ./cmd/cli`:通过,包含搜索枚举、配送人员头像角色范围和资质人员范围测试。
|
||||
- `lint`:通过;仅报告项目既有警告,未产生失败项。
|
||||
- 浏览器回归:工作人员列表、详情、编辑、正式新建地址、返回链路、未保存保护、配送订单新建页、支付列表均通过。
|
||||
- 布局回归:工作人员详情、编辑和配送订单新建页已在应用内浏览器逐页截图检查,与 5173 的页面结构和响应式断点一致。
|
||||
- 头像回归:配送人员新建、编辑页已确认不再显示头像文本框,头像选择按钮、格式大小提示、默认头像和身份摘要均正常;后端头像路由测试通过。
|
||||
- 列表头像回归:配送人员、用户账户显示受控圆形头像,其他资源不生成无效头像列;数据库 ID 列已从全部标准列表移除;点击刷新后头像重新加载正常。
|
||||
- 资质关联回归:有效人员仅返回本人资质,标题和上下文显示服务端姓名及唯一标识;新建页预填并锁定人员,缺少上下文自动返回,伪造人员标识显示错误且不渲染表格。
|
||||
- 搜索回归:资质页提示“可搜索:资质类型、资质编号”;银行卡页不显示关键字、查询和重置,仅保留刷新。
|
||||
|
||||
## 风险评估
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ frontend/delivery_admin/
|
||||
├── api/
|
||||
│ ├── resource-display.ts # 中文字段、状态和详情值展示
|
||||
│ ├── avatar.ts # 头像上传与配送点鉴权读取
|
||||
│ ├── resource-search-contract.ts # 后端生成的显式搜索字段契约
|
||||
│ ├── resource-navigation.ts # 独立页面路由和安全返回地址
|
||||
│ └── resource-record-form.ts # 表单初始化、字段白名单和校验
|
||||
├── router/routes/modules/
|
||||
@@ -55,6 +56,10 @@ frontend/delivery_admin/
|
||||
|
||||
配送人员和用户账户列表同样参考 5173:联系电话后显示 32px 圆形头像,最多并发 6 个鉴权请求,接近可视区域才加载;当前页缓存结果,刷新或离页时取消请求并释放 Blob URL。404、网络错误和图片解码失败均回退本地默认头像。全部标准资源列表隐藏数据库自增 ID,只展示可复制的系统唯一标识。
|
||||
|
||||
配送人员资质列表必须由配送人员列表进入。页面先通过受保护人员详情接口回查姓名,再以当前气站、配送点、`delivery` 角色和人员 ID 四重条件加载资质;缺少、无效或越权人员上下文时停止加载,绝不回退为全部资质。标题和上下文区域显示人员姓名及可复制唯一标识,表格隐藏重复人员列。新建页自动预填所属人员,创建和编辑均锁定该关系,返回地址只接受安全站内路径。
|
||||
|
||||
资源搜索由后端 `searchFields` 契约驱动。没有有效字段的配送点资料、用户地址和银行卡页面不渲染搜索区域;其他页面显示“可搜索:具体字段”提示。枚举字段同时接受中文展示名称和内部稳定编码,查询、分页和重置始终保留人员上下文及安全来源参数。
|
||||
|
||||
`resource-record-form.ts` 为五类可编辑资源声明后端更新字段白名单,防止用户名、合同编号等只读字段出现在编辑页或被无效提交。
|
||||
|
||||
支付与退款资源统一使用后端正式名称 `payment_order`、`payment_refund`,菜单地址仍保持 `/finance/payments`、`/finance/refunds`,避免接口路径不一致导致 404。
|
||||
@@ -79,6 +84,8 @@ npm.cmd run build
|
||||
- 修复支付、退款资源与后端契约名称不一致的问题。
|
||||
- 新增 17/9/5 页面能力矩阵自动检查。
|
||||
- 新增配送人员、用户账户的受控头像缩略图,并移除全部标准列表的数据库自增 ID。
|
||||
- 新增配送人员资质的强制人员范围、上下文展示、关系预填锁定和安全返回链路。
|
||||
- 新增后端生成的资源搜索契约,隐藏无效搜索并支持枚举中文名称与稳定编码。
|
||||
- 保持配送点资料专用只读页面和现有公共后端接口不变。
|
||||
|
||||
## 7. 已知边界
|
||||
|
||||
Reference in New Issue
Block a user