TMain

TMain

SDK功能类,SDK的主要功能入口

Classes

TMain
TMain

Members

(static) instance

返回该类实例

(static) instance

返回该类实例

Methods

getSystemInfo()

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Default Description
message

消息内容

detail

异常详情

title

消息标题

report true

是否上报异常

buttons null

按钮列表

callback null

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize()

结束课堂会话(离开课堂)

quitIM()

退出wx-im群组,独立于web端SDK, 微信小程序端勿删。

reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv()

设置环境(内部接口)

Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Default Description
name

事件名称

data

事件参数

code 0

事件返回错误码

timestamp 0

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

getClassMemberList(filter)

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getHandUpList(filter)

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

memberJoin(classId, platform, device, role, version)

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

memberAction(action)

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

memberQuit(classId)

退出

Parameters:
Name Type Description
classId number

课堂 ID

getClassMessageData()

获取公开课历史消息

getClassInfo()

查询课堂详情

getNameConfig()

获取课堂与角色名称信息

getRoleInfo()

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

getUid()

查询自定义userId

getCid()

查询自定义classId

startClass()

开始上课

endClass()

停止上课

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission)

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

silenceAll(silence)

全体禁言

Parameters:
Name Type Description
silence

是否禁言

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

muteAll(mute)

全员静音

Parameters:
Name Type Description
mute

是否静音

muteVideoAll(mute)

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

revokeMessage(messageSeq)

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

setClassLayout(layout, 是否要同步到远端)

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds)

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

modifyUserProfile(userInfo)

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Default Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean false

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit)

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

requireResource(name)

获取资源

Parameters:
Name Type Description
name string

资源名称

releaseResource(name)

释放资源

Parameters:
Name Type Description
name string

资源名称

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Default Description
count

消息数量

nextMsgId null

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList()

获取课堂默认群组的消息列表

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Default Description
event string

事件名称

message *
report true

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Default Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value null

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Default Description
name

状态名称

value

状态内容

caller

状态更新者

log true

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc)

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb()

是否Web端,含所有设备上使用浏览器载入的场景

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass()

判断是否直播课

isInteractClass()

判断是互动班课

isCollegeClass()

判断是大教学课堂

isVideoOnlyClass()

判断是纯视频课堂

isVideoDocClass()

判断是视频加文档课堂

isCoTeachingClass()

判断是否是双师课堂

isOneOnOneClass()

判断是否是1v1课堂

isUnitedClass()

判断是否为统一课堂

isUnitedRTCClass()

判断是否为统一课堂RTC类型

isUnitedLiveClass()

判断是否为统一课堂Live类型

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable()

检查当前平台是否可用

_updateClassInfo()

更新课堂信息

(static) instance() → {TMain}

返回该类实例

Returns:
Type
TMain

getSystemInfo() → {Promise.<any>}

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

Returns:
Type
Promise.<any>

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Description
message

消息内容

detail

异常详情

title

消息标题

report

是否上报异常

buttons

按钮列表

callback

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize() → {Promise.<void>}

结束课堂会话(离开课堂)

Returns:
Type
Promise.<void>

quitIM()

退出wx-im群组,独立于web端SDK, 微信小程序端勿删。

reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

sendCustomMessage(message)

弹窗初始化

Parameters:
Name Type Description
message any

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv(env)

设置环境(内部接口)

Parameters:
Name Type Description
env string
Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Description
name

事件名称

data

事件参数

code

事件返回错误码

timestamp

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

getClassMemberList(filter) → {Promise.<TGetMemberListResult>}

清空举手成员列表

Parameters:
Name Type Description
filter TMemberListFilter
Returns:
Type
Promise.<TGetMemberListResult>

getHandUpList(filter) → {Promise.<TGetHandUpListResult>}

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetHandUpListResult>

memberJoin(classId, platform, device, role, version) → {Promise.<TMemberJoinResult>}

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

Returns:
Type
Promise.<TMemberJoinResult>

memberAction(action) → {Promise.<void>}

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

Returns:
Type
Promise.<void>

memberQuit(classId) → {Promise.<void>}

退出

Parameters:
Name Type Description
classId number

课堂 ID

Returns:
Type
Promise.<void>

getClassMessageData() → {Promise.<TClassHistroyMessage>}

获取公开课历史消息

Returns:
Type
Promise.<TClassHistroyMessage>

getClassInfo() → {TClassInfo}

查询课堂详情

Returns:
Type
TClassInfo

getNameConfig()

获取课堂与角色名称信息

getRoleInfo() → {any}

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

Returns:
Type
any

getUid() → {string}

查询自定义userId

Returns:
Type
string

getCid() → {string}

查询自定义classId

Returns:
Type
string

startClass() → {Promise.<void>}

开始上课

Returns:
Type
Promise.<void>

endClass() → {Promise.<void>}

停止上课

Returns:
Type
Promise.<void>

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission) → {boolean}

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

Returns:
Type
boolean

silenceAll(silence) → {Promise.<void>}

全体禁言

Parameters:
Name Type Description
silence

是否禁言

Returns:
Type
Promise.<void>

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

muteAll(mute) → {Promise.<void>}

全员静音

Parameters:
Name Type Description
mute

是否静音

Returns:
Type
Promise.<void>

muteVideoAll(mute) → {Promise.<void>}

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

Returns:
Type
Promise.<void>

revokeMessage(messageSeq) → {Promise.<void>}

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

Returns:
Type
Promise.<void>

setClassLayout(layout, 是否要同步到远端) → {Promise.<void>}

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

Returns:
Type
Promise.<void>

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds) → {Promise.<TGetUserListResult>}

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

Returns:
Type
Promise.<TGetUserListResult>

modifyUserProfile(userInfo) → {Promise.<TGetUserListResult>}

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

Returns:
Type
Promise.<TGetUserListResult>

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit) → {Promise.<null>}

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

Returns:
Type
Promise.<null>

requireResource(name) → {Promise.<null>}

获取资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

releaseResource(name) → {Promise.<null>}

释放资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Description
count

消息数量

nextMsgId

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList() → {Array}

获取课堂默认群组的消息列表

Returns:
Type
Array

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Description
event string

事件名称

message *
report

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Description
name

状态名称

value

状态内容

caller

状态更新者

log

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc) → {Promise.<void>}

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

Returns:
Type
Promise.<void>

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb() → {boolean}

是否Web端,含所有设备上使用浏览器载入的场景

Returns:
Type
boolean

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass() → {boolean}

判断是否直播课

Returns:
Type
boolean

isInteractClass() → {boolean}

判断是互动班课

Returns:
Type
boolean

isCollegeClass() → {boolean}

判断是大教学课堂

Returns:
Type
boolean

isVideoOnlyClass() → {boolean}

判断是纯视频课堂

Returns:
Type
boolean

isVideoDocClass() → {boolean}

判断是视频加文档课堂

Returns:
Type
boolean

isCoTeachingClass() → {boolean}

判断是否是双师课堂

Returns:
Type
boolean

isOneOnOneClass() → {boolean}

判断是否是1v1课堂

Returns:
Type
boolean

isUnitedClass() → {boolean}

判断是否为统一课堂

Returns:
Type
boolean

isUnitedRTCClass() → {boolean}

判断是否为统一课堂RTC类型

Returns:
Type
boolean

isUnitedLiveClass() → {boolean}

判断是否为统一课堂Live类型

Returns:
Type
boolean

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable() → {boolean}

检查当前平台是否可用

Returns:
Type
boolean

(protected) _getClassName()

获取类名

(static) registerComponent(name, component)

注册组件

Parameters:
Name Type Description
name string

组件名称

component

组件对象

getSystemInfo()

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

getAppClientRect() → {DOMRect}

获取应用客户区矩形

Returns:

应用客户区矩形

Type
DOMRect

loadComponent(name, layout, parentDomId, label) → {Promise.<(HTMLElement|null)>}

加载组件

Parameters:
Name Type Default Description
name string

组件名称

layout TComponentLayout

初始布局

parentDomId string

父节点 ID

label string default

标识

Returns:

HTML元素

Type
Promise.<(HTMLElement|null)>

updateComponent(name, layout, label)

更新组件

Parameters:
Name Type Default Description
name

组件名

layout

布局

label default

标识

Returns:

Promise 更新是否成功

removeComponent(name, label)

移除组件

Parameters:
Name Type Default Description
name

组件名称

label default

标识

Returns:

移除组件是否成功

getComponent(name, label)

获取组件

Parameters:
Name Type Default Description
name

组件名称

label default

标识

getComponentLayout(name, label)

获取组件布局

Parameters:
Name Type Default Description
name

组件名称

label default

标识

getComponentClientRect(name, label) → {DOMRect}

获取组件客户区矩形

Parameters:
Name Type Default Description
name

组件名称

label default

标识

Returns:

组件客户区矩形

Type
DOMRect

isComponentVisible(name, label) → {boolean}

检查组件是否可见状态

Parameters:
Name Type Default Description
name string

组件名称

label string default

标识

Returns:

组件是否处于可见状态

Type
boolean

toggleComponentDraggable(name, label, draggable, domSelector, draggableRect)

启用或关闭组件DOM节点的拖动功能

Parameters:
Name Type Default Description
name string

组件名称

label string default

标识

draggable true

是否启用拖动

domSelector .drag-module-header__wrap

要启用拖动功能的DOM节点选择器

draggableRect null

可拖动区域,可传入矩形或函数,若传入函数类型,则每次用户拖动会调用该方法获取新的可拖动区域限制

addComponentEventListener(name, listener, label)

添加组件事件监听

Parameters:
Name Type Default Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string default

标识

removeComponentEventListener(name, listener, label)

移除组件事件监听

Parameters:
Name Type Default Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string default

标识

getSeriousErrorTimes()

获取严重错误发生次数

isFeatureAvailable(feature)

检查指定功能特性是否可用

Parameters:
Name Type Description
feature

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

init(customJS, customCSS)

初始化(Demo演示用)

Parameters:
Name Type Description
customJS

自定义 JS

customCSS

自定义 CSS

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Default Description
message

消息内容

detail

异常详情

title

消息标题

report true

是否上报异常

buttons null

按钮列表

callback null

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Default Description
boardInitParams null

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize()

结束课堂会话(离开课堂)

(async) reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

initSubWindowSelf()

弹窗初始化

showSubWindow(url, name, params, callback)

弹出二级页面

Parameters:
Name Type Description
url

地址

name

名称

params

参数

callback

回调

closeSubWindowSelf()

关闭二级页面自己(由二级页面调用)

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv()

设置环境(内部接口)

Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Default Description
name

事件名称

data

事件参数

code 0

事件返回错误码

timestamp 0

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

clearHandUpMemberList()

清空举手成员列表

updateMemberListFilter(filter)

更新成员列表过滤参数

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getClassMemberList(filter)

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getHandUpList(filter)

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

memberLike(classId, likeNumber)

点赞接口

Parameters:
Name Type Description
classId classId

课堂 ID

likeNumber likeNumber

增加的点赞数

memberJoin(classId, platform, device, role, version)

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

memberAction(action)

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

memberQuit(classId)

退出

Parameters:
Name Type Description
classId number

课堂 ID

startStageLoop(interval, member_number)

开启循环上台

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

stopStageLoop()

停止循环上台

updateStageLoop(interval, member_number)

更新循环上台参数

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

lockStageLoop(userIds, lock)

锁定/解锁循环上台用户

Parameters:
Name Type Description
userIds

用户id列表

lock

是否锁定

createDocument(document)

添加课件

Parameters:
Name Type Description
document TDocumentInfo

文档信息

deleteDocument(docId)

删除课件

Parameters:
Name Type Description
docId string

文档 ID

getDocumentInfo(docId)

查询课件

Parameters:
Name Type Description
docId string

文档 ID

getDocumentListInfo(docIds)

批量查询课件

Parameters:
Name Type Description
docIds Array.<string>

文档ID列表

getDocumentList(documentParam)

查询课件列表

Parameters:
Name Type Description
documentParam TGetDocumentListParam

查询参数

bindDocumentToClass(docId)

关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

unbindDocumentToClass(docId)

取消关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

uploadDocument(file, schoolId, readyCallback, progressCallback, responseCallback)

上传课件

Parameters:
Name Type Description
file File

上传的文件

schoolId number

学校 ID

readyCallback TUploadReadyCallback

准备上传回调

progressCallback TUploadProgressCallback

进度回调

responseCallback TUploadResponseCallback

结果回调

cancelUploadDocument(taskId)

取消上传课件

Parameters:
Name Type Description
taskId string

任务 ID

getClassMessageData()

获取公开课历史消息

getClassInfo()

查询课堂详情

getNameConfig()

获取课堂与角色名称信息

getRoleInfo()

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

getUid()

查询自定义userId

getCid()

查询自定义classId

startClass()

开始上课

endClass()

停止上课

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission)

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

silenceAll(silence)

全体禁言

Parameters:
Name Type Description
silence

是否禁言

setEnableStage(enable)

开/关 请求上麦逻辑

Parameters:
Name Type Description
enable

true : 开启; false:关闭

Returns:

