班级主导航 — 融合方案:侧栏骨架 + 上下文操作条 + 临时工作台
真实任务不变:教师打开「初二(3)班」完成期中调座;多班级教师日常切换;偶尔一次性排座。C 方案(侧栏)为骨架,吸收 A 的单页直达与 B 的引导性,覆盖新手/老手、单/多班级、一次性排座全部场景。
不可违反约束:React 主流程完全绕过 Python(M2 §5.7);导入/保存/迁移/编辑事务语义冻结于 Rust(§7.5);v1.9.x 主流程不回退(§4.5);临时排座与长期管理不得形成两个产品概念(§7.4,G-5)。
✓
融合目标形态
侧栏 = 我的班级 + 班级内容 + 临时工作台;主区 = 当前领域视图;顶部上下文操作条承载引导(B 的优点);首次使用显示任务清单,用过即收。
localhost:8765/class-302/rules
✓ 第一次使用引导(仅无历史时出现):① 导入名单 → ② 选教室 → ③ 设规则 → ④ 生成方案 → ⑤ 导出。完成一次后自动收起。
规则与目标 由 Rust 规则引擎校验 · 会话 2026-08-10
HARD固定座位
学生丁001(STU001)→ 座位 R1C1
SOFT前排优先(视力)权重 20
标记「需要前排」的学生安排在教室前排
🖱 试试:「临时工作台」进入无项目上下文的一次性排座(保存后升级为正式班级);侧栏切换班级上下文。
老手路径:任意视图直接操作(A 的优点);新手路径:上下文操作条 + 首次任务清单(B 的优点);多班级/一次性排座:侧栏(C 的优点)。不做显式"新手/老手"开关。
来自 A单页工作台的领域视图直达:名单/教室/规则/历史在主区直接切换
来自 B上下文操作条给出"下一步";首次任务清单提供线性引导,用过即收
来自 C侧栏承载多班级管理 + 临时工作台(一次性排座,保存后升级为正式班级)
| 设计要点 | 说明 |
|---|---|
| 临时工作台 | 无项目上下文:上传名单 → 教室 → 规则 → 排座 → 导出或「另存为班级」。对应 v1 workspace 语义(§7.4 / G-5) |
| 简单/复杂轮换 | 按期数渐进披露:1 期 = 单次排座;多期 = 轮换计划。不另开产品形态 |
| 模式策略 | 不做显式新手/老手开关;可选「密度设置」(紧凑/标准)待原型验证 |
| schema/API 影响 | 无新 API;路由需支持"班级上下文 + 临时工作台上下文";临时工作台复用现有 import/solve/export 端点 |
待验证(dogfood):
- 密度设置(紧凑/标准)是否保留
- 临时工作台 → 正式班级的保存转换流程
- 首次任务清单的触发条件(无历史数据)与收起时机