Skip to content

Repository files navigation

CCZU-Lib-Book

CCZU 图书馆预约客户端。后端已经迁移为 Go 本地服务,React 仅负责桌面与移动端界面。

Architecture

  • 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 和用户标识不会进入明文日志。

Run

  1. .\backend\run.ps1 启动 Go 后端
  2. npm run dev 启动桌面前端
  3. .\backend\test.ps1 运行 Go 测试
  4. .\backend\build.ps1 生成 .tmp\bin\cczu-backend.exe

构建后的后端可直接运行:.\.tmp\bin\cczu-backend.exe。Go 后端启动和调试不依赖 npm,也不要求先构建 React 前端。

旧 Node 服务仅在需要回退时使用:npm run bridge:legacy。

Android APK

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 应用。

Configuration

常用环境变量:

  • CCZU_BACKEND_HOST、CCZU_BACKEND_PORT
  • CCZU_BACKEND_DATA_DIR
  • CCZU_ROOT_VPN、CCZU_ROOT_SSO_LOGIN、CCZU_LIBSEAT_ORIGIN
  • CCZU_HTTP_RETRIES、CCZU_HTTP_RETRY_DELAY_MS、CCZU_HTTP_TIMEOUT_SECONDS
  • CCZU_CAPTCHA_TTL_SECONDS
  • CCZU_SEARCH_PAGE_LIMIT、CCZU_SEARCH_BATCH_SIZE

About

Library Seat Reservation

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages