Electron IMLib 导入

本页说明 Electron 端 IMLib 的依赖、制品与集成要求。sdk/electron/src/main 为主进程 IMLib + 本地库;sdk/electron/src/preload 为 IPC 白名单;sdk/electron/src/renderer 为薄代理。绑定另提供 localDb 差异化能力(不计入冻结的 62 个语义 op)。

安装 / 依赖​

npm
# SDK 当前未发布到 npm,从仓库本地安装:
npm install @ni-paas-im/electron@file:../sdk/electron
# 主进程入口:@ni-paas-im/electron/main
# renderer 入口:@ni-paas-im/electron/renderer
发行包不可用时如何集成

发行包未发布时,用 npm link 或相对路径依赖指向 SDK 目录;主进程与 preload 必须来自同一份制品版本。

渲染进程只通过 preload 暴露的白名单方法访问 IMLib,不要直接 import 主进程实现。

环境要求​

项要求
运行时Electron 30+(主进程 Node.js 20+)
进程安全contextIsolation: true、nodeIntegration: false、sandbox: true
本地库主进程 SQLite(dbPath 可配置);renderer 只经 IPC 访问
类型声明随包提供 types/index.d.ts
原生插件不使用 .node 原生插件,跨平台无需 ABI 重编译

包内容​

制品路径 / 名称说明
IMLib 包 / 模块@ni-paas-im/electron核心通信库(连接、消息、会话、群组、好友、聊天室、上传)
IMLib 源码 / 制品src/main随发行包提供的源码 / 制品(内联调可源码集成)
IMKit 制品src/renderer可选 UI 组件层,只依赖 IMLib 公开接口
类型声明types/index.d.tsTypeScript / JS 类型声明,编辑器可直接跳转

版本与兼容​

  • 契约版本:IDL v1.0.0(frozen,冻结修订 35)。
  • v1.x 采用 additive-only:仅新增可选字段、枚举值、接口与错误码,不破坏既有语义。
  • 升级时先对照「更新日志」确认新增面,再回归连接、消息、会话与群组主链路。
  • 当前平台绑定状态:in-progress。

下一步​