TEduBoard

TEduBoard

new TEduBoard()

TEduBoard

Properties:
Name Type Description
initParams object

白板初始化参数

Properties
Name Type Attributes Description
id string

白板渲染的 dom 节点 ID

classId number

课堂 ID

sdkAppId number

腾讯云应用的唯一标识,可登录 实时音视频控制台 查看

userId string

用户名

userSig string

登录鉴权信息

config object <optional>

常规配置参数

Properties
Name Type Attributes Default Description
ratio string <optional>
'16:9'

默认白板宽高比(可传格式如“4:3”、“16:9”的字符串)

scale number <optional>
100

白板默认缩放系数,实际缩放倍数为 scale/100

toolType number <optional>
TEDU_BOARD_TOOL_TYPE_PEN

初始 白板工具类型

boardContentFitMode number <optional>
TEDU_BOARD_CONTENT_FIT_MODE_NONE

白板内容自适应模式

preloadDepth number <optional>
5

图片预加载深度,默认值 5,表示预加载当前页前后5页的图片

proxyServer string <optional>
''

是否为白板服务设置代理服务器,传入一个JSON格式字符串。白板服务类型可参考服务类型,JSON格式可参考setProxyServer接口

syncFps number <optional>
5

信令同步频率,该值的允许范围为 [5, 20]

progressBarUrl string <optional>
''

自定义加载图标,在 progressEnable = true 时生效,支持 jpg、gif、png、svg

autoHideRemoteCursorTimeout number <optional>
2000

远端隐藏画笔时间(毫秒)

scaleRange Array.<number> <optional>
[100, 1600]

白板缩放范围,百分比形式,100表示100%,无缩放

offlineWarningTimeout number <optional>
180

白板离线告警时间间隔,单位(秒)

h5PPTLoadTimeout number <optional>
10

H5 PPT加载超时时间,单位(秒)

h5PPTResourceTimeout number <optional>
10

H5 PPT内部资源加载超时时间,单位(秒)

h5PPTDownGradeTimeoutTimes number <optional>
0

H5 PPT资源加载超时次数,超过设定默认次数,降级为缩略图显示,默认为0,不做降级处理

userConfig object <optional>

用户配置参数

Properties
Name Type Attributes Default Description
nickname string <optional>
''

当前白板用户昵称

styleConfig object <optional>

样式配置参数

Properties
Name Type Attributes Default Description
textStyle number <optional>
TEDU_BOARD_TEXT_STYLE_NORMAL

文本样式

textSize number <optional>
320

文本大小,实际像素值取值(textSize * 白板的高度 / 10000)px

textColor string <optional>
'#000000'

文本颜色

brushColor string <optional>
'#ff0000'

画笔颜色

brushThin number <optional>
100

画笔粗细,实际像素值取值(brushThin * 白板的高度 / 10000)px

globalBackgroundColor string <optional>
'#ffffff'

全局背景色

globalBackgroundPic BackgroundImageInfo <optional>
{}

全局背景图

selectBoxColor string <optional>
'#ff0000'

选框颜色,包括选框上的旋转按钮

selectAnchorColor string <optional>
'#ff0000'

选框缩放控制点颜色

cursorSize Array.<number> <optional>
[-Infinity, Infinity]

画笔大小限制

scrollbarThumbColor string <optional>
'#0000001f'

滚动条滑块颜色

scrollbarTrackColor string <optional>
'#0000000f'

滚动条滑轨颜色

authConfig object <optional>

权限配置参数

Properties
Name Type Attributes Default Description
drawEnable boolean <optional>
true

是否允许涂鸦

dataSyncEnable boolean <optional>
true

是否启用数据同步,禁用后将导致本地白板操作不会被同步给远端

progressEnable boolean <optional>
false

是否启用SDK内置Loading图标

systemCursorEnable boolean <optional>
false

是否启用原生系统光标,该参数说明具体请看setSystemCursorEnable接口

enableScaleTool boolean <optional>
true

是否启用白板缩放移动工具的缩放功能,当设置为false,切换到缩放移动工具时缩放功能不可用

isAutoHideRemoteCursor boolean <optional>
false

远端画笔不动2秒后是否自动隐藏

showRemoteSelectBox boolean <optional>
false

是否显示远端选框

showLocalOperator boolean <optional>
false

是否显示本地操作信息(选框工具选中白板元素显示白板元素的创建者)

showRemoteOperator boolean <optional>
false

是否显示远端操作信息(远端使用选框工具时,本地显示远端用户操作的白板元素)

showCursorOnTouch boolean <optional>
false

是否在移动端上显示画笔

pinchToZoomEnable boolean <optional>
false

在任意工具下开启双指缩放

mathGraphEnable boolean <optional>
false

是否预加载数学函数图像库

formulaEnable boolean <optional>
false

是否预加载公式库

customCursorIcon boolean <optional>
false

是否自定义鼠标Icon,默认false显示系统自带,true时需要根据返回的鼠标位置,自定义鼠标样式

imageCursorEnable boolean <optional>
false

全量启用光标使用图片模拟实现,不使用系统光标;例如在OBS浏览器中,由于OBS浏览器不会显示系统光标,导致设置的白板工具光标无效的场景使用

remoteCursorVisible object <optional>

画笔模式下远端画笔是否显示

Properties
Name Type Attributes Default Description
drawing boolean <optional>
true

处于正在绘制状态

moving boolean <optional>
true

处于正在移动状态

elementOperationAuthority object <optional>

设置白板元素操作权限

Properties
Name Type Attributes Description
line ElementOperationAuthority <optional>

画笔涂鸦元素(包括画笔,荧光笔)

graph ElementOperationAuthority <optional>

图形涂鸦元素(包括直线,圆,椭圆,矩形,圆锥,三角形等几何图形)

text ElementOperationAuthority <optional>

文本元素

formula ElementOperationAuthority <optional>

数学公式

watermark ElementOperationAuthority <optional>

水印元素

customGraph ElementOperationAuthority <optional>

自定义图形

image ElementOperationAuthority <optional>

图片元素

h5 ElementOperationAuthority <optional>

网页元素

mathTool ElementOperationAuthority <optional>

数学教具(直尺,三角板,量角器,圆规)

audio ElementOperationAuthority <optional>

音频元素

mathBoard ElementOperationAuthority <optional>

数学画板

magicLine ElementOperationAuthority <optional>

魔法笔

mouseToolBehavior object

设置鼠标工具行为

Properties
Name Type Description
turnPage object

设置鼠标工具翻页行为

Properties
Name Type Description
whiteBoard boolean

设置鼠标工具在普通白板翻页行为, 默认为true

h5PPT boolean

设置鼠标工具在动态ppt转码的文件翻页行为, 默认为true

imgPPT boolean

设置鼠标工具在静态ppt转码文件翻页行为, 默认为true

imgFile boolean

设置鼠标工具在图片文件(addImagesFile接口添加的文件)翻页行为, 默认为true

customServerConfig object

自定义服务配置,在特定场景下使用,正常场景下不需要配置

Properties
Name Type Description
serverHost string

白板后台服务host,必填,需要带上协议 如 http://123.456.789.0:3456

serverPath string

白板后台服务路径,选填,该参数会拼接在serverHost 如:/xxxx/tiw,最终请求为:http://123.456.789.0:3456/xxxx/tiw

resourceHost string

白板SDK资源包部署服务的host,选填,需要带上协议,http://123.4.5.6:8081

token string

jwt鉴权token,会携带在白板后台服务请求的header中,选填,如果业务侧需要对请求进行鉴权,可配置此参数

Example
var teduBoard = new TEduBoard(initParams);

Members

(static, constant) EVENT :string

Properties:
Name Type value Description
TEB_INIT string TEB_INIT

白板初始化事件

TEB_ERROR string TEB_ERROR

白板错误

TEB_WARNING string TEB_WARNING

白板告警

TEB_SYNCDATA string TEB_SYNCDATA

白板同步数据

TEB_HISTROYDATA_SYNCCOMPLETED string TEB_HISTROYDATA_SYNCCOMPLETED

白板历数数据加载完成

TEB_OPERATE_CANUNDO_STATUS_CHANGED string TEB_OPERATE_CANUNDO_STATUS_CHANGED

白板可撤销状态改变

TEB_OPERATE_CANREDO_STATUS_CHANGED string TEB_OPERATE_CANREDO_STATUS_CHANGED

白板可恢复状态改变

TEB_IMAGE_STATUS_CHANGED string TEB_IMAGE_STATUS_CHANGED

白板背景图片加载状态

TEB_H5BACKGROUND_STATUS_CHANGED string TEB_H5BACKGROUND_STATUS_CHANGED

白板背景H5加载状态

TEB_H5FILE_STATUS_CHANGED string TEB_H5FILE_STATUS_CHANGED

白板H5文件加载状态

TEB_VIDEO_STATUS_CHANGED string TEB_VIDEO_STATUS_CHANGED

视频播放状态

TEB_AUDIO_STATUS_CHANGED string TEB_AUDIO_STATUS_CHANGED

媒体播放状态

TEB_FILEUPLOADSTATUS string TEB_FILEUPLOADSTATUS

文件上传状态

TEB_H5PPT_STATUS_CHANGED string TEB_H5PPT_STATUS_CHANGED

动画ppt加载状态回调

TEB_ADDBOARD string TEB_ADDBOARD

新增白板事件

TEB_DELETEBOARD string TEB_DELETEBOARD

删除白板回调

TEB_GOTOBOARD string TEB_GOTOBOARD

跳转白板页回调

TEB_ADDH5PPTFILE string TEB_ADDH5PPTFILE

新增动画PPT文件事件

TEB_ADDFILE string TEB_ADDFILE

新增普通文件事件

TEB_DELETEFILE string TEB_DELETEFILE

删除文件事件

TEB_SWITCHFILE string TEB_SWITCHFILE

切换文件事件

TEB_SETBACKGROUNDIMAGE string TEB_SETBACKGROUNDIMAGE

设置白板背景图片回调

TEB_FILEUPLOADPROGRESS string TEB_FILEUPLOADPROGRESS

文件上传进度

TEB_ADDTRANSCODEFILE string TEB_ADDTRANSCODEFILE

增加转码文件回调

TEB_GOTOSTEP string TEB_GOTOSTEP

动画PPT步数变化回调

TEB_TRANSCODEPROGRESS string TEB_TRANSCODEPROGRESS

转码进度回调

TEB_VODEXTPARAM string TEB_VODEXTPARAM

需要设置点播视频的额外参数回调

TEB_ADDIMAGEELEMENT string TEB_ADDIMAGEELEMENT

添加图片元素回调

TEB_ADDIMAGESFILE string TEB_ADDIMAGESFILE

增加图片文件回调

TEB_RECTSELECTED string TEB_RECTSELECTED

已废弃,请使用TEB_SELECTED_ELEMENTS

TEB_ADDELEMENT string TEB_ADDELEMENT

增加元素回调

TEB_REFRESH string TEB_REFRESH

刷新白板回调

TEB_SNAPSHOT string TEB_SNAPSHOT

截图回调

TEB_REPORT_LOG string TEB_REPORT_LOG

白板日志

TEB_REMOVEELEMENT string TEB_REMOVEELEMENT

元素删除回调

TEB_BOARD_SCALE_CHANGE string TEB_BOARD_SCALE_CHANGE

白板缩放回调

TEB_TEXT_COMPONENT_STATUS_CHANGE string TEB_TEXT_ELEMENT_STATUS_CHANGED

已废弃,请使用TEB_TEXT_ELEMENT_STATUS_CHANGED

TEB_TEXT_ELEMENT_STATUS_CHANGED string TEB_TEXT_ELEMENT_STATUS_CHANGED

文本组件状态回调

TEB_IMAGE_ELEMENT_STATUS_CHANGED string TEB_IMAGE_ELEMENT_STATUS_CHANGED

白板图片元素加载状态

TEB_TEXT_ELEMENT_WARNING string TEB_TEXT_ELEMENT_WARNING

白板文字工具异常警告

TEB_SELECTED_ELEMENTS string TEB_SELECTED_ELEMENTS

框选工具选中元素回调

TEB_MATH_GRAPH_EVENT string TEB_MATH_GRAPH_EVENT

数学函数图像工具事件回调

TEB_ZOOM_DRAG_STATUS string TEB_ZOOM_DRAG_STATUS

远端白板缩放移动状态回调

TEB_OFFLINE_WARNING string TEB_OFFLINE_WARNING

白板离线告警

TEB_BOARD_REMARK_CHANGED string TEB_BOARD_REMARK_CHANGED

白板备注变更回调

TEB_CLASS_GROUP_STATUS_CHANGED string TEB_CLASS_GROUP_STATUS_CHANGED

分组讨论状态变更

TEB_BOARD_SCROLL_CHANGED string TEB_BOARD_SCROLL_CHANGED

白板移动回调

TEB_BOARD_CURSOR_POSITION string TEB_BOARD_CURSOR_POSITION

光标位置回调

TEB_FIRST_FRAME_RENDERED string TEB_FIRST_FRAME_RENDERED
TEB_BOARD_TOOLTYPE_CHANGE string TEB_BOARD_TOOLTYPE_CHANGE
TEB_BOARD_ELEMENT_POSITION_CHANGE string TEB_BOARD_ELEMENT_POSITION_CHANGE

元素位置发生改变回调

TEB_BOARD_AUDIOCONTROL_ENABLE_CHANGE string TEB_BOARD_AUDIOCONTROL_ENABLE_CHANGE
TEB_BOARD_PERMISSION_DENIED string TEB_BOARD_PERMISSION_DENIED

权限不足回调

TIW_HIDE_LASER_DATA string TIW_HIDE_LASER_DATA
TIW_RESET_DATA string TIW_RESET_DATA
TIW_DESTROY string TIW_DESTROY
TIW_USERINFO_CHANGE string TIW_USERINFO_CHANGE
TEB_DRAW_FACE string TEB_DRAW_FACE
TEB_BOARD_PERMISSION_CHANGED string TEB_BOARD_PERMISSION_CHANGED

权限变更通知

TEB_BOARD_IMPORTINLOCALMODE_COMPLETED string TEB_BOARD_IMPORTINLOCALMODE_COMPLETED

导入数据(本地模式)完成

TEB_H5PPT_MEDIA_STATUS_CHANGED string TEB_H5PPT_MEDIA_STATUS_CHANGED

动画ppt媒体状态回调

TEB_BOARD_ELEMENT_LOCKED_CHANGED string TEB_BOARD_ELEMENT_LOCKED_CHANGED

白板元素锁定状态变更

TEB_BOARD_LINUX_FORCE_REFRESH string TEB_BOARD_LINUX_FORCE_REFRESH
TEB_DRAW_STATUS_CHANGED string TEB_DRAW_STATUS_CHANGED

绘画动作状态切换事件

TEB_H5PPT_DOWN_GRADE string TEB_H5PPT_DOWN_GRADE

h5ppt页面降级为缩略图展示

TEB_H5PPT_DOWN_GRADE_INTERNAL_OPERATOR string TEB_H5PPT_DOWN_GRADE_INTERNAL_OPERATOR

h5ppt页面降级为缩略图SDK内部操作通知,不对外使用

白板事件类型

Type:
  • string

(static, constant) TEduBoardAccessibleOperation :number

Properties:
Name Type value Description
TEDU_BOARD_OPERATION_ALL number 0

全部操作

TEDU_BOARD_OPERATION_MOVE number 1

移动

TEDU_BOARD_OPERATION_DELETE number 2

删除

TEDU_BOARD_OPERATION_SCALE number 3

缩放

TEDU_BOARD_OPERATION_ROTATE number 4

旋转

TEDU_BOARD_OPERATION_SELECTED number 5

选中

TEDU_BOARD_OPERATION_ADD number 6

添加 (课件,涂鸦, 白板元素)

互动白板可操作权限

Type:
  • number

(static, constant) TEduBoardArrowType :number

Properties:
Name Type value Description
TEDU_BOARD_ARROW_TYPE_NONE number 1

无箭头

TEDU_BOARD_ARROW_TYPE_NORMAL number 2

普通箭头

TEDU_BOARD_ARROW_TYPE_SOLID number 3

实心箭头

箭头类型

Type:
  • number

(static, constant) TEduBoardAudioStatus :number

Properties:
Name Type value Description
TEDU_BOARD_AUDIO_STATUS_ERROR number 1

媒体播放错误。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_AUDIO_STATUS_LOADING number 2

媒体加载中

TEDU_BOARD_AUDIO_STATUS_LOADED number 3

媒体加载完成

TEDU_BOARD_AUDIO_STATUS_PLAYED number 4

媒体开始播放

TEDU_BOARD_AUDIO_STATUS_TIMEUPDATE number 5

媒体进度更新

TEDU_BOARD_AUDIO_STATUS_PAUSED number 6

媒体暂停播放

TEDU_BOARD_AUDIO_STATUS_SEEKED number 7

媒体跳转进度完成

TEDU_BOARD_AUDIO_STATUS_ENDED number 8

媒体播放结束

TEDU_BOARD_AUDIO_STATUS_WAITING number 9

媒体缓冲中 2.5.3版本支持

TEDU_BOARD_AUDIO_STATUS_PLAYING number 10

媒体缓冲完成 2.5.3版本支持

媒体播放状态

Type:
  • number

(static, constant) TEduBoardBackgroundH5Status :number

Properties:
Name Type value Description
TEDU_BOARD_BACKGROUND_H5_STATUS_LOADING number 1

H5 背景正在加载

TEDU_BOARD_BACKGROUND_H5_STATUS_LOAD_FINISH number 2

H5 背景加载完成

H5背景加载状态

Type:
  • number

(static, constant) TEduBoardBackgroundType :number

Properties:
Name Type value Description
TEDU_BOARD_BACKGROUND_IMAGE number 1

图片类型

TEDU_BOARD_BACKGROUND_H5 number 2

网页类型

白板背景类型

Type:
  • number

(static, constant) TEduBoardClassGroupOperationType :number

Properties:
Name Type value Description
SET_ENABLE number 0

开启分组模式

UPDATE number 1

更新分组信息

DELETE number 2

删除分组

RESET number 3

重置分组

ERROR number 4

分组功能发生错误

白板分组操作

Type:
  • number

(static, constant) TEduBoardContentFitMode :number

Properties:
Name Type value Description
TEDU_BOARD_FILE_FIT_MODE_NONE number 0

不使用文件自适应,我们目前使用的模式,不自动调整白板宽高比,文件等比例缩放居中显示,文件宽高<=白板宽高

TEDU_BOARD_FILE_FIT_MODE_CENTER_INSIDE number 1

自动调整白板宽高比与文件一致,文件铺满白板,白板等比例缩放居中显示,白板宽高<=容器宽高

TEDU_BOARD_FILE_FIT_MODE_CENTER_COVER number 2

自动调整白板宽高比与文件一致,文件铺满白板,白板等比例缩放居中显示,白板宽高>=容器宽高

白板内容自适应模式

Type:
  • number

(static, constant) TEduBoardElementType :number

Properties:
Name Type value Description
TEDU_BOARD_ELEMENT_IMAGE number 1

图片元素

TEDU_BOARD_ELEMENT_H5 number 2

网页元素

TEDU_BOARD_ELEMENT_CUSTOM_GRAPH number 3

自定义图形

TEDU_BOARD_ELEMENT_AUDIO number 4

audio元素

TEDU_BOARD_ELEMENT_GLOBAL_AUDIO number 5

全局audio元素

TEDU_BOARD_ELEMENT_MATH_BOARD number 6

数学函数画板

TEDU_BOARD_ELEMENT_MATH_GRAPH number 7

数学函数图像

TEDU_BOARD_ELEMENT_TEXT number 9

文本元素

TEDU_BOARD_ELEMENT_MAGIC_LINE number 10

魔法笔元素

TEDU_BOARD_ELEMENT_FORMULA number 11

数学公式元素

TEDU_BOARD_ELEMENT_MATH_TOOL number 12

数学教具

TEDU_BOARD_ELEMENT_GEOMETRY number 13

几何图形

TEDU_BOARD_ELEMENT_WATERMARK number 100

水印

TEDU_BOARD_ELEMENT_GRAFFITI_LINE number 801

画线涂鸦

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_LINE number 802

直线涂鸦

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_RECT number 803

矩形涂鸦

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_OVAL number 804

椭圆涂鸦

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_ARC number 805

圆弧元素

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_RIGHT_TRIANGLE number 806

直角三角形

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_ISOSCELES_TRIANGLE number 807

等腰三角形

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_PARALLELOGRAM number 808

平行四边形

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_CUBE number 809

立方体

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_CYLINDER number 810

圆柱体

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_CONE number 811

圆锥体

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_HIGHLIGHTER number 812

荧光笔

TEDU_BOARD_ELEMENT_GRAFFITI_GRAPH_COORDINATE number 813

坐标系

元素类型

Type:
  • number

(static, constant) TEduBoardErasableElementType :number

Properties:
Name Type value Description
LINE number 0

画线元素

GRAPH number 1

图形元素

TEXT number 2

文本元素

IMAGE number 3

图片元素

ELEMENT number 4

自定义元素

白板可擦除元素类型

Type:
  • number

(static, constant) TEduBoardErrorCode :number

Properties:
Name Type value Description
TEDU_BOARD_ERROR_INIT number 1

初始化失败,请重试

TEDU_BOARD_ERROR_AUTH number 2

服务鉴权失败,请先购买服务

TEDU_BOARD_ERROR_LOAD number 3

白板加载失败,请重试

TEDU_BOARD_ERROR_HISTORYDATA number 6

同步历史数据失败,请重试

TEDU_BOARD_ERROR_RUNTIME number 7

白板运行错误,请检查sdkAppId,userId, userSig是否正确;请根据错误信息描述,查阅错误码文档

TEDU_BOARD_ERROR_AUTH_TIMEOUT number 8

服务鉴权超时,请重试

TEDU_BOARD_MAX_BOARD_LIMITED number 10

单课堂内白板页数已经到达上限

TEDU_BOARD_SIGNATURE_EXPIRED number 11

白板签名过期

白板错误码

Type:
  • number

(static, constant) TEduBoardFileType :number

Properties:
Name Type value Description
WHITEBOARD number 1

默认白板组

H5_COURSEWARE number 2

动态转码课件

IMAGE_COURSEWARE number 3

静态转码课件

VIDEO_FILE number 4

视频文件

H5_FILE number 5

H5文件

IMAGES_FILE number 6

图片组文件

白板文件类型

Type:
  • number

(static, constant) TEduBoardFillType :number

Properties:
Name Type value Description
NONE number 1

不填充

SOLID number 2

填充

白板图形填充模式

Type:
  • number

(static, constant) TEduBoardH5FileStatus :number

Properties:
Name Type value Description
TEDU_BOARD_H5_FILE_STATUS_LOADING number 1

H5文件正在加载

TEDU_BOARD_H5_FILE_STATUS_LOADED number 2

H5文件加载完成

h5文件加载状态

Type:
  • number

(static, constant) TEduBoardH5PPTMediaStatus :number

Properties:
Name Type value Description
TEDU_BOARD_H5_PPT_MEDIA_STATUS_PLAY number 1

媒体播放

TEDU_BOARD_H5_PPT_MEDIA_STATUS_PAUSE number 2

媒体暂停

动画ppt媒体加载状态

Type:
  • number

(static, constant) TEduBoardH5PPTStatus :number

Properties:
Name Type value Description
TEDU_BOARD_H5_PPT_STATUS_LOADING number 1

ppt加载中

TEDU_BOARD_H5_PPT_STATUS_LOADED number 2

ppt加载完成

TEDU_BOARD_H5_PPT_STATUS_CANCEL number 3

ppt取消加载

TEDU_BOARD_H5_PPT_STATUS_TIMEOUT number 4

ppt加载超时。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_H5_PPT_STATUS_RESOURCES_LOADING_ERROR number 5

ppt资源加载失败。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_H5_PPT_STATUS_RUNTIME_ERROR number 6

ppt内部运行错误。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_H5_PPT_STATUS_ADD_TIMEOUT number 7

调用addTranscodeFile接口添加文件的时候超时,监听到此错误,可重新调用addTranscodeFile进行重试添加

TEDU_BOARD_H5_PPT_STATUS_IMAGE_ABNORMAL number 8

ppt内部的图片资源加载异常,监听到此状态码,可配合 refresh 接口重新渲染白板

TEDU_BOARD_H5_PPT_STATUS_INTERNAL_RESOURCES_LOADING_TIMEOUT number 9

ppt内部的资源加载超时,监听到此状态码,可配合 refresh 接口重新渲染白板

动画ppt加载状态

Type:
  • number

(static, constant) TEduBoardImageFitMode :number

Properties:
Name Type value Description
TEDU_BOARD_IMAGE_FIT_MODE_CENTER number 0

以宽度或者高度为基准居中对齐等比例放大

TEDU_BOARD_IMAGE_FIT_MODE_LEFT number 4

以宽度或者高度为基准左对齐等比例放大

TEDU_BOARD_IMAGE_FIT_MODE_TOP number 5

以宽度或者高度为基准顶对齐等比例放大

TEDU_BOARD_IMAGE_FIT_MODE_RIGHT number 6

以宽度或者高度为基准右对齐等比例放大

TEDU_BOARD_IMAGE_FIT_MODE_BOTTOM number 7

以宽度或者高度为基准底对齐等比例放大

图片填充对齐模式

Type:
  • number

(static, constant) TEduBoardImageStatus :number

Properties:
Name Type value Description
TEDU_BOARD_IMAGE_STATUS_LOADING number 1

图片正在加载

TEDU_BOARD_IMAGE_STATUS_LOAD_DONE number 2

图片加载完成

TEDU_BOARD_IMAGE_STATUS_LOAD_ABORT number 3

图片加载中断

TEDU_BOARD_IMAGE_STATUS_LOAD_ERROR number 4

图片加载错误。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_IMAGE_STATUS_LOAD_TIMEOUT number 5

图片加载超时。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_IMAGE_STATUS_LOAD_CANCEL number 6

图片取消加载

图片加载状态

Type:
  • number

(static, constant) TEduBoardLayerElementType :number

Properties:
Name Type value Description
TEDU_BOARD_LAYERELEMENT_JXGBOARD number 1001

JsxGraph 画板

TEDU_BOARD_LAYERELEMENT_JXGGRAPH number 1002

JsxGraph 图形

层级元素类型

Type:
  • number

(static, constant) TEduBoardLineType :number

Properties:
Name Type value Description
TEDU_BOARD_LINE_TYPE_SOLID number 1

实线

TEDU_BOARD_LINE_TYPE_DOTTED number 2

虚线

直线类型

Type:
  • number

(static, constant) TEduBoardLogLevel :number

Properties:
Name Type value Description
ALL number 0

全部日志

INFO number 1

一般日志

WARNING number 2

告警日志

ERROR number 3

错误日志

OFF number 4

不打印日志

日志级别

Type:
  • number

(static, constant) TEduBoardMathGraphCode :number

Properties:
Name Type value Description
MATH_EXPRESSION_PARSE_ERROR number -1

函数表达式解析失败

数学函数图像工具状态码

Type:
  • number

(static, constant) TEduBoardMathGraphType :number

Properties:
Name Type value Description
NONE number 0

无图形输入,此时可选中几何图形

POINT number 1

LINE number 2

直线

LINE_SEGMENT number 3

线段

RAY number 4

射线

CIRCLE number 5

ANGLE number 6

POLYGON number 7

多边形

VECTOR number 8

向量

ELLIPSE number 9

椭圆

CUBE number 101

立方体

CYLINDER number 102

圆柱体

CIRCULAR_CONE number 103

圆锥体

几何图形类型

Type:
  • number

(static, constant) TEduBoardOvalDrawMode :number

Properties:
Name Type value Description
TEDU_BOARD_OVAL_DRAW_MODE_FIX_START number 1

固定起始点,起始点和终点的中点为圆心

TEDU_BOARD_OVAL_DRAW_MODE_FIX_CENTER number 2

固定圆心,起始点为圆心

椭圆绘制模式

Type:
  • number

(static, constant) TEduBoardPenFittingMode :number

Properties:
Name Type value Description
NONE number 0

不进行曲线拟合

AUTO number 1

自动识别并拟合图形

RECTANGLE number 2

拟合矩形

POLYGON number 3

拟合多边形

CIRCLE number 4

拟合圆形

ELLIPSE number 5

拟合椭圆

画笔自动拟合模式

Type:
  • number

(static, constant) TEduBoardPosition :number

Properties:
Name Type value Description
TEDU_BOARD_POSITION_LEFT_TOP number 0

在图标的左上方

TEDU_BOARD_POSITION_RIGHT_TOP number 1

在图标的右上方

TEDU_BOARD_POSITION_RIGHT_BOTTOM number 2

在图标的右下方

TEDU_BOARD_POSITION_LEFT_BOTTOM number 3

在图标的左下方

工具标题提示位置

Type:
  • number

(static, constant) TEduBoardRemoteCursorAction :number

Properties:
Name Type value Description
MOVING number 0

正在移动

DRAWING number 1

正在绘制

远端画笔操作类型

Type:
  • number

(static, constant) TEduBoardServiceType :string

Properties:
Name Type value Description
ALL string ALL

所有服务

TIW_SERVER string TIW_SERVER

白板基础服务

TIW_RESOURCE string TIW_RESOURCE

白板内部资源

PPT_THUMBNAIL string PPT_THUMBNAIL

PPT缩略图

LOG_SERVER string LOG_SERVER

白板日志模块

LOG_KEY string LOG_KEY

关键日志

LOG_VERBOSE string LOG_VERBOSE

流水日志

服务类型

Type:
  • string

(static, constant) TEduBoardTextComponentStatus :number

Properties:
Name Type value Description
TEDU_BOARD_TEXT_COMPONENT_STATUS_INSUFFICIENT_SPACE number 1

空间不足,文本框无法显示

TEDU_BOARD_TEXT_COMPONENT_STATUS_WORD_LIMIT number 2

文本超出字数限制

TEDU_BOARD_TEXT_COMPONENT_CANNOT_USE_EMOJI number 3

不能使用表情

白板文字工具异常状态码

Type:
  • number

(static, constant) TEduBoardTextStyle :number

Properties:
Name Type value Description
TEDU_BOARD_TEXT_STYLE_NORMAL number 0

常规

TEDU_BOARD_TEXT_STYLE_BOLD number 1

粗体

TEDU_BOARD_TEXT_STYLE_ITALIC number 2

斜体

TEDU_BOARD_TEXT_STYLE_BOLD_ITALIC number 3

粗斜体

文本样式

Type:
  • number

(static, constant) TEduBoardToolType :number

Properties:
Name Type value Description
TEDU_BOARD_TOOL_TYPE_MOUSE number 0

鼠标工具

TEDU_BOARD_TOOL_TYPE_PEN number 1

画笔工具

TEDU_BOARD_TOOL_TYPE_ERASER number 2

橡皮擦(2.6.8版本开始支持分段擦除,默认是整段擦除,如需开启分段擦除,请参考setPiecewiseErasureEnable方法)

TEDU_BOARD_TOOL_TYPE_LASER number 3

激光笔

TEDU_BOARD_TOOL_TYPE_LINE number 4

直线

TEDU_BOARD_TOOL_TYPE_OVAL number 5

空心椭圆

TEDU_BOARD_TOOL_TYPE_RECT number 6

空心矩形

TEDU_BOARD_TOOL_TYPE_OVAL_SOLID number 7

实心椭圆,已废弃,请使用setGraphStyle接口来设置

TEDU_BOARD_TOOL_TYPE_RECT_SOLID number 8

实心矩形,已废弃,请使用setGraphStyle接口来设置

TEDU_BOARD_TOOL_TYPE_POINT_SELECT number 9

点选工具 (自2.6.2起废弃,请使用框选工具)

TEDU_BOARD_TOOL_TYPE_RECT_SELECT number 10

框选工具(单击为点选行为,点击后有拖动则为框选行为)

TEDU_BOARD_TOOL_TYPE_TEXT number 11

文本工具

TEDU_BOARD_TOOL_TYPE_ZOOM_DRAG number 12

缩放移动工具

TEDU_BOARD_TOOL_TYPE_SQUARE number 13

空心正方形

TEDU_BOARD_TOOL_TYPE_SQUARE_SOLID number 14

实心正方形,已废弃,请使用setGraphStyle接口来设置

TEDU_BOARD_TOOL_TYPE_CIRCLE number 15

空心正圆形

TEDU_BOARD_TOOL_TYPE_CIRCLE_SOLID number 16

实心正圆形,已废弃,请使用setGraphStyle接口来设置

TEDU_BOARD_TOOL_TYPE_BOARD_CUSTOM_GRAPH number 17

自定义图形

TEDU_BOARD_TOOL_TYPE_HIGHLIGHTER number 19

荧光笔

TEDU_BOARD_TOOL_TYPE_RIGHT_TRIANGLE number 20

直角三角形

TEDU_BOARD_TOOL_TYPE_ISOSCELES_TRIANGLE number 21

等腰三角形

TEDU_BOARD_TOOL_TYPE_PARALLELOGRAM number 22

平行四边形

TEDU_BOARD_TOOL_TYPE_CUBE number 23

立方体

TEDU_BOARD_TOOL_TYPE_CYLINDER number 24

圆柱

TEDU_BOARD_TOOL_TYPE_CONE number 25

圆锥

TEDU_BOARD_TOOL_TYPE_COORDINATE number 26

坐标系

白板工具类型

Type:
  • number

(static, constant) TEduBoardUploadStatus :number

Properties:
Name Type value Description
TEDU_BOARD_UPLOAD_STATUS_SUCCEED number 1

文件上传成功

TEDU_BOARD_UPLOAD_STATUS_FAILED number 2

文件上传失败

文件上传状态

Type:
  • number

(static, constant) TEduBoardVideoStatus :number

Properties:
Name Type value Description
TEDU_BOARD_VIDEO_STATUS_ERROR number 1

视频播放错误。监听到此错误码时,可配合 refresh 接口重新渲染白板

TEDU_BOARD_VIDEO_STATUS_LOADING number 2

视频加载中

TEDU_BOARD_VIDEO_STATUS_LOADED number 3

视频加载完成

TEDU_BOARD_VIDEO_STATUS_PLAYED number 4

视频开始播放

TEDU_BOARD_VIDEO_STATUS_TIMEUPDATE number 5

视频进度更新

TEDU_BOARD_VIDEO_STATUS_PAUSED number 6

视频暂停播放

TEDU_BOARD_VIDEO_STATUS_SEEKED number 7

视频跳转进度完成

TEDU_BOARD_VIDEO_STATUS_ENDED number 8

视频播放结束

TEDU_BOARD_VIDEO_STATUS_WAITING number 9

视频缓冲中 2.5.3版本支持

TEDU_BOARD_VIDEO_STATUS_PLAYING number 10

视频缓冲完成 2.5.3版本支持

播放视频状态

Type:
  • number

(static, constant) TEduBoardWarningCode :number

