详情请见:ImmersingEducation/ImmersingHomeworkreleases/tag/0.3.0.0
方圆作业板(ImmersingHomework)0.3.0.0-beta
发布日期: 2026-09-27
📝 概述
这是 ImmersingHomework 在 0.2.0.0-beta 基础上的新版本。本版本为软件补上了「被外部唤起」的能力:新增 immersinghomework:// 自定义 URL 协议、路由分发与单实例 URL 转发,并支持以纯查询方式在命令行取回指定日期的作业 JSON;同时带来外观样式(跟随系统 / 浅色 / 深色)切换、全新的欢迎向导样式与预置默认科目。构建编排已迁移至 Fallout,并上线 GitHub Actions 发布流水线,桌面三平台与移动端的打包、发版流程实现自动化。
✨ 新功能
URL 协议与路由(新)
- 自定义 URL 协议 - 支持注册 / 注销
immersinghomework:// 协议,可通过链接直接唤起软件
- 协议注册开关 - 基础设置页与欢迎向导新增「注册 URL 协议」项,可随时开启或关闭;开机自启与协议注册状态会持久化到设置中
- 平台实现 - Windows 写入当前用户的注册表项;Linux 生成
~/.local/share/applications 下的桌面项并通过 xdg-mime 注册处理器;macOS 由应用包的 Info.plist 声明协议,并安装 kAEGetURL 事件处理器接收链接
- 路由分发 - 支持
immersinghomework://、://open、://app(显示主窗口)与 ://settings(打开设置窗口);未注册的路由会记录警告而非静默失败
- 单实例 URL 转发 - 已有实例运行时,新进程通过命名管道(管道名按用户隔离)把 URL 转发给已有实例后退出,避免重复启动
homework 查询路由 - immersinghomework://homework?date=yyyy-MM-dd(缺省为当天)可无需已有实例,直接从磁盘读取作业并以格式化 JSON 输出到标准输出;此模式下日志只写文件,不污染标准输出,便于被脚本或其它程序调用
外观与界面
- 外观样式切换 - 新增「跟随系统 / 浅色 / 深色」三档主题,可在设置中即时切换
- 主题适配重构 - 主窗口、作业卡片、空状态提示、存储管理对话框、欢迎向导、设置窗口与异常窗口改用 FluentAvalonia 主题动态资源,移除写死的浅色主题与硬编码颜色,深浅色下均正常显示
- 欢迎向导(OOBE)全新样式 - 改为顶部标题栏 + 内容区 + 底部步骤栏布局,底部显示当前步骤与「上一步 / 下一步」按钮
其它
- 预置默认科目 - 首次使用即预置语文、数学、英语、物理、化学、生物、政治、历史、地理、体育
- 更新应用图标 - 桌面端与移动端同步更换新图标
🔧 修复
- 修复 Launcher 编译时未同步最新的主程序文件:改为在编译后整体复制主程序输出目录,确保 Launcher 携带的主程序始终是最新构建
- 修复 Launcher 与桌面发布脚本的若干构建问题
📦 构建与分发
- 构建编排迁移至 Fallout - 新增
build/、build.sh、build.ps1 与 .fallout/ 配置,移除旧的 scripts/publish-desktop.sh
- 打包类型 - 支持 Portable、DotNetSingleFile、WindowsInstaller、LinuxDeb、LinuxRpm、LinuxAppImage、MacOSAppBundle、MacOSDmg、MacOSPkg
- 自动化发布流水线(新) - 新增 GitHub Actions 工作流,向
main 推送以 release x.x.x.x 开头的提交即可发布(或在 Actions 页面手动触发)
- 并行构建 Windows / Linux / macOS 桌面产物、Android APK 与 iOS IPA
- 自动校验各工程版本号与发布版本是否一致
- 自动以
CHANGELOG/<版本>.md 作为 Release Notes,并创建草稿 Release 供人工确认后发布
- Android
versionCode 与 iOS CFBundleVersion 由版本号推导,保证随版本单调递增
- APK / IPA 支持通过仓库 Secrets 配置签名;未配置签名时仍会构建并给出提示
- Launcher 工程补充包元数据(版本、作者、描述、仓库地址、许可证等),并纳入解决方案
📦 分发说明
- 桌面端:Windows / Linux / macOS 的安装包与便携包由流水线自动构建并附在 Release 中,仍以手动下载安装的方式分发
- 移动端:Android 分发 APK,iOS 分发 IPA(未配置签名 Secrets 时提供未签名产物,需自行签名后安装)
- 自动更新基础设施已就位,但本版本暂未启用自动更新(更新设置页仍处于隐藏状态),请留意后续版本
🐛 已知问题
- 本版本为手动分发测试版,可能存在一些问题,欢迎反馈!