# 场景疑点页导出异步化 PRD

## 1. 文档信息

- 文档名称：场景疑点页导出异步化 PRD
- 所属模块：全知平台 / 风控模块 / 风险疑点
- 适用页面：场景疑点页（疑点派发、疑点处置）
- 文档类型：功能优化 PRD

---

## 2. 背景与问题

当前场景疑点页中的导出能力采用同步方式：

- 用户点击导出
- 前端直接等待后台生成并返回文件

在场景包含规则数量多、规则对应疑点数量大时，导出过程容易超过 30 秒超时阈值，导致：

- 用户导出失败
- 页面反馈不明确
- 用户不知道文件是否生成
- 导出能力在大数据量场景下不可用

---

## 3. 优化目标

本次优化目标如下：

- 将场景疑点页导出由同步模式改为异步模式
- 点击导出后先创建导出任务，而不是立即返回文件
- 提供导出记录页，供用户查看任务状态并手动下载文件
- 导出记录页以新页面 / 新页签方式打开
- 在不引入消息通知、不做自动下载的前提下，完成最小可用闭环

---

## 4. 本次范围

### 4.1 本次要做

- 场景疑点页导出改为“提交导出任务”
- 两张场景疑点页增加“导出记录”入口
- 新增导出记录页面，展示任务状态并支持手动下载
- 在导出记录页中增加多种状态和来源模块示例

### 4.2 本次不做

- 不做消息通知
- 不做自动下载
- 不做全局导出中心导航化改造
- 不引入真实后端任务调度，仅在原型中模拟异步任务状态流转

---

## 5. 适用页面范围

本次功能改进作用于以下页面：

- `疑点派发-场景疑点.html`
- `疑点处置-场景疑点.html`
- `导出记录.html`（新增）

---

## 6. 功能方案

## 6.1 场景疑点页导出交互

### 页面入口

在以下两个页面中，保留原有 `导出` 按钮：

- `疑点派发-场景疑点.html`
- `疑点处置-场景疑点.html`

同时新增按钮：

- `导出记录`

### 导出记录打开方式

点击 `导出记录` 按钮时：

- 以新页面 / 新页签方式打开 `导出记录.html`

点击 `导出` 创建任务成功后：

- 系统提示任务已提交
- 用户可选择是否立即在新页签打开导出记录页

### 点击导出后的逻辑

点击 `导出` 后，不再直接下载文件，而是：

1. 收集当前页面上下文
2. 收集当前视角
3. 收集当前筛选条件
4. 创建导出任务
5. 提示用户：导出任务已提交
6. 用户可选择是否立即在新页签打开导出记录

### 导出范围口径

默认导出：

- 当前视角
- 当前筛选结果

不导出未命中的全量数据。

---

## 6.2 导出记录页

新增页面：

- `导出记录.html`

### 页面定位

用于承接场景疑点页异步导出任务，展示任务列表、状态和手动下载入口。

### 页面能力

- 查看导出任务列表
- 按状态筛选
- 搜索任务编号 / 场景名称 / 来源模块
- 刷新任务状态
- 手动下载成功任务文件
- 查看失败原因

### 页面展示要求

导出记录页中需要展示多种典型情况示例，包括但不限于：

- 来源模块为 `疑点派发` 的示例
- 来源模块为 `疑点处置` 的示例
- 导出成功的示例
- 导出失败的示例
- 下载文件已过期的示例
- 排队中 / 导出中的示例

---

## 7. 导出任务模型

每个导出任务建议包含以下信息：

- 任务编号
- 来源模块
- 页面名称
- 场景 ID
- 场景名称
- 导出视角
- 导出范围
- 筛选条件快照
- 提交时间
- 更新时间
- 文件失效时间
- 当前状态
- 文件名
- 文件大小
- 失败原因（如有）

说明：

- `导出视角`、`导出范围` 仍作为任务元数据保留
- 但本次不要求在导出记录页列表中直接展示这两列

---

## 8. 状态设计

原型阶段任务状态包含：

- 排队中
- 导出中
- 导出成功
- 导出失败
- 已过期

### 状态说明

- 排队中：任务已提交，等待处理
- 导出中：后台正在生成文件
- 导出成功：文件已生成，可下载
- 导出失败：本次导出失败，可查看原因
- 已过期：文件已超过有效期，不可下载

---

## 9. 导出记录页字段建议

导出记录页列表建议包含：

- 任务编号
- 来源模块
- 场景名称
- 状态
- 提交时间
- 文件大小
- 失效时间
- 操作

### 操作项

操作项包括：

- 下载（仅成功任务）
- 失败原因（仅失败任务）

本次不展示：

- 导出视角
- 导出范围
- 查看条件

---

## 10. 筛选条件快照口径

导出任务需记录当前筛选条件，至少包括：

- 业务时间开始
- 业务时间结束
- 数据范围
- 风险等级
- 处置类型
- 搜索关键词

说明：

- 这些筛选条件作为任务元数据保留
- 本次不在导出记录列表中单独提供“查看条件”入口

---

## 11. 页面交互说明

## 11.1 场景疑点页

### 原逻辑

- 点击导出
- 同步等待文件返回

### 新逻辑

- 点击导出
- 创建异步导出任务
- 弹出确认提示：
  - 导出任务已提交
  - 是否在新页签打开导出记录

---

## 11.2 导出记录页

### 典型流程

1. 用户从场景疑点页点击“导出”
2. 系统创建导出任务
3. 用户在新页签打开“导出记录”页面
4. 任务状态逐步从“排队中 / 导出中”变为“导出成功”
5. 用户点击下载，手动获取文件

---

## 12. 原型实现口径

由于当前 Demo 为静态原型，本次导出异步化采用前端模拟实现：

- 导出任务存储在浏览器本地存储中
- 导出记录页内置示例任务数据
- 任务状态按时间推移或示例状态模拟变化
- 导出成功后允许手动下载 mock 文件

说明：

- 这不代表真实后端已完成异步导出能力
- 本次重点是把产品交互闭环演示清楚

---

## 13. 验收标准

### 13.1 场景疑点页

- 两张场景疑点页均保留 `导出` 按钮
- 两张场景疑点页均新增 `导出记录` 按钮
- 点击 `导出` 后，不直接下载文件，而是创建导出任务
- 点击 `导出记录` 后，以新页签打开导出记录页

### 13.2 导出记录页

- 能展示导出任务列表
- 列表中不展示 `导出视角` 与 `导出范围`
- 操作中不展示 `查看条件`
- 能按状态筛选
- 能搜索任务
- 成功任务可手动下载
- 失败任务可查看失败原因
- 页面中包含已过期、疑点处置来源等示例数据

### 13.3 导出范围

- 导出任务基于当前视角与当前筛选条件生成

---

## 14. 一句话总结

本次改进将场景疑点页导出从同步返回文件，升级为“先创建任务、再在新页签打开导出记录并手动下载”的异步导出模式，同时通过示例任务展示多种典型状态，便于用户理解整个异步导出流程。
