Skip to content

Qintsg/SSPU-AllinOne

Repository files navigation

SSPU-AllinOne(工大聚合)

上海第二工业大学校园综合服务应用

License: Artistic-2.0 Flutter Version OSSF Scorecard

简介

工大聚合(SSPU-AllinOne)是面向上海第二工业大学师生的校园综合服务应用,基于 Flutter + Fluent UI 构建,公开 Release 面向 Android / iOS / macOS / Linux / Windows。所有数据仅保留在本地,不上传至任何云端服务。

中文语言环境下,应用窗口、启动器、安装器和关于页默认显示为“工大聚合”;英文语言环境和技术标识仍使用 SSPU-AllinOne。包名、Bundle ID、可执行文件名、仓库名与 GitHub Release 资产命名不随显示名变化。

快速开始

环境要求

  • Flutter SDK >= 3.44.0
  • Dart SDK 3.12.0(随 Flutter 3.44.0 提供)
  • 各平台对应的开发工具(详见 使用文档

安装与运行

git clone https://github.com/Qintsg/SSPU-AllinOne.git
cd SSPU-AllinOne
flutter pub get
flutter run

构建

flutter build apk           # Android APK
flutter build windows        # Windows
flutter build macos          # macOS
flutter build linux          # Linux

Release 使用指南

完整发布规范、Tag 规则、资产命名、发布矩阵、Release Notes 模板与门槛,统一见 docs/RELEASE.md。 当前公开 Release 仍然通过带 release 标签的 PR merge 自动触发,版本号只读取 pubspec.yaml

Android

  • 本仓库支持通过 android/key.properties 加载本地签名配置;当前工作区已生成一个本机自签名 keystore:android/app/sspu-release.jks
  • android/key.properties.jks 文件默认不会提交;若需在新机器复用,请参考 android/key.properties.example 重新生成或复制 keystore
  • 当前 Android 应用 ID 为 cn.qintsg.sspu_allinone。仅改应用名不需要更换 keystore;本次包名迁移后,Android 会把新包名识别为另一款应用,既有 keystore 可继续用于签名,但不能作为旧包名应用的原地升级。
  • GitHub Actions 进行 Android release build 时,不依赖仓库内签名文件;可通过 Secrets 在运行时下发签名材料: ANDROID_KEYSTORE_BASE64 ANDROID_KEYSTORE_PASSWORD ANDROID_KEY_ALIAS ANDROID_KEY_PASSWORD
  • 公开 Release 默认上传分架构 APK: SSPU-AllinOne-v{version}-android-arm64-v8a.apk SSPU-AllinOne-v{version}-android-armeabi-v7a.apk SSPU-AllinOne-v{version}-android-x86_64.apk SSPU-AllinOne-v{version}-android-x86.apk
  • 构建命令:
flutter build apk --release --split-per-abi --target-platform android-arm,android-arm64,android-x64,android-x86
flutter build appbundle --release
  • 产物位置: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk build/app/outputs/flutter-apk/app-x86_64-release.apk build/app/outputs/flutter-apk/app-x86-release.apk build/app/outputs/bundle/release/app-release.aab
  • 使用方式: app-*-release.apk 可直接分发安装(根据设备架构选择) app-release.aab 用于应用商店上架,不适合直接本地安装

Windows

  • 构建命令:
flutter build windows --release
  • 产物位置: build/windows/x64/runner/Release/ build/windows/arm64/runner/Release/
  • 使用方式: 将 x64 架构的整个 Release/ 目录连同其中的 DLL 和 data/ 一起分发;直接运行目录中的 sspu_allinone.exe Release workflow 会同时生成: SSPU-AllinOne-v{version}-windows-x64-setup.exe SSPU-AllinOne-v{version}-windows-x64-portable.zip SSPU-AllinOne-v{version}-windows-arm64-setup.exe SSPU-AllinOne-v{version}-windows-arm64-portable.zip

Linux

  • 构建命令:
flutter build linux --release
  • 产物位置: build/linux/x64/release/bundle/ build/linux/arm64/release/bundle/
  • 使用方式: 打包并分发整个 bundle/ 目录;目标机器上运行 ./sspu_allinone 对公开 Release,workflow 会统一生成: SSPU-AllinOne-v{version}-linux-x64.AppImage SSPU-AllinOne-v{version}-linux-x64.deb SSPU-AllinOne-v{version}-linux-x64.rpm SSPU-AllinOne-v{version}-linux-x64.tar.gz SSPU-AllinOne-v{version}-linux-arm64.AppImage SSPU-AllinOne-v{version}-linux-arm64.deb SSPU-AllinOne-v{version}-linux-arm64.rpm SSPU-AllinOne-v{version}-linux-arm64.tar.gz

macOS

  • 构建命令:
flutter build macos --release
  • 产物位置: build/macos/Build/Products/Release/
  • 使用方式: 分发生成的 .app 包;首次运行若被系统拦截,需要在"系统设置 → 隐私与安全性"中手动放行 公开 Release 当前默认提供多架构 DMG: SSPU-AllinOne-v{version}-macos-arm64.dmg SSPU-AllinOne-v{version}-macos-x86_64.dmg

iOS

  • 构建命令:
flutter build ios --release --no-codesign
  • 产物位置: build/ios/iphoneos/Runner.app
  • 使用方式: 未签名 .app 仅可用于 Xcode 模拟器运行;真机安装需要 Apple Developer 账号签名 公开 Release 当前默认提供未签名 .app: SSPU-AllinOne-v{version}-ios-arm64.app

安全扫描

本仓库配置了多层安全扫描:

扫描工具 用途 触发条件
CodeQL 静态代码分析(Actions、Python、C/C++) push / PR / 每周
Semgrep 安全规则扫描(1000+ 社区规则) push / PR / 每周
OSV Scanner 依赖漏洞扫描 依赖变更 / 每周
Secret Scanning 密钥泄漏检测(Gitleaks) push / PR / 每周
Dependency Review 依赖供应链审查 PR 依赖变更
OSSF Scorecard 供应链安全态势评估 push to main / 每周

文档

许可证

Artistic License 2.0 © Qintsg

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors