1.0.4 • Published 4 years ago

vue_ipc v1.0.4

Weekly downloads
8
License
MIT
Repository
github
Last release
4 years ago

vue_ipc

A IPC Render Plugin for vue + electron, you can simply communicate with electron main process, just like ajax。

Install

npm run install vue_ipc
# or
yarn add vue_ipc

Usage

Firstly, import your Vue project:

// main.js 
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import VueIPC from 'vue_ipc';

+ Vue.use(VueIPC);

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

You can use $ipcRenderer object to send and listen message:

export default {
  name: "Home",
  data() {
    return {
      loading: false,
      error: null
    };
  },
  created() {
  // send message to main process
+  this.$ipcRenderer.send("GET", "/video/list?type=history");
   // listen response message from main process 
+ this.$ipcRenderer.once("SERVER_NORMAL_MSG", data => {
        this.videos = data.video;
      });
  }
};

The edit Electron main.js/background.js,like this:

import { ipcMain } from 'electron';
import axios from 'axios';

const API_ADDRESS = "https:www.xxx.com/api";

  ipcMain.on("CLIENT_NORMAL_MSG", async (event, arg) => {
    let remote_url = `${API_ADDRESS}${arg.url}`;
    try {
      let res = await axios.get(remote_url);
      if (res.status === 200) {
        event.reply("SERVER_NORMAL_MSG", res.data)
      }
    } catch (e) {
      event.reply(SERVER_NORMAL_MSG, {
        success: false,
        error: `server error code: ${e.status} msg: ${e.message}`
      })
    }
  })

Methods

MethodtypeDescription
sendfuncSend message to electron main process from render process, accept method,URL,body three arguments
oncefunclisten message from electron main process to render process, accept a signal argument and a callback function

Send Function Arguments

NametypeDescription
methodStringNormal HTTP Request methods
URLStringapi url
bodyObjectThis is an optional argument,if you use GET method,you can ignore it
1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago