JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 23
  • Score
    100M100P100Q58605F
  • License MIT

基于C++,一款含UI的在线会议快速集成插件

Package Exports

  • @cloudroom/electron-meeting-sdk
  • @cloudroom/electron-meeting-sdk/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@cloudroom/electron-meeting-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

electron-meeting-sdk

✨ 环境要求

  1. Electron 5+
  2. Node >= 14

📦 安装

npm install @cloudroom/electron-meeting-sdk -S

🚀 准备工作

  1. 您需要先准备好会议系统的账号和密码以便测试,如果您没有账号,请联系我们
  2. 您需要先准备好会议号以便测试,会议号可以在管理后台创建,也可以通过webapi创建。

🎉 示例

// 导入SDK
import meetingSDK from "@cloudroom/electron-meeting-sdk";
// SDK实例
const meetingSDK = new MeetingSDK();
// 注册SDK回调:登录结果
meetingSDK.on("onLoginRslt", (sdkErr) => {
    if (sdkErr === 0) { 
      // 登录成功
    }
});
// 注册SDK回调:掉线通知
// 注册SDK回调:入会状态通知
// 注册SDK回调...
// SDK接口:初始化SDK
const res = meetingSDK.init({
    server: 'xxx.xxx.xxx', // 会议服务地址
});
if(res === 0){
  // 初始化成功,后续可进行登录等操作
}
// SDK接口:登录
meetingSDK.login(account, password);
// SDK接口:加入会议(需要先登录)
meetingSDK.joinMeeting(meetID, meetPswd);
// SDK接口:离开会议
meetingSDK.leaveMeeting();
// SDK接口:登出
meetingSDK.logout();
// 销毁订阅
meetingSDK.off("onLoginRslt", fn);
...
// SDK接口:反初始化SDK
meetingSDK.uninit();

所有接口

回调

// 登录结果  sdkErr —— SDK错误码
meetingSDK.on("onLoginRslt", (sdkErr: number) => {});
// 掉线通知  reason —— 掉线原因代码
meetingSDK.on("notifyLineOff", (reason: number) => {});
// 呼入通知  callID —— 呼叫ID | caller —— 主叫人员ID | meetInfo —— 会议详细信息
meetingSDK.on("notifyCallIn", (callID: string, caller: string, meetInfo: string) => {});
// 取消呼叫  callID —— 呼叫ID
meetingSDK.on("notifyCallInCanceled", (callID: string) => {});
// 参会状态通知 state —— 入会状态代码(0未在会议中;1进入中;2会议中)| sdkErr —— SDK错误码
meetingSDK.on("onJoinMeetingState", (state: number, sdkErr: number) => {});
// 请求自定义组织结构
meetingSDK.on("notifyQueryOrgInfo", () => {});
// 通知邀请的人员信息[{"id":xxx}]  users —— 人员信息JSON字符串
meetingSDK.on("notifyInviteUsers", (users: string) => {});

主调

// 初始化 congfig:配置对象 {server: 'xxx.xxx.xxx'}
meetingSDK.init(config)
// 反初始化
meetingSDK.uninit()
// 参数配置 jsonStr:配置参数JSON串 "{"autoOpenMic":0, "autoOpenCam":0}"
meetingSDK.setParams(jsonStr)
// 登录   account:账号   password:密码
meetingSDK.login(account, password)
// 登出
meetingSDK.logout()
// 接受呼叫 callID:呼叫ID
meetingSDK.acceptCall(callID)
// 拒接呼叫 callID:呼叫ID
meetingSDK.declineCall(callID)
// 入会   meetID:会议号   meetPswd:会议密码
meetingSDK.joinMeeting(meetID, meetPswd)
// 免登录入会  meetID:会议号, meetPswd:会议密码, userID:用户唯一ID, userName:用户昵称, asHost:是否作为主持人身份
meetingSDK.joinMeetingWithoutLogin( meetID, meetPswd, userID, userName, asHost)
// 立即离开会议, 要结束会议请调用WEB API
meetingSDK.leaveMeeting()
// 启用自定义组织结构 enable:是否启用自定义组织结构
meetingSDK.enableCustomOrgInfo(enable)
// 在notifyQueryOrgInfo后,将自定义组织结构设置给sdk,
// 格式: {"contactData":[{"departId":1,"userId":"100","userName":"test"}],"contactDepartsData":[{"departName":"测试部门","id":1,"pId":0}]}
meetingSDK.setCustomOrgInfo(orgInfo)
// 获取会议SDK版本
meetingSDK.getMeetingSDKVer()

📖 附录

📄 License

MIT许可