sendCommand(req)

发送命令

Parameters:
Name Type Description
req TCommandReq

请求

Returns:

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

enterRtcRoom()

进入音视频房间

quitRtcRoom()

退出音视频房间

isInRtcRoom()

是否已进入音视频房间

approveToStage(param)

学生直播课上台

Parameters:
Name Type Description
param any

待传参数

Returns:

hangupToStage(param)

Parameters:
Name Type Description
param any

待传参数

Returns:

muteAll(mute)

全员静音

Parameters:
Name Type Description
mute

是否静音

muteVideoAll(mute)

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

revokeMessage(messageSeq)

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

setClassLayout(layout, 是否要同步到远端)

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

getClassLayout() → {TClassLayout}

Returns:

layout 课堂布局

Type
TClassLayout

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds)

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

modifyUserProfile(userInfo)

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Default Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean false

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit)

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

requireResource(name)

获取资源

Parameters:
Name Type Description
name string

资源名称

releaseResource(name)

释放资源

Parameters:
Name Type Description
name string

资源名称

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

createQuestion(question)

创建提问

Parameters:
Name Type Description
question TCreateQuestionParam

问题参数

answerQuestion(answer)

回答提问

Parameters:
Name Type Description
answer TAnswerQuestionParam

答案

stopQuestion(questionId)

停止答题

Parameters:
Name Type Description
questionId string

问题ID

abandonQuestion(questionId)

取消答题

Parameters:
Name Type Description
questionId string

问题ID

closeQuestion(questionId)

关闭答题

Parameters:
Name Type Description
questionId string

问题ID

getQuestionInfo(questionId)

获取提问信息

Parameters:
Name Type Description
questionId string

问题ID

getQuestionResult(questionId)

获取提问结果

Parameters:
Name Type Description
questionId string

问题ID

getQuestions()

获取问题列表

getMyQuestions()

获取个人问题列表

getQuestionStats(questionId)

获取提问统计信息

Parameters:
Name Type Description
questionId string

问题ID

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

checkSystemRequirements()

检测当前系统环境

setLocalVideoParams(option)

设置本地视频参数

Parameters:
Name Type Description
option

本地视频参数

setVideoEncodeQuality(userId, highDefinition)

设置用户的视频编码清晰度

Parameters:
Name Type Description
userId string

要设置的用户ID

highDefinition boolean

是否启用高清晰度模式,启用高清晰度模式后,视频推流码率会增加一个级别

针对当前用户,影响视频推流码率 针对远端用户,影响Web端码率估算精准度

startLocalVideo(dom)

开启本地视频采集及渲染

Parameters:
Name Type Description
dom

用于渲染视频画面的DOM节点

stopLocalVideo()

关闭本地视频采集及渲染

muteLocalVideo(mute)

控制是否屏蔽自己的视频画面,屏蔽后不推流

Parameters:
Name Type Description
mute

是否屏蔽

bindRemoteVideoDom(userId, type, dom, fullMode)

绑定远端视频画面DOM节点(有流则自动渲染)

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

dom

用于渲染视频画面的DOM节点

fullMode

是否使用全屏模式渲染

unbindRemoteVideoDom(userId, type, sequence)

解绑远端视频画面DOM节点

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

sequence

muteAllRemoteAudio(mute)

是否屏蔽所有远端音频

Parameters:
Name Type Description
mute boolean

是否屏蔽

pauseVideoRender(userId, streamType)

暂停渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resumeVideoRender(userId, streamType)

恢复渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resetVideoRender(userId, type)

重置视频渲染

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

snapshotVideo(userId, streamType)

视频截图

Parameters:
Name Type Description
userId

要处理的用户ID

streamType

要处理的视频流类型

startLocalAudio(dom)

开始本地音频采集

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

stopLocalAudio()

停止本地音频采集

muteLocalAudio(mute)

控制是否屏蔽自己的声音

Parameters:
Name Type Description
mute

是否屏蔽

enableVolumeEvaluation(interval)

开启音量大小回调,回调直接通过事件抛出

Parameters:
Name Type Description
interval

回调间隔(最小100ms,0为关闭)

startCameraTest(dom)

开始摄像头设备测试

Parameters:
Name Type Description
dom

用于渲染摄像头画面的DOM节点

stopCameraTest()

停止摄像头设备测试

startMicTest(dom)

开始麦克风设备测试

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

stopMicTest()

停止麦克风设备测试

startSpeakerTest(path)

开启扬声器设备测试

Parameters:
Name Type Description
path

要播放的声音文件路径

stopSpeakerTest()

停止扬声器设备测试

getCameras()

获取摄像头设备列表

switchCamera(deviceId)

切换使用的摄像头设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getCameraDeviceId()

获取正在使用的摄像头设备ID

getMics()

获取麦克风设备列表

switchMic(deviceId)

切换使用的麦克风设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getMicDeviceId()

获取正在使用的麦克风设备ID

setMicVolume(volume)

设置正在使用的麦克风设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

getMicVolume()

获取正在使用的麦克风设备音量

getRealMicVolume()

获取正在使用的麦克风设备音量

getSpeakers()

获取扬声器设备列表

switchSpeaker(deviceId)

切换使用的扬声器设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getSpeakerDeviceId()

获取正在使用的扬声器设备ID

setSpeakerVolume(volume)

设置正在使用的扬声器设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

getSpeakerVolume()

获取正在使用的扬声器设备音量

isScreenShareSupported()

检查当前平台是否支持屏幕分享

hasScreenCapturePermission()

检查屏幕分享权限

getScreenCaptureSources()

获取屏幕分享屏幕采集源列表

selectScreenCaptureTarget(sources, captureMouse, highlightWindow)

选择要进行屏幕分享的目标采集源

Parameters:
Name Type Default Description
sources

要分享的采集源

captureMouse true

是否捕获鼠标

highlightWindow true

是否高亮选择区域

getScreenCaptureTarget()

获取屏幕分享的目标采集源

addExcludedShareWindows()

将指定窗口加入屏幕分享的排除列表中

startScreenShare(dom)

开始屏幕分享

Parameters:
Name Type Description
dom

用于渲染分享画面的DOM节点,不需要渲染可以忽略

pauseScreenShare()

暂停屏幕分享

resumeScreenShare()

恢复屏幕分享

stopScreenShare()

停止屏幕分享

enableSystemAudioLoopback(enable)

控制是否分享系统声音

Parameters:
Name Type Description
enable

是否分享

startMusic()

播放背景音乐

stopMusic()

停止背景音乐

pauseMusic()

暂停背景音乐

resumeMusic()

恢复背景音乐

getMusicDuration()

获取音乐时长,单位毫秒

seekMusic()

设置背景音乐进度

setMusicVolume()

设置背景音乐的音量大小

loadVideo()

加载视频

playVideo()

开始播放视频

pauseVideo()

暂停播放视频

seekVideo()

视频进度跳转

setVideoVolume()

设置音量大小

stopVideo()

结束播放视频

startSubCamera()

打开辅助摄像头

stopSubCamera()

关闭辅助摄像头

setVirtualImg(flag, url)

设置虚拟背景

Parameters:
Name Type Default Description
flag

开关

url null

虚拟背景(为空时为背景虚化)

setBeautyParam(beauty, brightness, ruddy)

设置美颜

Parameters:
Name Type Description
beauty

美颜度( 0 - 1 ,推荐为 0.5 )

brightness

明亮度( 0 - 1 ,,推荐为 0.5 )

ruddy

红润度( 0 - 1 ,,推荐为 0.5 )

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Default Description
count

消息数量

nextMsgId null

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList()

获取课堂默认群组的消息列表

getBoard()

获取白板实例

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Default Description
event string

事件名称

message *
report true

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Default Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value null

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Default Description
name

状态名称

value

状态内容

caller

状态更新者

log true

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc)

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb()

是否Web端,含所有设备上使用浏览器载入的场景

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

isMiniprogramWebview() → {boolean}

是否小程序WebView

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

isSubWindow() → {boolean}

是否是子窗口

Returns:
Type
boolean

minimizeWindow()

窗口最小化或还原(只在桌面端有效)

maximizeWindow()

窗口最大化或还原(只在桌面端有效)

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

getToken() → {string}

获取当前token

Returns:

token

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass()

判断是否直播课

isInteractClass()

判断是互动班课

isCollegeClass()

判断是大教学课堂 针对联奕的老版本兼容,优先获取url 参数中的课堂类型

isVideoOnlyClass()

判断是纯视频课堂

isVideoDocClass()

判断是视频加文档课堂

isCoTeachingClass()

判断是否是双师课堂

isOneOnOneClass()

判断是否是1v1课堂

isUnitedClass()

判断是否为统一课堂

isUnitedRTCClass()

判断是否为统一课堂RTC观看类型

isUnitedLiveClass()

判断是否为统一课堂CDN观看类型

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable()

检查当前平台是否可用

openBrowser(url)

打开外部浏览器

Parameters:
Name Type Description
url string

网页地址

setDeviceOrientation(orientation)

设置设备方向

Parameters:
Name Type Description
orientation TDeviceOrientation

设备方向

checkNetworkConnection() → {boolean}

检查网络链接情况

Returns:
Type
boolean

checkBusinessServerConnection() → {Promise.<number>}

检查 aPaaS 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

checkNetworkPermission() → {Promise.<boolean>}

检查网络权限

Returns:
Type
Promise.<boolean>

checkMediaServerConnection() → {Promise.<number>}

检查 TRTC 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

getNetworkQuality() → {Promise.<TNetworkQuality>}

网络质量的判断方法

Returns:
Type
Promise.<TNetworkQuality>

getApiNetworkQuality() → {Promise.<TNetworkQuality>}

API网络接口质量

Returns:
Type
Promise.<TNetworkQuality>

checkDNSParsing() → {Promise.<number>}

检查DNS解析情况

Returns:

< 0 表示解析错误,> 0 表示解析成功的耗时

Type
Promise.<number>

_handleEnterRtcRoomFail()

进入音视频房间失败后的处理

_addClassVisibleChangeListener()

添加课堂可见性监听

_removeClassVisibleChangeListener()

移除课堂可见性监听

_onClassVisibleChange()

页面可见性变化通知

_updateClassInfo()

更新课堂信息

(static) instance() → {TMain}

返回该类实例

Returns:
Type
TMain

(static) registerComponent(name, component)

注册组件

Parameters:
Name Type Description
name string

组件名称

component

组件对象

getSystemInfo() → {Promise.<any>}

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

Returns:
Type
Promise.<any>

getAppClientRect() → {DOMRect}

获取应用客户区矩形

Returns:

应用客户区矩形

Type
DOMRect

loadComponent(name, layout, parentDomId, label) → {Promise.<(HTMLElement|null)>}

加载组件

Parameters:
Name Type Description
name string

组件名称

layout TComponentLayout

初始布局

parentDomId string

父节点 ID

label string

标识

Returns:

HTML元素

Type
Promise.<(HTMLElement|null)>

updateComponent(name, layout, label)

更新组件

Parameters:
Name Type Description
name

组件名

layout

布局

label

标识

Returns:

Promise 更新是否成功

removeComponent(name, label)

移除组件

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:

移除组件是否成功

getComponent(name, label) → {HTMLElement}

获取组件

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:
Type
HTMLElement

getComponentLayout(name, label) → {TComponentLayout}

获取组件布局

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:
Type
TComponentLayout

getComponentClientRect(name, label) → {DOMRect}

获取组件客户区矩形

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:

组件客户区矩形

Type
DOMRect

isComponentVisible(name, label) → {boolean}

检查组件是否可见状态

Parameters:
Name Type Description
name string

组件名称

label string

标识

Returns:

组件是否处于可见状态

Type
boolean

toggleComponentDraggable(name, label, draggable, domSelector, draggableRect)

启用或关闭组件DOM节点的拖动功能

Parameters:
Name Type Description
name string

组件名称

label string

标识

draggable

是否启用拖动

domSelector

要启用拖动功能的DOM节点选择器

draggableRect

可拖动区域,可传入矩形或函数,若传入函数类型,则每次用户拖动会调用该方法获取新的可拖动区域限制

addComponentEventListener(name, listener, label)

添加组件事件监听

Parameters:
Name Type Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string

标识

removeComponentEventListener(name, listener, label)

移除组件事件监听

Parameters:
Name Type Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string

标识

getSeriousErrorTimes() → {number}

获取严重错误发生次数

Returns:
Type
number

isFeatureAvailable(feature) → {boolean}

检查指定功能特性是否可用

Parameters:
Name Type Description
feature
Returns:
Type
boolean

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

init(customJS, customCSS)

初始化(Demo演示用)

Parameters:
Name Type Description
customJS

自定义 JS

customCSS

自定义 CSS

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Description
message

消息内容

detail

异常详情

title

消息标题

report

是否上报异常

buttons

按钮列表

callback

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize() → {Promise.<void>}

结束课堂会话(离开课堂)

Returns:
Type
Promise.<void>

(async) reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

initSubWindowSelf()

弹窗初始化

showSubWindow(url, name, params, callback)

弹出二级页面

Parameters:
Name Type Description
url

地址

name

名称

params

参数

callback

回调

closeSubWindowSelf()

关闭二级页面自己(由二级页面调用)

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv(env)

设置环境(内部接口)

Parameters:
Name Type Description
env string
Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Description
name

事件名称

data

事件参数

code

事件返回错误码

timestamp

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

clearHandUpMemberList()

清空举手成员列表

updateMemberListFilter(filter)

更新成员列表过滤参数

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getClassMemberList(filter) → {Promise.<TGetMemberListResult>}

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetMemberListResult>

getHandUpList(filter) → {Promise.<TGetHandUpListResult>}

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetHandUpListResult>

memberLike(classId, likeNumber) → {Promise.<null>}

点赞接口

Parameters:
Name Type Description
classId classId

课堂 ID

likeNumber likeNumber

增加的点赞数

Returns:
Type
Promise.<null>

memberJoin(classId, platform, device, role, version) → {Promise.<TMemberJoinResult>}

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

Returns:
Type
Promise.<TMemberJoinResult>

memberAction(action) → {Promise.<void>}

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

Returns:
Type
Promise.<void>

memberQuit(classId) → {Promise.<void>}

退出

Parameters:
Name Type Description
classId number

课堂 ID

Returns:
Type
Promise.<void>

startStageLoop(interval, member_number)

开启循环上台

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

stopStageLoop()

停止循环上台

updateStageLoop(interval, member_number)

更新循环上台参数

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

lockStageLoop(userIds, lock)

锁定/解锁循环上台用户

Parameters:
Name Type Description
userIds

用户id列表

lock

是否锁定

createDocument(document) → {Promise.<TCreateDocumentResult>}

添加课件

Parameters:
Name Type Description
document TDocumentInfo

文档信息

Returns:
Type
Promise.<TCreateDocumentResult>

deleteDocument(docId) → {Promise.<void>}

删除课件

Parameters:
Name Type Description
docId string

文档 ID

Returns:
Type
Promise.<void>

getDocumentInfo(docId) → {Promise.<TDocumentInfo>}

查询课件

Parameters:
Name Type Description
docId string

文档 ID

Returns:
Type
Promise.<TDocumentInfo>

getDocumentListInfo(docIds) → {Promise.<TBatchDocumentInfo>}

批量查询课件

Parameters:
Name Type Description
docIds Array.<string>

文档ID列表

Returns:
Type
Promise.<TBatchDocumentInfo>

getDocumentList(documentParam) → {Promise.<TGetDocumentListResult>}

查询课件列表

Parameters:
Name Type Description
documentParam TGetDocumentListParam

查询参数

Returns:
Type
Promise.<TGetDocumentListResult>

bindDocumentToClass(docId) → {Promise.<void>}

关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

Returns:
Type
Promise.<void>

unbindDocumentToClass(docId) → {Promise.<void>}

取消关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

Returns:
Type
Promise.<void>

uploadDocument(file, schoolId, readyCallback, progressCallback, responseCallback)

上传课件

Parameters:
Name Type Description
file File

上传的文件

schoolId number

学校 ID

readyCallback TUploadReadyCallback

准备上传回调

progressCallback TUploadProgressCallback

进度回调

responseCallback TUploadResponseCallback

结果回调

cancelUploadDocument(taskId)

取消上传课件

Parameters:
Name Type Description
taskId string

任务 ID

getClassMessageData() → {Promise.<TClassHistroyMessage>}

获取公开课历史消息

Returns:
Type
Promise.<TClassHistroyMessage>

getClassInfo() → {TClassInfo}

查询课堂详情

Returns:
Type
TClassInfo

getNameConfig()

获取课堂与角色名称信息

getRoleInfo() → {any}

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

Returns:
Type
any

getUid() → {string}

查询自定义userId

Returns:
Type
string

getCid() → {string}

查询自定义classId

Returns:
Type
string

startClass() → {Promise.<void>}

开始上课

Returns:
Type
Promise.<void>

endClass() → {Promise.<void>}

停止上课

Returns:
Type
Promise.<void>

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission) → {boolean}

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

Returns:
Type
boolean

silenceAll(silence) → {Promise.<void>}

全体禁言

Parameters:
Name Type Description
silence

是否禁言

Returns:
Type
Promise.<void>

setEnableStage(enable)

开/关 请求上麦逻辑

Parameters:
Name Type Description
enable

true : 开启; false:关闭

Returns:

sendCommand(req)

发送命令

Parameters:
Name Type Description
req TCommandReq

请求

Returns:

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

enterRtcRoom(rtcMode, retryTypeopt) → {Promise.<void>}

进入音视频房间

Parameters:
Name Type Attributes Description
rtcMode
retryType string <optional>
Returns:
Type
Promise.<void>

quitRtcRoom() → {Promise.<void>}

退出音视频房间

Returns:
Type
Promise.<void>

isInRtcRoom()

是否已进入音视频房间

approveToStage(param)

学生直播课上台

Parameters:
Name Type Description
param any

待传参数

Returns:

hangupToStage(param)

Parameters:
Name Type Description
param any

待传参数

Returns:

muteAll(mute) → {Promise.<void>}

全员静音

Parameters:
Name Type Description
mute

是否静音

Returns:
Type
Promise.<void>

muteVideoAll(mute) → {Promise.<void>}

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

Returns:
Type
Promise.<void>

revokeMessage(messageSeq) → {Promise.<void>}

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

Returns:
Type
Promise.<void>

setClassLayout(layout, 是否要同步到远端) → {Promise.<void>}

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

Returns:
Type
Promise.<void>

getClassLayout() → {TClassLayout}

Returns:

layout 课堂布局

Type
TClassLayout

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds) → {Promise.<TGetUserListResult>}

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

Returns:
Type
Promise.<TGetUserListResult>

modifyUserProfile(userInfo) → {Promise.<TGetUserListResult>}

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

Returns:
Type
Promise.<TGetUserListResult>

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit) → {Promise.<null>}

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

Returns:
Type
Promise.<null>

requireResource(name) → {Promise.<null>}

获取资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

releaseResource(name) → {Promise.<null>}

释放资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

createQuestion(question) → {Promise.<TCreateQuestionResult>}

创建提问

Parameters:
Name Type Description
question TCreateQuestionParam

问题参数

Returns:
Type
Promise.<TCreateQuestionResult>

answerQuestion(answer) → {Promise.<TAnswerQuestionResult>}

回答提问

Parameters:
Name Type Description
answer TAnswerQuestionParam

答案

Returns:
Type
Promise.<TAnswerQuestionResult>

stopQuestion(questionId) → {Promise.<void>}

停止答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

abandonQuestion(questionId) → {Promise.<void>}

取消答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

closeQuestion(questionId) → {Promise.<void>}

关闭答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

getQuestionInfo(questionId) → {Promise.<TGetQuestionInfoResult>}

获取提问信息

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionInfoResult>

getQuestionResult(questionId) → {Promise.<TGetQuestionResultResult>}

获取提问结果

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionResultResult>

getQuestions() → {Promise.<TGetQuestionsResult>}

获取问题列表

Returns:
Type
Promise.<TGetQuestionsResult>

getMyQuestions() → {Promise.<TGetQuestionsResult>}

获取个人问题列表

Returns:
Type
Promise.<TGetQuestionsResult>

getQuestionStats(questionId) → {Promise.<TGetQuestionStatsResult>}

获取提问统计信息

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionStatsResult>

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

checkSystemRequirements()

检测当前系统环境

setLocalVideoParams(option) → {Promise.<void>}

设置本地视频参数

Parameters:
Name Type Description
option

本地视频参数

Returns:
Type
Promise.<void>

setVideoEncodeQuality(userId, highDefinition)

设置用户的视频编码清晰度

Parameters:
Name Type Description
userId string

要设置的用户ID

highDefinition boolean

是否启用高清晰度模式,启用高清晰度模式后,视频推流码率会增加一个级别

针对当前用户,影响视频推流码率 针对远端用户,影响Web端码率估算精准度

startLocalVideo(dom) → {Promise.<void>}

开启本地视频采集及渲染

Parameters:
Name Type Description
dom

用于渲染视频画面的DOM节点

Returns:
Type
Promise.<void>

stopLocalVideo() → {Promise.<void>}

关闭本地视频采集及渲染

Returns:
Type
Promise.<void>

muteLocalVideo(mute) → {Promise.<void>}

控制是否屏蔽自己的视频画面,屏蔽后不推流

Parameters:
Name Type Description
mute

是否屏蔽

Returns:
Type
Promise.<void>

bindRemoteVideoDom(userId, type, dom, fullMode)

绑定远端视频画面DOM节点(有流则自动渲染)

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

dom

用于渲染视频画面的DOM节点

fullMode

是否使用全屏模式渲染

unbindRemoteVideoDom(userId, type, sequence)

解绑远端视频画面DOM节点

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

sequence

muteAllRemoteAudio(mute)

是否屏蔽所有远端音频

Parameters:
Name Type Description
mute boolean

是否屏蔽

pauseVideoRender(userId, streamType)

暂停渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resumeVideoRender(userId, streamType)

恢复渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resetVideoRender(userId, type)

重置视频渲染

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

snapshotVideo(userId, streamType) → {Promise.<TTrtcSnapshot>}

视频截图

Parameters:
Name Type Description
userId

要处理的用户ID

streamType

要处理的视频流类型

Returns:
Type
Promise.<TTrtcSnapshot>

startLocalAudio(dom) → {Promise.<void>}

开始本地音频采集

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

Returns:
Type
Promise.<void>

stopLocalAudio() → {Promise.<void>}

停止本地音频采集

Returns:
Type
Promise.<void>

muteLocalAudio(mute) → {Promise.<void>}

控制是否屏蔽自己的声音

Parameters:
Name Type Description
mute

是否屏蔽

Returns:
Type
Promise.<void>

enableVolumeEvaluation(interval) → {Promise.<void>}

开启音量大小回调,回调直接通过事件抛出

Parameters:
Name Type Description
interval

回调间隔(最小100ms,0为关闭)

Returns:
Type
Promise.<void>

startCameraTest(dom) → {Promise.<void>}

开始摄像头设备测试

Parameters:
Name Type Description
dom

用于渲染摄像头画面的DOM节点

Returns:
Type
Promise.<void>

stopCameraTest() → {Promise.<void>}

停止摄像头设备测试

Returns:
Type
Promise.<void>

startMicTest(dom) → {Promise.<void>}

开始麦克风设备测试

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

Returns:
Type
Promise.<void>

stopMicTest() → {Promise.<void>}

停止麦克风设备测试

Returns:
Type
Promise.<void>

startSpeakerTest(path) → {Promise.<void>}

开启扬声器设备测试

Parameters:
Name Type Description
path

要播放的声音文件路径

Returns:
Type
Promise.<void>

stopSpeakerTest() → {Promise.<void>}

停止扬声器设备测试

Returns:
Type
Promise.<void>

getCameras() → {Promise.<Array>}

获取摄像头设备列表

Returns:
Type
Promise.<Array>

switchCamera(deviceId) → {Promise.<void>}

切换使用的摄像头设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getCameraDeviceId() → {Promise.<string>}

获取正在使用的摄像头设备ID

Returns:
Type
Promise.<string>

getMics() → {Promise.<Array>}

获取麦克风设备列表

Returns:
Type
Promise.<Array>

switchMic(deviceId) → {Promise.<void>}

切换使用的麦克风设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getMicDeviceId() → {Promise.<string>}

获取正在使用的麦克风设备ID

Returns:
Type
Promise.<string>

setMicVolume(volume) → {Promise.<void>}

设置正在使用的麦克风设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

Returns:
Type
Promise.<void>

getMicVolume() → {Promise.<number>}

获取正在使用的麦克风设备音量

Returns:
Type
Promise.<number>

getRealMicVolume() → {Promise.<number>}

获取正在使用的麦克风设备音量

Returns:
Type
Promise.<number>

getSpeakers() → {Promise.<Array>}

获取扬声器设备列表

Returns:
Type
Promise.<Array>

switchSpeaker(deviceId) → {Promise.<void>}

切换使用的扬声器设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getSpeakerDeviceId() → {Promise.<string>}

获取正在使用的扬声器设备ID

Returns:
Type
Promise.<string>

setSpeakerVolume(volume) → {Promise.<void>}

设置正在使用的扬声器设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

Returns:
Type
Promise.<void>

getSpeakerVolume() → {Promise.<number>}

获取正在使用的扬声器设备音量

Returns:
Type
Promise.<number>

isScreenShareSupported() → {Promise.<boolean>}

检查当前平台是否支持屏幕分享

Returns:
Type
Promise.<boolean>

hasScreenCapturePermission() → {Promise.<boolean>}

检查屏幕分享权限

Returns:
Type
Promise.<boolean>

getScreenCaptureSources() → {Promise.<Array>}

获取屏幕分享屏幕采集源列表

Returns:
Type
Promise.<Array>

selectScreenCaptureTarget(sources, captureMouse, highlightWindow) → {Promise.<void>}

选择要进行屏幕分享的目标采集源