Properties:
Name Type value Description
TEDU_BOARD_WARNING_SYNC_DATA_PARSE_FAILED number 1

addData 接口接收到其他端的同步数据解析错误,请检查是否将非白板信令同步到了白板中

TEDU_BOARD_WARNING_H5PPT_ALREADY_EXISTS number 3

addTranscodeFile 接口添加动态PPT时,要添加的动态PPT已存在

TEDU_BOARD_WANNING_ILLEGAL_OPERATION number 5

非法操作,历史数据同步未完成, 禁止改变白板行为操作

TEDU_BOARD_WARNING_H5FILE_ALREADY_EXISTS number 6

addH5File 接口添加网页文件时,要添加的网页文件已存在

TEDU_BOARD_WARNING_VIDEO_ALREADY_EXISTS number 7

addVideoFile 接口添加视频时,要添加的视频已存在

TEDU_BOARD_WARNING_IMAGESFILE_ALREADY_EXISTS number 8

addImagesFile 接口添加图片集合文件时,要添加的图片集合文件已存在

TEDU_BOARD_WARNING_GRAFFITI_LOST number 9

有涂鸦丢失

TEDU_BOARD_WARNING_CUSTOM_GRAPH_URL_NON_EXISTS number 10

自定义图形的URL不存在

TEDU_BOARD_WARNING_IMAGESFILE_TOO_LARGE number 11

addImagesFile 接口添加图片集合文件时,文件内容过大

TEDU_BOARD_WARNING_IMAGE_COURSEWARE_ALREADY_EXISTS number 12

addTranscodeFile 接口添加静态转码课件时,要添加的静态转码课件已存在

TEDU_BOARD_WARNING_IMAGE_MEDIA_BITRATE_TOO_LARGE number 13

多媒体资源码率过大

TEDU_BOARD_WARNING_IMAGE_WATERMARK_ALREADY_EXISTS number 14

重复添加图片水印

TEDU_BOARD_WARNING_FORMULA_LIB_NOT_LOADED number 15

数学公式库没有加载成功

TEDU_BOARD_WARNING_ILLEGAL_FORMULA_EXPRESSION number 16

非法的数学公式表达式

TEDU_BOARD_WARNING_TEXT_WATERMARK_ALREADY_EXISTS number 17

重复添加文字水印

TEDU_BOARD_WARNING_EXPORTIMPORT_FILTERRULE_ILLEGAL number 18

导入导出过滤规则非法

TEDU_BOARD_WARNING_ELEMENTTYPE_NOT_EXISTS number 19

元素类型不存在

TEDU_BOARD_WARNING_ELEMENTID_NOT_EXISTS number 20

元素ID不存在

TEDU_BOARD_WARNING_ELEMENT_IS_LOCKED number 21

元素当前是锁定的状态,不允许操作

TEDU_BOARD_WARNING_FILE_NOT_FOUND number 22

文件没有找到,请重新添加文件

TEDU_BOARD_WARNING_SEPT_RATE_LIMITING number 23

上一步下一步点击限制频率500ms一次

TEDU_BOARD_WARNING_DOWNGRADE number 24

h5ppt加载失败,降级为缩略图暂时操作

白板警告码

Type:
  • number

(static, constant) TEduDrawStatusCode :number

Properties:
Name Type value Description
START number 1

绘画开始

END number 0

绘画结束

绘画动作状态码

Type:
  • number

(static, constant) TEduElementOperatorType :number

Properties:
Name Type value Description
BOARDER_COLOR number 1

边框颜色

BOARDER_WIDTH number 2

边线宽

BOARDER_LINE_TYPE number 3

边线虚实类型

EL_DELETE number 4

删除元素

CHANGE_POSITION number 5

改变元素位置

CHANGE_TEXT_SIZE number 6

改变文本大小

CONTENT number 8

改变元素内容(水印内容)

OPACITY number 9

改变透明度

ROTATION_ANGLE number 10

改变旋转角度

元素操作类型

Type:
  • number

(static, constant) TEduMathToolType :number

Properties:
Name Type value Description
RULER number 1

直尺教具

TRIANGLE number 2

直角三角形

ISOSCELES_TRIANGLE number 3

等腰直角三角形

PROTRACTOR number 4

量角器

COMPASSES number 5

圆规

教具类型

Type:
  • number

(static, constant) TEduSnapshotCode :number

Properties:
Name Type value Description
NONE number 0

截图正常

IMAGE_LOAD_FAILED number -1

图片加载失败,不影响截图功能,只是图片没有被正确截取

IMAGE_DIMENSIONS_ABNORMAL number -100

图片尺寸获取异常

截图功能的状态码

Type:
  • number

Methods

(static) getVersion() → {string}

获取白板的版本号

Returns:

白板的版本号

Type
string

addAckData(data)

确认数据是否发送成功

1. 将 TEduBoard.Event.TEB_SYNCDATA 回调的数据回调的数据通过信令通道发送成功后,调用该接口通知白板该数据已经发送成功。

2. 结合syncAndReload一起使用

3. 如果您使用了tic,则该方法不需要您自己调用了

Parameters:
Name Type Description
data object

TEduBoard.Event.TEB_SYNCDATA 回调的数据

addBackupDomain(domain, backup, priorityopt)

添加资源主备域名映射

主备域名均需包含协议类型(支持http/https)

切换域名重试超时默认为5秒

多次调用此接口,可以为同一主域名添加多个备用域名。如果备用域名已在列表中则不再添加

当主域名不可用时,SDK将按从前往后的顺序从列表中选择一个备用域名并重试

备用域名优先级相同时,按添加顺序决定优先级,添加顺序越靠前优先级越高

Example
// 示例一

teduBoard.setBackgroundImage('https://test.qcloudtiw.com/raw/36d31e0d6f9d24a9b5727ab5e21b4b8c.jpg')
teduBoard.addBackupDomain('https://test.qcloudtiw.com', 'https://main.qcloudimg.com')

// 1. 当访问https://test.qcloudtiw.com/raw/36d31e0d6f9d24a9b5727ab5e21b4b8c.jpg失败时
// 2. SDK会读取预设置的域名映射表,找到https://test.qcloudtiw.com的备用域名(https://main.qcloudimg.com)
// 3. 使用备用域名URL(https://main.qcloudimg.com/raw/36d31e0d6f9d24a9b5727ab5e21b4b8c.jpg)进行重试
// 4. 若资源加载成功,后续位于主域名(https://test.qcloudtiw.com)的资源将优先使用备用域名(https://main.qcloudimg.com)进行加载
// 5. 若加载失败,则将资源域名重新设置为初始主域名(https://test.qcloudtiw.com)
Parameters:
Name Type Attributes Default Description
domain string

【必填】主域名

backup string

【必填】备用域名

priority number <optional>
0

【可选】域名优先级,数字越大优先级越高

addBoard(options) → {string}

增加一页白板

白板页会被添加到默认文件(文件 ID 为#DEFAULT),自行上传的文件无法添加白板页

触发 TEduBoard.EVEN.TEB_ADDBOARD 事件

Parameters:
Name Type Description
options object
Properties
Name Type Attributes Default Description
url string

要使用的背景图片url,为 null 表示不指定背景图片,只支持https协议的图片url

mode number

要使用的图片填充对齐模式,当设置url时有效

type number <optional>
TEduBoardBackgroundType.TEDU_BOARD_BACKGROUND_IMAGE

背景类型

needSwitch boolean <optional>
true

是否切换到添加的白板页

index number <optional>

指定页码添加白板,从0开始,不传则在末尾添加

Returns:

新增白板ID

Type
string

addBoardToClassGroup(groupId, boardId)

添加白板到分组

Example
teduBoard.addBoardToClassGroup('group1', '#DEFAULT')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

boardId string

白板id

addElement(type, url, options) → {string}

添加白板元素

触发 TEduBoard.EVENT.TEB_ADDELEMENT 事件

Examples
// 示例一:添加一个图片元素(等价于addImageElement)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE, 'https://main.qcloudimg.com/raw/be5d8bc407204d0e1dea30bacd6d006b.png', { left: '100px', top: '100px' })

 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例二:添加一个h5元素
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_H5, 'https://www.qq.com')

 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例三:添加一个自定义图形
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_CUSTOM_GRAPH, 'https://test-1259648581.file.myqcloud.com/%E4%B8%89%E8%A7%92%E5%BD%A2.svg')
 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例四:添加一个音频元素(归属于当前白板,带控制面板)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_AUDIO, 'https://test-1259648581.file.myqcloud.com/%E6%A2%81%E9%9D%99%E8%8C%B9%20-%20%E6%83%85%E6%AD%8C.mp3')
 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例五:添加一个全局音频元素(全局音频元素,不带操作面板)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GLOBAL_AUDIO, 'https://test-1259648581.file.myqcloud.com/%E6%A2%81%E9%9D%99%E8%8C%B9%20-%20%E6%83%85%E6%AD%8C.mp3')
 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例六:添加一个数学函数画板和数学图像
// 添加数学画板
const mathBoardElementId = teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_MATH_BOARD, {
  boundingbox: [-5, 5, 5, -5], // 画板显示区域的左上角和右下角, 对应 [x1, y1, x2, y2]
  axisColor: '#AEAEAE', // 画板坐标系颜色
  axis: true,  // 是否显示坐标轴
  grid: true,  // 是否显示网格
  width: '300px', // 画板宽度,支持像素或百分比,若不填写单位默认按像素计算
  height: '300px', // 画板高度,支持像素或百分比,若不填写单位默认按像素计算
  showControl: true, // 是否显示控制栏
  enableZoom: false, // 是否开启鼠标滚轮缩放(需要按住Shift)
  enablePan: false, // 是否开启鼠标拖拽平移(需要按住Shift)
})

// 添加数学图像
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_MATH_GRAPH, {
  mathBoardId: mathBoardElementId, // 数学函数画板的元素id
  expression: 'sin(x)', // 数学函数表达式
  color: '#ff0000', // 数学函数图像颜色
  selectedColor: '#00ff00', // 数学函数图像选中时的颜色
})

// 同一画板添加多个数学图像
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_MATH_GRAPH, {
  mathBoardId: mathBoardElementId, // 数学函数画板的元素id
  expression: 'sin(x) + 1', // 数学函数表达式
  color: '#0000ff', // 数学函数图像颜色
  selectedColor: '#00ff00', // 数学函数图像选中时的颜色
})

// 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例七:添加一个公式元素(确保配置初始化参数formulaEnable为true,否则会添加失败)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_FORMULA, {
  expression: 'f(x) = \\int_{-\\infty}^\\infty \\hat{f}(\\xi)\\,e^{2 \\pi i \\xi x} \\,d\\xi'
})
 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例八:添加一个文本元素
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_TEXT, {
  textContent: 'test',   // 文本内容
  fontColor: '#ff0000',  // 文本颜色
  fontSize: 200,         // 文本大小
  fontFace: 'customFontFamily', // 文本字体库
  fontStyle: TEduBoard.TEduBoardTextStyle.TEDU_BOARD_TEXT_STYLE_NORMAL // 文本字体样式
})
 // 监听增加元素事件
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({id, userData}) => {
  console.log('id:', id, ' userData:', userData);
});
// 示例九:添加图片水印
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_WATERMARK, {
    content: 'https://test-1259648581.file.myqcloud.com/image/logo.png', // 必须是https
    left: '50px',
    top: '50px',
    width: '100px',
    height: '100px',
    opacity: 0.8 // 透明度
})
// 示例十:添加静态文本水印(即文本位置不动)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_WATERMARK, {
    content: '静态文本',
    opacity: 0.6, // 透明度
    deg: 30,
    fix: true, // 固定位置
    color: '#ff0000',
    textSize: '12px' // 字号支持12~48px
})
// 示例十一:添加动态文本水印(即文本位置按时间间隔进行随机运动)
teduBoard.addElement(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_WATERMARK, {
    content: '动态文本',
    opacity: 0.8, // 透明度 [0.1, 1]
    deg: 30,
    fix: false, // 不固定位置
	   interval: 3000, // 3s自动变换一次位置,支持 [1, 10] s
    color: '#ff0000',
    textSize: '12px' // 字号支持 [12, 48] px
})
Parameters:
Name Type Description
type number

【必填】元素类型,当设置TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE时,等价于addImageElement方法

url object | string

1.支持设置在线图片,url只支持https协议图片的url
2.当type设置TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE,支持从本地上传一个图片

Properties
Name Type Description
data File

【必填】文件对象,一般为document.getElementById('uploadFile').files[0]

userData string

【必填】透传数据,会在文件上传进度回调中带回

options object

配置参数

Properties
Name Type Description
erasable boolean

元素是否支持橡皮擦擦除 默认为true

left string

元素距左边界的偏移,支持像素或百分比,若不填写单位默认按像素计算

top string

元素距上边界的偏移,支持像素或百分比,若不填写单位默认按像素计算

deg number

元素旋转角度,仅支持数字

Returns:

元素ID

Type
string

addH5File(url, titleopt, needSwitchopt) → {string}

添加 H5 页面

只支持展示,不支持互动,同步

触发新增文件 TEduBoard.EVENT.TEB_ADDH5PPTFILE 事件

