@rongcloud/electron-solution

@rongcloud/electron-solution

Usage no npm install needed!

<script type="module">
  import rongcloudElectronSolution from 'https://cdn.skypack.dev/@rongcloud/electron-solution';
</script>

README

RongCloud Electron Solution

install

npm i @rongcloud/electron-solution

usage

  1. 在主进程中引用 @rongcloud/electron-solution 包,并在 appready 事件通知后进行初始化
  2. 在初始化渲染进程窗口时,通过设置 webPreferences.preload 来需要预加载的 js 文件,并在 js 中引用 @rongcloud/electron-solution/renderer

example

// main.js
const { app, BrowserWindow } = require('electron')

app.on('ready', () => {
  // 在主进程中引用包,并在 app 的 ready 事件通知后进行初始化
  const rcService = require('@rongcloud/electron-solution')({
    /**
     * 【选填】消息数据库的存储位置,不推荐修改
     * [option]
     */
    dbPath: app.getPath('userData'),
    /**
     * 【选填】日志等级
     * [option] 0 - DEBUG, 1 - INFO, 2(default) - WARN, 3 - ERROR
     */
    logLevel: 2,
    /**
     * 【选填】当需要对 SDK 内的日志落盘时,在此实现落盘方法
     * [option]
     */
    logStdout (logLevel, tag, ...args) {
      console.log(tag, ...args)
    }
  })

  // 初始化 UI 窗口
  const browserWin = new BrowserWindow({
    webPreferences: {
      // 指定预加载的 preload.js 文件,在其中引用 @rongcloud/electron-solution/renderer
      preload: '<path/to/preload.js>'
    }
  })

  app.on('before-quit', () => {
    // 在 app 退出时清理状态
    rcService.getCppProto().destroy()
  })
})

preload

preload.js 文件中引用 @rongcloud/electron-solution/renderer

// preload.js
require('@rongcloud/electron-solution/renderer')