Socket
Book a DemoInstallSign in
Socket

@hysc/electron-sdk

Package Overview
Dependencies
Maintainers
3
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hysc/electron-sdk

1.0.8
latest
npmnpm
Version published
Weekly downloads
4
Maintainers
3
Weekly downloads
 
Created
Source

Boom Electron SDK

简介

Boom Electron SDK 是一个基于 Electron 的桌面应用开发框架,提供了音视频会议、屏幕共享、白板等功能的集成解决方案。该 SDK 旨在简化开发者在 Electron 环境下构建高质量音视频应用的过程。

安装

前置条件

  • Node.js 16.x 或更高版本
  • npm 8.x 或更高版本
  • Electron 18.x 或更高版本

安装方式

npm install @hysc/electron-sdk --save

或者使用 yarn:

yarn add @hysc/electron-sdk

快速开始

基本用法

const { app, BrowserWindow } = require('electron');
const { BoomUISDK, RoomWindow } = require('@hysc/electron-sdk');

// 初始化 SDK
const boomSDK = new BoomUISDK({
  appId: 'YOUR_APP_ID',
  userId: 'userId'
});

// 创建主窗口
let mainWindow;

function createWindow() {
  mainWindow = new BrowserWindow({
    width: 960,
    height: 655,
    resizable: true,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });
  
  mainWindow.loadURL('http://localhost:3000'); // 加载您的应用
}

app.whenReady().then(() => {
  createWindow();
  
  // 初始化会议窗口
  BoomUISDK.getInstance({
    appId: 'YOUR_APP_ID',
    userId: 'userId'
  }).initEvent();
});

会议功能

// 创建会议窗口
const roomWindow = new RoomWindow({
  domain: 'http://your-meeting-url.com'
});

// 渲染进程 发送 window.electron?.ipcRenderer('joinBoomRoom', {url})


// 调整窗口大小
roomWindow.setBounds({
  width: 960,
  height: 655
});

// 关闭会议窗口
roomWindow.close();

主要功能

RoomWindow 类

RoomWindow 类提供了会议窗口的创建和管理功能:

方法描述
constructor({ domain })创建会议窗口实例
setBounds(bounds, animate)设置窗口大小和位置
close()关闭会议窗口
isWindowShow()检查窗口是否显示
createChatWindow(opt)创建聊天窗口
createInviteWindow(opt)创建邀请窗口
createUsersWindow(opt)创建用户列表窗口

BoomUISDK 类

BoomUISDK 类提供了 SDK 的核心功能:

方法描述
constructor(options)初始化 SDK
init()初始化 SDK 资源
destroy()销毁 SDK 实例

注意事项

  • 窗口大小调整

    • Electron 对窗口大小调整有一些隐含的限制
    • 在调用 setBounds 方法前,确保窗口不处于最大化、最小化或全屏状态
    • Windows 和 macOS 平台的窗口大小可能略有不同,建议使用 defaultWidthdefaultHeight 属性
  • 资源清理

    • 在应用关闭前,确保调用 close() 方法清理所有资源
    • 特别是 IPC 事件监听器和定时器,这些如果不清理可能导致内存泄漏
  • 平台差异

    • Linux 平台上的透明窗口可能需要特殊处理
    • macOS 和 Windows 平台的窗口行为有所不同

示例项目

您可以在 /electron-sample 目录下找到一个完整的示例项目,展示了如何集成和使用 Boom Electron SDK。

故障排除

常见问题

  • 安装失败

    • 确保您有正确的 Node.js 和 npm 版本
    • 检查网络连接,确保可以访问 npm 仓库
    • 如果遇到 install.js 相关错误,请确保您的网络可以下载 ffmpeg 二进制文件
  • 窗口无法调整大小

    • 检查是否设置了 resizable: true
    • 确保窗口不处于最大化或全屏状态
  • IPC 通信问题

    • 确保 nodeIntegration: truecontextIsolation: false
    • 检查 IPC 事件名称是否匹配
    • 在应用关闭时正确清理所有 IPC 事件监听器

版本历史

  • 1.0.1-1.0.5:初始版本,基础功能实现
  • 1.0.6
    • 优化窗口管理
    • 修复 IPC 事件监听器清理问题
    • 添加 ffmpeg 下载进度显示
  • 1.0.7
    • 修复窗口大小调整问题
    • 改进 BoomUISDK 接口,添加 appId 和 userId 参数
    • 优化 Linux 平台透明窗口支持
    • 移除开发调试代码

许可证

Copyright © 2025 HYSC Technology Co., Ltd.

FAQs

Package last updated on 30 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.