new TEduBoard()
TEduBoard
Properties:
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
initParams |
object | 白板初始化参数 Properties
|
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
|
|
TEB_H5FILE_STATUS_CHANGED |
string |
TEB_H5FILE_STATUS_CHANGED
|
|
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
|
|
TEB_ADDBOARD |
string |
TEB_ADDBOARD
|
|
TEB_DELETEBOARD |
string |
TEB_DELETEBOARD
|
|
TEB_GOTOBOARD |
string |
TEB_GOTOBOARD
|
|
TEB_ADDH5PPTFILE |
string |
TEB_ADDH5PPTFILE
|
|
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
|
|
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
|
|
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
|
|
TEB_H5PPT_DOWN_GRADE_INTERNAL_OPERATOR |
string |
TEB_H5PPT_DOWN_GRADE_INTERNAL_OPERATOR
|
白板事件类型
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
|
|
TEDU_BOARD_TOOL_TYPE_RECT_SOLID |
number |
8
|
|
TEDU_BOARD_TOOL_TYPE_POINT_SELECT |
number |
9
|
|
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
|
|
TEDU_BOARD_TOOL_TYPE_CIRCLE |
number |
15
|
空心正圆形 |
TEDU_BOARD_TOOL_TYPE_CIRCLE_SOLID |
number |
16
|
|
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 |
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}
Parameters:
Name | Type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
Properties
|
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}
添加白板元素
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 Properties
|
|||||||||||||||
options |
object | 配置参数 Properties
|
Returns:
元素ID
- Type
- string
addH5File(url, titleopt, needSwitchopt, enableDrawopt) → {string}
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
|
添加文件后是否切换到该文件 |
enableDraw |
boolean |
<optional> |
false
|
是否允许涂鸦 |
Returns:
文件 ID
- Type
- string
addImageElement(url)
添加图片元素
触发添加图片元素 TEduBoard.EVENT.TEB_ADDIMAGEELEMENT 事件
- Since:
- 2.6.2
- Deprecated:
- 从2.6.2起此接口被废弃,请使用 添加白板元素 接口添加图片元素
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 Properties
|
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:
- 从2.6.5起此接口被废弃,请使用腾讯云文档转码服务进行文档转码
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); } }); |
cancelSelect(type)
取消当前选框
Example
// 示例一 取消所有画线涂鸦的选框
teduBoard.cancelSelect(TEduBoard.TEduBoardElementType.TEDU_BOARD_ELEMENT_GRAFFITI_LINE)
Parameters:
Name | Type | Description |
---|---|---|
type |
number | 要取消选框的类型 取消选框 |
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)无法删除
Parameters:
Name | Type | Description |
---|---|---|
boardId |
string | 【可选】要删除的白板 ID,为 null 表示删除当前页 |
deleteFile(fileId)
删除文件
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
|
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}
获取指定课件的备注
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)
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
|
||||||
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)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
resetStep |
boolean |
<optional> |
false
|
指定翻到指定页以后是否重置 PPT 动画步数 |
nextStep()
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)
暂停音频
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()
playAudio(elementId)
播放音频
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()
prevBoard(resetStepopt)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
resetStep |
boolean |
<optional> |
false
|
指定翻到指定页以后是否重置PPT动画步数 |
prevStep()
redo()
恢复当前白板页上一次撤销
refresh()
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}
删除白板元素
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)
音频跳转到指定位置
Parameters:
Name | Type | Description |
---|---|---|
elementId |
string | 调用 addElement 返回的元素 ID |
progress |
string | 音频进度 |
seekVideo(time)
视频跳转到指定位置
只对当前视频文件有效
Android端由于视频关键帧的问题,会出现和其他端进度不一样的情况
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
|
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> |
[]
|
限制可擦除的白板元素类型,默认不限制元素类型 |
setEraserMode(enable)
是否启用点擦(分段擦除)功能
1. 只有2.6.8+的版本画线才能支持点擦,低于2.6.8以下版本的画线会整条线被擦除
2. 观看端如果是低于2.6.8的版本,实时是看不到点擦变化,重新进课堂后能看到
Parameters:
Name | Type | Description |
---|---|---|
enable |
boolean | 是否开启点擦 |
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
|
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 | |||
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
|
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
|
|||||||||||||||
toolType |
number |
setUserInfo(userInfo)
设置用户信息
Parameters:
Name | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|
userInfo |
object | 用户信息 Properties
|
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
|
|||||||||||||||
zoomOutCursorIcon |
object | 缩小工具图标 Properties
|
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
|
soundMuteForPPT(mute)
Parameters:
Name | Type | Description |
---|---|---|
mute |
boolean | true 静音 false 取消静音 |
startSyncVideoStatus(interval)
定时同步视频状态到远端(仅限于 mp4)
一般在老师端视频加载完成后调用,切换文件后自动销毁定时器
只对当前文件有效
一般情况下不需要调用此接口进行实时同步
Android端由于视频关键帧的问题,会出现和其他端进度不一样的情况
Parameters:
Name | Type | Description |
---|---|---|
interval |
number | 【选填】同步间隔, 单位s |
stopSyncVideoStatus()
停止同步视频状态到远端
只对当前文件有效
switchFile(fileId, boardId, stepIndex) → {Promise}
切换文件
该接口仅可用于文件切换,如果传入的 fileId 为当前文件 ID,SDK 会忽略其它参数,不做任何操作
触发 TEduBoard.EVEN.TEB_SWITCHFILE 事件
2.9.6版本支持异步方法并返回Promise
Parameters:
Name | Type | Description |
---|---|---|
fileId |
string | 【必填】要切换到的文件 ID |
boardId |
string | 【可选】切换文件并跳转到这个白板页 |
stepIndex |
number | 【可选】跳转到白板页并切换到这个动画 |
Returns:
切换到的文件ID
- Type
- Promise
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
|
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
|
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
|
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
|
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
|
|||||||||||||||
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
|
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
|
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
|
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
|
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
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
|
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
|
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 | ||||||||||
data |
object | 回调数据 Properties
|
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
|
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 | |
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 | ||||||||||
data |
object | 回调数据 Properties
|
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
|
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
|
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
|
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
|
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:
- 从2.6.2起此回调被废弃,请使用 选中元素回调
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
|
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
|
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
|
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
|
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
|
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
|
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
|
Example
teduBoard.on(TEduBoard.EVENT.TEB_ZOOM_DRAG_STATUS, (data) => {
console.log('======================: ', 'TEB_ZOOM_DRAG_STATUS', data);
});