Files
LanMountainDesktop/README.md
lincube 5a8fa98646 0.0.3
2026-02-14 20:13:43 +08:00

56 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
## 开发与构建
### 安装
```bash
$ pnpm install
```
### 开发
```bash
$ pnpm dev
```
### 构建
```bash
# For windows
$ pnpm build:win
# For macOS
$ pnpm build:mac
# For Linux
$ pnpm build:linux
```