Example
teduBoard.addH5File('https://cloud.tencent.com/document/product/1137/37901);
Parameters:
Name Type Attributes Default Description
url string

【必填】网页地址,只支持https协议的网址

title string <optional>
''

文件名

needSwitch boolean <optional>
true

添加文件后是否切换到该文件

Returns:

文件 ID

Type
string

addImageElement(url)

添加图片元素

触发添加图片元素 TEduBoard.EVENT.TEB_ADDIMAGEELEMENT 事件

Since:
  • 2.6.2
Deprecated:
Examples
// 示例一:设置在线图片
teduBoard.addImageElement('https://main.qcloudimg.com/raw/be5d8bc407204d0e1dea30bacd6d006b.png')
// 示例二:从本地上传一个图片
teduBoard.addImageElement({
   data: document.getElementById('file_input').files[0],
   userData: 'tiw'
})
Parameters:
Name Type Description
url object | string

1.支持设置在线图片,url只支持https协议图片的url
2.也支持从本地上传一个图片

Properties
Name Type Description
data File

【必填】文件对象,一般为document.getElementById('uploadFile').files[0]

userData string

【必填】透传数据,会在文件上传进度回调中带回

addImagesFile(urls, titleopt, needSwitchopt) → {string}

批量导入图片到白板

当传入urls重复时,返回该 URL 对应的文件 ID

触发 TEduBoard.EVENT.TEB_ADDIMAGESFILE 事件

本接口入参有长度限制,会先将字符串数组变成字符串,字符串的长度不能超过5k

本接口适用于传入一组外部图片的url,如果您是通过互动白板转码接口发起来的转码得到的转码结果,请使用addTranscodeFile接口来添加

Example
teduBoard.addImagesFile([
    'https://test-1259648581.file.myqcloud.com/image/1.jpg',
    'https://test-1259648581.file.myqcloud.com/image/2.jpg',
    'https://test-1259648581.file.myqcloud.com/image/3.jpg',
    'https://test-1259648581.file.myqcloud.com/image/4.jpg',
    'https://test-1259648581.file.myqcloud.com/image/5.jpg',
    'https://test-1259648581.file.myqcloud.com/image/6.jpg',
])
Parameters:
Name Type Attributes Default Description
urls Array.<string>

要使用的背景图片URL数组,只支持https协议的图片url

title string <optional>
''

文件名

needSwitch boolean <optional>
true

添加转码文件,是否需要立刻跳转到该文件,默认为 true

Returns:

新增加文件 Id

Type
string

addSnapshotMark()

生成板书图片

调用此接口可在后台生成当前白板的板书内容

Example
// 示例一
teduBoard.addSnapshotMark()

addSyncData(data)

添加白板同步数据,该接口用于多个白板间的数据同步

如果您使用了tic,则不需要关心该接口。

Parameters:
Name Type Description
data object

【必填】接收到的房间内其他人发送的同步数据。是其他人操作白板后,由 TEduBoard.EVENT.TEB_SYNCDATA 事件回调数据,通过信令通道传输到本端。

addTextFontFamily(fontFace, fontUrl)

添加自定义字体

建议在创建白板实例后立刻调用

本地端和远端都需要设置字体样式,否则可能出现两端字体显示样式不同步

添加系统内置字体时,fontUrl可以传入空字符串

Example
teduBoard.addTextFontFamily('myFont', 'https://test.com/myfont.ttf');
Parameters:
Name Type Description
fontFace string

字体样式名称

fontUrl string

字体资源链接

addTranscodeFile(needSwitchopt) → {string}

添加转码文件

当传入文件的 URL 重复时,返回该 URL 对应的文件 ID

调用该接口后,SDK 会在后台进行文件加载,期间用户可正常进行其它操作,加载成功或失败后会触发相应回调

本接口2.6.0版本支持最新的转码方案,需要注意最新转码方案与旧方案会不兼容,适用于新接入或者老用户都升级到最新的版本。

当使用最新的转码方案的时,只需要传入url和title参数,url为开通了转码的cos桶资源的链接,且url需要携带for_tiw=1的参数,可以参考示例三

确认cos桶是否开通了转码;打开腾讯云对象存储控制台,选择具体的cos桶,查看数据处理->文档处理->文档预览功能是否开启;

Examples
// 示例一:添加文件后立刻跳转到该文件
teduBoard.addTranscodeFile({
    pages: 20,
    resolution: "960x1230",
    title: "JavaScript设计模式_带页码-1-20.pdf",
    url: "https://test-1259648581.file.myqcloud.com/ppt/gt7rongov3gvpvb3rr5c/"
})
// 示例二:添加文件后不跳转
teduBoard.addTranscodeFile({
    pages: 20,
    resolution: "960x1230",
    title: "JavaScript设计模式_带页码-1-20.pdf",
    url: "https://test-1259648581.file.myqcloud.com/ppt/gt7rongov3gvpvb3rr5c/"
}, false)
// 示例三:添加H5转码文件
teduBoard.addTranscodeFile({
    pages: 23,
    resolution: "960x540",
    title: "欢迎新同学 - 序号'.ppt",
    url: "https://test-1259648581.file.myqcloud.com/ppt/0dfmongov3gvpfs3mr5c/index.html"
})
// 示例四:2.6.0版本起,支持cos转码
teduBoard.addTranscodeFile({
    title: "欢迎新同学", // 文件标题
    url: "https://testci-1257307760.cos.ap-guangzhou.myqcloud.com/%E6%AC%A2%E8%BF%8E%E6%96%B0%E5%90%8C%E5%AD%A6%20-%20%E5%BA%8F%E5%8F%B7.ppt?for_tiw=1" // cos资源的url,且携带for_tiw=1的参数
})
Parameters:
Name Type Attributes Default Description
result.url string

文件转码结果的url

result.title string

文件转码结果的title,也可以自定义

result.pages string

文件转码结果总页数

result.resolution string

文件转码结果文件分辨率

needSwitch boolean <optional>
true

添加转码文件,是否需要立刻跳转到该文件,默认为 true

Returns:

文件 ID

Type
string

addUserToClassGroup(groupId, userId)

添加用户到分组

如果将当前用户添加到某一分组,当前用户将显示分组当前的白板内容

Example
teduBoard.addUserToClassGroup('group1', 'user_2')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

userId string

用户id

addVideoFile(url, titleopt, needSwitchopt) → {string}

添加视频文件

当您业务侧需要使用播放视频文件的功能时,需要引入以下 js和css 文件

<script src="https://res.qcloudtiw.com/board/third/videojs/1.0.0/video.min.js"></script>
<link href="https://res.qcloudtiw.com/board/third/videojs/1.0.0/video-js.min.css" rel="stylesheet">

触发状态改变回调 TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED

桌面端safari、手机端h5如果要播放视频文件必须在初始化白板前引导用户点击授权,否则无法播放。

当传入文件的 URL 重复时,返回该 URL 对应的文件 ID

强烈建议对视频服务配置允许跨域访问

Example
// 示例一
teduBoard.addVideoFile('https://test-1259648581.file.myqcloud.com/%E8%85%BE%E8%AE%AF%E6%95%99%E8%82%B2.mp4')
Parameters:
Name Type Attributes Default Description
url string

【必填】视频文件地址url,只支持https协议的视频文件url, 目前仅支持mp4格式文件

title string <optional>
''

文件名

needSwitch boolean <optional>
true

添加文件后是否切换到该文件

Returns:

文件 ID

Type
string

applyFileTranscode()

发起文件转码请求

Since:
  • 2.6.5
Deprecated:

autoSelectedElement(elementId)

api接口方式选中元素

Parameters:
Name Type Description
elementId string

元素ID 实例:几何图形选中 // 监听增加元素事件 teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, ({ id, type, userData, title }) => { if(this.autoSelectElememt && type == TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GEOMETRY) { this.teduBoard.autoSelectedElement(id); } });

clear(clearBackground, clearSelectedOnly)

清空当前白板页涂鸦

Parameters:
Name Type Description
clearBackground boolean

【可选】是否同时清空背景色以及背景图片,默认false

clearSelectedOnly boolean

【可选】是否只清除选中部分涂鸦,默认false

clearFileDraws(fileId)

清空指定文件的所有白板涂鸦

Parameters:
Name Type Description
fileId string

【必填】文件 ID

deleteBoard(boardId)

删除一页白板

只允许删除默认文件(文件 ID 为#DEFAULT)内的白板页,且默认白板页(白板 ID 为#DEFAULT)无法删除

触发TEduBoard.EVEN.TEB_DELETEBOARD事件

Parameters:
Name Type Description
boardId string

【可选】要删除的白板 ID,为 null 表示删除当前页

deleteFile(fileId)

删除文件

触发 TEduBoard.EVEN.TEB_DELETEFILE 事件

Parameters:
Name Type Description
fileId string

【可选】要删除的文件 ID, 文件 ID 为 null 时表示当前文件,默认文件#DEFAULT无法删除

destroy()

销毁白板当前实例

disablePermissionChecker(permissions)

关闭互动白板操作权限校验

只对本地设置有效

调用该接口,设置项对应的权限将不做校验,权限将恢复成默认开启

Example
// 去掉添加白板的权限校验(允许所有人添加白板)
teduBoard.disablePermissionChecker(['Board::Add']);
Parameters:
Name Type Description
permissions

disablePointerEventResponding(disable)

禁止白板响应鼠标事件

当禁止响应鼠标事件后,所有的白板的鼠标操作都将无效

Parameters:
Name Type Description
disable boolean

true 表示禁止白板响应鼠标事件 false 表示允许响应鼠标事件

enableAudioControl(enable)

是否启用音频控制面板 禁止控制面板后,不能通过界面交互方式操作音频元素

Parameters:
Name Type Description
enable boolean

启用或禁止,默认true启用

enableMultiTouch(enable)

触摸屏启用多点触控

支持画笔、荧光笔、魔法笔、几何图形、橡皮擦(只支持整段擦除)、尺规绘制直线

建议:开启多指触控后,建议使用setSyncFps设置一下SyncFps,将fps提高,有利于数据的同步效率,建议值为10

注意1:当启用多点触控,如果设置了橡皮擦为分段擦除,此时会将橡皮擦变更为整段擦除,关闭多端触控后,会恢复成分段擦除。

注意2:当启用多点触控,如果设置了开启“任意工具双指缩放”,此时会关闭“任意工具双指缩放”,关闭多端触控后,会恢复成“任意工具双指缩放”。

Parameters:
Name Type Description
enable boolean

是否启用多点触控

enablePenAutoFit(enable, delayopt)

开启绘制涂鸦过程中自动拟合图形

用户在绘制过程中,保持鼠标或触摸不抬起会自动触发拟合图形

开启后默认会使用TEduBoardPenFittingMode.AUTO模式拟合

Example
// 示例一:启用自动拟合
teduBoard.enablePenAutoFit(true, 2000);
Parameters:
Name Type Attributes Default Description
enable boolean
delay number <optional>
2000

触发时延,默认2000ms

enablePermissionChecker(permissions, filters)

启用互动白板操作权限校验

只对本地设置有效

调用该接口,设置项对应的权限将启用校验。只有校验通过,设置项对应的白板操作才允许执行

Example
// 场景1:房间里有教师T、学生A。赋予 T 文件,白板,元素操作权限,禁用 A 的全部权限
teduBoard.enablePermissionChecker(['File::*::*', 'Board::*::*', 'Element::*::*'], ['operator/T']);

// 场景2:房间里有教师T、学生A、学生B。TAB 均赋予元素的操作权限
// 方式一 : 三人均设置
teduBoard.enablePermissionChecker(['Element::*::*'], ['operator/A,B,T']);  // T,A,B用户都调用
// 方式二: 分别设置
teduBoard.enablePermissionChecker(['Element::*::*'], ['operator/T']); // T用户调用
teduBoard.enablePermissionChecker(['Element::*::*'], ['operator/A']); // A用户调用
teduBoard.enablePermissionChecker(['Element::*::*'], ['operator/B']); // B用户调用

// 场景3:房间里有教师T、学生A、学生B。T能删除所有人创建的元素(T自己、A、B),A只能删除A自己创建的元素, 不能删除其他人的创建的元素, B不能删除任何人的元素;
teduBoard.enablePermissionChecker(['Element::Delete::*'], ['creator/*']); // T用户调用
teduBoard.enablePermissionChecker(['Element::Delete::*'], ['creator/A']); // A用户调用
teduBoard.enablePermissionChecker(['Element::Delete::*'], ['creator/']); // B用户调用

// 场景4:房间里有学生A、学生B、学生C。只允许 A 删除 A 和 B 创建的元素, 不能删除 C 创建元素;
// 只允许操作人是A && 创建人是A|B
teduBoard.enablePermissionChecker(['Element::Delete::*'], ['operator/A', 'creator/A,B']); // A B C用户均按下面方式设置


// 场景5:房间里有教师T、学生A、学生B。T 只能操作 B 创建的元素,
teduBoard.enablePermissionChecker(['Element::*::*'], ['creator/B']); // T用户调用

// 场景6:禁用当前用户的全部操作
// 'operator/' 表示对于操作者(operator)这个条件,符合的值是空的,意味着没有操作者能够被允许通过这个权限校验
teduBoard.enablePermissionChecker(['*::*::*'], ['operator/']);


// 场景7:启用当前用户的全部操作
// 'operator/*' 表示对于操作者(operator)这个条件,符合的值是任意的,意味着所有操作者能够被允许通过这个权限校验
teduBoard.enablePermissionChecker(['*::*::*'], ['operator/*']);


// 场景8:房间里有学生A。学生A允许跳转动画步数,但不能翻页
teduBoard.enablePermissionChecker(['Board::Switch::Step'], ['operator/A']);
teduBoard.enablePermissionChecker(['Board::Switch::Page'], ['operator/']);

// 场景9:房间内有学生A。不允许学生A操作尺规工具,只允许观看
teduBoard.enablePermissionChecker(['Element::Update::MathTool'], ['operator/']);
Parameters:
Name Type Description
permissions Array.<string>

权限列表,可支持通配符 *

filters Array.<string>

条件列表,可支持通配符 *

enableShowGraffiti(enable)

是否显示涂鸦 是否显示涂鸦

Parameters:
Name Type Description
enable boolean

true 显示、false 不显示;默认显示

exportData()

Deprecated:
  • 废弃接口,请使用 exportInLocalMode

exportInLocalMode(filter)

导出白板数据,可用于本地还原

1. filter只能过滤白板元素,白板文件和其他数据会正常导出

2. exclude是指导出的数据中不包含该元素

3. hide是指导出的数据中包含该元素, 但将其设置为隐藏状态

4. 如果filter中对应的值都没有设置或者设置空数组,则不进行过滤

5. 如果exclude和hide的types和ids不存在,则会触发 触发 TEduBoard.EVEN.TEB_WARNING 告警事件

Example
// 示例一: 只导出指定的元素类型
teduBoard.exportInLocalMode({
    include: {
        // 只导出画笔涂鸦和图片元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE, TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE]
    }
})
// 示例二: 只导出指定的元素类型和元素ID
teduBoard.exportInLocalMode({
    include: {
        // 只导出画笔涂鸦类型和元素id为xxxxxxx的元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE],
        ids: ['xxxxxxx']
    }
})
// 示例三:所有元素都不要导出
teduBoard.exportInLocalMode({
    include: {
        // 传一个不存在的元素类型,就可以实现不导出所有元素
        types: [-1],
    }
})
// 示例四:不导出画笔涂鸦
teduBoard.exportInLocalMode({
    exclude: {
        // 排除画笔涂鸦
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    }
})
// 示例五:导出画笔涂鸦,并将其隐藏
teduBoard.exportInLocalMode({
    hide: {
        // 隐藏元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    }
})
// 示例六:导出画笔元素,不导出图片元素
teduBoard.exportInLocalMode({
   include: {
        // 只导出画笔涂鸦
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    },
  exclude: {
       // 不导出图片元素
       types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE]
  }
})
Parameters:
Name Type Description
filter object
Properties
Name Type Description
include object
Properties
Name Type Description
types Array.<number>

要包含的元素类型

ids Array.<string>

要包含的元素

exclude object
Properties
Name Type Description
types Array.<number>

要排除的元素类型

ids Array.<string>

要排除的元素

hide object
Properties
Name Type Description
types Array.<number>

要隐藏的元素类型

ids Array.<string>

要隐藏的元素

getAllClassGroupIds() → {Array.<string>}

获取所有分组id

Example
teduBoard.getAllClassGroupIds()
Returns:

分组id列表

Type
Array.<string>

getAudioVolume(elementId) → {number}

获取音量

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

Returns:

volume 当前音量

Type
number

getBackgroundColor() → {string}

获取当前白板页的背景色

Returns:

当前白板页的背景色

Type
string

getBackgroundImage(boardId) → {BackgroundImageInfo}

获取白板背景图

Parameters:
Name Type Description
boardId string

白板ID 不传则是当前页

Returns:
Type
BackgroundImageInfo

getBoardClientSize()

获取白板当前可视区宽高

Returns:

size

getBoardContentFitMode() → {number}

获取白板内容自适应模式

Returns:

白板内容自适应模式

Type
number

getBoardElementList(boardId, includeHideElement) → {Array.<Element>}

获取白板元素列表

Parameters:
Name Type Description
boardId string

白板id,如为空,则返回当前页的元素列表

includeHideElement boolean

是否包含隐藏元素(使用setElementsDisplay接口隐藏的元素),删除元素不返回(橡皮擦,removeElement接口), 默认 false

Returns:

elements 元素数组

Type
Array.<Element>

getBoardList() → {Array.<string>}

获取所有文件的白板列表

Returns:

所有文件的白板列表

Type
Array.<string>

getBoardRatio() → {string}

获取当前白板页宽高比

Returns:

白板宽高比,格式与 setBoardRatio 接口参数格式一致

Type
string

getBoardRemark(boardId) → {Object}

获取白板备注

Example
// 示例一
// 获取指定的白板备注
teduBoard.getBoardRemark(teduBoard.getCurrentBoard())

// 示例二
// 获取所有设置过白板备注
const boardRemark = teduBoard.getBoardRemark(); // {'boardId1': 'remark1', ''boardId2': 'remark2'}
Parameters:
Name Type Description
boardId string

白板id,不填表示获取所有的白板备注

Returns:
Type
Object

getBoardScale() → {number}

获取当前白板页缩放比例

Returns:

白板缩放比例,格式与 setBoardScale 接口参数格式一致

Type
number

getBoardScroll() → {Object}

获取白板滚动位置

Example
// scrollLeft, scrollTop 以百分比形式展示,范围在 [0,1]
const { scrollLeft, scrollTop } = teduBoard.getBoardScroll();
Returns:

白板滚动位置

Type
Object

getBrushColor() → {string}

获取画笔颜色

Returns:

画笔颜色

Type
string

getBrushThin() → {number}

获取画笔粗细

Returns:

画笔粗细

Type
number

getClassGroupEnable() → {boolean}

获取分组模式状态

Example
teduBoard.getClassGroupEnable()
Returns:

是否启用

Type
boolean

getClassGroupIdByUserId(userId) → {Array.<string>}

获取用户所在的分组

Example
teduBoard.getClassGroupIdByUserId('user_1')
Parameters:
Name Type Description
userId string

用户id

Returns:

分组id列表

Type
Array.<string>

getClassGroupInfoByGroupId(groupId) → {object}

获取分组信息

Example
const data = teduBoard.getClassGroupInfoByGroupId('group1');
const { classGroupId, boardIds, userIds, currentBoardId, title, currentPage, currentStep } = data;
Parameters:
Name Type Description
groupId string

分组id

Returns:

分组信息 { classGroupId: 分组id, boards: 白板列表, users: 用户列表, currentBoardId: 当前白板id, title: 分组标题 }

Type
object

getCurrentBoard() → {string}

获取当前白板页 ID

Returns:

当前白板页 ID

Type
string

getCurrentFile() → {string}

获取当前文件 ID

Returns:

当前文件 ID

Type
string

getElementById(elementId) → {TEduBoardElement}

获取元素信息

Parameters:
Name Type Description
elementId string

元素id

Returns:

元素信息

Type
TEduBoardElement

getEraserSize() → {number}

获取橡皮擦大小

Returns:

橡皮擦大小,单位:像素

Type
number

getFileBoardList(fileId) → {Array.<string>}

获取指定文件的白板 ID 列表

Parameters:
Name Type Description
fileId string

【必填】文件 ID

Returns:

白板 ID 列表

Type
Array.<string>

getFileInfo(fileId) → {FileInfo}

获取白板中指定文件的文件信息

Parameters:
Name Type Description
fileId string

【必填】要获取信息的文件 ID

Returns:

文件信息

Type
FileInfo

getFileInfoList() → {Array.<FileInfo>}

获取白板中上传的所有文件的文件信息列表

Returns:

文件信息列表

Type
Array.<FileInfo>

getFileScale(fid)

获取文件缩放比例

Parameters:
Name Type Description
fid string

【必填】文件id

getGlobalBackgroundColor() → {string}

获取白板全局背景色

Returns:

全局背景色

Type
string

getGlobalBackgroundPic() → {object}

获取全局白板背景图

Returns:

背景图信息

Type
object

getGraphStyle() → {graphStyle}

获取图形样式

Returns:

图形样式

Type
graphStyle

getHighlighterColor() → {string}

获取荧光笔颜色

Returns:

荧光笔颜色

Type
string

getLineStyle()

设置直线样式

Deprecated:
  • 从2.7.7起此接口被废弃,请使用getGraphStyle接口

getOvalDrawMode() → {number}

获取椭圆绘制模式

Returns:

椭圆绘制模式

Type
number

getPPTRemarks(fid, pageIndex) → {Object}

获取指定课件的备注

调用时机:收到PPT加载完成的事件TEDU_BOARD_H5_PPT_STATUS_LOADED回调

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5PPT_STATUS_CHANGED, (status, data) => {
  if (status === TEduBoard.TEduBoardH5PPTStatus.TEDU_BOARD_H5_PPT_STATUS_LOADED) {
  // 示例一:获取指定课件的所有备注
  teduBoard.getPPTRemarks(fid, -1);

   // 示例二:获取指定页的备注,如获取第5页
  teduBoard.getPPTRemarks(fid, 4);
  }
});
Parameters:
Name Type Description
fid string

文件ID

pageIndex number

1:表示获取当前ppt所有备注;其他表示获取当前ppt索引页(从0开始)的备注

Returns:
Type
Object

getSyncTime() → {Number}

获取同步时间戳

Returns:

毫秒级同步时间戳

Type
Number

getTextColor() → {string}

获取文本颜色

Returns:

文本颜色

Type
string

getTextFontFamily() → {string}

获取当前使用字体

Example
const fontFamily = teduBoard.getTextFontFamily();
Returns:

当前使用字体

Type
string

getTextLineHeight() → {number}

返回文本工具行高

Returns:

返回文本工具行高

Type
number

getTextSize() → {number}

获取文本大小

Returns:

文本大小

Type
number

getTextStyle() → {number}

获取文本样式

Returns:

文本样式

Type
number

getThumbnailImages(fileId) → {Array.<string>}

获取指定文件的缩略图,只支持ppt,pdf,word转码的文件

如果是通过云API发起的转码,需要带上 "thumbnail_resolution" 参数,开启缩略图功能,否则返回的缩略图 url 无效

如果是通过applyFileTranscode,需要带上 "thumbnailResolution" 参数,开启缩略图功能,否则返回的缩略图 url 无效

Parameters:
Name Type Description
fileId string

【必填】文件 ID

Returns:

缩略图URL列表

Type
Array.<string>

getToolType() → {number}

获取正在使用的白板工具

Returns:

toolType 正在使用的白板工具 工具类型

Type
number

gotoBoard(boardId, resetStepopt)

跳转到指定白板页

允许跳转到任意文件的白板页

触发 TEduBoard.EVEN.TEB_GOTOBOARD 事件

Parameters:
Name Type Attributes Default Description
boardId string

【必填】要跳转到的白板页 ID

resetStep boolean <optional>
false

指定翻到指定页以后是否重置 PPT 动画步数

gotoClassGroupBoard(boardId)

分组内跳转

分组模式下切换白板只能通过此方法进行,必须知道需要跳转的白板id

如果需要跳转的白板id不在用户所在的分组内,则不进行跳转

Example
teduBoard.gotoClassGroupBoard('#DEFAULT')
Parameters:
Name Type Description
boardId string

白板id

gotoStep(boardId, step)

跳转到指定动画步数

Example
teduBoard.gotoStep(boardId, 1);
Parameters:
Name Type Description
boardId string

白板id

step number

动画步数

importData()

Deprecated:
  • 废弃接口,请使用 importInLocalMode

importInLocalMode(data, filter, Array, Array, Array, Array, Array, Array)

导入白板数据,还原本地数据

1. filter只能过滤白板元素,白板文件和其他数据会正常导入

2. 当调用本接口时候,将直接覆盖本地数据

3. 仅限于关闭数据同步的场景下使用(setDataSyncEnable(false))

4. 如果filter中对应的值都没有设置或者设置空数组,则不进行过滤

5. 如果exclude和hide的types和ids不存在,则会触发 触发 TEduBoard.EVEN.TEB_WARNING 告警事件

Example
// 示例一: 只导入指定的元素类型
teduBoard.importInLocalMode({
    include: {
        // 只导入画笔涂鸦和图片元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE, TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE]
    }
})
// 示例二: 只导入指定的元素类型和元素ID
teduBoard.importInLocalMode({
    include: {
        // 只导入画笔涂鸦类型和元素id为xxxxxxx的元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE],
        ids: ['xxxxxxx']
    }
})
// 示例三:所有元素都不要导入
teduBoard.importInLocalMode({
    include: {
        // 传一个不存在的元素类型,就可以实现不导入所有元素
        types: [-1],
    }
})
// 示例四:不导入画笔涂鸦
teduBoard.importInLocalMode({
    exclude: {
        // 排除画笔涂鸦
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    }
})
// 示例五:导入画笔涂鸦,并将其隐藏
teduBoard.importInLocalMode({
    hide: {
        // 隐藏元素
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    }
})
// 示例六:导入画笔元素,不导入图片元素
teduBoard.exportInLocalMode({
   include: {
        // 只导入画笔涂鸦
        types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE]
    },
  exclude: {
       // 不导入图片元素
       types: [TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_IMAGE]
  }
})
Parameters:
Name Type Description
data string

