All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m19s
3.4 KiB
3.4 KiB
1. Proposal Review
- 1.1 确认导出按钮权限编码:IoT 卡管理使用
iot_card:export,设备管理使用devices:export。 - 1.2 确认导出任务管理权限编码:使用
export_task:list、export_task:detail、export_task:download、export_task:cancel。 - 1.3 确认导出格式默认
xlsx,并允许用户在弹窗中切换xlsx/csv。 - 1.4 确认 IoT 卡和设备列表现有筛选参数作为导出任务
query传给后端。
2. API And Types
- 2.1 新增导出任务状态、场景、格式、列表项、详情、创建请求、取消响应等 TypeScript 类型。
- 2.2 新增
ExportTaskService,实现列表、创建、详情、取消接口。 - 2.3 在 API 和类型入口文件导出新增模块。
- 2.4 对齐统一响应结构
code、msg、timestamp、data和分页结构page、size、total、items。
3. Reusable Export Dialog
- 3.1 新增可复用创建导出任务弹窗组件,支持传入
scene、当前列表查询条件和默认导出格式。 - 3.2 弹窗中明确展示导出规则说明:导出规则基于列表中的检索条件全量导出。
- 3.3 提交时调用创建导出任务接口,并在成功后提示任务已创建。
- 3.4 确保弹窗确认按钮和触发按钮均受对应权限控制。
4. Business Entry Points
- 4.1 在 IoT 卡管理页增加导出按钮,打开弹窗时默认
scene=iot_card,并传入当前筛选条件快照。 - 4.2 在设备管理页增加导出按钮,打开弹窗时默认
scene=device,并传入当前筛选条件快照。 - 4.3 确保重置筛选、分页切换、重新搜索后导出使用最新检索条件。
5. Export Task List Page
- 5.1 在资产管理下新增“导出管理”分组和“导出列表”路由、菜单、路由别名。
- 5.2 导出列表支持分页、场景、状态、创建开始时间、创建结束时间筛选。
- 5.3 表格展示任务编号、场景、状态、进度、格式、行数、分片、错误信息和时间字段;列表不展示文件 key。
- 5.4 任务编号支持点击进入导出任务详情页,行操作支持下载已完成任务、取消待处理/处理中任务。
- 5.5 下载操作必须先调用详情接口获取
download_url,且仅在已完成任务可用。 - 5.6 取消操作必须调用取消接口,并在成功后刷新列表。
6. Permissions And UX
- 6.1 为所有新增按钮和行操作添加权限编码检查。
- 6.2 无权限时不显示对应入口,不依赖禁用态作为唯一保护。
- 6.3 对创建、详情、下载、取消失败提供稳定错误提示,不破坏列表渲染。
7. Verification
- 7.1 验证 IoT 卡管理页可按当前筛选条件创建
iot_card导出任务。 - 7.2 验证设备管理页可按当前筛选条件创建
device导出任务。 - 7.3 验证导出列表分页和筛选参数与接口契约一致,且文件 key 不在列表字段中展示。
- 7.4 验证点击任务编号进入详情页,已完成任务可通过详情接口获取下载地址并下载。
- 7.5 验证待处理/处理中任务可取消,已完成/失败/已取消任务不可取消。
- 7.6 验证所有新增按钮和操作在无权限时不可见。
- 7.7 运行类型检查和相关 lint;新增文件 lint 通过,整仓构建受既有 TypeScript 债务阻塞。