From 9ea58a92945f67cb41c9566c6d22112f69a3c983 Mon Sep 17 00:00:00 2001
From: gaoshuaixing <530353222@qq.com>
Date: Tue, 23 Mar 2021 16:28:10 +0800
Subject: [PATCH] update ipc demo
---
electron/apis/base.js | 41 +----------------
electron/ipc/example.js | 8 ++--
electron/ipc/index.js | 2 +-
electron/ipc/system.js | 22 ---------
electron/setup.js | 6 ++-
frontend/src/config/router.config.js | 10 ++---
frontend/src/views/Layout.vue | 4 +-
frontend/src/views/example/Ipc.vue | 34 ++++++++++++++
.../src/views/{file => example}/OpenDir.vue | 0
.../views/{file => example}/UploadFile.vue | 0
frontend/src/views/file/IpcExample.vue | 45 -------------------
frontend/src/views/file/luckNum.js | 5 ---
12 files changed, 53 insertions(+), 124 deletions(-)
delete mode 100644 electron/ipc/system.js
create mode 100644 frontend/src/views/example/Ipc.vue
rename frontend/src/views/{file => example}/OpenDir.vue (100%)
rename frontend/src/views/{file => example}/UploadFile.vue (100%)
delete mode 100644 frontend/src/views/file/IpcExample.vue
delete mode 100644 frontend/src/views/file/luckNum.js
diff --git a/electron/apis/base.js b/electron/apis/base.js
index ab66739..5212556 100644
--- a/electron/apis/base.js
+++ b/electron/apis/base.js
@@ -1,5 +1,5 @@
'use strict'
-const { app, dialog } = require('electron')
+
const AutoLaunchManager = require('../lib/AutoLaunch')
exports.autoLaunchEnable = function () {
@@ -19,42 +19,3 @@ exports.autoLaunchIsEnabled = function () {
const isEnable = autoLaunchManager.isEnabled()
return isEnable
}
-
-
-exports.appExit = function () {
- app.exit()
-}
-
-exports.appRelaunch = function () {
- app.relaunch()
- app.exit()
-}
-
-
-/**
- * 选择本地文件夹
- * @param title 弹出框的标题
- * @return {Promise<*>}
- */
-exports.choiceFolder = async function (title = '') {
- return await dialog.showOpenDialog({
- properties: ['openDirectory'],
- title: title
- })
-}
-
-/**
- * 选择本地文件
- * @param title 弹出框的标题
- * @param extensions 后缀名集合 e.g: ['exe','txt','png']
- * @return {Promise<*>}
- */
-exports.choiceFile = async function (title = '', extensions = []) {
- return await dialog.showOpenDialog({
- properties: ['openFile'],
- filters: [{
- extensions: extensions
- }],
- title: title
- })
-}
diff --git a/electron/ipc/example.js b/electron/ipc/example.js
index 1999be1..6c53ca5 100644
--- a/electron/ipc/example.js
+++ b/electron/ipc/example.js
@@ -1,6 +1,8 @@
const { answerRenderer } = require('./index')
-answerRenderer('example.test', async (name) => {
- const luckNum = (Math.random()*1000).toFixed()
- return `${name}, 你的幸运数字是:${luckNum}`
+answerRenderer('example.hello', async (msg) => {
+ let newMsg = msg + " +1"
+ let reply = ''
+ reply = '收到:' + msg + ',返回:' + newMsg
+ return reply
})
diff --git a/electron/ipc/index.js b/electron/ipc/index.js
index 9102c81..23c5b4b 100644
--- a/electron/ipc/index.js
+++ b/electron/ipc/index.js
@@ -28,7 +28,7 @@ module.exports.answerRenderer = (channel, callback) => {
/**
* 加载所有的主程序
*/
-module.exports.loadIPC = () => {
+module.exports.setup = () => {
const ipcDir = path.normalize(__dirname + '/')
fs.readdirSync(ipcDir).forEach(function (filename) {
diff --git a/electron/ipc/system.js b/electron/ipc/system.js
deleted file mode 100644
index 53d022c..0000000
--- a/electron/ipc/system.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const { appExit, appRelaunch, choiceFile, choiceFolder } = require('../apis/base')
-const { answerRenderer } = require('./index')
-
-/**
- * 退出app
- */
-answerRenderer('system.exit', appExit)
-
-/**
- * 重启app
- */
-answerRenderer('system.relaunch', appRelaunch)
-
-/**
- * 选择系统文件夹
- */
-answerRenderer('system.choiceFolder', choiceFolder)
-
-/**
- * 选择文件文件
- */
-answerRenderer('system.choiceFile', choiceFile)
diff --git a/electron/setup.js b/electron/setup.js
index 11d7efc..164a559 100644
--- a/electron/setup.js
+++ b/electron/setup.js
@@ -8,17 +8,21 @@ const api = require('./api');
const ipc = require('./ipc');
module.exports = () => {
+ // 存储模块
storage.setup();
+ // 日志
logger();
+ // 自动更新
const updateConfig = config.get('autoUpdate');
if ((is.windows() && updateConfig.windows) || (is.macOS() && updateConfig.macOS)
|| (is.linux() && updateConfig.linux)) {
const autoUpdater = require('./autoUpdater');
autoUpdater.setup();
}
+ // electron业务模块
api.setup();
// 加载所有的主进程函数
- ipc.loadIPC();
+ ipc.setup();
}
function logger () {
diff --git a/frontend/src/config/router.config.js b/frontend/src/config/router.config.js
index 3c5a7b3..00b38ab 100644
--- a/frontend/src/config/router.config.js
+++ b/frontend/src/config/router.config.js
@@ -10,17 +10,17 @@ export const constantRouterMap = [
{
path: 'fileOpenDir',
name: 'FileOpenDir',
- component: () => import('@/views/file/OpenDir')
+ component: () => import('@/views/example/OpenDir')
},
{
path: 'uploadFile',
name: 'UploadFile',
- component: () => import('@/views/file/UploadFile')
+ component: () => import('@/views/example/UploadFile')
},
{
- path: 'ipcExample',
- name: 'IpcExample',
- component: () => import('@/views/file/IpcExample')
+ path: 'ipc',
+ name: 'Ipc',
+ component: () => import('@/views/example/Ipc')
},
{
path: 'setting',
diff --git a/frontend/src/views/Layout.vue b/frontend/src/views/Layout.vue
index 2372d0e..771ab5b 100644
--- a/frontend/src/views/Layout.vue
+++ b/frontend/src/views/Layout.vue
@@ -65,8 +65,8 @@ export default {
params: {},
},
'subMenu_3' : {
- title: 'IpcExample',
- pageName: 'IpcExample',
+ title: '通信',
+ pageName: 'Ipc',
params: {},
}
},
diff --git a/frontend/src/views/example/Ipc.vue b/frontend/src/views/example/Ipc.vue
new file mode 100644
index 0000000..1df2cba
--- /dev/null
+++ b/frontend/src/views/example/Ipc.vue
@@ -0,0 +1,34 @@
+
+
+
+ demo3 渲染进程与主进程IPC通信
+
+
+
+
+
+ send
+
+
+
+
+
+
+
diff --git a/frontend/src/views/file/OpenDir.vue b/frontend/src/views/example/OpenDir.vue
similarity index 100%
rename from frontend/src/views/file/OpenDir.vue
rename to frontend/src/views/example/OpenDir.vue
diff --git a/frontend/src/views/file/UploadFile.vue b/frontend/src/views/example/UploadFile.vue
similarity index 100%
rename from frontend/src/views/file/UploadFile.vue
rename to frontend/src/views/example/UploadFile.vue
diff --git a/frontend/src/views/file/IpcExample.vue b/frontend/src/views/file/IpcExample.vue
deleted file mode 100644
index 527e179..0000000
--- a/frontend/src/views/file/IpcExample.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
- 渲染进程与主进程IPC通信Demo
-
-
- 选择本地文件夹
- {{ choiceFolderInfo }}
- 选择本地文件
- {{ choiceFileInfo }}
-
- 摇一个幸运数字
- {{ luckNum }}
-
-
-
-
-
diff --git a/frontend/src/views/file/luckNum.js b/frontend/src/views/file/luckNum.js
deleted file mode 100644
index 02aebad..0000000
--- a/frontend/src/views/file/luckNum.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function getMyLuckNum(vue, name) {
- return vue.$callMain('example.test', name)
-}
-
-module.exports = getMyLuckNum