exportDataInLocalMode 接口导出的数据

filter object
Properties
Name Type Description
include object
Array

filter.include.types 导入要包含的元素类型

Array

filter.include.ids 导入要包含的元素

filter.exclude object
Array

filter.exclude.types 导入要排除的元素类型

Array

filter.exclude.ids 导入要排除的元素

filter.hide object
Array

filter.hide.types 导入要隐藏的元素类型

Array

filter.hide.ids 导入要隐藏的元素

isDataSyncEnable() → {boolean}

获取白板是否开启数据同步

Returns:

是否开启数据同步,true 表示开启,false 表示关闭

Type
boolean

isDrawEnable() → {boolean}

获取白板是否允许涂鸦

Returns:

是否允许涂鸦,true 表示白板可以涂鸦,false 表示白板不能涂鸦

Type
boolean

isHandwritingEnable() → {boolean}

获取白板是否开启笔锋

Returns:

是否开启笔锋

Type
boolean

isPiecewiseErasureEnable()

获取分段擦除模式开启状态

Returns:

boolean

lockElements(elementIds, locked)

锁定元素

Parameters:
Name Type Description
elementIds Array.<string>

元素ID

locked boolean

是否锁定

muteAudio(elementId, muted)

音频是否静音

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

muted string

是否静音

muteVideo(muted)

视频静音

只对当前文件有效,静音不会影响远端

由于用户隐私政策限制,微信浏览器以及手机浏览器默认静音播放

Parameters:
Name Type Description
muted boolean

是否需要静音 true:静音 false: 不静音

nextBoard(resetStepopt)

向后翻页

若当前白板页为当前文件的最后一页,则该接口调用无效

触发 TEduBoard.EVEN.TEB_GOTOBOARD 事件

Parameters:
Name Type Attributes Default Description
resetStep boolean <optional>
false

指定翻到指定页以后是否重置 PPT 动画步数

nextStep()

下一步

每个 Step 对应 PPT 的一个动画效果,若当前没有未展示的动画效果,则该接口调用会导致向后翻页

触发 TEduBoard.EVEN.TEB_GOTOSTEP 事件

off(name, callback)

注销事件监听

Examples
// 示例一:注销TEduBoard.EVENT.TEB_INIT的指定的事件监听
teduBoard.off(TEduBoard.EVENT.TEB_INIT, cb)
// 示例二: 注销TEduBoard.EVENT.TEB_INIT的所有事件监听
teduBoard.off(TEduBoard.EVENT.TEB_INIT)
// 示例三:注销所有的事件监听
teduBoard.off()
Parameters:
Name Type Description
name string

要取消监听的事件。注意:当为空时,则注销所有事件监听

callback function

事件处理回调。注意:当为空时,则注销[name]的所有事件监听

on(name, callback)

监听事件

Example
var cb = (code, message) => { };
teduBoard.on(TEduBoard.EVENT.TEB_INIT, cb)
Parameters:
Name Type Description
name string

【必填】要监听的事件 事件类型

callback function

【必填】事件处理回调

pauseAudio(elementId)

暂停音频

触发状态改变回调 TEduBoard.EVENT.TEB_AUDIO_STATUS_CHANGED

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

pauseH5PPTAudio(videoIDs)

暂停ppt音频

Example
// 暂停当前页第一个音频
teduBoard.pauseH5PPTAudio(teduBoard.getFileInfo().pptMediaInfo.audioIDList)
Parameters:
Name Type Description
videoIDs

音频元素ID数组,元素ID可通过getFileInfo方法获取

pauseH5PPTVideo(videoIDs)

暂停ppt视频

Example
// 暂停当前页第一个视频
teduBoard.pauseH5PPTVideo(teduBoard.getFileInfo().pptMediaInfo.videoIDList)
Parameters:
Name Type Description
videoIDs

视频元素ID数组,元素ID可通过getFileInfo方法获取

pauseVideo()

暂停视频

只对当前视频文件有效

触发状态改变回调 TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED

playAudio(elementId)

播放音频

触发状态改变回调 TEduBoard.EVENT.TEB_AUDIO_STATUS_CHANGED

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

playH5PPTAudio(videoIDs)

播放ppt音频

Example
// 播放当前页第一个音频
teduBoard.playH5PPTAudio(teduBoard.getFileInfo().pptMediaInfo.audioIDList)
Parameters:
Name Type Description
videoIDs

音频元素ID数组,元素ID可通过getFileInfo方法获取

playH5PPTVideo(videoIDs)

播放ppt视频

Example
// 播放当前页第一个视频
teduBoard.playH5PPTVideo(teduBoard.getFileInfo().pptMediaInfo.videoIDList)
Parameters:
Name Type Description
videoIDs

视频元素ID数组,元素ID可通过getFileInfo方法获取

playVideo()

播放视频

只对当前视频文件有效

触发状态改变回调 TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED

prevBoard(resetStepopt)

向前翻页

若当前白板页为当前文件的第一页,则该接口调用无效

触发 TEduBoard.EVEN.TEB_GOTOBOARD 事件

Parameters:
Name Type Attributes Default Description
resetStep boolean <optional>
false

指定翻到指定页以后是否重置PPT动画步数

prevStep()

上一步

每个 Step 对应 PPT 的一个动画效果,若当前没有已展示的动画效果,则该接口调用会导致向前翻页

触发 TEduBoard.EVEN.TEB_GOTOSTEP 事件

redo()

恢复当前白板页上一次撤销

refresh()

刷新当前页白板

触发 TEduBoard.EVENT.TEB_REFRESH 回调

如果当前白板包含 PPT/H5/图片/视频时,刷新白板将会触发对应的回调

Example
// =================  通常结合白板错误码使用 ===============

var notifyBoardException = function() {
 // 注意: 以下几行代码主要演示监听到异常,引导用户手动触发refresh接口重新渲染白板,这几行代码在您的环境中运行通不过,是正常现象
        MessageBridge.showMessageBox({
          title: '检测到白板页面异常,请刷新后继续使用',
          options: ['刷新', '取消'],
          callback: index => {
            if (index === 0) {
              teduBoard.refresh();
            }
          }
        })
        // 以上几行代码主要演示监听到异常,引导用户手动触发refresh接口重新渲染白板,这几行代码在您的环境中运行通不过,是正常现象
      };

// 图片状态加载回调
     teduBoard.on(TEduBoard.EVENT.TEB_IMAGE_STATUS_CHANGED, (status, data) => {
        switch(status) {
          case TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_ERROR:  //背景图片加载错误
          case TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_TIMEOUT:  //背景图片加载超时
            this.notifyBoardException();
            break;
        }
      });
  
     // h5ppt加载状态
     teduBoard.on(TEduBoard.EVENT.TEB_H5PPT_STATUS_CHANGED, (status, data) => {
        switch (status) {
          case TEduBoard.TEduBoardH5PPTStatus.TEDU_BOARD_H5_PPT_STATUS_TIMEOUT: // 动画ppt加载超时
          case TEduBoard.TEduBoardH5PPTStatus.TEDU_BOARD_H5_PPT_STATUS_RESOURCES_LOADING_ERROR: // 动画ppt加载错误
          case TEduBoard.TEduBoardH5PPTStatus.TEDU_BOARD_H5_PPT_STATUS_RUNTIME_ERROR: // 动画ppt内部错误
            this.notifyBoardException();
            break;
        }
      });
  
     // mp4文件
     teduBoard.on(TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED, data => {
        let status = data.status;
        switch (status) {
          case TEduBoard.VIDEO_STATUS.TEDU_BOARD_VIDEO_STATUS_ERROR: // 播放视频错误
            this.notifyBoardException();
            break;
        }
      });

removeBackupDomain(domain, backupopt)

删除资源主备域名映射

Example
// 示例一
// 删除https://test.qcloudtiw.com的备用域名https://main.qcloudimg.com
teduBoard.removeBackupDomain('https://test.qcloudtiw.com', 'https://main.qcloudimg.com')

// 示例二
// 删除https://test.qcloudtiw.com的所有备用域名
teduBoard.removeBackupDomain('https://test.qcloudtiw.com')
Parameters:
Name Type Attributes Default Description
domain string

【必填】主域名

backup string <optional>
''

【可选】备用域名,不填或填空字符串则删除当前主域名配置

removeBoardInClassGroup(groupId, boardId)

从分组中移除白板

如果移除的白板是此分组当前显示的白板,当前分组的展示白板内容将变为白板列表中的第一个白板

如果当前分组只含有一个白板,则该白板不允许删除

Example
teduBoard.removeBoardInClassGroup('group1', '#DEFAULT')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

boardId string

白板id

removeClassGroup(groupId)

删除分组

删除分组后,该分组id将会被移除,分组内的用户如果还属于其他分组,将同步最近更新的分组的白板内容,否则将变为未分组状态

Example
teduBoard.removeClassGroup('group1')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

removeElement(id) → {boolean}

删除白板元素

触发 TEduBoard.EVENT.TEB_REMOVEELEMENT 回调

Parameters:
Name Type Description
id string

图片元素/网页元素的id

Returns:

删除是否成功

Type
boolean

removeUserInClassGroup(groupId, userId)

从分组中移除用户

如果将当前用户从某一分组移除,如果此时当前用户还属于其他分组,将显示最近更新的分组当前的白板内容,否则将变为未分组状态

Example
teduBoard.removeUserInClassGroup('group1', 'user_2')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

userId string

用户id

reset()

重置白板, 调用该接口后将会清空所有的白板数据

resetClassGroup()

重置所有分组

本接口仅重置分组信息,不重置分组模式状态

调用本接口后,所有用户都变为未分组状态,可以互相同步白板内容

Example
teduBoard.resetClassGroup()

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});

resetPermissionChecker(permissions)

重置互动白板操作权限校验

只对本地设置有效

Parameters:
Name Type Description
permissions

resize()

重新计算白板大小,并渲染。

适用于白板容器大小发生改变的场景。当白板容器大小发生改变,可调用此方法,白板会重新计算大小和渲染

seekAudio(elementId, progress)

音频跳转到指定位置

触发状态改变回调 TEduBoard.EVENT.TEB_AUDIO_STATUS_CHANGED

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

progress string

音频进度

seekVideo(time)

视频跳转到指定位置

只对当前视频文件有效

Android端由于视频关键帧的问题,会出现和其他端进度不一样的情况

触发状态改变回调 TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED

Parameters:
Name Type Description
time number

播放进度,单位秒

setAccessibleUsers(users, operationType)

设置允许操作哪些用户绘制的图形
该接口会产生以下影响:
1.ERASER 工具只能擦除 users 参数列出的用户绘制的涂鸦,无法擦除其他人绘制的涂鸦
2.POINTSELECT、SELECT 工具只能选中 users 参数列出的用户绘制的涂鸦,无法选中其他人绘制的涂鸦
3.clear 接口只能用于清空选中涂鸦以及 users 参数列出的用户绘制的涂鸦,无法清空背景及其他人绘制的涂鸦
4.白板包含的其他功能未在本列表明确列出者都可以确定不受本接口影响

Deprecated:
  • 接口自2.8.0版本开始废弃,请使用enablePermissionChecker接口代替,请参考互动白板权限控制文档。
Parameters:
Name Type Description
users Array

【必填】指定允许操作的用户集,为null或[]表示不加限制,['']表示限制所有用户

operationType Array

【选填】指定允许的 操作类型

setAudioVolume(elementId, volume)

设置音频音量

Parameters:
Name Type Description
elementId string

调用 addElement 返回的元素 ID

volume number

音频音量,取值范围[0-1]

setBackgroundColor(color)

设置当前白板页的背景色

Examples
// 示例一
teduBoard.setBackgroundColor('#ff0000')
// 示例二
teduBoard.setBackgroundColor('rgba(ff, 00, 00, 0.5)')
Parameters:
Name Type Description
color string

【必填】要设置的背景色

setBackgroundH5(url)

设置当前白板页的背景H5页面

注意:1. 该接口只能在普通白板上生效

注意:2. 该接口只支持https协议的网址

注意:3. 该接口与 setBackgroundImage 接口互斥

注意:4. 背景h5页面内的操作不能同步

Example
teduBoard.setBackgroundH5('https://cloud.tencent.com/document/product/1137/37901')
Parameters:
Name Type Description
url string

【必填】要设置的背景 H5 页面 url

setBackgroundImage(url, modeopt)

设置当前白板页的背景图片

注意:1. 该接口只能在普通白板上生效

注意:2. 该接口只支持https协议的图片url

注意:3. 该接口与 setBackgroundH5 接口互斥

注意:4. 设置为null或者空字符串则清空当前页的背景图

Examples
// 示例一: 图片居中显示
teduBoard.setBackgroundImage('https://main.qcloudimg.com/raw/d3f7c4fe9096f86fe11db9c75d6f5ebc.png', TEduBoard.TEduBoardImageFitMode.TEDU_BOARD_IMAGE_FIT_MODE_CENTER)
// 示例二:图片居左显示
teduBoard.setBackgroundImage('https://main.qcloudimg.com/raw/20db9863af9f7e57a7be64dbac685691.png', TEduBoard.TEduBoardImageFitMode.TEDU_BOARD_IMAGE_FIT_MODE_LEFT)
Parameters:
Name Type Attributes Default Description
url string

【必填】要设置的背景图片url,只支持https协议的图片url

mode number <optional>
TEduBoard.TEduBoardImageFitMode.TEDU_BOARD_IMAGE_FIT_MODE_CENTER

【可选】要使用的图片填充对齐模式

setBackgroundImageAngle(angle)

设置背景图片旋转角度

Parameters:
Name Type Description
angle

旋转角度(0-360)

setBoardContentFitMode(mode)

设置白板内容自适应模式

Deprecated:
  • since version 2.0.0
Example
teduBoard.setBoardContentFitMode(TEduBoard.TEduBoardContentFitMode.TEDU_BOARD_FILE_FIT_MODE_NONE)
Parameters:
Name Type Description
mode number

mode - Deprecated: description 【必填】要设置的白板内容自适应模式

setBoardRatio(ratio)

设置当前白板页宽高比

Example
teduBoard.setBoardRatio('16:9')
Parameters:
Name Type Description
ratio string

【必填】要设置的白板宽高比,格式如: "4:3"、"16:9"

setBoardRemark(boardId, remark)

设置白板备注

Example
// 示例一
// 为某个白板设置备注, 当前白板可省略boardId参数
const boardId = teduBoard.getCurrentBoard()
teduBoard.setBoardRemark(boardId, 'remark')
Parameters:
Name Type Description
boardId string

【必填】要备注的白板id

remark string

【必填】要备注的内容

setBoardScale(scale)

设置当前白板页缩放比例

Parameters:
Name Type Description
scale number

【必填】要设置的白板缩放比例,支持范围: [100,300],实际缩放比为: scale/100

setBrushColor(color)

设置画笔颜色,画笔颜色用于所有涂鸦绘制

Examples
// 示例一
teduBoard.setBrushColor('#ff0000')
// 示例二
teduBoard.setBrushColor('rgba(255, 00, 00, 1)')
Parameters:
Name Type Description
color string

【必填】要设置的画笔颜色

setBrushThin(thin)

设置画笔粗细
画笔粗细用于所有涂鸦绘制,实际像素值取值(thin * 白板的高度 / 10000)px,如果结果小于1px,则涂鸦的线条会比较虚

Parameters:
Name Type Description
thin number

【必填】要设置的画笔粗细

setClassGroup(groupId, boards, users, titleopt, currentBoardIdopt)

设置分组

本接口将全量更新同一个分组id的分组信息

设置分组时必须添加一个已存在的白板

设置分组后,如果当前用户属于此分组,该用户将直接跳转至分组中当前展示的白板

Example
teduBoard.setClassGroup('group1', ['#DEFAULT'], ['user_1'], 'test_group', '#DEFAULT')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Attributes Default Description
groupId string

分组id

boards Array.<string>

分组白板列表

users Array.<string>

分组用户列表

title string <optional>
""

分组标题

currentBoardId string <optional>
""

分组初始白板

setClassGroupEnable(enable)

开启分组模式

当有用户调用此接口时,房间内所有用户都会同步启用或关闭此模式

启用此模式后,用户只接受来自同一分组的用户的翻页信令,同一分组同步显示白板内容

未分组的用户默认属于同一个分组,可以相互同步白板内容

开启此模式时,如果当前用户已被分组,该用户将直接跳转至分组中当前展示的白板

Example
teduBoard.setClassGroupEnable(true)

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
enable boolean

是否启用

setClassGroupTitle(groupId, title)

设置分组标题

Example
teduBoard.setClassGroupTitle('group1', 'test_group2')

teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});
Parameters:
Name Type Description
groupId string

分组id

title string

分组标题

setCursorIcon(toolType, cursorIcon)

自定义白板工具鼠标样式

注意:除了画笔和激光笔工具外,其他工具使用的系统的cursor实现,icon尺寸不建议大于64*64px。

注意:如果是设置缩放工具,请使用设置缩放工具icon的setZoomCursorIcon接口

Examples
// 示例一:设置自定义橡皮擦
teduBoard.setCursorIcon(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_ERASER, {
    cursor: 'url',
    url: 'https://res.qcloudtiw.com/board/icons/eraser.png',
    offsetX: 0,
    offsetY: 0
})
// 示例二:将移动工具设置为内置鼠标move样式
teduBoard.setCursorIcon(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_ZOOM_DRAG, {
    cursor: 'move'
})
Parameters:
Name Type Description
toolType number

【必填】要设置鼠标样式的白板工具类型 工具类型

cursorIcon object

【必填】要设置的鼠标样式

Properties
Name Type Description
cursor string

cursor类型,浏览器内置鼠标指针类型

url string

自定义鼠标指针样式的url,当cursorIcon.cursor为url时生效,url只能使用https协议当资源;自定义的图片尺寸不能大于128*128, 否则无效。

offsetX number

自定义鼠标指针样式的x方向偏移,当cursorIcon.cursor为url时生效 默认0

offsetY number

自定义鼠标指针样式的y方向偏移,当cursorIcon.cursor为url时生效 默认0

setCursorPosition(option)

设置光标位置

Parameters:
Name Type Description
option

setDataSyncEnable(enable)

设置白板是否开启数据同步
白板创建后默认开启数据同步,关闭数据同步,本地的所有白板操作不会同步到远端和服务器

Parameters:
Name Type Description
enable Boolean

【必填】是否开启

setDownGradeEnable(fid, slideIndex, enable)

设置h5ppt文件 降级渲染

Parameters:
Name Type Description
fid string

文件ID

slideIndex number

当前页索引值

enable boolean

true:降级渲染,false:取消降级

setDrawEnable(enable)

设置白板是否允许涂鸦,白板创建后默认为允许涂鸦状态

Parameters:
Name Type Description
enable boolean

【必填】是否允许涂鸦,true 表示白板可以涂鸦,false 表示白板不能涂鸦

setElementsDisplay(types, ids, visible)

设置元素显示状态

1. 如果元素类型和元素id都设置为null或者设置为空数组,则表示全部元素

2. 如果元素类型和元素id都设置,则取其符合条件元素的并集

3. 如果types和ids不存在,则会触发 触发 TEduBoard.EVEN.TEB_WARNING 告警事件

Example
// 实例一:将画笔涂鸦元素隐藏
teduBoard.setElementsDisplay([TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE], null, false);
// 实例二:将xxx元素显示
teduBoard.setElementsDisplay(null, ['xxx'], true);
// 实例三:将画笔涂鸦元素和xxx元素隐藏
teduBoard.setElementsDisplay([TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE], ['xxx'], false);
// 实例四:将所有元素隐藏
teduBoard.setElementsDisplay(null, null, false); // 方式一
teduBoard.setElementsDisplay([], [], false); // 方式二
// 实例五:将所有元素显示
teduBoard.setElementsDisplay(null, null, true); // 方式一
teduBoard.setElementsDisplay([], [], true); // 方式二
Parameters:
Name Type Description
types

元素类型

ids

元素ID

visible

是否显示

setEraseLayerLimit(limitopt)

设置橡皮擦单次擦除图层数量

单次擦除:鼠标/手指按下 -> 鼠标/手指移动 -> 鼠标/手指抬起。

Parameters:
Name Type Attributes Default Description
limit number <optional>
0

擦除图层数量,默认为0,即不限制图层数量

setEraseLayerType(typeArropt)

限制橡皮擦可擦除的白板元素类型

支持设置多个可擦除类型

Parameters:
Name Type Attributes Default Description
typeArr Array.<number> <optional>
[]

限制可擦除的白板元素类型,默认不限制元素类型

setEraserSize(radius)

设置橡皮擦大小

Example
teduBoard.setEraserSize(20);
Parameters:
Name Type Description
radius number

橡皮擦擦除半径,单位:像素

setFileScale(fid, scale)

设置文件缩放比例

针对文件生效

Parameters:
Name Type Description
fid string

【必填】文件id

scale number

【必填】要设置的文件缩放比例,支持范围: [100,300],实际缩放比为: scale/100

setGlobalBackgroundColor(color)

设置所有白板的背景色
调用该接口将导致所有白板的背景色发生改变
新创建白板的默认背景色取全局背景色

Examples
// 示例一
teduBoard.setGlobalBackgroundColor('#ff0000')
// 示例二
teduBoard.setGlobalBackgroundColor('rgba(ff, 00, 00, 0.5)')
Parameters:
Name Type Description
color string

【必填】要设置的全局背景色

setGlobalBackgroundPic(url, mode, type)

设置白板背景图

Parameters:
Name Type Description
url string

资源链接

mode number

图片填充对齐模式

type number

背景类型(0: 背景图 1:H5)

setGraphStyle(style)

设置图形样式

Examples
//示例一: 绘制无箭头的虚线直线
// 设置虚线直线,无箭头
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_DOTTED,
 startArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NONE,
 endArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NONE
})
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_LINE);
//示例二:绘制终点实心箭头的实线直线
// 设置实现直线,终点实心箭头
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_SOLID,
 startArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NONE,
 endArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_SOLID
})
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_LINE);
//示例三
// 设置虚线直线,起点普通箭头
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_DOTTED,
 startArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NORMAL,
 endArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NONE
})
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_LINE);
//示例四
// 设置实线直线,起点实心箭头,终点普通箭头
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_DOTTED,
 startArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_SOLID,
 endArrowType: TEduBoard.TEduBoardArrowType.TEDU_BOARD_ARROW_TYPE_NORMAL
})
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_LINE);
//示例五:绘制实心三角形
// 设置实线并填充图形, 当绘制平面几何图形时候,则会填充得到一个实心图形
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_SOLID,
 fillType: TEduBoard.TEduBoardFillType.SOLID
})
// 设置工具为三角形
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_RIGHT_TRIANGLE);
//示例六:绘制虚线空心矩形
// 设置虚线并且不填充图形, 当绘制平面几何图形时候,则会填充得到一个空心图形
teduBoard.setGraphStyle({
 lineType: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_DOTTED,
 fillType: TEduBoard.TEduBoardFillType.NONE
})
// 设置工具为矩形
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_RECT);
Parameters:
Name Type Description
style object

【必填】要设置的直线样式

Properties
Name Type Description
lineType number

线类型,即虚实线

fillType number

填充类型, 即实心空心,只对平面几何图形有效

startArrowType number

起点箭头类型 默认无箭头,只对直线有效

endArrowType number

终点箭头类型 默认无箭头,只对直线有效

setHandwritingEnable(enable)

设置白板是否开启笔锋

笔锋功能默认关闭

Parameters:
Name Type Description
enable boolean

【必填】是否开启,true 表示开启,false 表示关闭

setHighlighterColor(color)

设置荧光笔颜色,画笔颜色用于荧光笔绘制

透明度alpha支持范围:[0.1, 0.9],alpha超出该范围后,则按0.5处理

默认值:rgba(221, 253, 142, 0.5)

Example
// 示例一
teduBoard.setHighlighterColor('rgba(255, 0, 0, 0.5)')
Parameters:
Name Type Description
color string

【必填】要设置的荧光笔颜色,只支持rgba表示颜色

setImageTimeout(timeout)

图片加载超时时间

影响背景图,静态ppt,图片元素

Parameters:
Name Type Description
timeout number

超时时间,默认10s

setLineStyle()

设置直线样式

Deprecated:
  • 从2.7.7起此接口被废弃,请使用setGraphStyle接口

setLogLevel(level)

设置输出日志级别

建议在白板实例创建后立即调用

低于 level 的日志将不会输出

Example
teduBoard.setLogLevel(TEduBoard.TEduBoardLogLevel.ALL)
Parameters:
Name Type Description
level number

控制台输出的日志级别

setMathGraphType(graphType, setMouseToolopt)

设置几何画板元素

Example
teduBoard.setMathGraphType(TEduBoard.TEduBoardMathGraphType.NONE, true)
Parameters:
Name Type Attributes Default Description
graphType number

几何元素类型 TEduBoard.TEduBoardMathGraphType

setMouseTool boolean <optional>
true

是否切换到鼠标工具

setMouseToolBehavior(config)

设置鼠标工具行为

Example
teduBoard.setMouseToolBehavior({
  turnPage: {
    whiteBoard: true, // 普通白板点击可翻页
    h5PPT: true, // 动态ppt转码的文件点击可翻页
    imgPPT: false, // 静态ppt转码文件点击不可翻页
    imgFile: false, // 图片文件(addImagesFile接口添加的文件)点击不可翻页
    audiovisual: false, // 音视频播放控制,默认为false(1、h5PPT:true-->audiovisual:true;2、h5PPT: false && audiovisual:true--> audiovisual:true; 3、h5PPT: false && audiovisual:false--> audiovisual:false; )
  }
})
Parameters:
Name Type Description
config object

配置

Properties
Name Type Description
turnPage object

翻页行为

Properties
Name Type Description
whiteBoard boolean

普通白板,默认值true

h5PPT boolean

动态ppt转码的文件,默认值true

imgPPT boolean

静态ppt转码文件,默认值true

imgFile boolean

图片文件(addImagesFile接口添加的文件)默认值true

audiovisual boolean

音视频播放控制 默认为false,只有在 h5PPT:false时生效

setNextTextInput(textContent, keepFocus)

预设文本工具内容

Example
// 示例一 设置内容
teduBoard.setNextTextInput('互动白板')
Parameters:
Name Type Description
textContent string

【非必填】预设文本内容

keepFocus boolean

【非必填】是否继续保持焦点

setOvalDrawMode(drawMode)

设置椭圆绘制模式

Examples
// 示例一: 固定起始点,起始点和终点的中点为圆心
teduBoard.setOvalDrawMode(TEduBoard.TEduBoardOvalDrawMode.TEDU_BOARD_OVAL_DRAW_MODE_FIX_START)
// 示例二: 固定圆心,起始点为圆心
teduBoard.setOvalDrawMode(TEduBoard.TEduBoardOvalDrawMode.TEDU_BOARD_OVAL_DRAW_MODE_FIX_CENTER)
Parameters:
Name Type Description
drawMode number

【必填】要设置的椭圆绘制模式

setOwnerNickNameVisible(enable)

是否显示自己的别名

Parameters:
Name Type Description
enable boolean

true 显示、false 不显示;默认显示

setPenAutoFittingMode(mode)

设置画笔自动拟合模式

Parameters:
Name Type Description
mode number

画笔自动拟合模式

setPiecewiseErasureEnable(enable)

是否启用点擦(分段擦除)功能

1. 只有2.6.8+的版本画线才能支持点擦,低于2.6.8以下版本的画线会整条线被擦除

2. 观看端如果是低于2.6.8的版本,实时是看不到点擦变化,重新进课堂后能看到

Parameters:
Name Type Description
enable boolean

是否开启点擦

setProxyServer(setting)

设置服务的代理服务器

代理服务器的地址需包含协议类型(支持http/https),域名(IP地址)。端口若不填则默认使用80端口

开启代理服务后,可在HTTP报文头部的X-Forwarded-Host字段获取代理的源域名。如果头部没有X-Forwarded-Host字段,需要将请求代理至https://res.qcloudtiw.com

服务类型必须全量代理,可使用TEduBoard.TEduBoardServiceType.ALL统一设置,也可以单独指定。单独指定的优先级高于TEduBoard.TEduBoardServiceType.ALL

Example
// 示例一
const settingObj = {}
settingObj[TEduBoard.TEduBoardServiceType.ALL] = 'https://proxy.your-domain.com:your-port'
settingObj[TEduBoard.TEduBoardServiceType.TIW_SERVER] = 'https://proxy.your-domain-1.com:your-port'
teduBoard.setProxyServer(settingObj)

// 示例二
const settingObj = {}
settingObj[TEduBoard.TEduBoardServiceType.ALL] = 'https://proxy.your-domain.com:your-port'
settingObj[TEduBoard.TEduBoardServiceType.TIW_SERVER] = 'https://proxy.your-domain-1.com:your-port'
const settingStr = JSON.stringify(settingObj)
teduBoard.setProxyServer(settingStr)
Parameters:
Name Type Description
setting string | object

【必填】代理服务器配置,格式为 { service(服务类型): 代理服务器地址 }

setRemoteCursorVisible(isShow, modeopt)

设置远端画笔在本地是否可见

Parameters:
Name Type Attributes Default Description
isShow boolean

【必填】远端画笔在本地是否可见

mode number <optional>
TEduBoardRemoteCursorAction.DRAWING

【选填】远端画笔操作类型

setScaleAnchor(xRatio, yRatio)

移动白板

对当前白板进行移动

两个入参值小于0按照0处理,大于1按照1处理。

Example
// 示例一:将当前白板显示到左上角
teduBoard.setScaleAnchor(0, 0)
// 示例一:将当前白板显示到左下角
teduBoard.setScaleAnchor(0, 1)
// 示例一:将当前白板显示到右上角
teduBoard.setScaleAnchor(1, 0)
// 示例一:将当前白板显示到右下角
teduBoard.setScaleAnchor(1, 1)
// 示例一:将当前白板居中显示
teduBoard.setScaleAnchor(0.5, 0.5)
Parameters:
Name Type Description
xRatio float

取值范围[0, 1],基于左上角移动

yRatio float

取值范围[0, 1],基于左上角移动

setScaleToolRatio(scale)

设置缩放工具的缩放比例

如设置50,则每次缩放会在原来基础上进行50的缩放,等价于 teduBoard.setBoardScale(teduBoard.getBoardScale() + 50) 或 teduBoard.setBoardScale(teduBoard.getBoardScale() - 50)

Example
teduBoard.setScaleToolRatio(50)
Parameters:
Name Type Description
scale number

setScrollBarVisible(enable)

设置白板滚动条是否可见

Parameters:
Name Type Description
enable boolean

是否可见

