Appearance
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 devElectron 开发端口 5174。
环境变量
| 变量 | 说明 |
|---|---|
VITE_API_BASE_URL | Java / Python RBAC 后端 |
DEVICE_AGENT_AUTO_START=true | 仅仪器设备场景:主进程自动拉起 C# Agent |
VITE_DEVICE_AGENT_URL | Agent 地址,默认 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-agent | C# ASP.NET Core 本地服务 :19721 |
@xichen-full-stack/instrument | TS 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 及对应权限)。
扩展新业务页
- 在
src/views/新增 Vue 文件 - 后台菜单配置
path、component(如your-module/YourPage)、client=desktop - 按钮使用
v-permission
平台管理页仍在 @xichen-full-stack/admin 内。