Parameters:
Name Type Description
sources

要分享的采集源

captureMouse

是否捕获鼠标

highlightWindow

是否高亮选择区域

Returns:
Type
Promise.<void>

getScreenCaptureTarget() → {TScreenCaptureSourceInfo}

获取屏幕分享的目标采集源

Returns:
Type
TScreenCaptureSourceInfo

addExcludedShareWindows(sourceIds) → {Promise.<void>}

将指定窗口加入屏幕分享的排除列表中

Parameters:
Name Type Description
sourceIds Array
Returns:
Type
Promise.<void>

startScreenShare(dom) → {Promise.<void>}

开始屏幕分享

Parameters:
Name Type Description
dom

用于渲染分享画面的DOM节点,不需要渲染可以忽略

Returns:
Type
Promise.<void>

pauseScreenShare() → {Promise.<void>}

暂停屏幕分享

Returns:
Type
Promise.<void>

resumeScreenShare() → {Promise.<void>}

恢复屏幕分享

Returns:
Type
Promise.<void>

stopScreenShare() → {Promise.<void>}

停止屏幕分享

Returns:
Type
Promise.<void>

enableSystemAudioLoopback(enable) → {Promise.<void>}

控制是否分享系统声音

Parameters:
Name Type Description
enable

是否分享

Returns:
Type
Promise.<void>

startMusic(documentId, url) → {Promise.<boolean>}

播放背景音乐

Parameters:
Name Type Description
documentId string
url string
Returns:
Type
Promise.<boolean>

stopMusic() → {void}

停止背景音乐

Returns:
Type
void

pauseMusic() → {void}

暂停背景音乐

Returns:
Type
void

resumeMusic() → {void}

恢复背景音乐

Returns:
Type
void

getMusicDuration() → {number}

获取音乐时长,单位毫秒

Returns:
Type
number

seekMusic(pts) → {void}

设置背景音乐进度

Parameters:
Name Type Description
pts number
Returns:
Type
void

setMusicVolume(volume) → {void}

设置背景音乐的音量大小

Parameters:
Name Type Description
volume number
Returns:
Type
void

loadVideo(dom, url) → {Promise.<void>}

加载视频

Parameters:
Name Type Description
dom HTMLElement
url string
Returns:
Type
Promise.<void>

playVideo() → {Promise.<void>}

开始播放视频

Returns:
Type
Promise.<void>

pauseVideo() → {Promise.<void>}

暂停播放视频

Returns:
Type
Promise.<void>

seekVideo(time) → {Promise.<void>}

视频进度跳转

Parameters:
Name Type Description
time number
Returns:
Type
Promise.<void>

setVideoVolume(volume) → {Promise.<void>}

设置音量大小

Parameters:
Name Type Description
volume number
Returns:
Type
Promise.<void>

stopVideo() → {Promise.<void>}

结束播放视频

Returns:
Type
Promise.<void>

startSubCamera(dom, deviceIndex, resolution) → {Promise.<void>}

打开辅助摄像头

Parameters:
Name Type Description
dom HTMLElement
deviceIndex number
resolution TTrtcVideoResolution
Returns:
Type
Promise.<void>

stopSubCamera() → {Promise.<void>}

关闭辅助摄像头

Returns:
Type
Promise.<void>

setVirtualImg(flag, url) → {Promise.<void>}

设置虚拟背景

Parameters:
Name Type Description
flag

开关

url

虚拟背景(为空时为背景虚化)

Returns:
Type
Promise.<void>

setBeautyParam(beauty, brightness, ruddy) → {Promise.<void>}

设置美颜

Parameters:
Name Type Description
beauty

美颜度( 0 - 1 ,推荐为 0.5 )

brightness

明亮度( 0 - 1 ,,推荐为 0.5 )

ruddy

红润度( 0 - 1 ,,推荐为 0.5 )

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Description
count

消息数量

nextMsgId

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList() → {Array}

获取课堂默认群组的消息列表

Returns:
Type
Array

getBoard()

获取白板实例

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Description
event string

事件名称

message *
report

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Description
name

状态名称

value

状态内容

caller

状态更新者

log

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc) → {Promise.<void>}

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

Returns:
Type
Promise.<void>

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb() → {boolean}

是否Web端,含所有设备上使用浏览器载入的场景

Returns:
Type
boolean

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

isMiniprogramWebview() → {boolean}

是否小程序WebView

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

isSubWindow() → {boolean}

是否是子窗口

Returns:
Type
boolean

minimizeWindow()

窗口最小化或还原(只在桌面端有效)

maximizeWindow()

窗口最大化或还原(只在桌面端有效)

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

getToken() → {string}

获取当前token

Returns:

token

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass() → {boolean}

判断是否直播课

Returns:
Type
boolean

isInteractClass() → {boolean}

判断是互动班课

Returns:
Type
boolean

isCollegeClass() → {boolean}

判断是大教学课堂 针对联奕的老版本兼容,优先获取url 参数中的课堂类型

Returns:
Type
boolean

isVideoOnlyClass() → {boolean}

判断是纯视频课堂

Returns:
Type
boolean

isVideoDocClass() → {boolean}

判断是视频加文档课堂

Returns:
Type
boolean

isCoTeachingClass() → {boolean}

判断是否是双师课堂

Returns:
Type
boolean

isOneOnOneClass() → {boolean}

判断是否是1v1课堂

Returns:
Type
boolean

isUnitedClass() → {boolean}

判断是否为统一课堂

Returns:
Type
boolean

isUnitedRTCClass() → {boolean}

判断是否为统一课堂RTC观看类型

Returns:
Type
boolean

isUnitedLiveClass() → {boolean}

判断是否为统一课堂CDN观看类型

Returns:
Type
boolean

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable() → {boolean}

检查当前平台是否可用

Returns:
Type
boolean

openBrowser(url)

打开外部浏览器

Parameters:
Name Type Description
url string

网页地址

setDeviceOrientation(orientation) → {Promise.<void>}

设置设备方向

Parameters:
Name Type Description
orientation TDeviceOrientation

设备方向

Returns:
Type
Promise.<void>

checkNetworkConnection() → {boolean}

检查网络链接情况

Returns:
Type
boolean

checkBusinessServerConnection() → {Promise.<number>}

检查 aPaaS 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

checkNetworkPermission() → {Promise.<boolean>}

检查网络权限

Returns:
Type
Promise.<boolean>

checkMediaServerConnection() → {Promise.<number>}

检查 TRTC 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

getNetworkQuality(rtt, loss) → {Promise.<TNetworkQuality>}

网络质量的判断方法

Parameters:
Name Type Description
rtt number
loss number
Returns:
Type
Promise.<TNetworkQuality>

getApiNetworkQuality(rtt) → {Promise.<TNetworkQuality>}

API网络接口质量

Parameters:
Name Type Description
rtt number
Returns:
Type
Promise.<TNetworkQuality>

checkDNSParsing() → {Promise.<number>}

检查DNS解析情况

Returns:

< 0 表示解析错误,> 0 表示解析成功的耗时

Type
Promise.<number>

(protected) _getClassName()

获取类名

TMain TMain

SDK功能类,SDK的主要功能入口

Classes

TMain
TMain

Members

(static) instance

返回该类实例

(static) instance

返回该类实例

Methods

getSystemInfo()

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Default Description
message

消息内容

detail

异常详情

title

消息标题

report true

是否上报异常

buttons null

按钮列表

callback null

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize()

结束课堂会话(离开课堂)

quitIM()

退出wx-im群组,独立于web端SDK, 微信小程序端勿删。

reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv()

设置环境(内部接口)

Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Default Description
name

事件名称

data

事件参数

code 0

事件返回错误码

timestamp 0

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

getClassMemberList(filter)

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getHandUpList(filter)

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

memberJoin(classId, platform, device, role, version)

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

memberAction(action)

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

memberQuit(classId)

退出

Parameters:
Name Type Description
classId number

课堂 ID

getClassMessageData()

获取公开课历史消息

getClassInfo()

查询课堂详情

getNameConfig()

获取课堂与角色名称信息

getRoleInfo()

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

getUid()

查询自定义userId

getCid()

查询自定义classId

startClass()

开始上课

endClass()

停止上课

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission)

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

silenceAll(silence)

全体禁言

Parameters:
Name Type Description
silence

是否禁言

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

muteAll(mute)

全员静音

Parameters:
Name Type Description
mute

是否静音

muteVideoAll(mute)

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

revokeMessage(messageSeq)

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

setClassLayout(layout, 是否要同步到远端)

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds)

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

modifyUserProfile(userInfo)

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Default Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean false

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit)

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

requireResource(name)

获取资源

Parameters:
Name Type Description
name string

资源名称

releaseResource(name)

释放资源

Parameters:
Name Type Description
name string

资源名称

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Default Description
count

消息数量

nextMsgId null

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList()

获取课堂默认群组的消息列表

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Default Description
event string

事件名称

message *
report true

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Default Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value null

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Default Description
name

状态名称

value

状态内容

caller

状态更新者

log true

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc)

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb()

是否Web端,含所有设备上使用浏览器载入的场景

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass()

判断是否直播课

isInteractClass()

判断是互动班课

isCollegeClass()

判断是大教学课堂

isVideoOnlyClass()

判断是纯视频课堂

isVideoDocClass()

判断是视频加文档课堂

isCoTeachingClass()

判断是否是双师课堂

isOneOnOneClass()

判断是否是1v1课堂

isUnitedClass()

判断是否为统一课堂

isUnitedRTCClass()

判断是否为统一课堂RTC类型

isUnitedLiveClass()

判断是否为统一课堂Live类型

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable()

检查当前平台是否可用

_updateClassInfo()

更新课堂信息

(static) instance() → {TMain}

返回该类实例

Returns:
Type
TMain

getSystemInfo() → {Promise.<any>}

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

Returns:
Type
Promise.<any>

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Description
message

消息内容

detail

异常详情

title

消息标题

report

是否上报异常

buttons

按钮列表

callback

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize() → {Promise.<void>}

结束课堂会话(离开课堂)

Returns:
Type
Promise.<void>

quitIM()

退出wx-im群组,独立于web端SDK, 微信小程序端勿删。

reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

sendCustomMessage(message)

弹窗初始化

Parameters:
Name Type Description
message any

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv(env)

设置环境(内部接口)

Parameters:
Name Type Description
env string
Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Description
name

事件名称

data

事件参数

code

事件返回错误码

timestamp

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

getClassMemberList(filter) → {Promise.<TGetMemberListResult>}

清空举手成员列表

Parameters:
Name Type Description
filter TMemberListFilter
Returns:
Type
Promise.<TGetMemberListResult>

getHandUpList(filter) → {Promise.<TGetHandUpListResult>}

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetHandUpListResult>

memberJoin(classId, platform, device, role, version) → {Promise.<TMemberJoinResult>}

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

Returns:
Type
Promise.<TMemberJoinResult>

memberAction(action) → {Promise.<void>}

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

Returns:
Type
Promise.<void>

memberQuit(classId) → {Promise.<void>}

退出

Parameters:
Name Type Description
classId number

课堂 ID

Returns:
Type
Promise.<void>

getClassMessageData() → {Promise.<TClassHistroyMessage>}

获取公开课历史消息

Returns:
Type
Promise.<TClassHistroyMessage>

getClassInfo() → {TClassInfo}

查询课堂详情

Returns:
Type
TClassInfo

getNameConfig()

获取课堂与角色名称信息

getRoleInfo() → {any}

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

Returns:
Type
any

getUid() → {string}

查询自定义userId

Returns:
Type
string

getCid() → {string}

查询自定义classId

Returns:
Type
string

startClass() → {Promise.<void>}

开始上课

Returns:
Type
Promise.<void>

endClass() → {Promise.<void>}

停止上课

Returns:
Type
Promise.<void>

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission) → {boolean}

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

Returns:
Type
boolean

silenceAll(silence) → {Promise.<void>}

全体禁言

Parameters:
Name Type Description
silence

是否禁言

Returns:
Type
Promise.<void>

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

muteAll(mute) → {Promise.<void>}

全员静音

Parameters:
Name Type Description
mute

是否静音

Returns:
Type
Promise.<void>

muteVideoAll(mute) → {Promise.<void>}

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

Returns:
Type
Promise.<void>

revokeMessage(messageSeq) → {Promise.<void>}

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

Returns:
Type
Promise.<void>

setClassLayout(layout, 是否要同步到远端) → {Promise.<void>}

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

Returns:
Type
Promise.<void>

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds) → {Promise.<TGetUserListResult>}

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

Returns:
Type
Promise.<TGetUserListResult>

modifyUserProfile(userInfo) → {Promise.<TGetUserListResult>}

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

Returns:
Type
Promise.<TGetUserListResult>

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit) → {Promise.<null>}

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

Returns:
Type
Promise.<null>

requireResource(name) → {Promise.<null>}

获取资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

releaseResource(name) → {Promise.<null>}

释放资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Description
count

消息数量

nextMsgId

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList() → {Array}

获取课堂默认群组的消息列表

Returns:
Type
Array

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Description
event string

事件名称