setSyncAudioStatusEnable(enable)

是否同步本地音频操作状态到远端

playAudio/pauseAudio/seekAudio 接口以及控制栏事件触发是否影响远端,默认为 true

全局控制项,对所有音频文件有效

Parameters:
Name Type Description
enable boolean

【必填】是否同步

setSyncFps(fps)

修改信令同步频率,该值的允许范围为 [5, 20]

Parameters:
Name Type Description
fps number

setSyncVideoStatusEnable(enable, isAppActiveChange)

是否同步本地视频操作状态到远端

videoPlay/videoPause/videoSeek 接口以及控制栏事件触发是否影响远端,默认为 true

全局控制项,对所有视频文件有效

Parameters:
Name Type Description
enable boolean

【必填】是否同步

isAppActiveChange boolean

【选填】只有移动端在app切换前后台的时候需要调用,其他端不需要设置

setSystemCursorEnable(enable)

是否启用原生系统光标

1. 开启该功能后画笔图标和激光笔图标将使用系统的光标样式来实现,画笔图标和激光笔图标在本地会有一丢丢的流畅度提升。

2. 开启该功能后会出现画笔图标和涂鸦有一点延迟现象,属于正常现象。

3. 开启该功能Mac端在一些情况下会导致光标变成默认的鼠标指针,如消息弹窗等行为,属于正常现象。

Parameters:
Name Type Description
enable boolean

是否启用,默认false

setTextColor(color)

设置文本颜色

Examples
// 示例一
teduBoard.setTextColor('#ff0000')
// 示例二
teduBoard.setTextColor('rgba(ff, 00, 00, 0.5)')
Parameters:
Name Type Description
color string

【必填】要设置的文本颜色

setTextFontFamily(fontFace)

设置自定义字体

白板内置字体的样式为 'customFontFace'

Example
teduBoard.setTextFontFamily('customFontFace');
Parameters:
Name Type Description
fontFace string

字体样式名称

setTextLineHeight(lineHeight)

设置文本框行高

Parameters:
Name Type Description
lineHeight

行高

setTextSize(size)

设置文本大小
实际像素值取值(size * 白板的高度 / 10000)px

Parameters:
Name Type Description
size number

【必填】要设置的文本大小

setTextStyle(style)

设置文本样式

支持:常规 粗体 斜体 粗斜体

Examples
// 示例一:设置粗体
teduBoard.setTextStyle(TEduBoard.TEduBoardTextStyle.TEDU_BOARD_TEXT_STYLE_BOLD)
// 示例二:设置斜体
teduBoard.setTextStyle(TEduBoard.TEduBoardTextStyle.TEDU_BOARD_TEXT_STYLE_ITALIC)
Parameters:
Name Type Description
style number

【必填】要设置的文本样式

setTextValue(elementId, textData)

设置文本组件内容

Properties:
Name Type Description
textData.value string

文本内容

Example
// 示例一
// 设置id为1的文本组件的内容
teduBoard.setTextValue('1', {
  value: 'hello world'
})
Parameters:
Name Type Description
elementId string

【必填】文本组件id

textData object

【必填】文本组件配置

setToolType(toolType)

设置要使用的白板工具

Example
// 示例一 设置画笔
teduBoard.setToolType(TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_PEN)
Parameters:
Name Type Description
toolType number

【必填】要设置的白板工具 工具类型

setToolTypeTitle(title, style, toolType)

设置工具的提示语

由于title的字号大小依赖白板的高度,调用该接口时候,请确保白板所在的节点已经能够获取到了实际的高度。

Example
this.teduBoard.setToolTypeTitle('tiw', {
   position: TEduBoard.TEduBoardPosition.TEDU_BOARD_POSITION_RIGHT_TOP,
   size: 200,
   color: '#f00',
   style: TEduBoard.TEduBoardTextStyle.TEDU_BOARD_TEXT_STYLE_NORMAL
}, TEduBoard.TEduBoardToolType.TEDU_BOARD_TOOL_TYPE_PEN);
Parameters:
Name Type Description
title string

提示语

style object

提示语样式

Properties
Name Type Description
position number

显示的 位置

color string

颜色,支持#ff0000, rgb, rgba

size number

字号,实际像素值取值(size * 白板的高度 / 10000)px

style number

文本样式

toolType number

工具类型

setUserInfo(userInfo)

设置用户信息

Parameters:
Name Type Description
userInfo object

用户信息

Properties
Name Type Description
nickname string

用户昵称

setZoomCursorIcon(zoomInCursorIcon, zoomOutCursorIcon)

自定义缩放工具的图标

Example
teduBoard.setZoomCursorIcon({
  cursor: 'url',
  url: 'https://test-1259648581.file.myqcloud.com/zoom%20in3.svg'
}, {
  cursor: 'url',
  url: 'https://test-1259648581.file.myqcloud.com/zoom%20out.svg'
})
Parameters:
Name Type Description
zoomInCursorIcon object

放大工具图标

Properties
Name Type Description
cursor string

cursor类型,浏览器内置鼠标指针类型

url string

自定义鼠标指针样式的url,当zoomInCursorIcon.cursor为url时生效,url只能使用https协议当资源;自定义的图片尺寸不能大于128*128, 否则无效。

offsetX number

自定义鼠标指针样式的x方向偏移,当zoomInCursorIcon.cursor为url时生效 默认0

offsetY number

自定义鼠标指针样式的y方向偏移,当zoomInCursorIcon.cursor为url时生效 默认0

zoomOutCursorIcon object

缩小工具图标

Properties
Name Type Description
cursor string

cursor类型,浏览器内置鼠标指针类型

url string

自定义鼠标指针样式的url,当zoomOutCursorIcon.cursor为url时生效,url只能使用https协议当资源;自定义的图片尺寸不能大于128*128, 否则无效。

offsetX number

自定义鼠标指针样式的x方向偏移,当zoomOutCursorIcon.cursor为url时生效 默认0

offsetY number

自定义鼠标指针样式的y方向偏移,当zoomOutCursorIcon.cursor为url时生效 默认0

showVideoControl(show)

隐藏和显示视频控制栏

全局控制项,对所有视频文件有效

Parameters:
Name Type Description
show boolean

是否显示视频控制栏

snapshot(param)

白板快照(截图)

1. 由于浏览器的同源策略的限制,对于h5元素进行截图,需要在h5页面上加载 https://res.qcloudtiw.com/board/third/h5webctrl/h5webctrl.min.js

2. 该操作是异步操作,截图完成后会触发 TEduBoard.EVENT.TEB_SNAPSHOT 回调

3. 由于该操作是异步的,在截图未完成前,如果对白板进行了清空,擦除等操作,截图结果可能会与预期结果不一致。

Example
// 调用截图接口
teduBoard.snapshot({userData: '/snapshot/snapshot.png'});
// 监听事件,image为截图内容的base64数据
teduBoard.on(TEduBoard.EVENT.TEB_SNAPSHOT, ({image, userData}) => {});
Parameters:
Name Type Description
param object

快照参数

Properties
Name Type Description
userData string

透传数据,在 TEduBoard.EVENT.TEB_SNAPSHOT 事件回调回来

full boolean

是否截全尺寸白板,默认false。true:全尺寸模式,会忽略白板缩放,截全尺寸白板;false:所见即所得模式,会包含白板缩放,移动,截可见白板的内容。

soundMuteForPPT(mute)

对转码后的H5PPT进行静音

1、只能对本地生效,不会影响远端;只对当次有效,切换文件后需要重新调用

2、只对旧转码方案生效

3、调用时机请在ppt课件加载状态事件中收到加载完成后再调用

Parameters:
Name Type Description
mute boolean

true 静音 false 取消静音

startSyncVideoStatus(interval)

定时同步视频状态到远端(仅限于 mp4)

一般在老师端视频加载完成后调用,切换文件后自动销毁定时器

只对当前文件有效

一般情况下不需要调用此接口进行实时同步

Android端由于视频关键帧的问题,会出现和其他端进度不一样的情况

Parameters:
Name Type Description
interval number

【选填】同步间隔, 单位s

stopSyncVideoStatus()

停止同步视频状态到远端

只对当前文件有效

switchFile(fileId, boardId, stepIndex)

切换文件

该接口仅可用于文件切换,如果传入的 fileId 为当前文件 ID,SDK 会忽略其它参数,不做任何操作

触发 TEduBoard.EVEN.TEB_SWITCHFILE 事件

Parameters:
Name Type Description
fileId string

【必填】要切换到的文件 ID

boardId string

【可选】切换文件并跳转到这个白板页

stepIndex number

【可选】跳转到白板页并切换到这个动画

syncAndReload()

同步本地发送失败的数据到远端并刷新本地数据

接口用途:此接口主要用于网络恢复后,同步本地数据到远端,拉取远端数据到本地

调用时机:在网络恢复后调用

使用限制:

    (1)仅支持2.4.9及以上版本

    (2)如果历史数据还没有加载完成,则不允许重复调用,否则回调告警 TEDU_BOARD_WARNING_ILLEGAL_OPERATION

    (3)此接口需要配合 addAckData 一起使用,在白板数据发送成功后,请调用 addAckData 接口完成确认,如果您接入了ticsdk,且版本是2.5.1以上,则可以直接使用该接口,ticsdk内部已经封装好了addAckData。

同于重新加载历史数据,会触发白板初始化时除 TEduBoard.Event.TEB_INIT 之外的所有回调。

undo()

撤销当前白板页上一次动作

updateElementById(elementId, styleObject)

设置元素样式

Example
// 实例一:更新元素的颜色
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.BOARDER_COLOR,
  value: 'rgba(255,0,0,1)'
})
// 实例二:更新元素的粗细
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.BOARDER_WIDTH,
  value: 30
})
// 实例三:更新元素线条为实线
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.BOARDER_LINE_TYPE,
  value: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_SOLID
})
// 实例四:更新元素线条为虚线
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.BOARDER_LINE_TYPE,
  value: TEduBoard.TEduBoardLineType.TEDU_BOARD_LINE_TYPE_DOTTED
})
// 实例五:删除元素
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.EL_DELETE,
  value: ''
})
 // 实例六:修改元素位置
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.CHANGE_POSITION,
  value: {
     offsetX: -10,  // X轴偏移量(像素值), 负数表示左移,正数表示右移
     offsetY: 10,  // Y轴偏移量(像素值), 负数表示上移,正数表示下移
  }
})
// 实例七:修改文本元素字体大小
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.CHANGE_TEXT_SIZE,
  value: 800
})
// 实例八:修改元素旋转角度
teduBoard.updateElementById(this.selectedElement.elementId, {
  type: TEduBoard.TEduElementOperatorType.ROTATION_ANGLE,
  value: 30
})
Parameters:
Name Type Description
elementId string

元素id

styleObject object

样式对象

Properties
Name Type Description
type number

[必填]元素操作类型 元素操作类型

value number | string

与元素操作类型对应 BOARDER_COLOR:颜色值;BOARDER_WIDTH:线宽度值;BOARDER_LINE_TYPE:TEduBoardLineType;EL_DELETE:为空

useMathTool(mathToolType)

使用数学尺规教具

同一种尺规工具,在页面中有且仅能存在一个,不同类型尺规工具,可以同时存在。

Examples
// 示例一:使用直尺
teduBoard.useMathTool(TEduBoard.TEduMathToolType.RULER)
// 示例二:使用直角三角形(30°,60°,90°)
teduBoard.useMathTool(TEduBoard.TEduMathToolType.TRIANGLE)
// 示例三:使用等腰直角三角形(45°,45°,90°)
teduBoard.useMathTool(TEduBoard.TEduMathToolType.ISOSCELES_TRIANGLE)
// 示例四:使用量角器
teduBoard.useMathTool(TEduBoard.TEduMathToolType.PROTRACTOR)
// 示例五:使用圆规
teduBoard.useMathTool(TEduBoard.TEduMathToolType.COMPASSES)
Parameters:
Name Type Description
mathToolType number

【必填】要使用的数学教具 数学教具

Events

TEduBoard.EVENT.TEB_ADDBOARD

新增白板事件

Properties:
Name Type Description
boardIds Array

新增的白板id列表

fileId string

文件id

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDBOARD, (boardIds, fileId) => {
   console.log('======================:  ', 'TEB_ADDBOARD', ' boardIds:', boardIds, ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_ADDELEMENT

增加元素回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
id string

元素的id

type number

元素类型

userData string

透传userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDELEMENT, (data) => {
   console.log('======================:  ', 'TEB_ADDELEMENT', data);
});

TEduBoard.EVENT.TEB_ADDFILE

新增普通文件事件

Properties:
Name Type Description
fileId string

新增文件 ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDFILE, (fileId) => {
   console.log('======================:  ', 'TEB_ADDFILE', ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_ADDH5PPTFILE

新增动画PPT文件事件

Properties:
Name Type Description
fileId string

新增文件 ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDH5PPTFILE, (fileId) => {
   console.log('======================:  ', 'TEB_ADDH5PPTFILE', ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_ADDIMAGEELEMENT

添加图片元素回调

注意:如果您添加的图片元素直接设置的是一个https的url,则图片名称和userData为空

Properties:
Name Type Description
name string

图片名称

url string

图片url

userData string

透传上传文件配置的userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDIMAGEELEMENT, (name, url, userData) => {
   console.log('======================:  ', 'TEB_ADDIMAGEELEMENT', name, url, userData);
});

TEduBoard.EVENT.TEB_ADDIMAGESFILE

增加图片文件回调

Properties:
Name Type Description
fileId string

新增文件ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDIMAGESFILE, (fileId) => {
   console.log('======================:  ', 'TEB_ADDIMAGESFILE', fileId);
});

TEduBoard.EVENT.TEB_ADDTRANSCODEFILE

增加转码文件回调

Properties:
Name Type Description
fileId string

新增文件ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_ADDTRANSCODEFILE, (fileId) => {
   console.log('======================:  ', 'TEB_ADDTRANSCODEFILE', fileId);
});

TEduBoard.EVENT.TEB_AUDIO_STATUS_CHANGED

媒体播放状态

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
id string

媒体 ID

status number

媒体播放状态码

progress number

当前进度(秒)

duration number

总时长(秒)

Example
teduBoard.on(TEduBoard.EVENT.TEB_AUDIO_STATUS_CHANGED, (data) => {
   console.log('======================:  ', 'TEB_AUDIO_STATUS_CHANGED', ' data:', data);
});

TEduBoard.EVENT.TEB_BOARD_CURSOR_POSITION

自定义鼠标样式时,坐标位置回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
x number

x坐标

y number

y坐标

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_CURSOR_POSITION, (data) => {
  console.log('======================:  TEB_BOARD_CURSOR_POSITION', ' x:', data.x, ' y:', data.y);
});

TEduBoard.EVENT.TEB_BOARD_ELEMENT_LOCKED_CHANGED

元素锁定的状态变更事件

Properties:
Name Type Description
elements Array.<string>

元素Id

locked boolean

锁定状态

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_ELEMENT_LOCKED_CHANGED, (elements: string[], locked: boolean) => {

});

TEduBoard.EVENT.TEB_BOARD_ELEMENT_POSITION_CHANGE

元素位置发生改变回调

Properties:
Name Type Description
data Array.<ElementItem>

回调数据

ElementItem.elementId string

元素ID

ElementItem.type number

元素类型

ElementItem.left number

元素距离白板容器左侧距离

ElementItem.top number

元素距离白板容器顶部距离

ElementItem.width number

元素宽度

ElementItem.height number

元素高度

ElementItem.rotate number

元素旋转角度

ElementItem.boundingbox Object

元素包围盒

Properties
Name Type Description
left number

元素包围盒距离白板容器左侧距离

top number

元素包围盒距离白板容器顶部距离

width number

元素包围盒宽度

height number

元素包围盒高度

status TEduBoardPositionChangeStatus

元素位置或尺寸改变状态

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_ELEMENT_POSITION_CHANGE, (data, status) => {
  console.log('======================:  TEB_BOARD_ELEMENT_POSITION_CHANGE', data, status);
});

TEduBoard.EVENT.TEB_BOARD_IMPORTINLOCALMODE_COMPLETED

importInLocalMode接口导入完成回调

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_IMPORTINLOCALMODE_COMPLETED, () => {

});

TEduBoard.EVENT.TEB_BOARD_PERMISSION_CHANGED

权限发生变更事件

Properties:
Name Type Description
权限名列表 Array.<permissions>
filters Map.<string, Set.<string>> | null

约束条件

当filters为null时 则表示对应的permissions将不再鉴权

Examples
如调用 teduBoard.enablePermissionChecker(["Element::Update::MathTool", "Element::Update::Text"], ['operator/A,B', 'creator/C,D']),则会触发该回调,回调内容为
permissions = ["Element::Update::MathTool", "Element::Update::Text"],
filters = {
   "operator": ['A', 'B']
   "creator": ['C', 'D']
}
如调用 teduBoard.disablePermissionChecker(["Element::Update::MathTool"]),则会触发该回调,回调内容为
permissions = ["Element::Update::MathTool"],
filters = null
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_PERMISSION_CHANGED, (permissions: string[], filters: Map<string, Set<string>> | null) => {

});

TEduBoard.EVENT.TEB_BOARD_PERMISSION_DENIED

没有操作权限

Properties:
Name Type Description
permission string

无权限名

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_PERMISSION_DENIED, (permission: string) => {

});

TEduBoard.EVENT.TEB_BOARD_REMARK_CHANGED

白板备注变更回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
boardId string

白板id

remark string

白板备注

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_REMARK_CHANGED, (data) => {
   console.log('======================:  ', 'TEB_BOARD_REMARK_CHANGED', data);
});

