# 桌面端编译

桌面端是 Tauri 2 应用：前端 React + Vite，后端 Rust。产物为 Windows NSIS 安装包。

## 依赖安装

1. **Node.js 18+**（建议 LTS 20）：<https://nodejs.org>
2. **Rust（stable 工具链）**：<https://rustup.rs>，安装后执行 `rustup default stable`
3. **平台构建工具**：
   - Windows：安装「Microsoft C++ 生成工具」（含 MSVC 与 Windows SDK）；WebView2 运行时（Win10/11 一般已内置，否则装 Evergreen 版）。
   - 官方前置条件清单：<https://tauri.app/start/prerequisites/>
4. **前端依赖**（项目根）：
   ```
   npm install
   ```
   Rust 依赖（crates）会在首次 `tauri build` / `tauri dev` 时由 cargo 自动拉取，无需手动安装。

## 开发运行

```
npm run tauri dev
```
前端 Vite 热重载 + 后端 Rust 调试。

## 编译发布包

```
npm run tauri build
```
- 安装包：`src-tauri/target/release/bundle/nsis/*.exe`
- 可执行文件：`src-tauri/target/release/CCGUI.exe`

可选：降低并行编译数，减小峰值内存 / 规避个别杀软对编译中进程的误杀：
```
# PowerShell
$env:CARGO_BUILD_JOBS=2; npm run tauri build
```
（`cargo check` 同理可加 `-j2`。）

## 版本号

发布前把版本号在三处改成一致：
- `package.json` 的 `version`
- `src-tauri/Cargo.toml` 的 `[package] version`
- `src-tauri/tauri.conf.json` 的 `version`

## 关于内嵌的移动端页面

桌面后端通过 `include_str!` 内嵌 `mobile-test.html`（浏览器/手机以普通 GET 访问网关时返回该页）。本包已含生成好的 `mobile-test.html`，可直接编译。

若你改动了移动端 H5（`mobile-src.html`），需先运行 `build-mobile-html.ps1` 重新生成 `mobile-test.html` 再编译桌面端，详见 [docs/02-移动端-编译.md](02-移动端-编译.md)。
