当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
3 Star 2 Fork 1

ZZK-1989 / electron-demo
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ipc.js 1.19 KB
一键复制 编辑 原始数据 按行查看 历史
zhang-zk 提交于 2019-12-28 16:46 . 重构
import store from "../store";
let ipc;
export default Vue => {
if (process.env.IS_ELECTRON) {
ipc = require("electron-ipc-extra");
var events = require("./ipcEvent").default(ipc);
var ipcWatch = require("./ipcWatch").default(ipc),
__watchkeys = Object.keys(ipcWatch);
store.subscribe(({ type, payload }, state) => {
let i = __watchkeys.indexOf(type);
if (i > -1) {
ipcWatch[type]({ type, payload }, state);
}
});
Object.keys(events).forEach(key => {
ipc.on(key, events[key]);
});
ipc.on("vuex$commit", ({ type, payload }) => {
store.commit(type, payload);
});
ipc.on("vuex$dispatch", ({ type, payload }) => {
return store.dispatch(type, payload);
});
ipc.send("$$AppReady");
} else {
ipc = {
on() {},
send: () => Promise.reject(0)
};
}
//vue 中调用主进程this.$ipc(name,参数1,参数2,...参数).then((data)=>{})
Vue.prototype.$ipc = (...args) => ipc.send.apply(ipc, args);
//vuex 中调用主进程 dispatch("$ipc",[name,参数1,参数2,...参数]).then((data)=>{})
store.registerModule("ipc", {
actions: {
$ipc: (e, data) => ipc.send.apply(ipc, data)
}
});
};
NodeJS
1
https://gitee.com/ZZK-1989/electron-demo.git
git@gitee.com:ZZK-1989/electron-demo.git
ZZK-1989
electron-demo
electron-demo
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891