改成自己的 App
把 01MVP Desktop 模板改成真实桌面应用的完整步骤
你将学到
- 从零跑通模板并验证每个环节
- 改应用身份、品牌和后端配置的正确顺序
- 如何逐步添加桌面专属能力、测试和签名
这篇按实际顺序走。先让模板跑起来,再改身份和品牌,最后接业务能力、签名和发布。跳步容易遗漏配置,建议按顺序来。
开始改造
跑通模板
先完成快速开始,确认模板在你的机器上能正常运行:
vpr @01mvp/product#dev
vpr @01mvp/desktop#dev
vpr @01mvp/desktop#tauri:dev确认五件事:浏览器预览能打开,Tauri 原生窗口能打开,API status 可用,登录和 profile API 可用,设置能保存。全部通过后再进入下一步。
改应用身份
修改 products/01mvp/apps/desktop/src-tauri/tauri.conf.json,至少改这几项:
productName— 用户在系统里看到的应用名identifier— 反向域名格式,用于 app data 目录和 macOS 权限version— 版本号- 窗口
title— 默认窗口标题 - bundle
description— 安装包描述
建议同时规划 dev 和 production 两套 identifier,比如 com.example.app.dev 和 com.example.app,避免开发和正式版共享同一个本地数据目录。identifier 一旦确定,尽量不要再改——改了等于换了一个应用。
改品牌和图标
替换以下位置的素材:
src-tauri/icons/icon.png— 用于生成各尺寸图标src/App.tsx和src/components里的品牌元素
图标最好从统一品牌源文件生成。UI 先保持模板结构。
配置后端地址
桌面端需要知道 API 和 Web 的正式地址:
# 桌面端 .env 生产环境
VITE_DESKTOP_SERVER_URL="https://example.com/api"
VITE_DESKTOP_WEB_URL="https://example.com"
# 桌面端 .env 开发环境
VITE_DESKTOP_SERVER_URL="https://localhost:7010/api"
VITE_DESKTOP_WEB_URL="https://localhost:7010"# 服务端 .env
DESKTOP_ALLOWED_ORIGINS="https://example.com,tauri://localhost,http://tauri.localhost"本地、staging、production 要分别检查。不要把 tunnel 或 localhost 打进正式包。
跑通登录和 API
打开 Tauri 原生窗口,逐项验证:
health.live可用- 登录流程能走通
account.profile能返回正确数据- 退出后不显示旧用户的残留状态
- 401 时有合理的 UI 提示
如果你加了自己的 API,通过 @01mvp/api 和 oRPC client 接入,不要直接 import Web app 内部模块。
加桌面专属能力
按需求逐步添加。每加一个能力,先封装到 src/runtime/,再接 UI。
| 能力 | 先看哪篇 |
|---|---|
| 文件读写、托盘、外部打开 | Runtime 与权限 |
| 本地配置、缓存、Keychain | 本地存储 |
| macOS 麦克风、辅助功能、输入监听 | macOS 签名与权限 |
| 自动更新 | 自动更新 |
写测试
桌面端至少补这几类测试:env 和配置、API client URL、runtime fallback、本地偏好迁移、后端 origin/auth 边界。
vpr @01mvp/desktop#test
vpr @01mvp/desktop#type-check
vpr @01mvp/desktop#lint如果改动跨到后端配置,再跑:
vpr @01mvp/product#test准备签名和发布
发布前要准备好的东西:macOS Developer ID 和 notarization、Windows code signing certificate、release channel 和版本号策略、下载页或 release assets、自动更新 endpoint、崩溃或错误反馈入口。
先在本机构建安装包:
vpr @01mvp/desktop#tauri:build然后在干净机器上安装测试。详情看构建与分发。
发布前最终检查
最后一遍检查:
- 应用名、图标、版本号正确
- API 指向 production,不是 localhost 或 staging
- 登录、profile、付费状态可用
- app data 目录不会和 dev 版本混用
- 签名、公证、安装包符合平台要求
- 自动更新检查不会阻塞启动
- 文档和下载页没有旧名称或旧域名
dist、target、签名私钥没有提交进仓库
全部通过后,就可以发布了。
下一步
改造完成后,进入测试阶段。请阅读测试与验收。
想和其他创造者交流?
这篇文档有问题?