npm.io
5.42.0 • Published 3d ago

@rongcloud/electron

Licence
SEE LICENSE IN LICENSE
Version
5.42.0
Deps
0
Size
99.1 MB
Vulns
0
Weekly
114

@rongcloud/electron 融云官方即时通讯 Electron SDK

通过 @rongcloud/electron 与 @rongcloud/electron-renderer 模块赋能开发者在自己的桌面端应用上快速拥有专业的、丰富、高质量的互联网通信能力。

融云通过自身 PaaS 能力,解决了多进程连接共享、多进程消息同步问题,降低了开发者构建多窗口、多进程桌面端应用的复杂度。

特性:

  • Electron SDK 主要提供了基于本地存储的一系列接口,可用于实现本地消息/会话的获取、搜索、删除等特性。

快速集成

特别注意

  • 在 windows 平台需使用相应架构的 node。在 CMD 等命令行界面运行 node -p process.arch 查看当前 node 版本,需与列表中相匹配。

支持平台

平台 架构 支持情况
ia32
Windows x64
x64
Mac arm64
x64
Linux arm64

导入 SDK

npm install @rongcloud/engine@latest -S
npm install @rongcloud/imlib-next@latest -S
npm install @rongcloud/electron@latest -S
npm install @rongcloud/electron-renderer@latest -S

初始化

初始化分为两步:

  1. 主进程初始化
  2. 渲染进程初始化
主进程初始化

在 app 的 ready 事件通知后进行初始化,建议在 main.js 中进行初始化。

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

let rcService

app.on('ready', () => {
  // 在 app 的 ready 事件通知后进行初始化
  rcService = RCInit({
    appkey: '<appkey>',
  })

  // 初始化 UI 窗口
  const browserWin = new BrowserWindow({
    webPreferences: {
      preload: '<path/to/preload.js>',
      // 需要将 contextIsolation 设置为 false
      contextIsolation: false,
      nodeIntegration: true
    }
  })

  app.on('before-quit', () => {
    // 在 app 退出时清理状态
    rcService.destroy()
  })
})
渲染进程初始化

初始化渲染进程窗口时,通过设置 webPreferences.preload 来添加预加载的 js 文件,并在 js 中引用 @rongcloud/electron-renderer

需要再 preload.js 中进行导入

// preload.js
const renderer = require('@rongcloud/electron-renderer');