44 lines
2.5 KiB
Markdown
44 lines
2.5 KiB
Markdown
# 平台资源搜索配置操作日志
|
||
|
||
操作时间:2026-08-11 22:12:26
|
||
操作类型:扩展
|
||
影响模块:平台总后台 5173、平台 API 搜索、资源契约
|
||
|
||
## 操作前状态
|
||
|
||
- 标准列表页无条件显示“关键字”输入框。
|
||
- 后端没有搜索元数据,零搜索字段资源会静默返回未筛选列表。
|
||
- 工作人员角色等字段页面显示中文,但只能按数据库英文编码搜索。
|
||
- 用户地址页面显示搜索框,但实际没有允许搜索的字段。
|
||
|
||
## 具体操作
|
||
|
||
- 新增平台路由专用的配置化搜索中间件,其他后台保留原有行为。
|
||
- 新增资源搜索策略注册和启动期安全校验。
|
||
- 普通文本继续模糊搜索;固定枚举改为中文标签包含匹配并参数化查询编码。
|
||
- 资源契约新增 `searchFields`,前端资源定义和可搜索枚举选项消费同一生成契约。
|
||
- 标准列表搜索提示与实际显示列求交集;空集合隐藏表单并清除陈旧 `keyword`。
|
||
- 抽离列表搜索组合函数,使 `CrudListPage.vue` 降至 500 行以内。
|
||
- 新增后端单元测试、平台契约测试和前端资源搜索检查脚本。
|
||
|
||
## 行为变化
|
||
|
||
- 变更前:所有列表显示笼统搜索框;可能无效或只能输入隐藏英文编码。
|
||
- 变更后:仅支持搜索的页面显示,例如“可搜索:用户名、角色”;用户地址等页面不显示。
|
||
- 输入“配送”可匹配“配送人员”;输入 `delivery` 不再通过角色枚举字段命中。
|
||
- 动态关系名称本轮保持不可搜索,避免扩大个人信息和关联查询边界。
|
||
|
||
## 验证结果
|
||
|
||
- 后端 `common`、`platform`、`routers` 相关测试通过。
|
||
- 前端 `resource-search:check`、`contract:check`、`type:check` 通过。
|
||
- 用户地址既有展示检查通过,前端生产构建通过(2615 个模块)。
|
||
- `git diff --check` 通过;相关核心文件均控制在 500 行以内。
|
||
- 5173 服务可访问且登录页无控制台错误;当前内置浏览器会话未登录,无法对受保护列表进行登录后人工点击验证。
|
||
|
||
## 风险评估
|
||
|
||
- 平台总后台的搜索结果集合会按明确可见字段收敛,隐藏字段和枚举英文编码不再产生隐式命中;这是已确认的产品行为。
|
||
- 中文枚举匹配在内存中的小型可信目录完成,不拼接用户输入;SQL 列名和编码均来自静态策略。
|
||
- 当前未开放动态关系名称搜索;若后续开放,需要额外权限审计和数据库索引评估。
|