1.前言
在前面做了一些Eelectron-vue
的基础调研,包含项目构建,打包应用以及构建安装程序等,其中也碰到了一些问题,基本上能解决的都解决了。
做了前面的研究准备,接下来就是项目的实际开发。目前是在主进程
中可以启动子进程(这里指另外一个exe程序)
,并且能获取到子进程
返回的数据,所以接下来要调研的就是怎么向子进程传递参数以及怎么获取子进程中返回的数据?
2.父子进程的参数传递
前面使用的是spawn
的方式去实现的父子进程之间的通信,这里也还是使用spawn
实现父子进程之间的参数传递。
其中子进程传给父进程就不需要做过多的研究了,父进程在启动子进程的时候,在stdout
中就能获取到子进程的返回值,在返回值中就能搞定参数的问题。
这里主要是实现父进程怎么传递参数给子进程。
我们的实现逻辑是
用户点击登录,渲染进程会往主进程中发送参数。
主进程获取到参数,将参数传递给子进程。
子进程获取参数进行校验,检查登录信息是否正确,并返回结果。
主进程获取到返回值将返回值传递给渲染进程,然后显示在页面,提示用户。
首先在渲染进程中需要使用imRenderer
去发送事件给主进程
login.vue
定义如下:
onSubmit() {
this.$refs.loginForm.validate((valid) => {
console.log("loginVo:", this.loginVo);
this.loginVo.username += "@dynarose.com";
if (valid) {
this.$electron.ipcRenderer.send("login",