长任务加载状态设计需要交代任务是否开始、当前在做什么,以及用户离开后怎样找到结果。进度条只是其中一部分。以“导出本月销售报表”为例,用户还要知道筛选条件是否锁定、取消是否真的生效、下载文件是否已生成;请求超时则应显示结果待确认,不能直接恢复一个重新提交按钮。
可以先在墨刀设计中排出导出面板和任务列表,再用原型串联这些状态。以下用示例销售报表演练;是否能后台运行、查询任务或取消,应先与研发确认,再写到界面里。

先给任务一个能找回来的身份
练习输入为“9月、全部门店、CSV”,成功终点是“文件生成,可从任务记录下载”,不是“按钮已点击”。开始导出后,页面保留筛选摘要;若服务已创建任务编号,后续进度、取消和查询都指向这个任务,避免在不同页面展示几个无法对应的状态。
任务列表至少要让人辨认任务名称、创建时间、筛选摘要、当前状态和可用动作。用户在等待时又改了筛选,应明确这只是下一次导出的条件,不能把运行中的任务摘要偷偷替换。没有后台任务能力时,就别承诺“离开后继续”;应说明关闭页面可能带来的结果,并给出合理返回方式。
| 状态 | 可确认的事实 | 界面动作 |
|---|---|---|
| 空闲 | 尚未创建本次任务 | 修改条件、开始导出 |
| 准备或排队 | 检查条件或等待处理,按实际接口说明 | 查看输入;支持时申请取消 |
| 处理中 | 已开始生成,可能有任务编号与阶段 | 查看进度、进入任务记录 |
| 成功 | 文件已生成且有下载入口 | 下载、查看文件信息 |
| 明确失败 | 任务确定未完成 | 修正原因;符合规则时重新发起 |
| 结果未知 | 没有及时收到结果,完成与否未确认 | 查询原任务或联系处理,不新建重复任务 |
有多少信息,就展示到哪一层进度
无法估算工作量时,显示“正在生成报表”或实际阶段名,并使用不确定进度指示。知道阶段但不知道各阶段耗时,可以写“第3步,共5步”,却不能据此写成“已完成60%”或“还需两分钟”:各阶段可能完全不等长。
只有系统提供了明确的总量与完成量,才考虑确定百分比。例如同一统计范围内已处理多少记录;即使这些记录已全部整理,打包和上传尚未完成,也不能让100%等同“可下载”。可以分开显示“数据整理完成,正在打包”,最终收到文件结果后再进入成功态。Material进度指示说明区分确定与不确定进度;具体数据来源仍由自己的任务决定。
骨架屏表达“这里将出现内容”,适合报表历史列表的初次读取,不能替代正在创建文件的任务反馈。已有列表刷新时如何保留旧内容,可参考骨架屏与刷新状态设计,本例不把整页灰块当成长任务进度。

点了取消,不一定已经取消
取消入口要先明确作用范围:停止生成、移除排队任务,还是仅关闭当前面板。关闭面板不等于停止后台任务,两个动作应使用不同文案。确实可取消时,点击后可以先显示“正在取消”;收到停止确认后才显示“已取消”,同时保留输入摘要供用户再次操作。
| 发生顺序 | 应展示什么 | 后续处理 |
|---|---|---|
| 取消先被确认 | 已取消,本次未生成可用文件 | 允许按原条件开始新任务 |
| 任务先完成,随后才收到取消请求 | 任务已完成,未能取消 | 保留下载结果,按系统真实规则处理 |
| 取消请求超时 | 取消结果待确认 | 查询原任务,既不宣称取消成功,也不再开一个任务 |
若取消会损失已完成工作,可在确认中说明对象和后果,例如“停止生成9月销售报表?已处理部分不会成为可下载文件”。只有后端确实这样处理时才采用这句文案,不能用模板替代业务决定。
离开页面后,回来还能继续任务
- 开始时:展示固定输入摘要与运行状态,防止重复点击。防重复请求仍需实现端保证,按钮置灰只是反馈。
- 离开时:若任务支持后台运行,给出“任务记录中查看”入口;如果不支持,清楚说明限制。
- 回来时:以同一任务身份读取最新结果。完成就给下载,运行中就展示实际进度,失败就提供对应处理。
- 下载时:生成成功不等于下载成功。地址过期、下载权限变化或文件被移除,应有各自说明;支持重新生成链接与否按实际能力设计。
明确失败可以让用户修正无数据范围或权限后重试;网络超时只能说明暂未获得结果。具备查询能力时查询原任务;不具备时保留“结果待确认”,提供任务编号与联系入口。不要画“正在自动检查”却没有对应能力,也不要把“安全重试”写成允许随意再次提交。

用事件顺序检查这一套画面
在墨刀原型中准备正常完成、取消成功、完成早于取消、超时后查到成功四条路径。逐条检查筛选摘要是否一致、按钮有没有诱导重复任务、任务列表能否找回结果。演示时长只用于呈现等待过程;真实请求耗时需在目标环境测量。
交付时给每条状态标出“进入事件、可见事实、可用动作、退出事件”;遇到没有接口支持的状态,标为待确认。状态文本应能够被读屏感知,不能只靠旋转动画或颜色。可依据W3C状态消息说明确定实现检查项,再在真实环境验证。评审者能在慢任务、取消和中断后找到下一步,这套加载反馈才算完成。