源代码 · 版本说明 · 下载
数据保存:授权信息加密保存在本机,安装包不包含个人资料。 安装包由 GitHub Releases 提供。
SHA-256 完整性校验:A310FD40C5F22930CB376F640D948986736BAEA1290202D3CD701A2F5ADEF607
01 / 核心功能
FEATURE 01
一键到馆签到
在原系统已预约座位的前提下进行快捷签到。
FEATURE 02
微信扫码绑定
采用公众号授权链接,不需要手工抓取会话 Cookie。
FEATURE 03
固定身份水印
读取授权账号学号或昵称作为身份标识,水印不可自定义。
FEATURE 04
本地凭据保护
凭据留在设备加密存储,支持重新授权与状态核验。
02 / 工作流程与界面说明
STEP 01
扫码授权
公众号先进入选座页,再用同一个微信扫应用二维码复制链接。
STEP 02
核验身份
验证账号会话,自动显示学号或昵称水印;旧授权用户可重新扫码获取身份。
STEP 03
快捷签到
对已预约的座位发起签到操作并如实显示服务端结果。
STEP 04
状态维护
检查凭据有效性,必要时重新授权。
说明:已完成 One UI 7/8 极光界面复刻与 38 项自动化测试,专注远程到馆签到,不提供后台抢座。
03 / 技术实现与开发说明
ARCHITECTURE & IMPLEMENTATION
- 采用 Kotlin、Jetpack Compose 与 Material 3 构建,设计 AuthorizationInputParser、SessionCredentials 与 9 状态 ViewModel 状态机。
- 本地存储层(SecurePrefs)使用 Android Keystore AES/GCM/NoPadding 加密,真机环境下若 Keystore 不可用则拒绝明文降级存储。
- 通过 58 项本地单元测试(含 Robolectric 与 Mock 网络),覆盖双阶段微信扫码换票、会话核验与身份水印展示。
| 应用标识 / PACKAGE | com.venue.companion |
| 版本号 / VERSION | v1.2.4 |
| 系统支持 / MIN SDK | Android 8.0 (API 26)+ |
| 目标系统 / TARGET SDK | Android 15 (API 35) |
| 处理器架构 / ABI | 通用架构 (Universal) |
| 安装包大小 / SIZE | 9,156,668 字节 (约 8.73 MiB) |
| 更新日期 / DATE | 2026-10-13 |
| SHA-256 校验哈希 | A310FD40C5F22930CB376F640D948986736BAEA1290202D3CD701A2F5ADEF607 |
04 / 源代码与许可信息
- 源码状态
- 已公开源代码
- 许可证与权利
- 个人独立开发源码,公开供技术审阅与学习交流;协议状态机参考了开源项目 IGoLibrary / WegoLibrary(MIT License)。
- 关联声明
- 独立开发工具,非图书馆官方产品,与第三方预约平台不存在官方合作或授权关系。
05 / 版本信息及可用下载渠道
源代码 · 版本说明 · 下载
当前可用公开版本:v1.2.4(更新于 2026-10-13)。仅提供以下已核实的公开入口:
| 版本 | 日期 | 主要变化与修复 |
| v1.2.4 |
2026-10-13 |
正式发布:身份水印永久开启,自动读取账号学号或昵称;新增个人资料安全读取和测试。 |
| v1.2.3 RC1 |
2026-10-13 |
微信 OAuth 双阶段扫码授权重构,经用户真机反馈已可正常使用。 |
| v1.2.2 |
2026-10-13 |
微信扫码授权候选版。 |
06 / 项目使用说明与边界
01
公众号进入选座页
先在「我去图书馆」公众号进入任意选座页面,然后退出。
02
同一微信扫描二维码
在应用设置中打开授权二维码,用刚才的微信扫码。
03
复制跳转后的链接
复制扫描后打开的网页链接(不要复制页面文字),直接粘贴到应用。
04
必要时重复一次
如提示还差最后一步,请重新扫描生成第二条新链接,不能重复使用旧链接。
系统需求与必要权限
- 操作系统:Android 8.0 (API 26) 及更高版本
- 网络环境:能够访问校园网或场馆系统的网络
- 权限说明:仅需基础网络权限,无需相机、定位、通讯录等无关权限
客观使用边界与说明
- 独立开发工具,非图书馆官方产品;不在软件中预置学校或个人身份资料。
- 仅支持适配的场馆服务;签到需满足真实座位预约和服务端要求,不能保证任意地点或任意时间均可签到。
- 应用账号身份水印默认始终展示;公开截图时请注意遮挡个人学号或昵称。
07 / 常见问题与反馈
Q: 为什么扫码后提示需要第二次授权?
A: 服务端可能把一次性授权码分别用于不同凭据。请用同一微信重新扫码取得全新链接,不能重复提交第一次链接。
Q: 为什么水印没有显示我的学号?
A: 水印优先使用账号返回的学号,没有学号时显示昵称。旧版升级后若尚未读取到身份,可以在应用内重新扫码授权。
Q: 安装包中的会话信息会被上传吗?
A: 本应用使用本机 Android Keystore 保护会话资料,不在公开 APK 中预置账号、学号或会话凭据。
反馈与权益核查
如遇软件问题、开源许可证疑问或合法权益反馈,请发送邮件至:
admin@chessyuan.com
分享此页面
页面地址:
https://chessyuan.com/apps/woaitushuguan