UNPKG

@cloudroom/electron-meeting-sdk

Version:

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

114 lines (101 loc) 4.21 kB
# electron-meeting-sdk ## ✨ 环境要求 1. Electron 5+ 2. Node >= 14 ## 📦 安装 ```bash npm install @cloudroom/electron-meeting-sdk -S ``` ## 🚀 准备工作 1. 您需要先准备好会议系统的账号和密码以便测试,如果您没有账号,请[联系我们](https://www.cloudroom.com/)。 2. 您需要先准备好会议号以便测试,会议号可以在[管理后台](https://www.cloudroom.com/mgr/manager/login)创建,也可以通过[webapi](https://docs.cloudroom.com/conference/document/conf_managerment/conference_create?platform=webapi)创建。 ## 🎉 示例 ```js // 导入SDK import MeetingSDK from "@cloudroom/electron-meeting-sdk"; // 获取SDK版本 MeetingSDK.getSDKVer() // 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(); ``` ## 所有接口 ### 回调 ```js // 登录结果 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) => {}); ``` ### 主调 ```js // 初始化 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() // 设置自定义邀请模式 meetingSDK.setCustomInviteType(0) // 在notifyQueryOrgInfo后,将自定义组织结构设置给sdk, // 格式: {"contactData":[{"departId":1,"userId":"100","userName":"test"}],"contactDepartsData":[{"departName":"测试部门","id":1,"pId":0}]} meetingSDK.setCustomOrgInfo(orgInfo) ``` ## 📖 附录 - [官网](https://www.cloudroom.com) 一 您可以在此联系官方技术支持 - [Demo示例](https://docs.cloudroom.com/CRMeetingSDK/document/download/download?platform=Electron) 一 便于快速集成项目 - [开发文档](https://docs.cloudroom.com/CRMeetingSDK/document/intro/ProductSummary?platform=Electron) ## 📄 License MIT许可