feat : update readme

This commit is contained in:
2025-12-03 09:56:53 +08:00
parent b088d9c8ee
commit 067e5b0462

106
README.md
View File

@@ -1,7 +1,105 @@
# Tauri + Vanilla # 考勤统计助手 (Attendance Counter)
This template should help get you started developing with Tauri in vanilla HTML, CSS and Javascript. 这是一个基于 **Rust** + **Tauri** 开发的桌面应用程序,用于自动化处理学生考勤数据并生成月度费用报表。
## Recommended IDE Setup ## 核心功能
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) 1. **Excel 数据读取**
* 支持导入 `.xlsx``.xls` 格式的考勤表。
* 自动识别表头中的日期列(支持 Excel 序列号日期格式)。
* 解析学生基本信息(入学年份、年级、班级、姓名)。
2. **智能数据处理**
* **考勤统计**:自动统计每个学生每月的出勤次数(输入表中标记为 `1` 即为出勤)。
* **费用计算**
* **思维班**(班级名称包含"思维"):单价 **30元/次**
* **其他班级**:单价 **24元/次**
* **月度汇总**:自动按月份聚合数据,生成每月的次数和费用小计。
3. **报表生成**
* 生成格式化的 Excel (`.xlsx`) 报表。
* **样式还原**:完美复刻目标模板的视觉风格(宋体、蓝色表头、边框、居中对齐)。
* **自动公式**:生成的表格包含 Excel 公式(`=PRODUCT(...)``=SUM(...)`),方便后续手动修改数据时自动更新合计。
* **智能保存**
* 默认保存在应用同级目录。
* 若从桌面快捷方式启动,则自动保存到桌面。
## 技术栈
本项目采用现代化的 **Tauri 2.0** 框架构建,结合了 Rust 的高性能和 Web 前端的灵活性。
* **核心框架**: [Tauri 2.x](https://tauri.app/) (构建跨平台桌面应用)
* **后端 (Rust)**:
* `calamine`: 高效读取 Excel 文件。
* `rust_xlsxwriter`: 生成带有复杂样式和公式的 Excel 文件。
* `serde`: 数据序列化与反序列化。
* `chrono`: 日期和时间处理。
* `dirs`: 跨平台路径处理(识别桌面路径)。
* **前端**:
* HTML5 / CSS3
* Vanilla JavaScript (原生 JS无繁重框架依赖)
## 开发环境准备
在开始之前,请确保您的开发环境已安装以下工具:
1. **Rust**: [安装 Rust](https://www.rust-lang.org/tools/install)
2. **Node.js**: [安装 Node.js](https://nodejs.org/) (建议 LTS 版本)
3. **系统依赖**:
* **macOS**: 需要安装 Xcode Command Line Tools (`xcode-select --install`)。
* **Windows**: 需要安装 [Microsoft Visual Studio C++ 生成工具](https://visualstudio.microsoft.com/visual-cpp-build-tools/)。
## 跨平台支持
本项目代码完全**跨平台**,可以在 **Windows**、**macOS** 和 **Linux** 上编译运行。
* **Windows 用户注意**
* Tauri 依赖 Webview2Windows 10/11 通常已内置)。
* 建议直接在 Windows 系统上拉取代码并运行 `npm run tauri build` 进行打包,生成的 `.exe` 文件即可直接使用。
* 输出文件逻辑与 macOS 一致:如果 `.exe` 放在桌面上运行,生成的 Excel 也会在桌面;否则在同级目录。
## 安装与运行
1. **克隆项目/进入目录**
```bash
cd count_attendance
```
2. **安装前端依赖**
```bash
npm install
```
3. **启动开发模式**
此命令会同时启动前端服务和 Rust 后端,并打开应用窗口。
```bash
npm run tauri dev
```
## 打包与发布
要生成可分发的应用程序(如 macOS 的 `.app` 或 `.dmg`),请运行:
```bash
npm run tauri build
```
打包完成后,安装包通常位于:
`src-tauri/target/release/bundle/macos/` (macOS)
## 项目结构
```
count_attendance/
├── src/ # 前端源代码 (HTML, CSS, JS)
├── src-tauri/ # Rust 后端源代码
│ ├── src/
│ │ ├── lib.rs # Tauri 命令与模块入口
│ │ ├── excel_reader.rs # Excel 读取逻辑
│ │ ├── data_processor.rs# 数据处理与计算逻辑
│ │ └── excel_writer.rs # Excel 生成与样式逻辑
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 项目配置
├── package.json # 前端依赖配置
└── README.md # 项目说明文档
```