Repository navigation
szuDesktop beta0.8.0
Pre-release-
新增「场地与琴房规则速查」。学校场地接口其实一直把规则数据发给我们,此前全部丢掉了:类型名(共享琴房 3 / 网络面试间 6 / 心灵小屋 2 / 共享会议室 4)、单日上限、可提前天数、每日开放时段、爽约黑名单天数,以及一份学校统一使用须知。现在按「类型 + 社区」分组展示,一次请求拿全(列表里内嵌的 type 与单独查询键集相同,不新增任何接口目标),不需要登录。
- 使用须知是学校返回的 HTML,已在服务端剥成纯文本,原始 HTML 不进浏览器,前端照旧转义。
- 学校四类场地的须知是同一份文本,所以只显示一次,不按场地重复。
- 没有做图片:学校只给裸文件名,拼不出可访问 URL,这轮不热链,改为引导去学校页面。
- 办理预约仍在学校官方页面完成,本页只读。
-
修掉「场地与琴房规则速查」可能让整个「校园服务」页静默停止渲染的缺陷。学校返回的每日开放
时段是一个 64 位整数掩码,而 JavaScript 的位运算只有 32 位,所以只能另算位数;原实现在遇到
非整数、带千分位的字符串或超出安全整数范围的值时会抛异常,而它又在页面渲染的关键路径上被
无条件求值——结果是整个「校园服务」页静默不更新,并且不向用户报任何错。现在这类值一律
显示为「—」,绝不抛。同时给「校园服务」的每张卡片和整个页面各加了一层兜底:坏掉一块只降级
这一块,整页坏掉也换成一页可读的提示,不再留空白。 -
场地规则不再张冠李戴:原来按类型名称分组,两类场地重名时会被并成一组、并用其中一类的
规则去描述另一类;现在按类型编号分组。 -
同一份场地数据不再被两个卡片各请求一遍,读取失败时也不会把失败结果缓存住。
-
学校统一使用须知的分段修好了:学校用
div/h3/ 表格排版时,整段须知原来会被挤成
一行;HTML 注释文字也不再混进正文。 -
修好「用命令行版开机自启」(F27)。这条路上登记给系统的参数是
szunet login --auto,而
szunet login从来没有--auto这个参数——参数解析遇到不认识的开关会直接退出,所以开过
这个开关的用户,开机时程序什么都没做,而且不会有任何报错。现在改为登记login(登录本来
就是非交互的,只用已保存的凭据),同时保留了--auto兼容开关,已经开过这个开关的用户不必
手动改注册表。桌面端(szudesktop)的开机自启不受影响,一直是好的。 -
新增 Windows 安装版:Electron 提供独立窗口,安装包内含 Go 引擎;旧版便携 EXE 和各平台命令行版继续提供。保留荔枝庭院的像素校园界面和原有本机存档。
-
离线启动:窗口就绪只检查本机服务,网络与学校门户查询在后台进行,避免校外或断网时误报启动超时。
-
首次打开卡住:明确设置前端模块的 JavaScript 响应类型,避免 Windows 文件关联把脚本误判为普通文本,导致安装版或便携版停在“正在打开庭院”。
-
修复启动与退出:已有 Go 引擎可以复用,不再把正常复用误判为启动失败;引擎文件缺失、健康检查超时和分块启动日志都会得到正确处理。关闭安装版只清理本次启动的引擎,复用的后台服务保留。
-
升级 Electron 至 44.4.5,限制窗口导航和权限,增加内容安全策略;引擎意外停止时提供重新打开/退出提示。
-
学校查询不再卡住整页:读取公告、场地、校历时仍可切换页面;加载状态留在对应卡片,过期查询结果不会覆盖新条件。
-
明确安装版自启范围:本版不新建开机自启项,可关闭旧项;便携版与命令行的自启保留。常驻宠物窗、托盘与安装版后台自启留到后续版本。
-
发布与安装检查:发布只收取指定构建产物,安装包和便携 ZIP 均提供 SHA256;CI 增加安装、再次启动、同版本覆盖保留存档、已有引擎共存及卸载检查。
安装包仍未签名。学校真实成绩与课表的完整账号验收仍未完成;预约继续在学校原页面办理。本次桌面安装包更新不代表这些业务已通过验收。
下载
szuDesktop-Setup-0.8.0.exe— Windows 安装版(Electron 窗口),旁边是同名.sha256校验文件szudesktop-beta0.8.0-windows-amd64.zip— 解压即用,旁边是同名.sha256校验文件szudesktop-windows-amd64.exe— 单文件版,与 ZIP 里的程序逐字节一致- 命令行版:
szunet-windows-amd64.exe、szunet-darwin-amd64、szunet-darwin-arm64、szunet-linux-amd64、szunet-linux-arm64
What's Changed
- fix: 修复〈场地规则速查〉的渲染静默失败与命令行版开机自启 by @StrangeWh in #5
- fix: 修正命令行状态报告误报门户不可达,并更正贡献指南的 CI 说法 by @StrangeWh in #6
- docs: 把「应用内承载学校原页(套壳登录)」登记为待做 by @StrangeWh in #7
- feat: beta0.8.0 Electron 安装版与发布前修复 by @Alakazamc in #8
New Contributors
- @StrangeWh made their first contribution in #5
Full Changelog: beta0.7.3...beta0.8.0