Repository navigation
v1.12.0
新功能
- 网页版也能「呼叫」:老师登录服务器账号后,浏览器里多了一块呼叫区 —— 选模板、勾学生、先「预览会喊什么」,再发出去。它和 App 的规则是同一条,因为两边用的是同一段拼装代码(组件顺序、空格、按小组归并、来源里的科目全都一致),不是照着重写一遍。前提是名单在服务器上,所以教师端「名单」页多了一个「同步名单到服务器(网页呼叫用)」按钮。 ·
299b856· 无 - 网页喊话也能指定展示参数:展示方式(窗口/弹窗)、文字大小、停留时间,加上朗读与打断两个开关,取值与 App 的文字页完全一致;不选就是按教室端默认。 ·
299b856· 无 - 日志详细程度可选:Trace / Debug / Info(默认)/ Warning / Error,两端的运行日志卡片上直接有下拉框,改完立刻生效并落盘;低于档位的日志既不显示也不落盘,档位认不出来退回 Info。服务器那份日志用环境变量
CLASSSHOUT_LOG_LEVEL调同一套档位。 ·7fb252e· 无
Bug 修复
- 同一台机器上开教室端与教师端,自动发现失效 / 搜得到连不上:连接地址改为一律取回包的来源地址(按定义就是从教师端能走通的地址),不再直接用教室端自报的 Host —— 装了 WSL / Docker / VPN 的机器上,教室端挑出来的那个地址常常是虚拟网卡或 169.254 的自动地址,别的设备根本连不上,表现就是"搜得到、连不上"。 ·
0c7863a· 无 - 广播探测不发给本机地址:教室端与教师端跑在同一台机器上时,广播可能被 VPN / WSL 那种"默认路由"吞掉。现在探测也会直接发给本机各地址与
127.0.0.1,两端同机就一定发现得了。 ·0c7863a· 无 - 教室端自报的地址可能是连不上的那个:本机地址改成打分制(有默认网关 + 物理网卡加分,虚拟网卡名与 169.254、172.16–31 减分),界面上与广播包里报出的地址更可能是别人真能连上的。 ·
0c7863a· 无 - 教师端「文字」页没有发送按钮:
Text.SendCommand从来没绑到界面上,文字喊话只能绕道呼叫页或语音页。补上按钮,并在按钮下面写清"为什么现在发不出去"(没连教室 / 还没写内容 / 上一条还在发)。 ·7fb252e· 无 - 查到新版本后「下载新版」点不动:属性变了但没人通知命令重新问一次
CanExecute,按钮就一直是灰的。补上通知。 ·7fb252e· 无 - 教室端「只看 ClassIsland 提醒」时,预览仍然弹 ClassShout 弹窗:那条规则在两个地方各写了一遍。现在只有一份(
ShoutNotificationChannels),收到喊话与点预览都问它;ClassIsland 通道下预览改投一条给 ClassIsland。 ·7fb252e· 无 - 教师端各种横幅关不掉也不会消失:顶部错误提示、录音错误、「地址已保存」这类一次性提示、服务器地址与分享链接的错误 —— 现在都有右边的叉,并会自己收起(错误 15 秒、一次性提示 10 秒)。 ·
3a96771· 无 - 「这条发给谁」只有一间教室时整块不显示:那一块现在有一间就显示,并写清是"经服务器"还是"局域网直连"。 ·
82f8dbd· 无
说明
- 服务器新增一个状态文件
relay-rosters.json(老师同步上来的名单与呼叫模板,含学生姓名与学号)。部署时请把CLASSSHOUT_ROSTER_STATE指到app/之外,否则升级覆盖app/时会把它一起冲掉。 - 网页版只读名单:编辑仍然只在 App 里,网页是"用"而不是"管"。
升级提示:这一版两端都要升(网页呼叫与来源里的科目、展示参数都依赖两端一致),
服务器也建议一起升(新增了名单与呼叫两个接口)。
压缩包解压覆盖app/即可,状态文件在上一级,不会被覆盖。
ClassIsland 联动插件另有更新:1.0.3.0(目标框架改为与宿主一致的net8.0-windows,
装进 ClassIsland 2.1.0.1 才加载得起来),在另一个仓库发布。