lincube b92441ed9f 0.0.4
2026-02-18 15:16:49 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 23:21:17 +08:00
2026-02-13 17:01:37 +08:00
2026-02-18 15:16:49 +08:00
2026-02-13 17:01:37 +08:00
2026-02-18 15:16:49 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-13 17:01:37 +08:00
2026-02-18 15:16:49 +08:00
2026-02-18 15:16:49 +08:00
2026-02-13 17:01:37 +08:00
2026-02-18 15:16:49 +08:00
2026-02-18 15:16:49 +08:00
2026-02-14 20:13:43 +08:00
2026-02-13 17:01:37 +08:00
2026-02-18 15:16:49 +08:00
2026-02-13 17:01:37 +08:00

LanMontainDesktop

一个使用 Electron 打包的桌面应用:前端采用 Vue 3Renderer主进程内置 Elysia.js 作为本地后端服务Main

技术栈

  • Electron + electron-vite主进程/构建/开发)
  • Vue 3 + Vite + TypeScript渲染进程 UI
  • Elysia.js + @elysiajs/node主进程内的本地后端 API

架构说明

这个项目不是传统意义上“浏览器前端 + 远程后端”的部署形态,而是:

  • 主进程Electron Main负责创建窗口并启动 Elysia.jsHTTP Server 绑定到 127.0.0.1 的随机端口)。
  • 预加载Preload通过 ipcRenderer.invoke('eiysia:request', ...) 把“类 HTTP 请求”转发到主进程里的 Elysia 路由。
  • 渲染进程Vue 3 Renderer通过 window.api.call({ method, path, body }) 调用后端接口(例如 /apps/list/apps/launch/open/external)。

目录结构(关键)

  • src/main/Electron 主进程入口(创建窗口、启动 Elysia 服务)
  • src/preload/Preload 桥接层(暴露 window.api
  • src/renderer/Vue 3 渲染进程UI 与交互)
  • src/eiysia/Elysia.js “后端”路由与启动逻辑

推荐 IDE

  • VSCode + VolarVue Language Features+ ESLint + Prettier

开发与构建

安装

$ pnpm install

开发

$ pnpm dev

构建

# For windows
$ pnpm build:win

# For macOS
$ pnpm build:mac

# For Linux
$ pnpm build:linux
Description
No description provided
Readme 105 MiB
Languages
C# 95%
PowerShell 2.2%
Python 1.3%
Inno Setup 0.8%
HTML 0.6%
Other 0.1%