# 历史导出长期归档排序审计 ## 结论 历史导出任务中心现在提供两种服务端排序。默认“最近创建 / 最近归档”会使用当前范围真正相关的活动时间:当前任务按创建时间,审计归档按归档时间;因此刚整理进去的旧任务不会因为原始创建时间早而被埋在深页。 “最先到期”会把仍可下载且具有未来到期时间的文件放在前面,并按到期时间升序排列;失败、取消、过期或没有有效到期时间的任务稳定排在后面。选择结果写入 `exportSort=expiry`,刷新、分享和跨设备打开后仍能恢复。 ## 交互步骤与证据 1. **旧归档任务中心(需改进)** 归档视图只有搜索、状态和账号范围,没有可见排序规则;列表隐式沿用创建时间,无法优先检查刚归档记录或最先失效文件。 ![旧版无排序入口](./01-before-no-sort-control-desktop.png) 2. **范围感知的默认排序(健康)** 审计归档明确显示“最近归档”;批量归档时间相同时,再按创建时间稳定降序,避免同批记录随机跳动。 ![新增排序入口](./02-after-expiry-sort-desktop.png) 3. **最先到期(健康)** 桌面端切换后,三条真实文件按 08:00、09:12、09:14 的到期时间升序排列,并说明其他任务会排在后面。 ![桌面端到期排序](./02-after-expiry-sort-desktop.png) 4. **移动端深链恢复(健康)** 390 × 844 下通过 `exportSort=expiry` 恢复排序;搜索独占一行,状态、账号范围和排序并列,首张任务卡与固定刷新/完成操作保持可见。 ![移动端到期排序](./03-after-expiry-sort-mobile.png) 5. **同尺寸前后对照(健康)** 左侧旧版没有排序入口,右侧增加紧凑三列筛选并把最早到期文件移到首位;侧栏宽度、分页和底栏位置保持稳定。 ![长期归档排序前后对照](./04-before-after-comparison.png) ## 验证 - 历史数据专项:44 项通过。 - Web 正式套件:78 个测试文件、509 项通过。 - API:`go test ./...` 全量通过。 - 生产构建:TypeScript、Vite 构建与发布资产门禁通过。 - 浏览器:1440 × 900 桌面与 390 × 844 手机真实本地前后端联调通过。 - 服务端测试覆盖“旧创建时间 + 新归档时间”与未来到期时间升序;前端测试覆盖 URL 解析、请求参数和排序选择器恢复。 ## 无障碍与证据边界 - 排序选择器具有独立可访问名称;语义树可区分状态、账号范围和排序三个组合框,并能读取排序说明和重排后的任务顺序。 - 三个移动选择器保持约 40 px 高,但本轮没有执行 200% 浏览器缩放;极端字号下的文本收缩仍需真实辅助设置验证。 - 本轮未执行屏幕阅读器或完整键盘巡检,不能据此声明完整辅助技术兼容。