message *
report

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Description
name

状态名称

value

状态内容

caller

状态更新者

log

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc) → {Promise.<void>}

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

Returns:
Type
Promise.<void>

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb() → {boolean}

是否Web端,含所有设备上使用浏览器载入的场景

Returns:
Type
boolean

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass() → {boolean}

判断是否直播课

Returns:
Type
boolean

isInteractClass() → {boolean}

判断是互动班课

Returns:
Type
boolean

isCollegeClass() → {boolean}

判断是大教学课堂

Returns:
Type
boolean

isVideoOnlyClass() → {boolean}

判断是纯视频课堂

Returns:
Type
boolean

isVideoDocClass() → {boolean}

判断是视频加文档课堂

Returns:
Type
boolean

isCoTeachingClass() → {boolean}

判断是否是双师课堂

Returns:
Type
boolean

isOneOnOneClass() → {boolean}

判断是否是1v1课堂

Returns:
Type
boolean

isUnitedClass() → {boolean}

判断是否为统一课堂

Returns:
Type
boolean

isUnitedRTCClass() → {boolean}

判断是否为统一课堂RTC类型

Returns:
Type
boolean

isUnitedLiveClass() → {boolean}

判断是否为统一课堂Live类型

Returns:
Type
boolean

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable() → {boolean}

检查当前平台是否可用

Returns:
Type
boolean

(protected) _getClassName()

获取类名

(static) registerComponent(name, component)

注册组件

Parameters:
Name Type Description
name string

组件名称

component

组件对象

getSystemInfo()

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

getAppClientRect() → {DOMRect}

获取应用客户区矩形

Returns:

应用客户区矩形

Type
DOMRect

loadComponent(name, layout, parentDomId, label) → {Promise.<(HTMLElement|null)>}

加载组件

Parameters:
Name Type Default Description
name string

组件名称

layout TComponentLayout

初始布局

parentDomId string

父节点 ID

label string default

标识

Returns:

HTML元素

Type
Promise.<(HTMLElement|null)>

updateComponent(name, layout, label)

更新组件

Parameters:
Name Type Default Description
name

组件名

layout

布局

label default

标识

Returns:

Promise 更新是否成功

removeComponent(name, label)

移除组件

Parameters:
Name Type Default Description
name

组件名称

label default

标识

Returns:

移除组件是否成功

getComponent(name, label)

获取组件

Parameters:
Name Type Default Description
name

组件名称

label default

标识

getComponentLayout(name, label)

获取组件布局

Parameters:
Name Type Default Description
name

组件名称

label default

标识

getComponentClientRect(name, label) → {DOMRect}

获取组件客户区矩形

Parameters:
Name Type Default Description
name

组件名称

label default

标识

Returns:

组件客户区矩形

Type
DOMRect

isComponentVisible(name, label) → {boolean}

检查组件是否可见状态

Parameters:
Name Type Default Description
name string

组件名称

label string default

标识

Returns:

组件是否处于可见状态

Type
boolean

toggleComponentDraggable(name, label, draggable, domSelector, draggableRect)

启用或关闭组件DOM节点的拖动功能

Parameters:
Name Type Default Description
name string

组件名称

label string default

标识

draggable true

是否启用拖动

domSelector .drag-module-header__wrap

要启用拖动功能的DOM节点选择器

draggableRect null

可拖动区域,可传入矩形或函数,若传入函数类型,则每次用户拖动会调用该方法获取新的可拖动区域限制

addComponentEventListener(name, listener, label)

添加组件事件监听

Parameters:
Name Type Default Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string default

标识

removeComponentEventListener(name, listener, label)

移除组件事件监听

Parameters:
Name Type Default Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string default

标识

getSeriousErrorTimes()

获取严重错误发生次数

isFeatureAvailable(feature)

检查指定功能特性是否可用

Parameters:
Name Type Description
feature

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

init(customJS, customCSS)

初始化(Demo演示用)

Parameters:
Name Type Description
customJS

自定义 JS

customCSS

自定义 CSS

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Default Description
message

消息内容

detail

异常详情

title

消息标题

report true

是否上报异常

buttons null

按钮列表

callback null

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Default Description
boardInitParams null

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize()

结束课堂会话(离开课堂)

(async) reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

initSubWindowSelf()

弹窗初始化

showSubWindow(url, name, params, callback)

弹出二级页面

Parameters:
Name Type Description
url

地址

name

名称

params

参数

callback

回调

closeSubWindowSelf()

关闭二级页面自己(由二级页面调用)

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv()

设置环境(内部接口)

Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Default Description
name

事件名称

data

事件参数

code 0

事件返回错误码

timestamp 0

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

clearHandUpMemberList()

清空举手成员列表

updateMemberListFilter(filter)

更新成员列表过滤参数

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getClassMemberList(filter)

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getHandUpList(filter)

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

memberLike(classId, likeNumber)

点赞接口

Parameters:
Name Type Description
classId classId

课堂 ID

likeNumber likeNumber

增加的点赞数

memberJoin(classId, platform, device, role, version)

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

memberAction(action)

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

memberQuit(classId)

退出

Parameters:
Name Type Description
classId number

课堂 ID

startStageLoop(interval, member_number)

开启循环上台

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

stopStageLoop()

停止循环上台

updateStageLoop(interval, member_number)

更新循环上台参数

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

lockStageLoop(userIds, lock)

锁定/解锁循环上台用户

Parameters:
Name Type Description
userIds

用户id列表

lock

是否锁定

createDocument(document)

添加课件

Parameters:
Name Type Description
document TDocumentInfo

文档信息

deleteDocument(docId)

删除课件

Parameters:
Name Type Description
docId string

文档 ID

getDocumentInfo(docId)

查询课件

Parameters:
Name Type Description
docId string

文档 ID

getDocumentListInfo(docIds)

批量查询课件

Parameters:
Name Type Description
docIds Array.<string>

文档ID列表

getDocumentList(documentParam)

查询课件列表

Parameters:
Name Type Description
documentParam TGetDocumentListParam

查询参数

bindDocumentToClass(docId)

关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

unbindDocumentToClass(docId)

取消关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

uploadDocument(file, schoolId, readyCallback, progressCallback, responseCallback)

上传课件

Parameters:
Name Type Description
file File

上传的文件

schoolId number

学校 ID

readyCallback TUploadReadyCallback

准备上传回调

progressCallback TUploadProgressCallback

进度回调

responseCallback TUploadResponseCallback

结果回调

cancelUploadDocument(taskId)

取消上传课件

Parameters:
Name Type Description
taskId string

任务 ID

getClassMessageData()

获取公开课历史消息

getClassInfo()

查询课堂详情

getNameConfig()

获取课堂与角色名称信息

getRoleInfo()

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

getUid()

查询自定义userId

getCid()

查询自定义classId

startClass()

开始上课

endClass()

停止上课

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission)

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

silenceAll(silence)

全体禁言

Parameters:
Name Type Description
silence

是否禁言

setEnableStage(enable)

开/关 请求上麦逻辑

Parameters:
Name Type Description
enable

true : 开启; false:关闭

Returns:

sendCommand(req)

发送命令

Parameters:
Name Type Description
req TCommandReq

请求

Returns:

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

enterRtcRoom()

进入音视频房间

quitRtcRoom()

退出音视频房间

isInRtcRoom()

是否已进入音视频房间

approveToStage(param)

学生直播课上台

Parameters:
Name Type Description
param any

待传参数

Returns:

hangupToStage(param)

Parameters:
Name Type Description
param any

待传参数

Returns:

muteAll(mute)

全员静音

Parameters:
Name Type Description
mute

是否静音

muteVideoAll(mute)

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

revokeMessage(messageSeq)

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

setClassLayout(layout, 是否要同步到远端)

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

getClassLayout() → {TClassLayout}

Returns:

layout 课堂布局

Type
TClassLayout

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds)

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

modifyUserProfile(userInfo)

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Default Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean false

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit)

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

requireResource(name)

获取资源

Parameters:
Name Type Description
name string

资源名称

releaseResource(name)

释放资源

Parameters:
Name Type Description
name string

资源名称

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

createQuestion(question)

创建提问

Parameters:
Name Type Description
question TCreateQuestionParam

问题参数

answerQuestion(answer)

回答提问

Parameters:
Name Type Description
answer TAnswerQuestionParam

答案

stopQuestion(questionId)

停止答题

Parameters:
Name Type Description
questionId string

问题ID

abandonQuestion(questionId)

取消答题

Parameters:
Name Type Description
questionId string

问题ID

closeQuestion(questionId)

关闭答题

Parameters:
Name Type Description
questionId string

问题ID

getQuestionInfo(questionId)

获取提问信息

Parameters:
Name Type Description
questionId string

问题ID

getQuestionResult(questionId)

获取提问结果

Parameters:
Name Type Description
questionId string

问题ID

getQuestions()

获取问题列表

getMyQuestions()

获取个人问题列表

getQuestionStats(questionId)

获取提问统计信息

Parameters:
Name Type Description
questionId string

问题ID

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

checkSystemRequirements()

检测当前系统环境

setLocalVideoParams(option)

设置本地视频参数

Parameters:
Name Type Description
option

本地视频参数

setVideoEncodeQuality(userId, highDefinition)

设置用户的视频编码清晰度

Parameters:
Name Type Description
userId string

要设置的用户ID

highDefinition boolean

是否启用高清晰度模式,启用高清晰度模式后,视频推流码率会增加一个级别

针对当前用户,影响视频推流码率 针对远端用户,影响Web端码率估算精准度

startLocalVideo(dom)

开启本地视频采集及渲染

Parameters:
Name Type Description
dom

用于渲染视频画面的DOM节点

stopLocalVideo()

关闭本地视频采集及渲染

muteLocalVideo(mute)

控制是否屏蔽自己的视频画面,屏蔽后不推流

Parameters:
Name Type Description
mute

是否屏蔽

bindRemoteVideoDom(userId, type, dom, fullMode)

绑定远端视频画面DOM节点(有流则自动渲染)

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

dom

用于渲染视频画面的DOM节点

fullMode

是否使用全屏模式渲染

unbindRemoteVideoDom(userId, type, sequence)

解绑远端视频画面DOM节点

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

sequence

muteAllRemoteAudio(mute)

是否屏蔽所有远端音频

Parameters:
Name Type Description
mute boolean

是否屏蔽

pauseVideoRender(userId, streamType)

暂停渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resumeVideoRender(userId, streamType)

恢复渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resetVideoRender(userId, type)

重置视频渲染

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

snapshotVideo(userId, streamType)

视频截图

Parameters:
Name Type Description
userId

要处理的用户ID

streamType

要处理的视频流类型

startLocalAudio(dom)

开始本地音频采集

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

stopLocalAudio()

停止本地音频采集

muteLocalAudio(mute)

控制是否屏蔽自己的声音

Parameters:
Name Type Description
mute

是否屏蔽

enableVolumeEvaluation(interval)

开启音量大小回调,回调直接通过事件抛出

Parameters:
Name Type Description
interval

回调间隔(最小100ms,0为关闭)

startCameraTest(dom)

开始摄像头设备测试

Parameters:
Name Type Description
dom

用于渲染摄像头画面的DOM节点

stopCameraTest()

停止摄像头设备测试

startMicTest(dom)

开始麦克风设备测试

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

stopMicTest()

停止麦克风设备测试

startSpeakerTest(path)

开启扬声器设备测试

Parameters:
Name Type Description
path

要播放的声音文件路径

stopSpeakerTest()

停止扬声器设备测试

getCameras()

获取摄像头设备列表

switchCamera(deviceId)

切换使用的摄像头设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getCameraDeviceId()

获取正在使用的摄像头设备ID

getMics()

获取麦克风设备列表

switchMic(deviceId)

切换使用的麦克风设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getMicDeviceId()

获取正在使用的麦克风设备ID

setMicVolume(volume)

设置正在使用的麦克风设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

getMicVolume()

获取正在使用的麦克风设备音量

getRealMicVolume()

获取正在使用的麦克风设备音量

getSpeakers()

获取扬声器设备列表

switchSpeaker(deviceId)

切换使用的扬声器设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

getSpeakerDeviceId()

获取正在使用的扬声器设备ID

setSpeakerVolume(volume)

设置正在使用的扬声器设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

getSpeakerVolume()

获取正在使用的扬声器设备音量

isScreenShareSupported()

检查当前平台是否支持屏幕分享

hasScreenCapturePermission()

检查屏幕分享权限

getScreenCaptureSources()

获取屏幕分享屏幕采集源列表

selectScreenCaptureTarget(sources, captureMouse, highlightWindow)

选择要进行屏幕分享的目标采集源

Parameters:
Name Type Default Description
sources

要分享的采集源

captureMouse true

是否捕获鼠标

highlightWindow true

是否高亮选择区域

getScreenCaptureTarget()

获取屏幕分享的目标采集源

addExcludedShareWindows()

将指定窗口加入屏幕分享的排除列表中

startScreenShare(dom)

开始屏幕分享

Parameters:
Name Type Description
dom

用于渲染分享画面的DOM节点,不需要渲染可以忽略

pauseScreenShare()

暂停屏幕分享

resumeScreenShare()

恢复屏幕分享

stopScreenShare()

停止屏幕分享

enableSystemAudioLoopback(enable)

控制是否分享系统声音

Parameters:
Name Type Description
enable

是否分享

startMusic()

播放背景音乐

stopMusic()

停止背景音乐

pauseMusic()

暂停背景音乐

resumeMusic()

恢复背景音乐

getMusicDuration()

获取音乐时长,单位毫秒

seekMusic()

设置背景音乐进度

setMusicVolume()

设置背景音乐的音量大小

loadVideo()

加载视频

playVideo()

开始播放视频

pauseVideo()

暂停播放视频

seekVideo()

视频进度跳转

setVideoVolume()

设置音量大小

stopVideo()

结束播放视频

startSubCamera()

打开辅助摄像头

stopSubCamera()

关闭辅助摄像头

setVirtualImg(flag, url)

设置虚拟背景

Parameters:
Name Type Default Description
flag

开关

url null

虚拟背景(为空时为背景虚化)

setBeautyParam(beauty, brightness, ruddy)

设置美颜

Parameters:
Name Type Description
beauty

美颜度( 0 - 1 ,推荐为 0.5 )

brightness

明亮度( 0 - 1 ,,推荐为 0.5 )

ruddy

红润度( 0 - 1 ,,推荐为 0.5 )

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Default Description
count

消息数量

nextMsgId null

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList()

获取课堂默认群组的消息列表

getBoard()

获取白板实例

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Default Description
event string

事件名称

message *
report true

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Default Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value null

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Default Description
name

状态名称

value

状态内容

caller

状态更新者

log true

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc)

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb()

是否Web端,含所有设备上使用浏览器载入的场景

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

isMiniprogramWebview() → {boolean}

是否小程序WebView

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

isSubWindow() → {boolean}

是否是子窗口

Returns:
Type
boolean

minimizeWindow()

窗口最小化或还原(只在桌面端有效)

maximizeWindow()

窗口最大化或还原(只在桌面端有效)

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

getToken() → {string}

获取当前token

Returns:

token

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass()

判断是否直播课

isInteractClass()

判断是互动班课

isCollegeClass()

判断是大教学课堂 针对联奕的老版本兼容,优先获取url 参数中的课堂类型

isVideoOnlyClass()

判断是纯视频课堂

isVideoDocClass()

判断是视频加文档课堂

isCoTeachingClass()

判断是否是双师课堂

isOneOnOneClass()

判断是否是1v1课堂

isUnitedClass()

判断是否为统一课堂

isUnitedRTCClass()

判断是否为统一课堂RTC观看类型

isUnitedLiveClass()

判断是否为统一课堂CDN观看类型

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable()

检查当前平台是否可用

openBrowser(url)

打开外部浏览器

Parameters:
Name Type Description
url string

网页地址

setDeviceOrientation(orientation)

设置设备方向

Parameters:
Name Type Description
orientation TDeviceOrientation

设备方向

checkNetworkConnection() → {boolean}

检查网络链接情况

Returns:
Type
boolean

checkBusinessServerConnection() → {Promise.<number>}

检查 aPaaS 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

checkNetworkPermission() → {Promise.<boolean>}

检查网络权限

Returns:
Type
Promise.<boolean>

checkMediaServerConnection() → {Promise.<number>}

检查 TRTC 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

getNetworkQuality() → {Promise.<TNetworkQuality>}

网络质量的判断方法

Returns:
Type
Promise.<TNetworkQuality>

getApiNetworkQuality() → {Promise.<TNetworkQuality>}

API网络接口质量

Returns:
Type
Promise.<TNetworkQuality>

checkDNSParsing() → {Promise.<number>}

检查DNS解析情况

Returns:

< 0 表示解析错误,> 0 表示解析成功的耗时

Type
Promise.<number>

_handleEnterRtcRoomFail()

进入音视频房间失败后的处理

_addClassVisibleChangeListener()

添加课堂可见性监听

_removeClassVisibleChangeListener()

移除课堂可见性监听

_onClassVisibleChange()

页面可见性变化通知

_updateClassInfo()

更新课堂信息

(static) instance() → {TMain}

返回该类实例

Returns:
Type
TMain

(static) registerComponent(name, component)

注册组件

Parameters:
Name Type Description
name string

组件名称

component

组件对象

getSystemInfo() → {Promise.<any>}

收集系统信息用于异常上报,该接口耗时较长(可能长达10秒以上),必须异步处理

Returns:
Type
Promise.<any>

getAppClientRect() → {DOMRect}

获取应用客户区矩形

Returns:

应用客户区矩形

Type
DOMRect

loadComponent(name, layout, parentDomId, label) → {Promise.<(HTMLElement|null)>}

加载组件

Parameters:
Name Type Description
name string

组件名称

layout TComponentLayout

初始布局

parentDomId string

父节点 ID

label string

标识

Returns:

HTML元素

Type
Promise.<(HTMLElement|null)>

updateComponent(name, layout, label)

更新组件

Parameters:
Name Type Description
name

组件名

layout

布局

label

标识

Returns:

Promise 更新是否成功

removeComponent(name, label)

移除组件

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:

移除组件是否成功

getComponent(name, label) → {HTMLElement}

获取组件

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:
Type
HTMLElement

getComponentLayout(name, label) → {TComponentLayout}

获取组件布局

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:
Type
TComponentLayout

getComponentClientRect(name, label) → {DOMRect}

获取组件客户区矩形

Parameters:
Name Type Description
name

组件名称

label

标识

Returns:

组件客户区矩形

Type
DOMRect

isComponentVisible(name, label) → {boolean}

检查组件是否可见状态

Parameters:
Name Type Description
name string

组件名称

label string

标识

Returns:

组件是否处于可见状态

Type
boolean

toggleComponentDraggable(name, label, draggable, domSelector, draggableRect)

启用或关闭组件DOM节点的拖动功能

Parameters:
Name Type Description
name string

组件名称

label string

标识

draggable

是否启用拖动

domSelector

要启用拖动功能的DOM节点选择器

draggableRect

可拖动区域,可传入矩形或函数,若传入函数类型,则每次用户拖动会调用该方法获取新的可拖动区域限制

addComponentEventListener(name, listener, label)

添加组件事件监听

Parameters:
Name Type Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string

标识

removeComponentEventListener(name, listener, label)

移除组件事件监听

Parameters:
Name Type Description
name string

组件名称

listener ComponentEventListener

事件监听器

label string

标识

getSeriousErrorTimes() → {number}

获取严重错误发生次数

Returns:
Type
number

isFeatureAvailable(feature) → {boolean}

检查指定功能特性是否可用

Parameters:
Name Type Description
feature
Returns:
Type
boolean

setFeatureAvailable(feature, available)

开启/关闭指定功能特性

Parameters:
Name Type Description
feature

指定功能特性

available

是否开启: true 开启, false 关闭

init(customJS, customCSS)

初始化(Demo演示用)

Parameters:
Name Type Description
customJS

自定义 JS

customCSS

自定义 CSS

showErrorMsg(message, detail, title, report, buttons, callback)

显示异常通知

Parameters:
Name Type Description
message

消息内容

detail

异常详情

title

消息标题

report

是否上报异常

buttons

按钮列表

callback

弹窗关闭回调

showErrorMsgBox(errorMsgBoxParams)

显示异常通知

Parameters:
Name Type Description
errorMsgBoxParams

showErrorMsg 参数的 Object 形式

showMessageBox(title, message, buttons, callback, options, exceptionId)

展示弹窗通知。该方法向UI层发送一个 Show_Msg_Box 事件,弹窗如何展示取决于UI层实现。

Parameters:
Name Type Description
title

消息标题

message

消息内容

buttons

按钮列表

callback

弹窗关闭回调

options

可选项列表

exceptionId

异常ID

Returns:

msgID 弹窗ID

getCurMessageBoxId()

获取当前弹窗 ID

Returns:

msgID 弹窗 ID

closeMessageBox(msgBoxId)

关闭弹窗通知。该方法向UI层发送一个 Close_Msg_Box 事件,弹窗如何关闭取决于UI层实现。

Parameters:
Name Type Description
msgBoxId

弹窗 ID

ignoreBackPressed(flag)

忽略移动端返回按钮事件

Parameters:
Name Type Description
flag

是否忽略移动端返回按钮事件

initialize(boardInitParams)

初始化

Parameters:
Name Type Description
boardInitParams

白板初始化参数,至少需要包含id字段,指定用于渲染白板的DOM节点

unInitialize() → {Promise.<void>}

结束课堂会话(离开课堂)

Returns:
Type
Promise.<void>

(async) reloadClass()

刷新课堂

getPermissionList()

获取当前权限列表

Returns:

PermissionInfo[] 权限列表数组

initSubWindowSelf()

弹窗初始化

showSubWindow(url, name, params, callback)

弹出二级页面

Parameters:
Name Type Description
url

地址

name

名称

params

参数

callback

回调

closeSubWindowSelf()

关闭二级页面自己(由二级页面调用)

sendCustomMessage(message)

发送消息到Native

Parameters:
Name Type Description
message

消息内容

setWaterMarkParam(param)

设置水印参数

Parameters:
Name Type Description
param TSchoolWaterMark

水印参数

getWaterMarkParam()

获取水印参数

getVersion()

获取版本信息

Returns:

string 版本号

getSDKVersion()

获取不带构建号的版本

Returns:

string 版本

getClientInfo()

获取客户端信息

setEnv(env)

设置环境(内部接口)

Parameters:
Name Type Description
env string
Returns:

string 环境标识

setLng(lng)

设置语言 (内部接口)

Parameters:
Name Type Description
lng

语言 zh-CN或en

reportEvent(name, data, code, timestamp)

事件上报

Parameters:
Name Type Description
name

事件名称

data

事件参数

code

事件返回错误码

timestamp

事件开始时间戳

reportLog(action, message)

日志上报

Parameters:
Name Type Description
action

动作名称

message

消息内容

reportException(id, data)

异常上报

Parameters:
Name Type Description
id

异常id

data

异常数据

clearHandUpMemberList()

清空举手成员列表

updateMemberListFilter(filter)

更新成员列表过滤参数

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

getClassMemberList(filter) → {Promise.<TGetMemberListResult>}

获取成员列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetMemberListResult>

getHandUpList(filter) → {Promise.<TGetHandUpListResult>}

获取举手列表

Parameters:
Name Type Description
filter TMemberListFilter

过滤参数

Returns:
Type
Promise.<TGetHandUpListResult>

memberLike(classId, likeNumber) → {Promise.<null>}

点赞接口

Parameters:
Name Type Description
classId classId

课堂 ID

likeNumber likeNumber

增加的点赞数

Returns:
Type
Promise.<null>

memberJoin(classId, platform, device, role, version) → {Promise.<TMemberJoinResult>}

加入课堂

Parameters:
Name Type Description
classId number

课堂 ID

platform number

平台

device number

设备类型

role number

角色

version string

版本号

Returns:
Type
Promise.<TMemberJoinResult>

memberAction(action) → {Promise.<void>}

成员操作

Parameters:
Name Type Description
action TMemberActionParam

操作

Returns:
Type
Promise.<void>

memberQuit(classId) → {Promise.<void>}

退出

Parameters:
Name Type Description
classId number

课堂 ID

Returns:
Type
Promise.<void>

startStageLoop(interval, member_number)

开启循环上台

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

stopStageLoop()

停止循环上台

updateStageLoop(interval, member_number)

更新循环上台参数

Parameters:
Name Type Description
interval

间隔

member_number

上台人数

lockStageLoop(userIds, lock)

锁定/解锁循环上台用户

Parameters:
Name Type Description
userIds

用户id列表

lock

是否锁定

createDocument(document) → {Promise.<TCreateDocumentResult>}

添加课件

Parameters:
Name Type Description
document TDocumentInfo

文档信息

Returns:
Type
Promise.<TCreateDocumentResult>

deleteDocument(docId) → {Promise.<void>}

删除课件

Parameters:
Name Type Description
docId string

文档 ID

Returns:
Type
Promise.<void>

getDocumentInfo(docId) → {Promise.<TDocumentInfo>}

查询课件

Parameters:
Name Type Description
docId string

文档 ID

Returns:
Type
Promise.<TDocumentInfo>

getDocumentListInfo(docIds) → {Promise.<TBatchDocumentInfo>}

批量查询课件

Parameters:
Name Type Description
docIds Array.<string>

文档ID列表

Returns:
Type
Promise.<TBatchDocumentInfo>

getDocumentList(documentParam) → {Promise.<TGetDocumentListResult>}

查询课件列表

Parameters:
Name Type Description
documentParam TGetDocumentListParam

查询参数

Returns:
Type
Promise.<TGetDocumentListResult>

bindDocumentToClass(docId) → {Promise.<void>}

关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

Returns:
Type
Promise.<void>

unbindDocumentToClass(docId) → {Promise.<void>}

取消关联课件到课堂

Parameters:
Name Type Description
docId string

课件id

Returns:
Type
Promise.<void>

