【electron】进程间通信ipcMain、ipcRenderer

先上预览:
在这里插入图片描述

主进程

import {
  app, protocol, BrowserWindow,
  net,
  ipcMain,
  Menu
} from 'electron'

。。。

,
    {
      label: "类型",
      submenu: [
        { label: "选项1", type: 'checkbox' },
        { label: "选项2", type: 'checkbox' },
        { label: "", type: 'separator' },
        { label: "item1", type: 'radio',
        click(){
          console.log('click called!')
          BrowserWindow.getFocusedWindow()
          .webContents.send('mtp','来自于主进程的消息')
        
        }
      },
      ]
    }

ipcMain.on('msg1', (env, data) => {
  console.log(data)
  env.sender.send('msg1Re','一条来着主进程消息')
})
ipcMain.on('msg2', (env, data) => {
  console.log(data)
  env.returnValue='一条来着主进程同步消息'
})

渲染进程

<!-- 此页面作为开发调试使用,调试单点功能项 -->
<template>
    <div>
        <h2>主进程与渲染进程通信</h2>
        <button @click="snedMainMsg">向主进程发异步消息</button>
        <button @click="snedMainSyncMsg">向主进程发同步消息</button>
    </div>
</template>
<script setup>
import { 
    // remote,
    ipcRenderer } from 'electron'

const TAG = "TestDebug"
console.log(TAG);
function snedMainMsg(){
    console.log(TAG,"sendMainMsg called!")
    ipcRenderer.send('msg1','来自于渲染进程的一条异步消息')
}
function snedMainSyncMsg(){
   let result= ipcRenderer.sendSync('msg2','来自于渲染进程的一条同步消息')
        console.log(result);
}

ipcRenderer.on('msg1Re',(ev,data)=>{
    console.log(TAG,data);
})
ipcRenderer.on('msg2Re',(ev,data)=>{
    console.log(TAG,data);
})
ipcRenderer.on('mtp',(ev,data)=>{
    console.log(TAG,data);
})

</script>

自研产品推荐

历时一年半多开发终于smartApi-v1.0.0版本在2023-09-15晚十点正式上线
smartApi是一款对标国外的postman的api调试开发工具,由于开发人力就作者一个所以人力有限,因此v1.0.0版本功能进行精简,大功能项有:

  • api参数填写
  • api请求响应数据展示
  • PDF形式的分享文档
  • Mock本地化解决方案
  • api列表数据本地化处理
  • 再加上UI方面的打磨

为了更好服务大家把之前的公众号和软件激活结合,如有疑问请大家反馈到公众号即可,下个版本30%以上的更新会来自公众号的反馈。
嗯!先解释不上服务端原因,API调试工具的绝大多数时候就是一个数据模型、数据处理、数据模型理解共识的问题解决工具,所以作者结合自己十多年开发使用的一些痛点来打造的,再加上服务端开发一般是面向企业的,作者目前没有精力和时间去打造企业服务。再加上没有资金投入所以服务端开发会滞后,至于什么时候会进行开发,这个要看募资情况和用户反馈综合考虑。虽然目前国内有些比较知名的api工具了,但作者使用后还是觉得和实际使用场景不符。如果有相关吐槽也可以在作者的公众号里反馈蛤!
下面是一段smartApi使用介绍:
在这里插入图片描述

下载地址:

 

桌面开源项目:
https://gitee.com/lcmac/smart-mac-down
欢迎大家使用留言蛤!
有兴趣的也可以讨论一下桌面开发技术哦!

posted @ 2023-05-11 15:49  lichong951  阅读(98)  评论(0编辑  收藏  举报  来源