85 lines
1.8 KiB
Markdown
85 lines
1.8 KiB
Markdown
# CamTalk Desktop — 桌面客户端
|
||
|
||
基于 Electron 的 CamTalk 桌面应用,解决 HTTP 环境下摄像头和麦克风无法访问的问题。
|
||
|
||
## 原理
|
||
|
||
Electron 以 `file://` 协议加载页面,Chromium 将其视为安全上下文,`getUserMedia` 可直接工作。
|
||
|
||
## 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
cd desktop
|
||
npm install
|
||
```
|
||
|
||
### 2. 启动前端开发服务器
|
||
|
||
```bash
|
||
cd ../frontend
|
||
npm run dev
|
||
```
|
||
|
||
### 3. 启动 Electron(开发模式)
|
||
|
||
```bash
|
||
cd desktop
|
||
npm run dev
|
||
```
|
||
|
||
Electron 会连接到 `http://localhost:5173`(Vite 开发服务器),支持热更新。
|
||
|
||
### 4. 启动后端
|
||
|
||
```bash
|
||
cd ../backend
|
||
go run ./cmd/server
|
||
```
|
||
|
||
## 生产构建
|
||
|
||
```bash
|
||
# 1. 构建前端
|
||
cd ../frontend
|
||
npm run build
|
||
|
||
# 2. 构建 Electron
|
||
cd ../desktop
|
||
npm run build
|
||
|
||
# 3. 预览生产版本
|
||
npm run preview
|
||
```
|
||
|
||
## 配置后端地址
|
||
|
||
默认连接 `ws://localhost:8080/ws`。如需修改:
|
||
|
||
- **方式 1**:在 Electron 应用的设置面板中修改(功能开发中)
|
||
- **方式 2**:直接编辑配置文件
|
||
- macOS: `~/Library/Application Support/camtalk-desktop/camtalk-config.json`
|
||
- Linux: `~/.config/camtalk-desktop/camtalk-config.json`
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
desktop/
|
||
├── main/
|
||
│ ├── index.ts # Main Process 入口
|
||
│ ├── window.ts # BrowserWindow 管理
|
||
│ ├── permissions.ts # 权限自动授予
|
||
│ └── config.ts # 配置管理
|
||
├── preload/
|
||
│ └── index.ts # contextBridge 安全桥接
|
||
├── assets/ # 应用图标等资源
|
||
└── package.json
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- 首次运行可能需要授予摄像头和麦克风权限(系统级别)
|
||
- 如果连接远程后端,确保网络可访问
|
||
- `webSecurity: false` 是为了允许 HTTP 资源加载,仅适用于可信环境
|