gaoshuaixing 5 tahun lalu
induk
melakukan
d0f513db7d
4 mengubah file dengan 13 tambahan dan 12 penghapusan
  1. 9 8
      app/service/base.js
  2. 1 1
      app/service/example.js
  3. 2 1
      electron/api.js
  4. 1 2
      electron/apis/example.js

+ 9 - 8
app/service/base.js

@@ -7,28 +7,29 @@ class BaseService extends Service {
   /*
   /*
    * ipc call
    * ipc call
    */
    */
-  async ipcCall(method = '', data = {}) {
-    if (!method) {
-      return 'Method does not exist';
-    }
+  async ipcCall(method = '', ...params) {
     let result = {
     let result = {
       err: null,
       err: null,
       data: null
       data: null
     };
     };
+    if (!method) {
+      result.err = 'Method does not exist';
+      return result;
+    }
+
     const port = this.service.storage.getElectronIPCPort();
     const port = this.service.storage.getElectronIPCPort();
     const url  = 'localhost:' + port + '/send';
     const url  = 'localhost:' + port + '/send';
-
     try {
     try {
       const response = await request.post(url)
       const response = await request.post(url)
-        .send({ cmd: method, data: data })
+        .send({ cmd: method, params: params })
         .set('accept', 'json');
         .set('accept', 'json');
         
         
         result = JSON.parse(response.text);  
         result = JSON.parse(response.text);  
     } catch (err) {
     } catch (err) {
-      ELog.error('[base] [ipcCall] request error:', err);
+      this.app.logger.error('[base] [ipcCall] request error:', err);
       result.err = 'request err';
       result.err = 'request err';
     }
     }
-    ELog.error('[base] [ipcCall] result:', result);
+    this.app.logger.info('[base] [ipcCall] result:', result);
 
 
     return result;
     return result;
   }
   }

+ 1 - 1
app/service/example.js

@@ -6,7 +6,7 @@ class ExampleService extends BaseService {
   async openLocalDir() {
   async openLocalDir() {
     const self = this;
     const self = this;
 
 
-    await self.ipcCall('example.openDir');
+    await self.ipcCall('example.openDir', 'a', 'b', 'c');
 
 
     return true;
     return true;
   }
   }

+ 2 - 1
electron/api.js

@@ -39,8 +39,9 @@ exports.setup = async function () {
           return res.end('NG');
           return res.end('NG');
         }
         }
 
 
+        ELog.info('[ api ] [setup] command received message:', message);
         const start = Date.now();
         const start = Date.now();
-        const data = apis[message.cmd]();
+        const data = apis[message.cmd](...message.params);
         const elapsed = Date.now() - start;
         const elapsed = Date.now() - start;
         ELog.info(`[api] [setup] [${message.cmd}] success. elapsed: ${elapsed}ms`, data);
         ELog.info(`[api] [setup] [${message.cmd}] success. elapsed: ${elapsed}ms`, data);
         res.statusCode = 200;
         res.statusCode = 200;

+ 1 - 2
electron/apis/example.js

@@ -5,12 +5,11 @@ const { app, shell } = require('electron');
 
 
 exports.getPath = function () {
 exports.getPath = function () {
   const dir = app.getAppPath();
   const dir = app.getAppPath();
-  ELog.info('dir:', dir);
 
 
   return dir;
   return dir;
 }
 }
 
 
-exports.openDir = function (dir = '') { 
+exports.openDir = function (dir = '') {
   if (!dir) {
   if (!dir) {
     return false;
     return false;
   }
   }