mirror of
https://github.com/HiMeditator/auto-caption.git
synced 2026-02-04 12:24:42 +08:00
- 实现文件夹选择功能,用于选择 Vosk 模型路径 - 在 EngineControl 组件中添加模型路径选择按钮和相关提示 - 在 EngineStatus 组件中增加对空模型路径的检查和错误提示
303 lines
5.9 KiB
Markdown
303 lines
5.9 KiB
Markdown
# electron ipc api-doc
|
|
|
|
本文档主要记录主进程和渲染进程的通信约定。
|
|
|
|
## 命名方式
|
|
|
|
本项目渲染进程包含两个:字幕窗口和控制窗口,主进程需要分别和两者进行通信。通信命令的命名规则如下:
|
|
|
|
1. 命令一般由三个关键字组成,由点号隔开。
|
|
2. 第一个关键字表示通信发送目标:
|
|
- `config` 表示控制窗口类实例(后端)或控制窗口(前端)
|
|
- `engine` 表示字幕窗口类实例(后端)或字幕窗口(前端)
|
|
- `both` 表示上述对象都有可能成为目标
|
|
3. 第二个关键字表示需要修改的对象 / 发生改变的对象,采用小驼峰命名
|
|
4. 第三个关键字一般是动词,表示通信发生时对应动作 / 需要进行的操作
|
|
|
|
根据上面的描述可以看出通信命令一般有两种语义,一种表示要求执行的操作,另一种表示当前发生的事件。
|
|
|
|
## 前端 <=> 后端
|
|
|
|
### `both.window.mounted`
|
|
|
|
**介绍:** 前端窗口挂载完毕,请求最新的配置数据
|
|
|
|
**发起方:** 前端
|
|
|
|
**接收方:** 后端
|
|
|
|
**数据类型:**
|
|
|
|
- 发送:无数据
|
|
- 接收:`FullConfig`
|
|
|
|
### `control.nativeTheme.get`
|
|
|
|
**介绍:** 前端获取系统当前的主题
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:**
|
|
|
|
- 发送:无数据
|
|
- 接收:`string`
|
|
|
|
### `control.folder.select`
|
|
|
|
**介绍:** 打开文件夹选择器,并将用户选择的文件夹路径返回给前端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:**
|
|
|
|
- 发送:无数据
|
|
- 接收:`string`
|
|
|
|
## 前端 ==> 后端
|
|
|
|
### `control.uiLanguage.change`
|
|
|
|
**介绍:** 前端修改字界面语言,将修改同步给后端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** `UILanguage`
|
|
|
|
### `control.uiTheme.change`
|
|
|
|
**介绍:** 前端修改字界面主题,将修改同步给后端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** `UITheme`
|
|
|
|
### `control.leftBarWidth.change`
|
|
|
|
**介绍:** 前端修改边栏宽度,将修改同步给后端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** `number`
|
|
|
|
### `control.captionLog.clear`
|
|
|
|
**介绍:** 清空字幕记录
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.styles.change`
|
|
|
|
**介绍:** 前端修改字幕样式,将修改同步给后端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** `Styles`
|
|
|
|
### `control.styles.reset`
|
|
|
|
**介绍:** 将字幕样式恢复为默认
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.controls.change`
|
|
|
|
**介绍:** 前端修改了字幕引擎配置,将最新配置发送给后端
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** `Controls`
|
|
|
|
### `control.captionWindow.activate`
|
|
|
|
**介绍:** 激活字幕窗口
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.engine.start`
|
|
|
|
**介绍:** 启动字幕引擎
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.engine.stop`
|
|
|
|
**介绍:** 关闭字幕引擎
|
|
|
|
**发起方:** 前端控制窗口
|
|
|
|
**接收方:** 后端控制窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `caption.windowHeight.change`
|
|
|
|
**介绍:** 字幕窗口宽度发生改变
|
|
|
|
**发起方:** 前端字幕窗口
|
|
|
|
**接收方:** 后端字幕窗口实例
|
|
|
|
**数据类型:** `number`
|
|
|
|
### `caption.pin.set`
|
|
|
|
**介绍:** 是否将窗口置顶
|
|
|
|
**发起方:** 前端字幕窗口
|
|
|
|
**接收方:** 后端字幕窗口实例
|
|
|
|
**数据类型:** `boolean`
|
|
|
|
### `caption.controlWindow.activate`
|
|
|
|
**介绍:** 激活控制窗口
|
|
|
|
**发起方:** 前端字幕窗口
|
|
|
|
**接收方:** 后端字幕窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `caption.window.close`
|
|
|
|
**介绍:** 关闭字幕窗口
|
|
|
|
**发起方:** 前端字幕窗口
|
|
|
|
**接收方:** 后端字幕窗口实例
|
|
|
|
**数据类型:** 无数据
|
|
|
|
## 后端 ==> 前端
|
|
|
|
### `control.uiLanguage.set`
|
|
|
|
**介绍:** 后端将最新界面语言发送给前端,前端进行设置
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 字幕窗口
|
|
|
|
**数据类型:** `UILanguage`
|
|
|
|
### `control.nativeTheme.change`
|
|
|
|
**介绍:** 系统主题发生改变
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端控制窗口
|
|
|
|
**数据类型:** `string`
|
|
|
|
### `control.engine.started`
|
|
|
|
**介绍:** 引擎启动成功
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端控制窗口
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.engine.stopped`
|
|
|
|
**介绍:** 引擎关闭
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端控制窗口
|
|
|
|
**数据类型:** 无数据
|
|
|
|
### `control.error.occurred`
|
|
|
|
**介绍:** 发送错误
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端控制窗口
|
|
|
|
**数据类型:** `string`
|
|
|
|
### `control.controls.set`
|
|
|
|
**介绍:** 后端将最新字幕引擎配置发送给前端,前端进行设置
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端控制窗口
|
|
|
|
**数据类型:** `Controls`
|
|
|
|
### `both.styles.set`
|
|
|
|
**介绍:** 后端将最新字幕样式发送给前端,前端进行设置
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端
|
|
|
|
**数据类型:** `Styles`
|
|
|
|
### `both.captionLog.add`
|
|
|
|
**介绍:** 添加一条新的字幕数据
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端
|
|
|
|
**数据类型:** `CaptionItem`
|
|
|
|
### `both.captionLog.upd`
|
|
|
|
**介绍:** 更新最后一条字幕数据
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端
|
|
|
|
**数据类型:** `CaptionItem`
|
|
|
|
### `both.captionLog.set`
|
|
|
|
**介绍:** 设置全部的字幕数据
|
|
|
|
**发起方:** 后端
|
|
|
|
**接收方:** 前端
|
|
|
|
**数据类型:** `CaptionItem[]`
|