应用端实验室桌面应用
00 / 00

改成自己的 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.devcom.example.app,避免开发和正式版共享同一个本地数据目录。identifier 一旦确定,尽量不要再改——改了等于换了一个应用。

改品牌和图标

替换以下位置的素材:

  • src-tauri/icons/icon.png — 用于生成各尺寸图标
  • src/App.tsxsrc/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 版本混用
  • 签名、公证、安装包符合平台要求
  • 自动更新检查不会阻塞启动
  • 文档和下载页没有旧名称或旧域名
  • disttarget、签名私钥没有提交进仓库

全部通过后,就可以发布了。

下一步

改造完成后,进入测试阶段。请阅读测试与验收

想和其他创造者交流?

这篇文档有问题?