# 10 — ④活动列表行展开过程时间轴 **What to build:** 让活动列表的每一行可展开,展开区显示该活动的完整过程时间轴:调 `GET /campaigns/{id}/timeline` 取逐 Run 条目,用 08 的共享组件把每个子 Run 按「加速后窗口偏移」定位成节点,颜色表状态(完成/失败/运行中/取消),hover 显场景/通过率/时延,点击节点跳到该子 Run 的报告(`/reports?run={run_id}`)。展开的是进行中活动时,随现有 5s 轮询刷新,时间轴随新派生的子 Run 实时长出。 **Blocked by:** 06(timeline 端点 + 类型)、08(共享横向时间轴组件)。 **Status:** ready-for-agent - [ ] 活动列表行改为 `expandable`;展开时按需拉取 `campaignsApi.timeline(id)`。 - [ ] 把 timeline 条目适配成 08 组件的 `markers`(offset=offset_seconds、colorKey/颜色=status、tooltip=场景+通过率+时延、onClick=跳报告)。 - [ ] 节点点击跳 `/reports?run={run_id}`(复用现有跳转方式)。 - [ ] 展开进行中活动时随现有 5s 轮询刷新时间轴;已完成活动只拉一次。 - [ ] 空/无子 Run 活动给占位提示,不报错。 - [ ] `npx tsc --noEmit` + `npm run build` 通过;浏览器验证展开、状态配色、hover、跳转、进行中刷新。