d702830470
新增 platforms/contract.py:生命周期 ↔ 槽位 ↔ 能力名映射,capabilities_of 按非空槽位推导;Platform.capabilities() 供 /api/platforms 返回 capabilities。行为不变,现有流程与前端未改。同步 architecture.md(生命周期与能力、广东公需课)、todo 第二/三步、OPTIMIZATION 平台列表。
1.3 KiB
1.3 KiB
后续待办
- 接入第二个学习平台时,在
platforms/<平台>.py里实现session/login/list_courses/discover/study并注册;账号在「添加账号」里选平台后即可用,登录与课程发现不需要再改路由。 - 前端补一条自动化回归(Playwright):空态、账号卡片、测验弹窗、设置保存、平台下拉。
- 构建检查进 CI:
cd web && pnpm install --frozen-lockfile && pnpm typecheck && pnpm build, 并校验static/与源码同步。 - 广东公需课:用一门未学完的课实测进度上报,确认平台端「已学时长 / 已完成」状态跟着变。
- 广东公需课:试卷考核未接入 —— 平台判定通过要「所有教学活动 100% + 试卷考核 ≥60 分」,所以视频报满后课程仍显示「未完成」。
- 广东公需课:视频弹题未接入。
- 平台契约第二步:
SessionExpired下沉到platforms/、通用学习流程从engine.py搬到平台层公共模块, 去掉routes/*对platforms.jspx的 star import(新平台漏写session时会静默按 dgjy 过滤 cookie)。 - 平台契约第三步:把答题下沉为平台能力(
quiz),quiz.py只留 LLM 与通用交卷;前端按/api/platforms返回的capabilities显示答题 / 反馈按钮。