2026.4.12026.4.10补充一.Day.js与时间格式相关的用day.js安装 | Day.js中文网npm install dayjs --save二.OmitOmit是 TypeScript 内置的泛型工具类型作用是从一个类型中「剔除」指定的属性生成一个新的类型。语法与原理OmitType, KeysType你要操作的原始类型比如你的MessagePropsKeys你要剔除的属性名可以是单个属性也可以是联合类型a | b最终返回一个剔除了指定属性后的新类型三.进程间的通信IPC渲染进程将问题连带着他的id等信息传入主进程。在主进程调用对应的大模型最后将结果又传回给渲染进程。具体可查阅官方文档 进程间通信 | Electron1.渲染进程 --- 主进程(1)渲染进程发送消息ipcRenderer.sendipcRenderer.send(channel, data)已经成功拿到newMessageId ,lastQuestion, provider.name, conversation.selectModel可以进行发送要把类型手动添加到window上去。创建interface.d.ts,在window上面加上electronAPI方法preload.ts中在electron上面加上startChat方法conversation.vue使用startChat方法type.ts(2)主进程接收消息ipcMain.onipcMain.on(channel, (event, ...args) {}在main.ts中接收来自渲染进程的数据可在终端查看发现已成功打印2.主进程 ---- 渲染进程(1)主进程处理逻辑mainWindow.webContents.sendmainWindow.webContents.send(xxx, content);上一步骤主进程已经拿到渲染进程的providerName, content, messageId, selectedModel。在这里就可以用拿到的数据调用大模型返回结果。又发送给渲染进程。main.ts中(2)渲染进程接收数据 ipcRenderer.on发送的名字叫upload-messageproload.ts给IElectronAPI加一个方法叫onUpdateMessageinterface.d.ts中Conversation.vue就可以拿到大模型返回的数据了可在控制台成功打印(3)将数据展示到页面上Conversation.vue如图成功返回。【补充知识】1.Electron 主进程 / 渲染进程区分主进程main.ts/main.jsNode.js 环境负责窗口管理、IPC 通信不能直接写 DOM 代码。渲染进程.vue文件浏览器环境支持 TS/JS负责页面渲染不能直接访问 Node.js API需要通过preload桥接。2.TypeScript 类型的本质所有包裹的类型语法如Omit、data: Type只在编译阶段生效绝对不能出现在运行时的赋值语句中。3.Electron IPC 通信规范1.渲染进程发送ipcRenderer.send(channel, data)2.主进程监听ipcMain.on(channel, (event, ...args) {}中间靠proload.ts中的contextBridge桥接。