vue-pc-chat icon indicating copy to clipboard operation
vue-pc-chat copied to clipboard

有新消息的时候点击托盘区图标可以直接定位到该聊天吗?

Open zhaoxinmeiX opened this issue 3 years ago • 3 comments

zhaoxinmeiX avatar Apr 20 '22 02:04 zhaoxinmeiX

如果有多个会话有新消息的话,应当是跳转到主页面,只有一个会话时,可以直接跳转到该会话。

现在是通过渲染进程向主进程发送update-badge事件触发托盘图标闪烁,update-badge目前是一个数字。

如果要实现上述需求的话,可以在update-badge事件中,带上额外的会话等信息,然后:

tray.on('click', () => {
       mainWindow.show(); 

       // 判断是否需要直接跳转到某个会话,如果需要的话,向渲染进程发送一个事件,及目标会话等信息,
      // 主进程收到该事件之后,进行切换。
      // mainWindow.webContents.send('to-conversation', arg); 

});

imndx avatar Apr 20 '22 03:04 imndx

如果有多个会话有新消息的话,应当是跳转到主页面,只有一个会话时,可以直接跳转到该会话。

现在是通过渲染进程向主进程发送update-badge事件触发托盘图标闪烁,update-badge目前是一个数字。

如果要实现上述需求的话,可以在update-badge事件中,带上额外的会话等信息,然后:

tray.on('click', () => {
       mainWindow.show(); 

       // 判断是否需要直接跳转到某个会话,如果需要的话,向渲染进程发送一个事件,及目标会话等信息,
      // 主进程收到该事件之后,进行切换。
      // mainWindow.webContents.send('to-conversation', arg); 

});

额外的会话信息怎么拿?to-conversation是需要我单独写个方法吗?

Adar-Li avatar Apr 28 '22 08:04 Adar-Li

不是,简单说to-conversaiton 相当于是一个事件的名字,这是主进程之间通信,在主进程发送,你在主窗口(渲染进程)监听就。

electron ipc 可以参考下这儿

imndx avatar Apr 28 '22 08:04 imndx