feat: expand vehicle data platform capabilities

This commit is contained in:
lingniu
2026-07-27 16:46:15 +08:00
parent e3a1f80f86
commit 3c4bece72c
650 changed files with 62155 additions and 2552 deletions

View File

@@ -0,0 +1,49 @@
# 账号批量导入失败恢复审计
## 结论
当前健康度:良好。账号管理已经从“只能逐个创建”升级为可恢复的批量任务流:管理员可以下载模板、上传 CSV、在创建前完成服务端预检、原位修复单行问题并只创建校验通过的账号。部分成功时保留失败项不要求重新上传整份文件。
## 1. 基线:入口与任务能力
基线页只有“新建客户账号”,批量开户需要重复进入表单,错误也无法集中定位。
![改造前账号目录](before/01-account-directory-desktop.jpg)
## 2. 桌面端:预检优先
桌面端使用 900px 宽任务抽屉同时容纳文件摘要、预检状态、逐行结果和固定底部操作。测试文件共 3 行1 行可创建、1 行用户名冲突、1 行车辆未接入。
![桌面端批量预检](after/01-account-import-preflight-desktop.jpg)
## 3. 桌面端:原位修复
首个失败项会自动展开,管理员可直接修改账号、密码、状态、菜单和 VIN修改后重新预检不丢失已解析的其他行。
![桌面端逐行修复](after/02-account-import-repair-desktop.jpg)
## 4. 移动端:单滚动任务面板
390 × 844 下切换为 94dvh 底部任务面板,摘要、结果和修复区使用同一内容滚动,主操作固定在底部。实测弹层宽 390px、文档宽 390px无横向溢出。
![移动端批量预检](after/03-account-import-preflight-mobile.jpg)
## 5. 行为与恢复规则
- CSV 表头固定为 `username,displayName,password,status,customerRef,tenantRef,menuKeys,vehicleVins`,每次最多 50 个账号。
- 预检复用单账号创建的用户名、密码、菜单和 VIN 校验规则,并检测文件内重复及库内用户名冲突。
- 创建按行隔离事务;单行失败不会回滚已成功账号,结果保留行号、错误类型和修复入口。
- 部分成功后,主操作明确为“仅保留 N 个失败项”;目录刷新后仍保留原搜索、状态、页码与导入窗口 URL 状态。
- 直接访问 `?userImport=open` 可恢复导入工作区;关闭窗口只移除导入参数。
## 6. 无障碍与验证
- 弹层具有“批量导入客户账号”名称,关闭按钮具有中文动作名称;区域、结果列表、字段和主操作均可由语义树识别。
- 已验证桌面和移动端主链路、深链恢复、文件上传、服务端预检、逐行修复和创建回执。
- 自动化测试覆盖 CSV 引号解析、模板输出、URL 保持、预检、修复与创建;全量前端 76 个文件、467 个测试通过API 全量测试通过,生产构建门禁通过。
- 当前限制:本轮未用专用读屏器完成逐键走查,也未用仪器量化所有状态色对比度;键盘语义以浏览器语义树和组件自动化测试为依据。
- 沿用平台现有 Semi UI、图标、颜色和任务抽屉系统因此没有生成新的位图或装饰资产。
## 后续
账号模块下一项是外部身份源接入反馈;平台级下一轮优先处理历史导出保留期、账号级字段视图同步与大任务分页。

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB