Skip to content

Desktop 桌面端

路径:packages/desktop

Electron 双进程 + 渲染进程复用 @xichen-full-stack/admin,作为 桌面业务宿主(管理后台、本地能力扩展等)。

仪器设备控制为 可选插件,默认构建与运行 不依赖 device-agent。

下载

地址
脚手架 Desktop 安装包(Windows)xichen-desktop.exe

TIP

安装包内置 API 地址取决于打包时的 .env.production。若无法登录,请确认后端可访问或自行重新打包。

架构

text
electron/main.ts          主进程:窗口、可选拉起 device-agent
electron/preload.ts       预加载
src/main.ts               渲染进程:admin + 宿主业务 views
src/views/**              业务页面(菜单 component 驱动)

与 Web 共用 NC 企业壳layout: 'enterprise');差异在于 hash 路由与无边框窗口控制。

说明
布局enterprise NC 企业壳(与 Web 相同)
窗口控制顶栏右侧 − □ ×
多页签默认开启

开发

bash
pnpm --filter @xichen-full-stack/types build
pnpm --filter @xichen-full-stack/auth build
pnpm --filter @xichen-full-stack/api-client build

pnpm --filter desktop dev

Electron 开发端口 5174

环境变量

变量说明
VITE_API_BASE_URLJava / Python RBAC 后端
DEVICE_AGENT_AUTO_START=true仅仪器设备场景:主进程自动拉起 C# Agent
VITE_DEVICE_AGENT_URLAgent 地址,默认 http://127.0.0.1:19721(仅设备页使用)

打包

默认(桌面业务系统)

bash
pnpm --filter desktop build:unpack   # unpacked
pnpm --filter desktop build          # NSIS 安装包

无需 .NET,无需 device-agent 产物。

可选:仪器设备插件

需先构建 C# Agent,再使用带 extraResources 的配置:

bash
pnpm device-agent:build
pnpm --filter desktop build:instrument
# 或根目录一键:
pnpm desktop:build:instrument

配置文件:electron-builder.instrument.json5(将 device-agent/dist/win-x64 打入 resources/device-agent/)。

可选插件:仪器设备控制

组件说明
@xichen-full-stack/device-agentC# ASP.NET Core 本地服务 :19721
@xichen-full-stack/instrumentTS HTTP 客户端(desktop devDependency)
src/views/instrument/DeviceConsole.vue示例设备控制台页

开发联调:

bash
pnpm --filter @xichen-full-stack/instrument build
pnpm device-agent:dev

$env:DEVICE_AGENT_AUTO_START="true"
pnpm --filter desktop dev

登录后访问 http://localhost:5174/#/instrument(需后台菜单配置 client=desktop 及对应权限)。

扩展新业务页

  1. src/views/ 新增 Vue 文件
  2. 后台菜单配置 pathcomponent(如 your-module/YourPage)、client=desktop
  3. 按钮使用 v-permission

平台管理页仍在 @xichen-full-stack/admin 内。

相关文档

Xichen Full Stack 内部文档