Skip to content

介绍

和大多数框架一样,接收前端请求,组织参数及调用Service来处理业务。(非单例)

它是前端渲染层访问的入口,无法在其它业务层调用。

示例

javascript
/**
 * 示例控制器
 * @class
 */
class ExampleController {

  /**
   * 所有方法接收两个参数
   * @param args 前端传的参数
   * @param event - 通信时才有值
   */

  /**
   * test
   */
  async test (args, event) {

    // 前端参数
    const params = args;

    // 调用service
    const result = await exampleService.test('electron');

    // 主动向前端发请求
    // channel 前端ipc.on(),监听的路由
    const channel = "controller/example/something"
    // IpcMainInvokeEvent
    event.reply(channel, {age:21})
    // IpcMainEvent
    event.sender.send(`${channel}`, data)

    // 返回数据
    const data = {}
    return data;
  }
}

args

前端传的参数

event

ipc通信时才有值,且值为动态对象;

  • 前端使用 invoke() 方法时,event 等于 IpcMainInvokeEvent
  • 前端使用 send()/sendSync() 方法时,event 等于 IpcMainEvent
  • 开启 http服务时候,是 koa 的 ctx 对象

说明如下:

event - IpcMainInvokeEvent

前端使用 invoke() 方法时,event == IpcMainInvokeEvent

请查看:详细说明

event - IpcMainEvent

前端使用 send()/sendSync() 方法时,event == IpcMainEvent

请查看:详细说明