TEduBoard.EVENT.TEB_BOARD_SCALE_CHANGE

白板缩放回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
boardId string

当前白板id

scale number

缩放比例

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_SCALE_CHANGE, (data) => {
   console.log('======================:  ', 'TEB_BOARD_SCALE_CHANGE', data);
});

TEduBoard.EVENT.TEB_BOARD_SCROLL_CHANGED

白板移动回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
boardId string

白板id

trigger number

事件触发来源

scrollLeft number

左侧滚动百分比距离

scrollTop number

顶部滚动百分比距离

scale number

白板缩放比

Example
teduBoard.on(TEduBoard.EVENT.TEB_BOARD_SCROLL_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_BOARD_SCROLL_CHANGED', data);
});

TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED

分组讨论状态变更

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
enable boolean

分组模式状态

classGroupId string

发生变化的分组id

operationType number

触发状态变更的白板分组操作

message string

操作信息

Example
teduBoard.on(TEduBoard.EVENT.TEB_CLASS_GROUP_STATUS_CHANGED, (data) => {
  console.log('======================:  ', 'TEB_CLASS_GROUP_STATUS_CHANGED', data);
});

TEduBoard.EVENT.TEB_DELETEBOARD

删除白板回调

Properties:
Name Type Description
boardIds Array

删除的白板id列表

fileId string

删除白板所在的文件id

Example
teduBoard.on(TEduBoard.EVENT.TEB_DELETEBOARD, (boardIds, fileId) => {
   console.log('======================:  ', 'TEB_DELETEBOARD', ' boardIds:', boardIds, ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_DELETEFILE

删除文件事件

Properties:
Name Type Description
fileId string

删除文件 ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_DELETEFILE, (fileId) => {
   console.log('======================:  ', 'TEB_DELETEFILE', ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_DRAW_STATUS_CHANGED

绘画动作状态切换事件

Properties:
Name Type Description
code number

绘画动作状态码

Example
teduBoard.on(TEduBoard.EVENT.TEB_DRAW_STATUS_CHANGED, (code) => {
   console.log('======================:  ', 'TEB_DRAW_STATUS_CHANGED', code);
});

TEduBoard.EVENT.TEB_ERROR

白板错误事件

注意:1. 白板错误事件一定要监听

注意:2. 白板错误事件属于白板致命错误,只能重新初始化白板才能解决,在初始化之前请先调用 destroy 方法进行销毁当前实例。

Properties:
Name Type Description
errorCode number

错误码

errorMessage string

错误描述

Example
teduBoard.on(TEduBoard.EVENT.TEB_ERROR, (errorCode, errorMessage) => {
   console.log('======================:  ', 'TEB_ERROR', ' errorCode:', errorCode, ' errorMessage:', errorMessage);
});

TEduBoard.EVENT.TEB_FILEUPLOADPROGRESS

文件上传进度

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
loaded number

当前已上传大小,单位 bytes

percent number

文件上传进度,取值范围 [0, 1]

speed number

文件上传速度,单位 bytes

total number

文件总大小,单位 bytes

userData number

透传上传文件配置的userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_FILEUPLOADPROGRESS, (name, url, userData) => {
   console.log('======================:  ', 'TEB_FILEUPLOADPROGRESS', name, url, userData);
});

TEduBoard.EVENT.TEB_FILEUPLOADSTATUS

文件上传状态

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
code number

文件上传状态

message string

状态秒速

userData string

透传上传文件配置的userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_FILEUPLOADSTATUS, (data) => {
   console.log('======================:  ', 'TEB_FILEUPLOADSTATUS', ' data:', data);
});

TEduBoard.EVENT.TEB_GOTOBOARD

跳转白板页回调

Properties:
Name Type Description
boardIds Array

跳转到的白板页 ID

fileId string

跳转到的白板页所属的文件 ID

operator string

触发本次翻页的操作人

Example
teduBoard.on(TEduBoard.EVENT.TEB_GOTOBOARD, (boardId, fileId, operator) => {
   console.log('======================:  ', 'TEB_GOTOBOARD', ' boardId:', boardId, ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_GOTOSTEP

动画PPT步数变化回调

Properties:
Name Type Description
currentStep number

当前白板页动画步数,取值范围 [0, totalStep)

totalStep number

当前白板页动画总步数

Example
teduBoard.on(TEduBoard.EVENT.TEB_GOTOSTEP, (currentStep, totalStep) => {
   console.log('======================:  ', 'TEB_GOTOSTEP', currentStep, totalStep);
});

TEduBoard.EVENT.TEB_H5BACKGROUND_STATUS_CHANGED

白板背景H5加载状态

Properties:
Name Type Description
status number

背景H5加载状态码

data object

回调数据

Properties
Name Type Description
currentBoardId string

当前白板id

url string

加载的h5页面url

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5BACKGROUND_STATUS_CHANGED, (status, data) => {
   console.log('======================:  ', 'TEB_H5BACKGROUND_STATUS_CHANGED', ' status:', status, ' data:', data);
});

TEduBoard.EVENT.TEB_H5FILE_STATUS_CHANGED

白板H5文件加载状态

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
fileId string

文件ID

status number

H5文件加载状态码

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5FILE_STATUS_CHANGED, (data) => {
   console.log('======================:  ', 'TEB_H5FILE_STATUS_CHANGED', ' data:', data);
});

TEduBoard.EVENT.TEB_H5PPT_DOWN_GRADE

h5ppt页面降级渲染事件通知

Properties:
Name Type Description
fileId string

文件ID

slideIndex number

当前页号索引

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5PPT_DOWN_GRADE, (fid: string, slideIndex: number) => {

});

TEduBoard.EVENT.TEB_H5PPT_MEDIA_STATUS_CHANGED

H5PPT内部多媒体资源播放状态回调事件

Properties:
Name Type Description
fileId string

文件ID

mediaId string

多媒体ID

status TEduBoardH5PPTMediaStatus

H5PPT多媒体播放状态码

currentTime number

当前媒体播放进度(单位:秒)

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5PPT_MEDIA_STATUS_CHANGED, (fileId: string, mediaId: string, status: TEduBoardH5PPTMediaStatus, currentTime) => {

});

TEduBoard.EVENT.TEB_H5PPT_STATUS_CHANGED

动画ppt加载状态回调

Properties:
Name Type Description
status number

动画ppt状态

data object

回调数据

Properties
Name Type Description
fid object

当前文件fid

message object

描述信息

Example
teduBoard.on(TEduBoard.EVENT.TEB_H5PPT_STATUS_CHANGED, (status, data) => {
   console.log('======================:  ', 'TEB_H5PPT_STATUS_CHANGED', status, data);
});

TEduBoard.EVENT.TEB_HISTROYDATA_SYNCCOMPLETED

白板历史数据同步完成回调

注意:针对白板行为的操作,一定要在该事件回调完成后再进行操作,否则无效。如翻页,设置背景色等行为

Example
teduBoard.on(TEduBoard.EVENT.TEB_HISTROYDATA_SYNCCOMPLETED, () => {
   console.log('======================:  ', 'TEB_HISTROYDATA_SYNCCOMPLETED');
});

TEduBoard.EVENT.TEB_IMAGE_ELEMENT_STATUS_CHANGED

白板图片元素加载状态

注意:如果监听到TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_ERROR, TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_TIMEOUT事件,请引导用户调用 refresh 接口进行重新渲染白板。

Properties:
Name Type Description
status number

图片加载状态码

data object

回调数据

Properties
Name Type Description
elementId string

当前元素id

currentBoardId string

当前白板id

imgUrl string

加载的url

Example
teduBoard.on(TEduBoard.EVENT.TEB_IMAGE_ELEMENT_STATUS_CHANGED, (status, data) => {
   console.log('======================:  ', 'TEB_IMAGE_ELEMENT_STATUS_CHANGED', ' status:', status, ' data:', data);
});

TEduBoard.EVENT.TEB_IMAGE_STATUS_CHANGED

白板背景图片加载状态

注意:如果监听到TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_ERROR, TEduBoard.TEduBoardImageStatus.TEDU_BOARD_IMAGE_STATUS_LOAD_TIMEOUT事件,请引导用户调用 refresh 接口进行重新渲染白板。

Properties:
Name Type Description
status number

图片加载状态码

data object

回调数据

Properties
Name Type Description
currentBoardId string

当前白板id

imgUrl string

加载的url

currentImgUrl string

已废弃,请忽略

Example
teduBoard.on(TEduBoard.EVENT.TEB_IMAGE_STATUS_CHANGED, (status, data) => {
   console.log('======================:  ', 'TEB_IMAGE_STATUS_CHANGED', ' status:', status, ' data:', data);
});

TEduBoard.EVENT.TEB_INIT

白板初始化事件

Example
teduBoard.on(TEduBoard.EVENT.TEB_INIT, () => {
   console.log('======================:  ', 'TEB_INIT');
});

TEduBoard.EVENT.TEB_MATH_GRAPH_EVENT

数学函数图像工具事件

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
code number

数学函数图像工具状态码

boardId string

函数画板ID

graphId string

函数图像ID

message string

异常信息

Example
teduBoard.on(TEduBoard.EVENT.TEB_MATH_GRAPH_EVENT, (data) => {
   console.log('======================:  ', 'TEB_MATH_GRAPH_EVENT', ' data:', data);
});

TEduBoard.EVENT.TEB_OFFLINE_WARNING

白板离线告警

1. 互动白板在一定时间内(具体值以初始化参数中offlineWarningTimeout决定,默认3分钟),没有主动操作白板,且没有收到其他端操作白板的信令,则会触发该警告。

2. 该警告事件,不影响白板使用,如无特殊使用场景,可忽略该事件;该事件通常可结合具体业务用于检测白板是否处于挂机状态,如长时间挂机,则可销毁白板,避免白板计时。

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
count number

告警次数

Example
teduBoard.on(TEduBoard.EVENT.TEB_OFFLINE_WARNING, (data) => {
   console.log('======================:  ', 'TEB_OFFLINE_WARNING', data);
});

TEduBoard.EVENT.TEB_OPERATE_CANREDO_STATUS_CHANGED

白板可恢复状态改变回调

Properties:
Name Type Description
enable boolean

白板当前是否还能执行 redo 恢复操作

Example
teduBoard.on(TEduBoard.EVENT.TEB_OPERATE_CANREDO_STATUS_CHANGED, (enable) => {
   console.log('======================:  ', 'TEB_OPERATE_CANREDO_STATUS_CHANGED', enable);
});

TEduBoard.EVENT.TEB_OPERATE_CANUNDO_STATUS_CHANGED

白板可撤销状态改变回调

Properties:
Name Type Description
enable boolean

白板当前是否还能执行 undo 撤销操作

Example
teduBoard.on(TEduBoard.EVENT.TEB_OPERATE_CANUNDO_STATUS_CHANGED, (enable) => {
   console.log('======================:  ', 'TEB_OPERATE_CANUNDO_STATUS_CHANGED', enable);
});

TEduBoard.EVENT.TEB_RECTSELECTED

框选工具选中元素回调

Since:
  • 2.6.2
Deprecated:
Example
teduBoard.on(TEduBoard.EVENT.TEB_RECTSELECTED, () => {
   console.log('======================:  ', 'TEB_RECTSELECTED');
});

TEduBoard.EVENT.TEB_REFRESH

刷新白板回调

Example
teduBoard.on(TEduBoard.EVENT.TEB_REFRESH, () => {
   console.log('======================:  ', 'TEB_REFRESH');
});

TEduBoard.EVENT.TEB_REMOVEELEMENT

元素删除回调

Properties:
Name Type Description
elementIds Array

回调数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_REMOVEELEMENT, (ids) => {
   console.log('======================:  ', 'TEB_REMOVEELEMENT', ids);
});

TEduBoard.EVENT.TEB_SELECTED_ELEMENTS

框选工具选中元素回调

Properties:
Name Type Description
data Array.<ElementItem>

回调数据

ElementItem.elementId string

元素ID

ElementItem.type number

元素类型

ElementItem.left number

元素距离白板容器左侧距离

ElementItem.top number

元素距离白板容器顶部距离

ElementItem.width number

元素宽度

ElementItem.height number

元素高度

ElementItem.rotate number

元素旋转角度

ElementItem.boundingbox Object

元素包围盒

Properties
Name Type Description
left number

元素包围盒距离白板容器左侧距离

top number

元素包围盒距离白板容器顶部距离

width number

元素包围盒宽度

height number

元素包围盒高度

Example
teduBoard.on(TEduBoard.EVENT.TEB_SELECTED_ELEMENTS, (data) => {
   console.log('======================:  ', 'TEB_SELECTED_ELEMENTS');
   data.forEach(elementItem => console.log(elementItem));
   console.log('======================');
});

TEduBoard.EVENT.TEB_SETBACKGROUNDIMAGE

设置白板背景图片回调

注意:如果您设置背景图片直接设置的是一个https的url,则图片名称和userData为空

Properties:
Name Type Description
name string

图片名称

url string

图片url

userData string

透传上传文件配置的userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_SETBACKGROUNDIMAGE, (name, url, userData) => {
   console.log('======================:  ', 'TEB_SETBACKGROUNDIMAGE', name, url, userData);
});

TEduBoard.EVENT.TEB_SNAPSHOT

截图回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
code number

截图状态码

image string

图片的base64数据

userData string

透传userData数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_SNAPSHOT, (data) => {
   console.log('======================:  ', 'TEB_SNAPSHOT', data);
   if (data.code === TEduBoard.TEduSnapshotCode.NONE) {
     // 截图正常
   } else {
     // 截图异常
   }
});

TEduBoard.EVENT.TEB_SWITCHFILE

切换文件事件

Properties:
Name Type Description
fileId string

当前的文件ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_SWITCHFILE, (fileId) => {
   console.log('======================:  ', 'TEB_SWITCHFILE', ' fileId:', fileId);
});

TEduBoard.EVENT.TEB_SYNCDATA

白板同步数据回调

1. 主动操作白板会回调该事件。

2. 收到该回调时需要将回调数据通过信令通道发送给房间内其他人,接受者收到后调用 addSyncData 接口将数据添加到白板以实现数据同步。

3. 切记该数据不需要再添加给操作者自己。

4. 如果您已经同时接入了TIC,可忽略该事件,TIC内部已经处理好了。

Properties:
Name Type Description
data object

操作白板数据

Example
teduBoard.on(TEduBoard.EVENT.TEB_SYNCDATA, (data) => {
   console.log('======================:  ', 'TEB_SYNCDATA', data);
});

TEduBoard.EVENT.TEB_TEXT_ELEMENT_STATUS_CHANGED

文本组件状态回调

Properties:
Name Type Description
textStatus object

回调数据

Properties
Name Type Description
status string

文本组件状态(focus:获得焦点,blur:失去焦点)

id string

文本组件id

value string

文本内容

left number

文本组件水平偏移

top number

文本组件垂直偏移

Example
teduBoard.on(TEduBoard.EVENT.TEB_TEXT_ELEMENT_STATUS_CHANGED, (textStatus) => {
   console.log('======================:  ', 'TEB_TEXT_ELEMENT_STATUS_CHANGED', textStatus);
});

TEduBoard.EVENT.TEB_TEXT_ELEMENT_WARNING

白板文字工具异常警告

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
code number

白板文字工具异常状态码

message string

异常信息

Example
teduBoard.on(TEduBoard.EVENT.TEB_TEXT_ELEMENT_WARNING, (data) => {
   console.log('======================:  ', 'TEB_TEXT_ELEMENT_WARNING', ' data:', data);
});

TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED

视频播放状态

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
fileId string

文件ID

status number

视频播放状态码

progress number

当前进度(秒)

duration number

总时长(秒)

Example
teduBoard.on(TEduBoard.EVENT.TEB_VIDEO_STATUS_CHANGED, (data) => {
   console.log('======================:  ', 'TEB_VIDEO_STATUS_CHANGED', ' data:', data);
});

TEduBoard.EVENT.TEB_VODEXTPARAM

需要设置点播视频的额外参数回调

主要应用场景:老师设置了一个点播视频,学生这边因为没有播放相关信息,学生可以再收到该事件后调用 setVODExtParam 接口设置

Properties:
Name Type Description
data object

回调参数

Properties
Name Type Description
fileId string

白板文件ID

appId string

点播应用ID

vodId string

点播文件ID

Example
teduBoard.on(TEduBoard.EVENT.TEB_VODEXTPARAM, (data) => {
   console.log('======================:  ', 'TEB_VODEXTPARAM', data);
});

TEduBoard.EVENT.TEB_WARNING

白板警告事件

注意:1. 白板警告事件一定要监听

注意:2. 警告事件不是致命事件,不影响白板运行,但需要您针对警告码找出原因并修复。

Properties:
Name Type Description
warnCode number

警告码

warnMessage string

警告描述

Example
teduBoard.on(TEduBoard.EVENT.TEB_WARNING, (warnCode, warnMessage) => {
   console.log('======================:  ', 'TEB_WARNING', ' warnCode:', warnCode, ' warnMessage:', warnMessage);
});

TEduBoard.EVENT.TEB_ZOOM_DRAG_STATUS

远端白板缩放移动状态回调

Properties:
Name Type Description
data object

回调数据

Properties
Name Type Description
fid string

文件ID

scale number

文件缩放比

xOffset number

当前可视区域距左上角的横向偏移量

yOffset number

当前可视区域距左上角的纵向偏移量

Example
teduBoard.on(TEduBoard.EVENT.TEB_ZOOM_DRAG_STATUS, (data) => {
   console.log('======================:  ', 'TEB_ZOOM_DRAG_STATUS', data);
});