CCZU 图书馆预约客户端。后端已经迁移为 Go 本地服务,React 仅负责桌面与移动端界面。
backend/:Go API、真实认证/预约请求、SQLite 状态和脱敏流水desktop/、mobile/:React + Vite 前端shared/:前端共享 API 客户端legacy-js-backend/:迁移前的 Node 后端,完整保留用于回退与对照
Go 后端默认监听 http://127.0.0.1:4318:
/health:服务健康状态/status:会话、请求和真实动作的可视状态页/api/operations:脱敏请求流水/api/sessions:脱敏会话快照
账号密码不会写入 SQLite;token、Cookie、验证码 token 和用户标识不会进入明文日志。
.\backend\run.ps1启动 Go 后端npm run dev启动桌面前端.\backend\test.ps1运行 Go 测试.\backend\build.ps1生成.tmp\bin\cczu-backend.exe
构建后的后端可直接运行:.\.tmp\bin\cczu-backend.exe。Go 后端启动和调试不依赖 npm,也不要求先构建 React 前端。
旧 Node 服务仅在需要回退时使用:npm run bridge:legacy。
mobile/ 会打包为 Capacitor WebView 资源;backend/mobilebridge 会通过 gomobile bind 打包为 Go AAR,并在 Android 原生插件中启动 127.0.0.1:4318 服务。legacy-js-backend/ 不会被打入 APK。
安装 Android SDK Platform Tools、Build Tools 36.0.0、NDK 29.0.14206865 和 JDK 21 后,执行:
npm run android:debug
npm run android:release产物分别位于 android\app\build\outputs\apk\debug\ 和 android\app\build\outputs\apk\release\。android-signing\release-signing.properties 存在时,release 会使用其中指定的 keystore 签名;该目录、AAR、APK、Gradle 缓存和本机 SDK 配置均已列入 .gitignore。请将 android-signing/ 安全备份,丢失该证书将无法更新同一 Android 应用。
常用环境变量:
CCZU_BACKEND_HOST、CCZU_BACKEND_PORTCCZU_BACKEND_DATA_DIRCCZU_ROOT_VPN、CCZU_ROOT_SSO_LOGIN、CCZU_LIBSEAT_ORIGINCCZU_HTTP_RETRIES、CCZU_HTTP_RETRY_DELAY_MS、CCZU_HTTP_TIMEOUT_SECONDSCCZU_CAPTCHA_TTL_SECONDSCCZU_SEARCH_PAGE_LIMIT、CCZU_SEARCH_BATCH_SIZE