Skip to content

v1.14.0

Latest

Choose a tag to compare

@WRD1145 WRD1145 released this 29 Sep 15:06

新功能

  • 账号分三级:教师 / 班主任 / 管理员:管理员在控制台的「班级授权」里勾上「设为该班的班主任」,这一个动作同时把账号角色升为班主任(少一步就少一种"勾了却什么也管不了"的困惑)。班主任能管自己被授予班主任的那几间班 —— 给别的老师授权、收回(只能收回普通任课老师,班主任的任免仍只在管理员手里)、上传那个班统一使用的名单;管不到别人的班,也管不到账号本身。一个班可以有好几位班主任。 · bd56469 · 无

  • 名单按班隔离:一位老师教三个班,三个班的名单是三分不同的数据 —— 给二班导入的名单不会再被当成三班的用。服务器上按「账号 + 班级」各存一份,网页呼叫时用的也是那个班自己那份。 · bd56469 · 无

  • 班主任可以给一个班上传"全班统一使用"的名单,并设为强制:不强制时它只是一份默认名单(任课老师没传自己的就用它);设为强制之后,这个班的任课老师连上传入口都没有,服务器也会拒绝他的上传,同时把服务器那份取回本机覆盖掉他原来那份 —— 一个班到底按哪份名单叫人,只有一个答案。他原来那份不会被删掉,取消强制之后立刻回来。 · bd56469 · 无

  • 局域网与远程班级合并成一份「可发送班级」:教师端登录之后会带着自己的账号 Id 问一次服务器,拿回绑定的班级 + 在线状态 + 我在这个班的角色 + 这个班该用哪份名单,与局域网里发现到的那间合成同一张表(同一间教室两条路都通时只留一项,走局域网那条)。文字与语音两页勾了几间就发给几间**(语音会同时说给每一间);呼叫与随机叫人只让选一个班** —— 姓名、小组、抽到的人都来自某一份名单,同时叫几个班抽到的人只有一个是"对的那个班"的。 · bd56469 · 无

  • 网页控制台的班主任视图:老师视图里多出一块「我的班级」,只列出自己当班主任的那几间班:在线状态、已授权哪些老师、有没有统一名单、是否强制;可以在那里给班授权 / 收回老师、上传班级统一名单并开关"强制"。控制台的用户表也多了「角色」一列(可切换),授权列表里带班主任徽标。 · bd56469 · 无

Bug 修复

  • 网页呼叫:没同步过名单时,提示又变回"一个学生都没选"了:改成按班隔离时,校验顺序被排成"班级 → 学生 → 模板","服务器上还没有你的名单,先去 App 同步"这句只剩预览分支里还有 —— 而没同步过名单时页面上本来就列不出学生,老师会去一个空列表里找学生,永远学不到该先同步。现在这句重新排在"没选学生"之前。 · bd56469 · 无
  • 被强制的班里,网页呼叫拿不到学生:GET /api/teacher/roster 原先只回调用者自己那份记录,于是班主任设了强制之后,任课老师在网页上看到的是"名单是空的"。现在来源是班主任那份时,回的就是班主任那份(与逐班挑选学生时用的是同一份)。 · bd56469 · 无

说明

  • 教室端不受影响(版本号跟着走,行为无变化);这一版要升的是教师端(Windows 压缩包 / Android APK)与服务器。
  • 服务器新增一个状态文件 relay-classroom-rosters.json(班主任上传的班级统一名单 + 强制开关)。升级时要在 systemd 单元里补一行 Environment=CLASSSHOUT_CLASSROOM_ROSTER_STATE=/opt/classshout/relay-classroom-rosters.json,否则它会落在 app/ 里(与本项目"程序与数据分开"的约定不符)。旧的状态文件格式完全兼容,无需迁移。
  • 文档站新增账号与权限一页,并更新了名单、呼叫、中继与配置文件几页(中英双语)。
  • 回归:局域网端到端 337 项、中继端到端 191 项(其中本次新增 58 项覆盖角色、跨班越权、名单隔离与强制名单),全部通过;渲染预览 50 张 PNG 校验通过;网页前端自检 48 个动作全部接线。