# XiaoyaReminderAssistant **Repository Path**: fieldlu/xiaoya-reminder-assistant ## Basic Information - **Project Name**: XiaoyaReminderAssistant - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📋 小雅作业提醒 一款 Windows 桌面小软件:自动把你在小雅(理工智课)里的**待完成作业**显示在桌面,到截止时间会提醒你,再也不用担心漏做作业。 > 当前版本:**v0.0.5(试用版)** · 开源 · 作者 FL --- ## 🚀 一键下载安装包 **下载地址(点这个链接下载):** 👉 **[小雅作业提醒 安装包(v0.0.5 试用版)](https://gitee.com/fieldlu/xiaoya-reminder-assistant/releases/download/v0.0.5/xiaoya-reminder-setup.exe)** > 文件大小约 40MB。如果点击没反应,可以复制下面的链接,粘贴到浏览器地址栏打开: > `https://gitee.com/fieldlu/xiaoya-reminder-assistant/releases/download/v0.0.5/xiaoya-reminder-setup.exe` --- ## 📖 安装教程(非常详细,照着做就行) ### 第 1 步:下载安装包 1. 点击上面的下载链接,浏览器会开始下载一个叫 **xiaoya-reminder-setup.exe** 的文件 2. 下载完成后,在浏览器左下角或「下载」文件夹里找到它 ### 第 2 步:安装 1. **双击** `xiaoya-reminder-setup.exe` 2. 出现安装向导,一直点「**下一步 / 下一步 / 完成**」就行(也可以改成你喜欢的安装位置) 3. 安装完成后,桌面上会出现 **小雅作业提醒** 的图标 4. 安装向导最后一步勾选「立即运行」,或者直接双击桌面图标 ### 第 3 步:登录你的小雅账号(重点!) 1. 第一次打开会弹出「**账号管理**」窗口 2. 在「登录新账号」里填: - **手机号/账号**:你在小雅网页登录用的手机号 - **密码**:小雅平台的密码 - ⚠️ **注意**:这里填的是**小雅平台**的账号密码,**不是**学校「统一身份认证/一站式」的账号密码! - ⚠️ 如果你的密码结尾带一个小数点(比如 `123456.`),一定要把那个点也输进去 3. 点「**登录并设为当前账号**」 4. 登录成功后,挂件会自动把待完成的作业显示出来 > 找不到小雅账号?打开浏览器访问 `https://whut.ai-augmented.com`,点「手机号/账号登录」——那个就是你在这里要填的账号密码。忘记密码的话,在网页登录页点「忘记密码」重置。 ### 第 4 步:开始使用 安装好后挂件会常驻桌面,作业自动刷新提醒。就这么简单,完成了!🎉 --- ## 🎛 功能一览 | 功能 | 怎么用 | |------|--------| | 看作业 | 挂件卡片里每一行就是一个待完成作业,含**截止时间和剩余时间** | | 打开作业 | 点作业右下角的「**↗ 打开**」,浏览器自动打开那个作业页面 | | 只看能做的 | 「全部」视图右上角勾选「**仅可完成**」,自动隐藏已过期的 | | 看已过期 | 点「**逾期**」标签页 | | 本周作业 | 点「**本周**」标签页 | | 排序 | 点右上角「⬇ 排序」,按截止时间 / 课程 / 名称 | | 折叠成小条 | 点右上角「**⤵**」或按 `Esc`,挂件缩成一条,再点一下就展开 | | 最小化到托盘 | 点右上角「**➖**」或按 `Ctrl+H`,挂件藏到右下角托盘里,鼠标移到托盘图标上可以恢复 | | 手动刷新 | 点「**↻**」或按 `Ctrl+R` | | 换账号/退出登录 | 右键挂件 →「账号管理」,或托盘图标 →「账号管理」 | | 设置 | 右键挂件 →「设置」,可改刷新间隔、透明度、置顶、开机自启等 | | 开机自启 | 设置里勾选「开机自动启动」,以后开机自动运行 | | 自动更新 | 每次启动自动检查新版本,有新版托盘里会提示「更新」,点一下自动下载安装 | **托盘图标(右下角)**:最小化后挂件躲在托盘里,右键托盘图标可以:显示挂件、刷新、打开网页、账号管理、设置、开机自启、**退出挂件**。 --- ## ❓ 常见问题 **Q:点「↗ 打开」没反应?** A:检查网络/代理是否正常;如果打开的不是对应作业,点「↻」刷新一次再试。 **Q:登录提示密码错误?** A:确认填的是**小雅平台**的密码(不是统一认证的);如果密码结尾有小数点记得带上;还不行就在网页登录页「忘记密码」重置。 **Q:作业不更新?** A:点「↻」手动刷新;或检查网络。默认每 30 分钟自动刷新一次(可在设置里改)。 **Q:怎么退出软件?** A:点「➖」只是最小化到托盘,软件还在后台提醒你。要**真正退出**:右键托盘图标 →「退出挂件」。 **Q:怎么卸载?** A:开始菜单 →「卸载小雅作业提醒」,或者 设置 → 应用 → 找到「小雅作业提醒」卸载。 卸载会**彻底清除**:程序文件、桌面快捷方式、开机自启,以及本机保存的账号密码等所有数据,卸载后无残留。 **Q:换了台电脑/给别人用,账号会泄露吗?** A:不会。账号密码只存在你这台电脑上(`%USERPROFILE%\.xy_homework_widget`,Windows 加密存储)。想彻底清空,删除这个文件夹即可。 --- ## 🔧 给开发者的:从源码构建 ```bat python -m venv .venv .venv\Scripts\pip install -r requirements.txt pyinstaller set TCL_LIBRARY=C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python313\tcl\tcl8.6 set TK_LIBRARY=C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python313\tcl\tk8.6 rem onedir 打包(不依赖系统临时目录,避免 temp 清理导致崩溃) .venv\Scripts\pyinstaller --noconfirm --onedir --windowed --name 小雅作业提醒 --icon assets\icon.ico --version-file version_info.txt --collect-all webview main.py ``` 打包安装包(需要 Inno Setup): ```bat "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer.iss ``` --- ## 📌 更新记录 **v0.0.5(2026-08-17)** - 🔧 修复登录 SSL 校验失败:强制直连(`trust_env=False`)绕过系统代理 MITM - 📦 打包方式改为 onedir:不再依赖系统临时目录解压,**临时目录被清理也不影响运行** - 🧩 补全 pywebview 等依赖打包(修复 `No module named 'webview'` 崩溃) **v0.0.3(2026-08-09)** - 🔧 修复登录 SSL 校验失败(强制直连) - 打包补全证书依赖 **v0.0.2(试用版)** - 卸载彻底清数据 / 透明度 / 倒计时崩溃修复 / 跨零点误判 / 通知门控 / token 加密 / 代理容错 / 手动检查更新 / 界面显示版本号 --- ## 🛠️ 稳定性优化与开发验证 本版本已针对长期运行和多账号场景补强: - 刷新请求加锁和代次校验,连续点击刷新不会并行拉取,旧账号请求不能覆盖新账号。 - 切换账号、退出登录时清理任务、课程映射和通知基线,避免串账号数据或误报新任务。 - 配置文件损坏、字段类型错误、旧版单账号配置可以安全恢复,并继续兼容 Windows DPAPI 加密。 - 网页登录结果使用唯一临时文件和原子替换,退出时清理;更新安装包先下载到同目录临时文件,成功后再替换。 - 更新链接限制为本项目 Gitee HTTPS 地址,并要求发布元数据提供 SHA-256;下载内容过小或校验不匹配会自动删除异常文件。 - 任务时间、任务 ID、`groupId`/`nodeId` 等接口字段增加兼容处理,空任务和非法截止时间有明确提示。 源码验证命令: ```bat py -3 -m compileall -q . py -3 -m pytest -q ``` 发布前还应确认 `main.py`、`version.json`、`installer.iss` 和 `version_info.txt` 的版本一致,并将安装包 SHA-256 写入 `version.json`,再使用 onedir 构建后运行 Inno Setup。 --- ## 免责 - ⚠️ **兼容性说明**:本软件仅在小雅·武汉理工大学(`whut.ai-augmented.com`)账号上验证有效;**其他学校/平台的账号未经测试,可能无法登录或拉取作业**,请谨慎使用。 - 本软件仅供个人学习辅助使用,请遵守学校/平台使用规范,合理使用。项目开源,欢迎贡献。