- 实现文件夹选择功能,用于选择 Vosk 模型路径 - 在 EngineControl 组件中添加模型路径选择按钮和相关提示 - 在 EngineStatus 组件中增加对空模型路径的检查和错误提示
5.9 KiB
electron ipc api-doc
本文档主要记录主进程和渲染进程的通信约定。
命名方式
本项目渲染进程包含两个:字幕窗口和控制窗口,主进程需要分别和两者进行通信。通信命令的命名规则如下:
- 命令一般由三个关键字组成,由点号隔开。
- 第一个关键字表示通信发送目标:
config表示控制窗口类实例(后端)或控制窗口(前端)engine表示字幕窗口类实例(后端)或字幕窗口(前端)both表示上述对象都有可能成为目标
- 第二个关键字表示需要修改的对象 / 发生改变的对象,采用小驼峰命名
- 第三个关键字一般是动词,表示通信发生时对应动作 / 需要进行的操作
根据上面的描述可以看出通信命令一般有两种语义,一种表示要求执行的操作,另一种表示当前发生的事件。
前端 <=> 后端
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[]