中文版 [English Version](README_EN.md) [官方网站](https://danxi.fduhole.com) # 旦挞 [![Deploy to GitHub Pages](https://github.com/DanXi-Dev/DanXi/actions/workflows/deploy_to_gh-pages.yml/badge.svg)](https://github.com/DanXi-Dev/DanXi/actions/workflows/deploy_to_gh-pages.yml) (原名旦夕、旦兮) 日月光华,旦复旦兮. 可能是为 FDUer 准备的,最好的一站式服务 APP! - 校园卡余额和消费记录 - 食堂消费人数 - 快速显示复活码(支持 Apple Watch 显示) - 空教室查询 - 刷锻次数查询 - 茶楼 - 课表查阅与导出至系统日历等 - 显示教务处通知 - 查询期中/期末考试日程与导出至系统日历等 - 查询期末绩点和专业排名 - 查询校车班次 欢迎各位大佬加入开发~ # 安装 如果您遇到了本应用中不符合预期的行为,欢迎 [新建 Issue](https://github.com/DanXi-Dev/DanXi/issues/new/choose) 或 [发起 Pull request](https://github.com/DanXi-Dev/DanXi/compare)。 ## iOS(watchOS)/iPadOS 从 [App Store](https://apps.apple.com/app/id1568629997) 下载 ## Android 打开 [release 页面](https://github.com/DanXi-Dev/DanXi/releases/latest) 下载最新版 apk 安装包,安装即可。 (依据设备差异,您可能需要在设置中允许「安装来自未知来源的应用」) ## Windows 打开 [release 页面](https://github.com/DanXi-Dev/DanXi/releases/latest) 下载最新版 zip 压缩包,解压运行即可。 ## macOS 使用 Apple Silicon 的用户可以直接从 [App Store](https://apps.apple.com/app/id1568629997) 下载。 Apple Intel 用户请打开 [release 页面](https://github.com/DanXi-Dev/DanXi/releases/latest) 下载最新版 dmg 硬盘映像,挂载拷贝即可。 ## Linux ### Arch Linux 从 [AUR](https://aur.archlinux.org) 或 [archlinuxcn](https://github.com/archlinuxcn/repo) 安装。 #### AUR ```shell [yay/paru] -S danxi # 最新稳定版 [yay/paru] -S danxi-git # 最新 Git 版 ``` #### archlinuxcn ```shell sudo pacman -S danxi # 最新稳定版 sudo pacman -S danxi-git # 最新 Git 版 ``` ### NixOS 使用 Nix flake 构建和运行: ```shell # 直接运行(不安装) nix run github:DanXi-Dev/DanXi-nix ``` ```shell # 进入开发环境 nix develop github:DanXi-Dev/DanXi-nix ``` ### 其他 Linux 发行版 打开 [release 页面](https://github.com/DanXi-Dev/DanXi/releases/latest) 下载最新版 zip 压缩包,解压运行即可。 #### 依赖项 在 Linux 上运行旦挞需要以下依赖项: - **libsecret** 和一个 Secret Service 实现(如 **gnome-keyring** 或 **KWallet**):用于安全存储加密配置文件所用的主密钥。 - libsecret:[官网](https://gnome.pages.gitlab.gnome.org/libsecret/) | [安装源](https://repology.org/project/libsecret/versions) - gnome-keyring:[官网](https://gitlab.gnome.org/GNOME/gnome-keyring) | [安装源](https://repology.org/project/gnome-keyring/versions) - KWallet:[官网](https://invent.kde.org/frameworks/kwallet) | [安装源](https://repology.org/project/kwallet/versions) - **gtk3**:用于显示 GTK3 窗口。 - [官网](https://gtk.org/) | [安装源](https://repology.org/project/gtk/versions) - **wpewebkit**:用于显示应用内 WebView。 - [官网](https://wpewebkit.org/) | [安装源](https://repology.org/project/wpewebkit/versions) ### 已知问题 部分 GPU(如 AMD 显卡)上,应用内 WebView 可能显示为黑屏。这是 WPE WebKit 硬件渲染的兼容性问题。可通过设置环境变量强制使用软件渲染来解决: ```shell LIBGL_ALWAYS_SOFTWARE=1 ./danxi ``` 详见 [flutter_inappwebview#460](https://github.com/pichillilorenzo/flutter_inappwebview/issues/460#issuecomment-3798706399)。 # 构建 ## 我们当前使用的 Flutter 编译版本 ```shell $ flutter --version Flutter 3.47.2 • channel stable • https://github.com/flutter/flutter.git Framework • revision d3b14c8769 (2 天前) • 2026-08-26 16:07:51 -0700 Engine • hash 1cf1c4773fb941c4c74a7f8bb144a8837596c0f4 (revision a804b26164) (47 hours ago) • 2026-08-26 18:46:13.000Z Tools • Dart 3.13.2 • DevTools 2.60.0 ``` ## 编译说明 本应用使用 [Dart](https://dart.cn/) 和 [Flutter](https://flutter.cn/) 开发。 为了构建本应用,您需要按照 `Flutter` 官网的要求[配置国内镜像源](https://flutter.cn/community/china),然后[下载](https://flutter.cn/docs/get-started/install)并安装 `Flutter SDK`。 如果您正在为 `Windows` 平台构建,您还需要[安装并配置](https://visualstudio.microsoft.com/zh-hans/downloads/) `Visual Studio`。 如果您正在为 `Android` 平台构建,您还需要[安装并配置](https://developer.android.google.cn/studio) `Android Command Line Tools`。 如果你正在为 `iOS/iPadOS/macOS` 平台构建,您还需要[安装并配置](https://apps.apple.com/app/id497799835) `Xcode`。 确定配置正确后,你需要首先在项目根目录下运行 ```shell flutter pub get flutter pub global activate intl_utils dart run intl_utils:generate dart run build_runner build ``` 然后运行 `flutter run [ios/android]`即可运行应用。 ### Nix Flake 构建 本项目提供 Nix flake,可在 NixOS 上构建(产物预设在 `./result/` 中): ```shell # Linux 桌面版 nix build github:DanXi-Dev/DanXi-nix ``` ```shell # Android APK nix build github:DanXi-Dev/DanXi-nix#android ``` ```shell # Android APK,另一种方式 nix develop github:DanXi-Dev/DanXi-nix -c flutter build apk ``` ## 赞助 由于 Apple Developer Program 费用(发布应用至 App Store 和 TestFlight 所必需)费用较高,如果您希望赞助我们,请通过邮件联系我们! 我们的邮箱:[dev@danta.tech](mailto:dev@danta.tech)