基于 Slint 的跨平台桌面客户端
English | 简体中文
SAST Evento 是一个 SAST 的事件管理系统,平时我们在活动过程中一般都会遇到下面的问题:
- 活动信息收集仍然通过传统的共享表格,效率低
- 活动时间安排冲突需要手动排查、活动场地冲突也要手动排查
- 活动计划表虽然模板一样,但是每周都需要人手动更新,没法自动生成
- 同学们活动没有的反馈不高,活动完的收获没法量化
- 活动的质量没有比较好的反馈
针对上面的问题,我们决定 SoC 期间制作一个活动辅助系统帮助部长和讲师们更加顺畅地完成日常活动,减少沟通负担。
这个项目是 SAST Evento 的桌面客户端版本。
平台 | 状态 | 说明 |
---|---|---|
Windows x64 | ✅ | |
Windows arm64 | ❌ | 等待 Slint 上游修复 |
macOS arm64 | ✅ | |
macOS x64 | ✅ | |
Linux x64 (pacman) | ✅ | |
Linux x64 (portage) | ✅ | |
Linux x64 (deb) | ✅ | |
Linux x64 (rpm) | ❌ | 欢迎提交 PR |
Linux x64 (nix) | ❌ | 欢迎提交 PR |
Linux x64 (AppImage) | ✅ |
通常,您可以从发布页面下载最新版本。如果您使用以下 Linux 发行版之一,可以通过包管理器直接安装该软件包。
paru -S sast-evento
# 或
yay -S sast-evento
Note
如果您想安装预构建的二进制包,可以安装 sast-evento-bin
包;如果您想使用 dev
分支,可以安装 sast-evento-git
包。
添加 corcodile
overlay。
emerge -av eselect-repository
eselect repository add corcodile git https://github.com/f3rmata/corcodile.git
使用 overlay 中的 spdlog
解决捆绑的 fmt
问题。
emerge -av spdlog::corcodile sast-evento
在通常情况下,您不需要直接修改此文件。配置文件位于以下路径:
- Windows:
%AppData%\Local\NJUPT-SAST-C++\SAST-Evento\config.toml
- macOS 和 Linux:
$HOME/.config/NJUPT-SAST-C++/SAST-Evento/config.toml
日志文件位于 log 文件夹中。报告错误时请提交日志文件。log 文件夹位于以下路径:
- Windows:
%Temp%\NJUPT-SAST\logs
- macOS:
$TEMPDIR/NJUPT-SAST/logs
- Linux:
/tmp/NJUPT-SAST/logs
缓存文件夹位于以下路径:
- Windows:
%LocalAppData%\evento
- macOS:
$HOME/Library/Caches/evento
- Linux:
$HOME/.cache/evento
- 支持 C++20 或更高标准的编译器
- CMake 3.21 或更高版本
- vcpkg 包管理器
- Rust 工具链
对于 Linux 平台,我们建议您直接从包管理器安装 Qt6 基础库:
# 对于 Arch Linux
sudo pacman -S qt6-base
# 对于 Ubuntu
sudo apt install qt6-base-dev
对于 macOS 和 Windows 平台,您可以从官方网站安装 Qt6 以动态链接 Qt 到此项目;或者,您可以使用 vcpkg 从源代码构建 Qt6。
git clone --recursive https://github.com/NJUPT-SAST/sast-evento.git
注意:此项目使用子模块,因此请确保使用 --recursive
标志克隆存储库,或者在克隆后执行以下命令:
git submodule update --init --recursive
此项目使用 pre-commit 进行提交检查,以确保代码风格一致性。请先安装 pre-commit 工具:
# 对于 Arch Linux
sudo pacman -S pre-commit
# 对于 Pipx 用户(跨平台)
pipx install pre-commit
然后,在克隆项目后,执行以下命令安装 pre-commit 钩子:
pre-commit install
Tip
如果您发现工具提供的结果不可靠,可以使用 git commit --no-verify
暂时跳过提交检查。
Tip
我们建议使用 VScode 打开和编辑项目。我们已经保留了 .vscode
文件夹用于基本设置和扩展。
此项目使用 CMake Presets 进行快速配置和构建。所需的命令行如下:
# 对于 Windows 平台,请确保配置了编译工具集相关的环境变量
# 您可以使用 `vcpkg env` 命令进入一个设置了正确环境变量的 shell
cmake --preset native
# 根据需要,您可以使用 `native-debug`、`native-release` 或 `native-relwithdebinfo` 预设
cmake --build --preset native
如果您使用 vcpkg 安装 Qt6,需要在 CMake 命令中添加以下构建选项:
cmake --preset native -DVCPKG_MANIFEST_FEATURES=qt-from-vcpkg
对于 Windows 平台,您可以使用静态链接以避免一些奇怪的问题:
cmake --preset native -DVCPKG_MANIFEST_FEATURES=qt-from-vcpkg -DVCPKG_TARGET_TRIPLET=<x64 或 arm64>-windows-static
如果您想加快 Debug 模式下的构建过程,可以添加 -DSPEED_UP_DEBUG_BUILD=ON
选项。
欢迎提交拉取请求和任何反馈。对于重大更改,请先打开一个 issue 讨论您想要更改的内容。