uploadDocument(file, schoolId, readyCallback, progressCallback, responseCallback)

上传课件

Parameters:
Name Type Description
file File

上传的文件

schoolId number

学校 ID

readyCallback TUploadReadyCallback

准备上传回调

progressCallback TUploadProgressCallback

进度回调

responseCallback TUploadResponseCallback

结果回调

cancelUploadDocument(taskId)

取消上传课件

Parameters:
Name Type Description
taskId string

任务 ID

getClassMessageData() → {Promise.<TClassHistroyMessage>}

获取公开课历史消息

Returns:
Type
Promise.<TClassHistroyMessage>

getClassInfo() → {TClassInfo}

查询课堂详情

Returns:
Type
TClassInfo

getNameConfig()

获取课堂与角色名称信息

getRoleInfo() → {any}

获取课堂与角色名称信息,命名容易误解,请使用 getNameConfig

Returns:
Type
any

getUid() → {string}

查询自定义userId

Returns:
Type
string

getCid() → {string}

查询自定义classId

Returns:
Type
string

startClass() → {Promise.<void>}

开始上课

Returns:
Type
Promise.<void>

endClass() → {Promise.<void>}

停止上课

Returns:
Type
Promise.<void>

leaveClass()

请求退出课堂。该方法向UI层发送一个 Leave_Class 事件,由UI层自行决定如何处理该请求。

checkPermission(path, permission) → {boolean}

检查操作权限

Parameters:
Name Type Description
path

资源路径

permission

权限标识

Returns:
Type
boolean

silenceAll(silence) → {Promise.<void>}

全体禁言

Parameters:
Name Type Description
silence

是否禁言

Returns:
Type
Promise.<void>

setEnableStage(enable)

开/关 请求上麦逻辑

Parameters:
Name Type Description
enable

true : 开启; false:关闭

Returns:

sendCommand(req)

发送命令

Parameters:
Name Type Description
req TCommandReq

请求

Returns:

getUserCommand()

获取用户的命令及其状态

Returns:

getAllCommand(cmd)

获取命令对应的全部数据

Parameters:
Name Type Description
cmd
Returns:

enterRtcRoom(rtcMode, retryTypeopt) → {Promise.<void>}

进入音视频房间

Parameters:
Name Type Attributes Description
rtcMode
retryType string <optional>
Returns:
Type
Promise.<void>

quitRtcRoom() → {Promise.<void>}

退出音视频房间

Returns:
Type
Promise.<void>

isInRtcRoom()

是否已进入音视频房间

approveToStage(param)

学生直播课上台

Parameters:
Name Type Description
param any

待传参数

Returns:

hangupToStage(param)

Parameters:
Name Type Description
param any

待传参数

Returns:

muteAll(mute) → {Promise.<void>}

全员静音

Parameters:
Name Type Description
mute

是否静音

Returns:
Type
Promise.<void>

muteVideoAll(mute) → {Promise.<void>}

全员视频

Parameters:
Name Type Description
mute

是否关闭视频

Returns:
Type
Promise.<void>

revokeMessage(messageSeq) → {Promise.<void>}

撤回消息,仅老师可以撤回

Parameters:
Name Type Description
messageSeq number

消息 Seq

Returns:
Type
Promise.<void>

setClassLayout(layout, 是否要同步到远端) → {Promise.<void>}

Parameters:
Name Type Description
layout TClassLayout

课堂布局

是否要同步到远端 sync

true : 同步, false 不同步

Returns:
Type
Promise.<void>

getClassLayout() → {TClassLayout}

Returns:

layout 课堂布局

Type
TClassLayout

getSchoolInfo()

查询学校信息

getUserInfo(userId)

获取用户信息

Parameters:
Name Type Description
userId string

用户 ID

Returns:

Promise

getUserList(userIds) → {Promise.<TGetUserListResult>}

获取多个用户信息

Parameters:
Name Type Description
userIds Array.<string>

用户列表

Returns:
Type
Promise.<TGetUserListResult>

modifyUserProfile(userInfo) → {Promise.<TGetUserListResult>}

修改用户信息

Parameters:
Name Type Description
userInfo number

用户信息

Returns:
Type
Promise.<TGetUserListResult>

updateTask(taskId, content, duration, createOnly, bindingUser, enableCallback) → {Promise.<TTaskInfo>}

更新课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

content string

任务内容

duration number

任务持续时长,单位秒。-1表示不限时长。默认为-1

createOnly boolean

是否仅新建任务,如果任务已存在则失败

bindingUser string

生命周期绑定用户,如果用户离线则任务自动失效。默认为空字符串表示不绑定用户

enableCallback boolean false

是否回调 TaskUpdate 事件到当前应用的回调地址

Returns:
Type
Promise.<TTaskInfo>

stopTask(taskId) → {Promise.<TTaskInfo>}

停止课堂任务

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

getTasks(seq) → {Promise.<TGetTaskListResult>}

查询课堂任务

Parameters:
Name Type Description
seq number

开始的seq,返回大于seq的任务列表。最小值为0,默认为0

Returns:
Type
Promise.<TGetTaskListResult>

setResourceLimit(name, limit) → {Promise.<null>}

设置资源限制

Parameters:
Name Type Description
name string

资源名称

limit number

限制数量

Returns:
Type
Promise.<null>

requireResource(name) → {Promise.<null>}

获取资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

releaseResource(name) → {Promise.<null>}

释放资源

Parameters:
Name Type Description
name string

资源名称

Returns:
Type
Promise.<null>

getJoinRtt() → {number}

获取进房RTT

Returns:

服务器毫秒级时间

Type
number

getServerTimestamp() → {number}

获取近似的当前服务器时间

Returns:

服务器毫秒级时间

Type
number

getServerTimestampAfterJoin() → {number}

获取进房服务器时间

Returns:

服务器毫秒级时间

Type
number

createQuestion(question) → {Promise.<TCreateQuestionResult>}

创建提问

Parameters:
Name Type Description
question TCreateQuestionParam

问题参数

Returns:
Type
Promise.<TCreateQuestionResult>

answerQuestion(answer) → {Promise.<TAnswerQuestionResult>}

回答提问

Parameters:
Name Type Description
answer TAnswerQuestionParam

答案

Returns:
Type
Promise.<TAnswerQuestionResult>

stopQuestion(questionId) → {Promise.<void>}

停止答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

abandonQuestion(questionId) → {Promise.<void>}

取消答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

closeQuestion(questionId) → {Promise.<void>}

关闭答题

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<void>

getQuestionInfo(questionId) → {Promise.<TGetQuestionInfoResult>}

获取提问信息

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionInfoResult>

getQuestionResult(questionId) → {Promise.<TGetQuestionResultResult>}

获取提问结果

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionResultResult>

getQuestions() → {Promise.<TGetQuestionsResult>}

获取问题列表

Returns:
Type
Promise.<TGetQuestionsResult>

getMyQuestions() → {Promise.<TGetQuestionsResult>}

获取个人问题列表

Returns:
Type
Promise.<TGetQuestionsResult>

getQuestionStats(questionId) → {Promise.<TGetQuestionStatsResult>}

获取提问统计信息

Parameters:
Name Type Description
questionId string

问题ID

Returns:
Type
Promise.<TGetQuestionStatsResult>

setTranslate(state, lang) → {Promise.<void>}

设置翻译参数

Parameters:
Name Type Description
state string

开关状态,0关闭,1开启

lang string

语言

Returns:
Type
Promise.<void>

getTranslateConfig(taskId) → {Promise.<TTaskInfo>}

获取翻译参数

Parameters:
Name Type Description
taskId string

任务 ID

Returns:
Type
Promise.<TTaskInfo>

translate(classId, seq, from, message, lang, token) → {Promise.<void>}

Parameters:
Name Type Description
classId number

课堂 ID

seq number

消息 seq

from string

消息发送方

message string

消息内容

lang string

语言,en表示英文,zh表示中文.....

token string

msg

Returns:
Type
Promise.<void>

checkSystemRequirements()

检测当前系统环境

setLocalVideoParams(option) → {Promise.<void>}

设置本地视频参数

Parameters:
Name Type Description
option

本地视频参数

Returns:
Type
Promise.<void>

setVideoEncodeQuality(userId, highDefinition)

设置用户的视频编码清晰度

Parameters:
Name Type Description
userId string

要设置的用户ID

highDefinition boolean

是否启用高清晰度模式,启用高清晰度模式后,视频推流码率会增加一个级别

针对当前用户,影响视频推流码率 针对远端用户,影响Web端码率估算精准度

startLocalVideo(dom) → {Promise.<void>}

开启本地视频采集及渲染

Parameters:
Name Type Description
dom

用于渲染视频画面的DOM节点

Returns:
Type
Promise.<void>

stopLocalVideo() → {Promise.<void>}

关闭本地视频采集及渲染

Returns:
Type
Promise.<void>

muteLocalVideo(mute) → {Promise.<void>}

控制是否屏蔽自己的视频画面,屏蔽后不推流

Parameters:
Name Type Description
mute

是否屏蔽

Returns:
Type
Promise.<void>

bindRemoteVideoDom(userId, type, dom, fullMode)

绑定远端视频画面DOM节点(有流则自动渲染)

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

dom

用于渲染视频画面的DOM节点

fullMode

是否使用全屏模式渲染

unbindRemoteVideoDom(userId, type, sequence)

解绑远端视频画面DOM节点

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

sequence

muteAllRemoteAudio(mute)

是否屏蔽所有远端音频

Parameters:
Name Type Description
mute boolean

是否屏蔽

pauseVideoRender(userId, streamType)

暂停渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resumeVideoRender(userId, streamType)

恢复渲染

Parameters:
Name Type Description
userId

要处理的用户id

streamType

要处理的视频流类型

resetVideoRender(userId, type)

重置视频渲染

Parameters:
Name Type Description
userId

要处理的用户ID

type

要处理的视频流类型

snapshotVideo(userId, streamType) → {Promise.<TTrtcSnapshot>}

视频截图

Parameters:
Name Type Description
userId

要处理的用户ID

streamType

要处理的视频流类型

Returns:
Type
Promise.<TTrtcSnapshot>

startLocalAudio(dom) → {Promise.<void>}

开始本地音频采集

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

Returns:
Type
Promise.<void>

stopLocalAudio() → {Promise.<void>}

停止本地音频采集

Returns:
Type
Promise.<void>

muteLocalAudio(mute) → {Promise.<void>}

控制是否屏蔽自己的声音

Parameters:
Name Type Description
mute

是否屏蔽

Returns:
Type
Promise.<void>

enableVolumeEvaluation(interval) → {Promise.<void>}

开启音量大小回调,回调直接通过事件抛出

Parameters:
Name Type Description
interval

回调间隔(最小100ms,0为关闭)

Returns:
Type
Promise.<void>

startCameraTest(dom) → {Promise.<void>}

开始摄像头设备测试

Parameters:
Name Type Description
dom

用于渲染摄像头画面的DOM节点

Returns:
Type
Promise.<void>

stopCameraTest() → {Promise.<void>}

停止摄像头设备测试

Returns:
Type
Promise.<void>

startMicTest(dom) → {Promise.<void>}

开始麦克风设备测试

Parameters:
Name Type Description
dom

用于插入音频元素的DOM节点,只有Web端需要

Returns:
Type
Promise.<void>

stopMicTest() → {Promise.<void>}

停止麦克风设备测试

Returns:
Type
Promise.<void>

startSpeakerTest(path) → {Promise.<void>}

开启扬声器设备测试

Parameters:
Name Type Description
path

要播放的声音文件路径

Returns:
Type
Promise.<void>

stopSpeakerTest() → {Promise.<void>}

停止扬声器设备测试

Returns:
Type
Promise.<void>

getCameras() → {Promise.<Array>}

获取摄像头设备列表

Returns:
Type
Promise.<Array>

switchCamera(deviceId) → {Promise.<void>}

切换使用的摄像头设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getCameraDeviceId() → {Promise.<string>}

获取正在使用的摄像头设备ID

Returns:
Type
Promise.<string>

getMics() → {Promise.<Array>}

获取麦克风设备列表

Returns:
Type
Promise.<Array>

switchMic(deviceId) → {Promise.<void>}

切换使用的麦克风设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getMicDeviceId() → {Promise.<string>}

获取正在使用的麦克风设备ID

Returns:
Type
Promise.<string>

setMicVolume(volume) → {Promise.<void>}

设置正在使用的麦克风设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

Returns:
Type
Promise.<void>

getMicVolume() → {Promise.<number>}

获取正在使用的麦克风设备音量

Returns:
Type
Promise.<number>

getRealMicVolume() → {Promise.<number>}

获取正在使用的麦克风设备音量

Returns:
Type
Promise.<number>

getSpeakers() → {Promise.<Array>}

获取扬声器设备列表

Returns:
Type
Promise.<Array>

switchSpeaker(deviceId) → {Promise.<void>}

切换使用的扬声器设备

Parameters:
Name Type Description
deviceId

要切换的设备ID

Returns:
Type
Promise.<void>

getSpeakerDeviceId() → {Promise.<string>}

