先上预览:

【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>

好用的api接口开发工具

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

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

下面是一段smartApi使用介绍:

【electron】进程间通信ipcMain、ipcRenderer_桌面开发_02

下载地址:

https://pan.baidu.com/s/1NFm7QiUYRW_nu-ECwnKZ1g?pwd=51ct

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