Files
xk-admin/apps/desktop
李琦 beba5e8feb feat: 订单双视图、工作台日历组件、医生排班管理与挂号语音提醒
- 订单双视图:商品订单/处方/挂号列表新增卡片视图(CardList)、视图切换组件 view-mode-switch、stat-islands 统计岛、constants 字典
- 工作台:新增工作日历 Widget、待办日历、即将到访预约、公告滚动 NoticeTicker、日历面板 CalendarPanel
- 医生排班:新增排班 API、ScheduleDrawer 抽屉、schedule-calendar 组件、门店设置弹窗
- 日志与通知:新增排班变更日志页、排班变更通知视图
- 挂号提醒:新增挂号语音播报资源与 register-notify 工具
- 桌面端:新增 apps/desktop 壳及 desktop 工具方法
- 其他:处方/订单导出、聊天设置与 WebSocket 等小幅优化
2026-08-14 17:46:50 +08:00
..

@vben/desktop — 萧康云医 PC 桌面端

Electron 壳工程:打包加载 apps/web-antd 的生产构建产物,提供桌面通知、开机自启、系统托盘、未读角标、静默打印、全局快捷键与自动更新能力。

常用命令(在仓库根目录执行)

# 开发:并行启动 web-antd dev server:5666与 Electron 壳(壳会自动等待/重试连接 dev server
pnpm dev:desktop

# 打包turbo 先构建 web-antd dist再构建主进程并出安装包产物在 apps/desktop/release/
pnpm build:desktop
  • Windows 机器出 NSIS 安装包mac 包必须在 macOS 机器上执行同一命令electron-builder 不支持交叉编译 mac 包)。
  • 不需要打桌面包的同事 / CI可设置环境变量 ELECTRON_SKIP_BINARY_DOWNLOAD=1 跳过 Electron 二进制下载,不影响 web 开发。

环境切换dev 走本地,打包走生产)

模式 页面来源 API 走向
pnpm dev:desktop http://localhost:5666web-antd vite dev server vite 代理转发到本地后端/api/*localhost:18001/im-api/*localhost:12080(见 apps/web-antd/vite.config.ts
打包后的安装包 app://local/(内置 web-antd 生产 dist 主进程协议处理器转发到生产上游/api/admin/*api.xiaokang88.com/im-api/*api.ws.g.xiaokang88.com/api(见 src/main/config.ts,可用环境变量覆盖)

即:开发调试自动对接本地后端(与网页开发完全一致),只有 pnpm build:desktop 出的安装包才请求生产环境,无需手动切换。

环境变量

变量 用途
XK_DESKTOP_API_UPSTREAM 覆盖 /api/admin 转发上游(联调测试环境用)
XK_DESKTOP_IM_UPSTREAM 覆盖 /im-api 转发上游
XK_DESKTOP_DEV_URL 覆盖开发模式加载的 dev server 地址(默认 http://localhost:5666
CSC_LINK / CSC_KEY_PASSWORD 代码签名证书;未配置时自动跳过签名,出未签名包,构建不报错
APPLE_ID / APPLE_APP_SPECIFIC_PASSWORD / APPLE_TEAM_ID mac 公证三件套;三者齐全才启用公证

未签名 mac 包可内部分发:首次打开需右键「打开」,且 mac 自动更新不可用(应用内会降级为提示前往下载页手动安装)。

发布自动更新

release/ 里的以下产物上传到静态托管地址(electron-builder.config.cjspublish.url

  • Windowslatest.yml + xk-desktop-*.exe + *.blockmap
  • maclatest-mac.yml + *.dmg + *.zip + *.blockmapzip 是 mac 自动更新必需格式)

前端每次发版后跟着跑一次 pnpm build:desktop 并上传产物,桌面端即可自动更新。