fix: recover expired task leases and persist diagnostic logs
This commit is contained in:
@@ -82,3 +82,12 @@
|
||||
本次补充包 `08.zip` 只有 Angular 初始外壳,没有播放器、弹窗、次数提示 DOM 或业务 JS 资源。适配参考旧完整归档的静态模板及脚本片段,不执行下载页面中的原站代码。旧源码已提供续播正文和两个按钮、后台主动暂停、`不及格,还可补考 N 次` 及 `还可重考 N 次` 的静态证据;真实账号的播放器和考试状态仍需实站确认。
|
||||
|
||||
最终本地验证:`npm test` 的 15 套回归全部通过,学习引擎另完成 52 项检查。已覆盖三个开关默认值、保存、回读及切栏不触发动作,精确续播与未知弹窗,后台暂停与返回恢复、关闭恢复及用户手动暂停优先,明确 0/1/多次和缺失机会数、补考按钮、隐藏及题干干扰,课中题与考试共同保护,新安装默认与旧模式保留,以及平台确认完成后串联考试。额外验证共享设置不同键并发不丢失、旧读取及旧设置快照不覆盖新值、暂停写入期间不重新启动弹题、不同考试的次数证据隔离、关联考试完整导航及完成后不重复加入任务。桌面及 390px 窄屏检查通过;业务 URL 全部在本地拦截,未操作真实学习或考试记录,真实账号流程仍需实站验收。
|
||||
|
||||
## 9. 2.1.3 调整:租约等待与持久日志
|
||||
|
||||
- 将同类租约冲突与人工确认等待区分。临时冲突保留自动调度资格,在旧占用失效后重新领取;有效占用不强制抢占。领取成功时清除旧租约等待文案并按实际视频、考试状态更新面板。
|
||||
- 完整导航及受控恢复仍须核对同一会话、任务、账号、目标页面和有效的一次性标记;手动刷新或新开普通页面继续默认暂停。所有实际动作仍受租约、全局暂停和当前页面证据约束。
|
||||
- 运行日志继续显示最近 500 条,“清空显示”只清运行日志显示。新增“持续记录诊断日志”开关并默认开启,独立持久保存最近 2000 条诊断记录,刷新后保留;“导出诊断 JSON”“导出诊断 TXT”导出已存记录,“清空已保存诊断”只删除诊断。关闭开关只停止新增,已有记录仍可导出;清空不删除任务检查点、原始考试计时或题库。诊断不含完整题干、选项、答案和 URL 查询参数,多页写入需避免旧页面把新记录覆盖。
|
||||
- 归档 `01/70-es2015` 的学习地图入口调用 `onSelect` 后通过基类 `navigate` 调用 Angular Router;课程及考试入口均无直接 `window.open`。这排除了该归档入口必然保留旧地图标签的假设,但不推断用户的其他入口行为。
|
||||
- 本地已复现同类租约领取失败后不再重试、成功恢复后仍显示旧等待提示两项缺陷;这不代表已确认用户必然有多个标签。验证重点为:同类领取失败后租约过期能重试、恢复后提示与动作一致、有效执行器保持互斥、暂停及人工等待仍有效,以及诊断默认值/关闭后可导出/刷新保留/两种清空/2000 条上限和敏感内容过滤。结果以本次实际回归记录为准,不将静态样本及模拟通过等同于真实账号验收。
|
||||
- 最终验证:`npm test` 的 18 套回归通过;执行权恢复 12 项检查、原学习引擎 52 项检查通过。已实际下载诊断 JSON/TXT 并核对执行权事件、刷新恢复、关闭及清空效果,验证 URL 参数和题目正文不进入导出;桌面和 390px 窄屏检查通过,业务 URL 全部本地拦截。
|
||||
|
||||
Reference in New Issue
Block a user