云服务器内容精选

  • 常见错误码 表1 SDKError枚举说明 变量 值 描述 UISDK_COMMON_ERROR 430100001 通用错误 UISDK_API_INVALID_PARAMETERS 430100002 参数错误 USG_ERR_PASSWORD 206010000 账号或密码错误 SDK_LOGIN_ACCOUNT_LOCKED 412100010 账号被锁定 SDK_LOGIN_AUTH_ACCOUNT_DIACTIVE 412100015 账号或企业未激活 USG_APPID_AUTH_EXPIRE 206010057 APPID认证过期 USG_APPID_ACCOUNT_DISABLED 206010007 账号未激活,无权限登录 CMS_CONF_AUTHEN_NEED_PASSWORD 111070009 会议密码不能为空 CMS_CONF_NOT_FOUND_OR_AUTH_FAILED 111072065 会议不存在或密码错误 CMS_CONF_LOCKED 111072050 会议被锁定 UISDK_NOT_IN_CONF_OR_CALL 430400008 不在会议或呼叫中 CMS_VMR_ONLY_ALLOW_CHAIR_START_CONF 111071004 VMR会议不允许来宾在主持人入会前入会 UISDK_SHARE_LOCKED 430400015 共享被锁定 UISDK_NOT_IN_DATACONF 430400016 不在数据会议中 CMS_CONF_ONLY_ALLOW_USER_IN_ORG 111071074 会议只允许企业内用户呼入 CMS_CONF_ONLY_ALLOW_USER_INVITED 111071075 会议只允许被邀请用户呼入 UISDK_ALREADY_EXIST_CONF_OR_CALL 430400009 已存在一路会议或呼叫 CMS_CONF_ANONYMOUS_LOGIN_LOCKED 111071052 匿名登录锁定,请稍后重试 CMS_CONF_LINK_LOGIN_LOCKED 111071053 链接登录锁定,请稍后重试 CMS_CONF_IS_CLOSED 111072006 会议已结束 USG_VMR_PWD_SAME_AS_CHAIRMAN_PWD 201080006 主持人密码和来宾密码不能相同 请确认输入参数 CMS_CONF_PORTAL_PARTICIPANT_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111076003 超出VMR最大方数 CMS_CONF_PORTAL_PARTICIPANT_RESOURCE_NOT_ENOUGH 111076004 企业并发数不足 CMS_CONF_NOT_ON_LOCAL_STATION 111100012 会议不在本站点 CMS_LOGICRES_PNUM_RESOURCE_NOT_ENOUGH 115022001 企业并发资源不足 CMS_CONF_DATA_NOT_FOUND 111070005 会议不存在 CMS_VMR_DATA_NOT_FOUND 111070006 个人云会议室不存在 CMS_CONF_ROLE_AUTHENTICATION_FAILED 111070010 权限不足,无法查看会议 CMS_ONLINE_CONF_IN_COMMUNAL 111071106 云会议室已有会议正在召开 CMS_CONF_MODIFY_FAIL_AS_CONF_ALREADY_STARTED 111071065 正在召开会议,无法编辑会议详情 CMS_ORG_CONCURRENT_PARTICIPANTS_NUMBER_IS_ZERO 111071060 企业未配置并发会议资源,无法使用个人会议ID和随机会议ID发起会议 CMS_CONF_USER_NOT_VMR_OWNER 111071063 非云会议室拥有者 CMS_CONF_CANCEL_FAIL_AS_CONF_STARTED 111071067 会议正在召开中,不允许取消会议 CMS_CONF_START_TIME_LESS_THAN_CURRENT_TIME 111071013 会议开始时间不能早于系统当前时间 CMS_CONF_START_TIME_OVER_MAX_SCHEDULE_TIME 111071014 会议开始时间超出最大预订时间范围 USG_VMR_PWM_SAME_AS_MEETING_PWD 201080017 和会议密码相同 CMS_PARTICIPANT_CONF_NOT_SUPPORT 111084013 不支持该会议 CMS_CONF_ATTENDEES_NUMBER_EXCEED_LIMIT 111071066 与会方数量超出上限 CMS_VMR_DATA_STATUS_ILLEGAL 111073007 VMR套餐状态非法 CMS_WAIT_APPLY_RESOURCE 115029006 等待申请资源中 SDK_SVN_DETECT_FAILED 411000017 svn端口探测不通 SDK_ERR_RTC_NOT_SUPPORT_STG 411000019 RTC不支持STG模式 CMS_OVER_MAX_PARTICIPANT_NUMBER 111072101 超过设置的会议方数 CMS_AUDIENCE_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072202 观众数超过VMR套餐中的观众最大并发资源数 CMS_PARTICIPANT_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072203 主持人与嘉宾超过VMR套餐中的最大并发资源数 CMS_PARTICIPANT_CONF_NOT_EXIST 111081002 会场所在会议不存在或已结束 USG_VMR_RESOURCE_UNAVAILABLE 201080000 云会议资源不可用 USG_ACCOUNT_IS_UNBOUND 206010075 账号已经解绑 RTC_SDK_JOIN_ROOM_FAIL 990000018 加入房间失败 RTC_SDK_JOIN_ROOM_STATUS_BUSY 990000019 非空闲状态 RTC_SDK_JOIN_ROOM_SERVER_ERROR 990000020 加入房间失败,服务器异常 RTC_SDK_JOIN_ROOM_AUTH_FAIL 990000022 加入房间失败,鉴权失败 RTC_SDK_JOIN_ROOM_URL_NOT_RIGHT 990000025 加入房间失败,url错误 SDK_LOGIN_CA_VERIFY_FAILED 412100012 服务器CA证书校验失败 SDK_LOGIN_CURLE_EXTERN_CONNECT_TIMEOUT 412100017 代理通信超时,tcp建链失败,大概率是代理配置错误 SDK_LOGIN_CURLE_EXTERN_CLOSED_BY_PROXY 412100018 链接被代理断开,大概率是服务器地址配置错误 SDK_LOGIN_CURLE_COULDNT_RESOLVE_PROXY 412100024 认证鉴权过程失败,无法解析网关 SDK_LOGIN_CURLE_COULDNT_RESOLVE_HOST 412100025 认证鉴权过程失败,无法解析主机 UISDK_TIMEOUT 430100004 超时 UISDK_IN_PROCESS 430100005 接口正在处理中 UISDK_UNLOGIN_ERROR 430200001 未登录 UISDK_NOT_INITED_END 430100006 未初始化或初始化尚未完成 UISDK_NOT_SUPPORT_END 430100007 此版本不支持 UISDK_OPERATION_INTERRUPT 430100008 操作中断 UISDK_CONTACT_NOT_FOUND 430100009 联系人不存在 UISDK_ARGS_LENGTH_OVERRUN 430100010 参数长度超限 UISDK_APPID_INFO_ILLEGAL 430100011 APPID 信息入参不合法 UISDK_E2EENCRYPT_ALGORITHM_ERROR 430100012 端到端加密算法不对称 UISDK_REPEATED_LOGIN_ERROR 430200002 重复登录 UISDK_PASSWORD_OR_ACCOUNT_EMPTY 430200005 账号或密码不能都为空 UISDK_CALL_ACCOUNT_EMPTY 430300002 点对点呼叫账号为空 UISDK_CALL_NICKNAME_EMPTY 430300003 点对点呼叫名字为空 UISDK_INVALID_GUEST_PASSWORD_PARAMETER 430400007 来宾密码非法 UISDK_CONFID_EMPTY 430400010 会议id不能为空 UISDK_SUBJECT_TOO_LONG 430400011 会议主题长度不能超过50 UISDK_VMR_HOST_PASSWORD_LENGTH_LEGAL 430400012 主持人密码长度不合法 UISDK_VMR_NAME_EMPTY 430400013 VMR名字为空 父主题: 其他说明
  • 界面配置json说明 会议中的界面,界面上的部分元素是通过config接口进行自定义。可以自定义的界面元素如下: 会议窗口名称(仅针对windows平台) 会议开始后,在Windows任务栏上会生成一个会议的图标,鼠标指向该图标时会显示会议的缩略窗口,该窗口的名称可以自定义。 图1 会议窗口名称 会议信息页面点击复制会议详情的内容 会议链接的域名前缀默认是https://bmeeting.huaweicloud.com/(如https://bmeeting.huaweicloud.com/#/j/982989574),如果入会Portal是第三方自己开发的,会议信息页面点击复制会议详情按钮后,会议详情内容需要用户自定义。 图2 会议信息 会控按钮 删除或者修改SDK中自带的会控按。具体可以删除和修改的按钮见按钮ID定义表。 自定义新增按钮。具体用例见自定义会控按钮。 图3 底部工具栏和更多菜单 图4 共享工具栏和更多菜单 图5 状态工具栏 config接口参数描述 表1 参数说明 参数 是否必须 类型 描述 uiConfig 是 string Json对象字符串"{"frame":object}", object对象有格式要求,若不匹配则配置不生效。详细规则见下表2、表3、表4、表5。 表2 frame对象介绍 key value类型 描述 name string 会议窗口名称。如图1中的窗口名称(MyApp)。 confMenu object 会议窗口上的按钮配置对象。如图3和图4中所示按钮。 表3 confMenu对象介绍 key value类型 描述 toolBar object 会议窗口上的按钮配置对象。如图3和图4中所示按钮。 titleBar object 会议窗口上的标题栏配置对象。如图2中的会议信息。 statusBar object 会议窗口左上角的状态栏配置对象。如图5中的按钮。 表4 toolBar对象子key介绍 key value类型 描述 button object[] 会议窗口上的按钮配置对象。如图3和图4中所示按钮和菜单。 customButton object[] 会议窗口上的第三方自定义按钮配置对象。如图3中的②③和图4中的①②。 表5 statusBar对象子key介绍 key value类型 描述 button object[] 会议窗口左上角的状态栏上的按钮配置对象。如图5中的按钮。 表6 titleBar对象介绍 key value类型 描述 confDetail object[] 如图2中的会议信息 表7 confDetail的对象key介绍 key value类型 描述 button object[] 会议信息窗口上的按钮配置对象。 表8 toolBar对象和confDetai对象中button对象子key介绍 key value类型 描述 buttonId string 按钮的唯一标识。具体buttonId与按钮的对应关系见表9 按钮buttonId介绍。 showAsAction string 是否显示。只有2个取值,“never”:不显示,“ifRoom”:显示。 isCustomizedClick bool 是否点击注入。true:点击注入,用户点击按钮时发送通知消息,SDK不做点击响应处理。 表9 customButton对象子key介绍 key value类型 描述 buttonId string 第三方自定义的按钮id。如“customMenu”。 title string 第三方自定义按钮的显示的名称。如“自定义按钮”。 buttonImg string 第三方自定义按钮的图标路径,使用绝对路径。如“to/path/image.svg”,支持svg/png等格式 注:需要UTF8编码。 buttonPos int 第三方自定义按钮的位置。0:工具栏更多菜单,1:底部工具栏,2:共享工具栏 表10 按钮buttonId介绍 按钮名称 按钮id 说明 麦克风 "microphone" 可隐藏 扬声器 "speaker" 可隐藏 摄像头 "camera" 可隐藏 邀请 "invite" 可隐藏,可注入 离开 "leave" 可隐藏,可注入 共享 "share" 可隐藏,可注入 与会者 "attendee" 可隐藏,可注入 反馈 "feedback" 可隐藏,可注入 标注 "annotation" 可隐藏(仅对win平台生效) 授予远程控制 "remote_control" 可隐藏(仅对win平台生效) 停止共享 "stop_share" 可隐藏 聊天 "chat" 可隐藏,可注入 字幕功能:开启字幕、字幕翻译 "subtitle" 可隐藏 安全 "security" 可隐藏 网络检测 "network_detection" 可隐藏 允许与会者解除静音 "allow_unmute" 可隐藏(仅对win平台生效) 打开/关闭双屏模式 "dual_screen" 可隐藏(仅对win平台生效) 录制 "record" 可隐藏 投票 "vote" 可隐藏 复制会议信息 "copy_conf_info" 可注入 与会者详情 "participant_detail" 可注入(mac无需注入) 复制观众链接 "copy_audience_conf_info" 可注入 按照上面的定义,完整的可定制的界面元素的json格式配置项如下: { "frame": { "name": "demo", "confMenu": { "titleBar": { "confDetail": { "button": [ { "buttonId": "copy_conf_info", "isCustomizedClick": true } ] } }, "statusBar": { "button": [ { "buttonId": "record", "showAsAction": "never" } ] }, "toolBar": { "customButton": [ { "buttonId": "customMenu", "title": "自定义按钮", "buttonPos": 1, "buttonImg": "imagePath", "subMenu": "" }, { "buttonId": "customMore", "title": "自定义更多", "buttonPos": 0, "buttonImg": "imagePath" }, { "buttonId": "customShare", "title": "自定义共享", "buttonPos": 2, "buttonImg": "imagePath" } ], "button": [ { "buttonId": "microphone", "showAsAction": "never" }, { "buttonId": "speaker", "showAsAction": "never" }, { "buttonId": "camera", "showAsAction": "never" }, { "buttonId": "invite", "showAsAction": "never", "isCustomizedClick": true }, { "buttonId": "leave", "showAsAction": "never", "isCustomizedClick": true }, { "buttonId": "attendee", "showAsAction": "never", "isCustomizedClick": true, "dialogPos": "center" }, { "buttonId": "share", "showAsAction": "never", "isCustomizedClick": true }, { "buttonId": "chat", "showAsAction": "never", "isCustomizedClick": true, "dialogPos": "center" }, { "buttonId": "annotation", "showAsAction": "never" }, { "buttonId": "stop_share", "showAsAction": "never" }, { "buttonId": "feedback", "showAsAction": "ifRoom", "isCustomizedClick": true }, { "buttonId": "dual_screen", "showAsAction": "never" }, { "buttonId": "remote_control", "showAsAction": "never" }, { "buttonId": "record", "showAsAction": "never" }, { "buttonId": "subtitle", "showAsAction": "never" }, { "buttonId": "security", "showAsAction": "never" }, { "buttonId": "network_detection", "showAsAction": "never" }, { "buttonId": "vote", "showAsAction": "never" } ] } } } } 由于函数config的uiConfig是string类型,需要把上述的json转换成字符串形式,请参考下面的示例代码。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /** * UI界面配置 */ async setInvite(){ let param = { "frame": { "confMenu": { "toolBar": { "button": [{ "buttonId": "invite", "showAsAction": "ifRoom", "isCustomizedClick": true }] } } } } const apiService = new ApiService(); // json转换成string传入 let setResult = await apiService.config(JSON.stringify(param)); if(setResult.ret != 0){ window.electron.ipcRenderer.send("show-error-alert", "config error = " + setResult.ret); } } 父主题: 其他说明