获取正在使用的扬声器设备ID

Returns:
Type
Promise.<string>

setSpeakerVolume(volume) → {Promise.<void>}

设置正在使用的扬声器设备音量

Parameters:
Name Type Description
volume

要设置的音量大小

Returns:
Type
Promise.<void>

getSpeakerVolume() → {Promise.<number>}

获取正在使用的扬声器设备音量

Returns:
Type
Promise.<number>

isScreenShareSupported() → {Promise.<boolean>}

检查当前平台是否支持屏幕分享

Returns:
Type
Promise.<boolean>

hasScreenCapturePermission() → {Promise.<boolean>}

检查屏幕分享权限

Returns:
Type
Promise.<boolean>

getScreenCaptureSources() → {Promise.<Array>}

获取屏幕分享屏幕采集源列表

Returns:
Type
Promise.<Array>

selectScreenCaptureTarget(sources, captureMouse, highlightWindow) → {Promise.<void>}

选择要进行屏幕分享的目标采集源

Parameters:
Name Type Description
sources

要分享的采集源

captureMouse

是否捕获鼠标

highlightWindow

是否高亮选择区域

Returns:
Type
Promise.<void>

getScreenCaptureTarget() → {TScreenCaptureSourceInfo}

获取屏幕分享的目标采集源

Returns:
Type
TScreenCaptureSourceInfo

addExcludedShareWindows(sourceIds) → {Promise.<void>}

将指定窗口加入屏幕分享的排除列表中

Parameters:
Name Type Description
sourceIds Array
Returns:
Type
Promise.<void>

startScreenShare(dom) → {Promise.<void>}

开始屏幕分享

Parameters:
Name Type Description
dom

用于渲染分享画面的DOM节点,不需要渲染可以忽略

Returns:
Type
Promise.<void>

pauseScreenShare() → {Promise.<void>}

暂停屏幕分享

Returns:
Type
Promise.<void>

resumeScreenShare() → {Promise.<void>}

恢复屏幕分享

Returns:
Type
Promise.<void>

stopScreenShare() → {Promise.<void>}

停止屏幕分享

Returns:
Type
Promise.<void>

enableSystemAudioLoopback(enable) → {Promise.<void>}

控制是否分享系统声音

Parameters:
Name Type Description
enable

是否分享

Returns:
Type
Promise.<void>

startMusic(documentId, url) → {Promise.<boolean>}

播放背景音乐

Parameters:
Name Type Description
documentId string
url string
Returns:
Type
Promise.<boolean>

stopMusic() → {void}

停止背景音乐

Returns:
Type
void

pauseMusic() → {void}

暂停背景音乐

Returns:
Type
void

resumeMusic() → {void}

恢复背景音乐

Returns:
Type
void

getMusicDuration() → {number}

获取音乐时长,单位毫秒

Returns:
Type
number

seekMusic(pts) → {void}

设置背景音乐进度

Parameters:
Name Type Description
pts number
Returns:
Type
void

setMusicVolume(volume) → {void}

设置背景音乐的音量大小

Parameters:
Name Type Description
volume number
Returns:
Type
void

loadVideo(dom, url) → {Promise.<void>}

加载视频

Parameters:
Name Type Description
dom HTMLElement
url string
Returns:
Type
Promise.<void>

playVideo() → {Promise.<void>}

开始播放视频

Returns:
Type
Promise.<void>

pauseVideo() → {Promise.<void>}

暂停播放视频

Returns:
Type
Promise.<void>

seekVideo(time) → {Promise.<void>}

视频进度跳转

Parameters:
Name Type Description
time number
Returns:
Type
Promise.<void>

setVideoVolume(volume) → {Promise.<void>}

设置音量大小

Parameters:
Name Type Description
volume number
Returns:
Type
Promise.<void>

stopVideo() → {Promise.<void>}

结束播放视频

Returns:
Type
Promise.<void>

startSubCamera(dom, deviceIndex, resolution) → {Promise.<void>}

打开辅助摄像头

Parameters:
Name Type Description
dom HTMLElement
deviceIndex number
resolution TTrtcVideoResolution
Returns:
Type
Promise.<void>

stopSubCamera() → {Promise.<void>}

关闭辅助摄像头

Returns:
Type
Promise.<void>

setVirtualImg(flag, url) → {Promise.<void>}

设置虚拟背景

Parameters:
Name Type Description
flag

开关

url

虚拟背景(为空时为背景虚化)

Returns:
Type
Promise.<void>

setBeautyParam(beauty, brightness, ruddy) → {Promise.<void>}

设置美颜

Parameters:
Name Type Description
beauty

美颜度( 0 - 1 ,推荐为 0.5 )

brightness

明亮度( 0 - 1 ,,推荐为 0.5 )

ruddy

红润度( 0 - 1 ,,推荐为 0.5 )

Returns:
Type
Promise.<void>

sendGroupCustomMessage(ext, data) → {Promise.<TIMMsg>}

发送群组自定义消息

Parameters:
Name Type Description
ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupTextMessage(text) → {Promise.<TIMMsg>}

发送群组文本消息

Parameters:
Name Type Description
text string

文本消息

Returns:

返回结果

Type
Promise.<TIMMsg>

sendGroupImgMessage(fileObj) → {Promise.<TIMMsg>}

发送群组图片消息

Parameters:
Name Type Description
fileObj File

图片 File 对象

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CTextMessage(userId, text) → {Promise.<TIMMsg>}

发送C2C文本消息

Parameters:
Name Type Description
userId string

用户 ID

text string

文本内容

Returns:

返回结果

Type
Promise.<TIMMsg>

sendC2CCustomMessage(userId, ext, data) → {Promise.<TIMMsg>}

发送C2C自定义消息

Parameters:
Name Type Description
userId string

用户ID

ext string

扩展标识

data string

内容

Returns:

返回结果

Type
Promise.<TIMMsg>

getMessageList(count, nextMsgId)

拉取消息列表

Parameters:
Name Type Description
count

消息数量

nextMsgId

起始消息id

markMessageAsRead(msgSeq)

标记指定消息为已读消息

Parameters:
Name Type Description
msgSeq

消息序列号

markAllMessagesAsRead()

标记所有消息为已读消息

getIMMsgList() → {Array}

获取课堂默认群组的消息列表

Returns:
Type
Array

getBoard()

获取白板实例

notify(event, message, report)

消息广播(仅当前窗口收到)

Parameters:
Name Type Description
event string

事件名称

message *
report

是否上报事件

emit(event, message)

广播消息(主窗口和弹窗均可收到)

Parameters:
Name Type Description
event string

事件名称

message *

消息内容

on(event, listener, options)

事件监听

Parameters:
Name Type Description
event

事件

listener

回调

options

监听选项

Returns:

是否成功

off(event, listener, options)

移除事件回调

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

one(event, listener, options)

一次性事件监听

Parameters:
Name Type Description
event

事件名称

listener

回调

options

监听选项

Returns:

是否成功

registerState(name, desc, value, validCallers)

注册状态

Parameters:
Name Type Description
name

状态名称

desc

状态说明,必须传入长度>=4的字符串

value

状态初始值

validCallers

状态可写者数组

setState(name, value, caller, log)

更新状态

Parameters:
Name Type Description
name

状态名称

value

状态内容

caller

状态更新者

log

是否打印日志

getState(name, defaultValue)

读取状态

Parameters:
Name Type Description
name

状态名称

defaultValue

默认返回值(组件未注册时返回)

subscribeState(name, listener, options)

订阅状态变更

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

unsubscribeState(name, listener, options)

取消状态订阅

Parameters:
Name Type Description
name

状态名称

listener

状态更新回调

options

状态监听选项

promiseState(name, exceptValue, equalFunc) → {Promise.<void>}

确认状态值符合预期

Parameters:
Name Type Description
name

状态名称

exceptValue

预期的状态值

equalFunc

状态值比较函数,默认使用 === 进行比较

Returns:
Type
Promise.<void>

supportTouch() → {boolean}

是否支持触摸事件

Returns:
Type
boolean

isElectron() → {boolean}

是否Electron端

Returns:
Type
boolean

isWin32Electron() → {boolean}

是否Win32客户端

Returns:
Type
boolean

isWeb() → {boolean}

是否Web端,含所有设备上使用浏览器载入的场景

Returns:
Type
boolean

isAndroid() → {boolean}

是否Android端,含Native和Web加载两种场景

Returns:
Type
boolean

isIOS() → {boolean}

是否iOS端,含Native和Web加载两种场景

Returns:
Type
boolean

getIOSVersion() → {Array.<string>}

获取IOS版本号

Returns:
Type
Array.<string>

isPad() → {boolean}

是否大屏(平板或电视),含Native和Web加载两种场景

Returns:
Type
boolean

isMac() → {boolean}

是否Mac端,含Native和Web加载两种场景

Returns:
Type
boolean

isWindows() → {boolean}

是否Windows端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobile() → {boolean}

是否移动端,含Native和Web加载两种场景

Returns:
Type
boolean

isMobileNative() → {boolean}

是否Native移动端

Returns:
Type
boolean

isMiniprogram() → {boolean}

是否小程序

Returns:
Type
boolean

isMiniprogramWebview() → {boolean}

是否小程序WebView

Returns:
Type
boolean

initParams(query)

初始化缓存参数

Parameters:
Name Type Description
query string

&符号分割的参数列表(URL内的query串格式),若未传该参数,取当前页面URL的query串

getParams(key, defValue)

获取参数

Parameters:
Name Type Description
key

参数名称

defValue

默认值

setParams(key, value)

设置参数

Parameters:
Name Type Description
key

参数名称

value

参数值

isSubWindow() → {boolean}

是否是子窗口

Returns:
Type
boolean

minimizeWindow()

窗口最小化或还原(只在桌面端有效)

maximizeWindow()

窗口最大化或还原(只在桌面端有效)

getLanguage() → {string}

获取当前UI语言类型

Returns:

语言类型

Type
string

getUserId() → {string}

获取当前用户 ID

Returns:

用户 ID

Type
string

getToken() → {string}

获取当前token

Returns:

token

Type
string

isTeacher() → {boolean}

判断是否是老师

Returns:
Type
boolean

isSupervisor() → {boolean}

判断是否巡课

Returns:
Type
boolean

isAssistant() → {boolean}

判断是否助教

Returns:
Type
boolean

isStudent() → {boolean}

判断是否是学生

Returns:
Type
boolean

isVisitor() → {boolean}

判断是否是访客

Returns:
Type
boolean

isLiveClass() → {boolean}

判断是否直播课

Returns:
Type
boolean

isInteractClass() → {boolean}

判断是互动班课

Returns:
Type
boolean

isCollegeClass() → {boolean}

判断是大教学课堂 针对联奕的老版本兼容,优先获取url 参数中的课堂类型

Returns:
Type
boolean

isVideoOnlyClass() → {boolean}

判断是纯视频课堂

Returns:
Type
boolean

isVideoDocClass() → {boolean}

判断是视频加文档课堂

Returns:
Type
boolean

isCoTeachingClass() → {boolean}

判断是否是双师课堂

Returns:
Type
boolean

isOneOnOneClass() → {boolean}

判断是否是1v1课堂

Returns:
Type
boolean

isUnitedClass() → {boolean}

判断是否为统一课堂

Returns:
Type
boolean

isUnitedRTCClass() → {boolean}

判断是否为统一课堂RTC观看类型

Returns:
Type
boolean

isUnitedLiveClass() → {boolean}

判断是否为统一课堂CDN观看类型

Returns:
Type
boolean

getPlatformInfo()

获取当前平台类型和设备类型

isPlatformAvailable() → {boolean}

检查当前平台是否可用

Returns:
Type
boolean

openBrowser(url)

打开外部浏览器

Parameters:
Name Type Description
url string

网页地址

setDeviceOrientation(orientation) → {Promise.<void>}

设置设备方向

Parameters:
Name Type Description
orientation TDeviceOrientation

设备方向

Returns:
Type
Promise.<void>

checkNetworkConnection() → {boolean}

检查网络链接情况

Returns:
Type
boolean

checkBusinessServerConnection() → {Promise.<number>}

检查 aPaaS 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

checkNetworkPermission() → {Promise.<boolean>}

检查网络权限

Returns:
Type
Promise.<boolean>

checkMediaServerConnection() → {Promise.<number>}

检查 TRTC 服务器链接情况

Returns:

< 0 表示链接错误,> 0 表示链接成功的耗时

Type
Promise.<number>

getNetworkQuality(rtt, loss) → {Promise.<TNetworkQuality>}

网络质量的判断方法

Parameters:
Name Type Description
rtt number
loss number
Returns:
Type
Promise.<TNetworkQuality>

getApiNetworkQuality(rtt) → {Promise.<TNetworkQuality>}

API网络接口质量

Parameters:
Name Type Description
rtt number
Returns:
Type
Promise.<TNetworkQuality>

checkDNSParsing() → {Promise.<number>}

检查DNS解析情况

Returns:

< 0 表示解析错误,> 0 表示解析成功的耗时

Type
Promise.<number>

(protected) _getClassName()

获取类名