这是一个面向二次开发的 Tauri 2 基座项目,目标是把 main 维护成可反复复用的桌面端模板主干,再从 main 拉出定制分支做业务迭代。
- 前端: React 19 + TypeScript + Vite + Ant Design 6
- 桌面端: Tauri 2 + Rust
- 数据层: SQLite + SQLx migration
- 工程化: ESLint、Prettier、Husky、lint-staged、Commitlint
- 交付形态: Windows x64 与 macOS arm64 桌面安装包
- 视觉基线: 中性科技青蓝 Glassmorphism,默认提供中英文切换
pnpm install
pnpm typecheck
pnpm lint
pnpm build
cargo test --manifest-path src-tauri/Cargo.toml
pnpm tauri buildmain只维护通用能力,不放客户专属逻辑与命名。- 新项目或定制需求从
main拉出业务分支。 - 通用模块回灌到
main后,再按需合并到各定制分支。
- 该仓库已经具备可运行、可构建、可打包的 Tauri 2 样例基座能力。
- 2026-03-16 已完成一轮编译、测试、打包验证,补齐了 Rust 侧基础冒烟测试、前端双语切换能力与 GitHub Actions 质量门禁。
- updater 仍保持占位配置,但自动更新入口默认禁用;正式接入自动更新前,需要先补齐真实签名与发布配置。
- Windows 交互安装默认推荐使用
src-tauri/target/release/bundle/nsis/*-setup.exe,安装时可选择安装范围与安装目录;.msi继续保留给企业或静默安装场景。
- 技术栈: Tauri 2 + Rust + React 19 + TypeScript + Ant Design 6
- 数据持久化: Rust 服务层 + SQLx + SQLite migration
- 桌面能力: 托盘、单实例、更新入口、原生目录与文件能力
- 工程质量: ESLint、Prettier、Husky、lint-staged、Commitlint
- 打包目标: Windows x64、macOS arm64
- 用路由化应用骨架替换默认示例页面。
- 建立 Rust
command -> service -> repository -> dto/domain分层。 - 引入 SQLite 初始化、迁移执行与统一应用数据目录管理。
- 增加 Todo CRUD 端到端样例,作为前后端联调参考。
- 增加托盘菜单与单实例唤起逻辑。
- 增加 updater 命令入口与配置占位。
- 增加 CI、发布工作流与多目标打包脚本。
- 增加 Rust 侧仓储冒烟测试,覆盖 Todo CRUD 核心流程。
pnpm typecheck: 通过pnpm lint: 通过pnpm build: 通过cargo check --manifest-path src-tauri/Cargo.toml: 通过cargo test --manifest-path src-tauri/Cargo.toml: 通过,2 个测试pnpm tauri build: 通过
- 可作为 Tauri 2 定制项目的起始模板使用。
- 默认打包链路可运行,不再强依赖 updater 私钥。
- 默认提供中英文切换入口,现有页面文案已接入基础 i18n。
- 登录页、主框架、仪表盘、设置页与 404 已统一升级为 Glassmorphism 视觉基线,可继续作为主干主题壳复用。
- updater 仍是占位配置,正式发布前必须替换真实 endpoint、公钥和私钥,并显式开启更新入口。
- 扩大 i18n 覆盖面,继续清理后续新增页面与组件中的硬编码债务。
- 增加前端自动化测试,避免只依赖构建通过。
- 为 updater 增加正式发布配置和签名流程。
- 根据模板使用场景,继续抽离业务示例页面中的演示文案与样例行为。
- 项目级配置文件:
src-tauri/config/project.json - 模板默认
projectName:tauri-rust-desktop - 持久化项目根目录:
~/.namewta/<project-name>/ - 当前模板默认数据目录:
~/.namewta/tauri-rust-desktop/state/ - Windows 常见路径:
%UserProfile%\\.namewta\\tauri-rust-desktop\\state\\ - macOS / Linux 常见路径:
~/.namewta/tauri-rust-desktop/state/ - 当前主干发布标签:
v-tauri-rust-desktop-x.y.z - 发布标签中的项目名取自
src-tauri/config/project.json的projectName,不对应 Git 分支名 - SQLite 文件:
~/.namewta/<project-name>/state/app.db - 前端持久化文件:
~/.namewta/<project-name>/state/app-store.json - 首次切换到新目录时,会尝试从旧的 Tauri
app_data_dir/state/自动迁移app.db与app-store.json - 若本地曾使用过旧模板默认目录
~/.namewta/main/state/,当前版本会在目标文件缺失时自动迁移 - 修改
src-tauri/config/project.json后,需要重启pnpm dev:desktop才会生效