anyrtc
  • anyRTC平台
  • 应用场景
    • 实时直播
      • Android
      • iOS
      • Web
      • 错误码
    • 互动连麦
      • Android
      • iOS
      • 错误码
    • 视频会议
      • Android
      • iOS
      • Web
      • 微信小程序
      • 错误码
    • 点对点
      • Android
      • iOS
      • Web
      • 错误码
    • 在线娃娃机
      • Android
      • iOS
      • Web
      • 错误码
    • 互动白板
      • Android
      • iOS
      • Web
      • 错误码
    • 指挥调度
      • Android
      • iOS
      • Web
      • 错误码
  • 工具
    • Web屏幕共享
    • 浏览器WebRTC检测
  • 服务
    • 服务对接文档
      • 实时直播转码服务指南
      • 录像服务指南
      • 状态服务指南
      • CALL服务指南
    • 安全文档
      • 应用级安全设置指南
      • 服务级安全设置指南
  • FAQ
    • iOS常见问题
    • Android常见问题
    • Web常见问题
    • 其它常见问题
    • 计费说明
Powered by GitBook
On this page
  • 一、快速开始
  • 集成指南
  • 开发指南
  • 二、API接口文档
  • ArBoard 接口类
  • ArBoard 回调接口
  • 三、更新日志

Was this helpful?

  1. 应用场景
  2. 互动白板

Web

PreviousiOSNext错误码

Last updated 5 years ago

Was this helpful?

一、快速开始

集成指南

适用范围

本集成文档适用于Web ARWhiteboard SDK 3.0.0版本。

导入SDK

npm 市场

  • 安装或更新至最新版本:

npm install ar-whiteboard@latest --save-dev

import ArWhiteBoard from 'ar-whiteboard';
import 'ar-whiteboard/lib/index.css';

js 引用

  • 前往,ctrl+s或command+s保存到本地

  • 引用

<script src="yourAssetsPath/ArWhiteBoard.3.0.0.js"></script>

开发指南

1. 初始化SDK

集成SDK后,还需对SDK在页面进行初始化操作。

1.1 导入头文件

import ArWhiteBoard from 'ar-whiteboard';
import 'ar-whiteboard/lib/index.css';

1.2 实例化对象

DomIddiv容器的id属性;

let Board = new ArWhiteBoard(DomId);

1.3 配置开发者信息

//配置开发者信息
Board.initEngineWithARInfo(APP_ID, APP_TOKEN);

//配置私有云(默认无需配置)
//Board.configServer(SERVE_URL);

2. 创建白板

2.1 实例化白板对象

Board.initWithRoomID(anyRTCId, fileId, userId, backgroundList);

3. 白板操作

详细操作请看ArBoard 接口类。

4.退出画板

退出。

Board.leave();

二、API接口文档

ArBoard 接口类

初始化实例

示例

let Board = new ArWhiteBoard(DomId);

参数

参数名

类型

描述

DomId

Element

Div容器的id属性

1. 配置私有云画板服务

示例

Board.configServerUrl(serverUrl);

参数

参数名

类型

描述

serverUrl

String

画板服务URL

说明

该方法需要在配置开发者信息之前调用。

2. 初始化画板

示例

Board.initEngineWithARInfo(appId, appToken);

参数

参数名

类型

描述

appId

String

anyRTC云平台的应用id

appToken

String

anyRTC云平台的应用的appToken

说明

3. 初始化画板

示例

Board.initWithRoomID(anyRTCId, fileId, userId, backgroundList);

参数

参数名

类型

描述

anyRTCId

String

房间号ID

fileId

String

文件ID

userId

String

用户id

backgroundList

Array

画板背景图URL(保证图片源允许跨域),第一次创建房间时必生效,后续初始化不会覆盖掉之前服务端的背景图片

backgroundList

参数名

类型

描述

board_background

String

背景图片地址

board_number

Number

画板的页数

说明

注意:该参数为画板背景图片的队列,存储着每一页的背景图片。第一次初始化时backgroundList参数为必填。当第一次初始化之后,再次初始化时不会清除上一次的画板数据,而是读取上次的数据进行渲染。

4. 设置画笔的类型

示例

Board.setBrushModel(type);

参数

参数名

类型

描述

type

Number

画笔的类型 0不可编辑1涂鸦(默认)2箭头3直线4矩形

说明

设置画笔的类型

5. 预览本地音视频

示例

Board.getBrushModel();

说明

获取画笔的类型。

6. 设置画笔的粗细

示例

Board.setBrushWidth(width);

参数

参数名

类型

描述

width

Number

例如10,该值均自动转换为px。

7. 获取画笔的粗细

示例

Board.getBrushWidth();

说明

获取画笔的类型。

8. 设置画笔的颜色

示例

Board.setBrushColor(color);

参数

参数名

类型

描述

width

Number

颜色的十六进制码。例如#000000,为了和移动平台的兼容性,请勿缩写为#000

说明

设置画笔的颜色。

9. 获取画笔的颜色

示例

Board.getBrushColor();

说明

获取画笔的颜色。

10. 更新当前画板背景图片

示例

Board.updateCurrentBgImage(BGUrl);

参数

参数名

类型

描述

strBGUrl

String

图片url

11. 获取当前画板的背景图片URL

示例

Board.getCurrentBgImageURL();

说明

获取当前画板的背景图片URL

12. 在当前画板之前或之后插入一个新的画板

示例

Board.addBoard(withFront, boardBGUrl);

参数

参数名

类型

描述

withFront

Number

0表示在当前画板之前插入,1表示在当前画板之后插入

boardBGUrl

String

插入新画板的背景图片URL(保证图片源允许跨域)

13. 删除当前页的画板

示例

Board.deleteCurrentBoard();

参数

参数名

类型

描述

type

Number

自定义共享通道标识id

14. 切换到上一页

示例

Board.prePage(needSync);

参数

参数名

类型

描述

needSync

Boolean

true其他端的画板同步滑动到上一页,false`仅本地滑动到上一页

15. 切换到下一页

示例

Board.nextPage(needSync);

参数

参数名

类型

描述

needSync

Boolean

true其他端的画板同步滑动到下一页,false`仅本地滑动到上一页

16. 滑动画板到第几页

示例

Board.switchPage(needSync, page);

参数

参数名

类型

描述

needSync

Boolean

true其他端的画板同步滑动到指定页,false仅本地滑动到指定页

page

Number

滑动画板到第几页

17. 发送用户实时消息

示例

Board.sendMessage(message);

参数

参数名

类型

描述

message

String

消息文本,推荐json字符串拓展性极佳

18. 设置画板大小

示例

Board.setCanvasSize(width, heigh);

参数

参数名

类型

描述

width

Number

画板将要设置的宽度

heigh

Number

画板将要设置的高度

说明

设置画板大小,当尺寸变化,或者放大缩小时调用。

19. 设置画板比例

示例

Board.setBoardScale(scale);

参数

参数名

类型

描述

scale

Number

画板放大比例,1~3倍

说明

设置画板大小,当尺寸变化,或者放大缩小时调用。

20. 撤销画笔

示例

Board.undo();

说明

撤销画笔,撤销当前画板上自己的画笔,逐条撤销。

21. 销毁画板

示例

Board.destoryBoard();

说明

清除所有画板的笔迹以及背景图片。

22. 清除所有画板笔迹

示例

Board.clearAllDraws();

说明

清除所有画板的笔迹。

23. 清除当前画板所有笔迹

示例

Board.clearCurrentDraw();

说明

清除当前画板所有笔迹。

24. 离开房间

示例

Board.leave();

说明

离开画板(房间)。

ArBoard 回调接口

1. 画板断开连接

示例

Board.on('onBoardServerDisconnect', () => {});

2. 监听画板变化

示例

Board.on('onBoardPageChange', (index, totalIndex, currentBgUrl) => {});

参数

参数名

类型

描述

index

Number

-

totalIndex

Number

画板总页数

currentBgUrl

String

当前画板背景图片URL

说明

监听画板变化,当画板发生变化,将会收到该回调(例如翻页、添加一页、删除一页、背景图片更新等等。

3. 收到广播消息

示例

Board.on('onBoardMessage', (message) => {});

参数

参数名

类型

描述

message

String

广播消息主体

说明

收到广播的消息,消息主体为sendMessage时发送的字符串,此处推荐json字符串,可以和业务系统高效的配合。例如:指定用户接收消息、踢人(判断字段中是否有自己的userid即可)等等。

4. 画板实时变化时间戳回调

示例

Board.on('onBoardDrawsChangeTimestamp', (timestamp) => {});

参数

参数名

类型

描述

timestamp

String

时间戳

说明

主持人监听并实现录制,非主持人不做处理。

5. 画板断开连接

示例

Board.on('onBoardServerDisconnect', (error) => {});

参数

参数名

类型

描述

error

String

错误码,详情请看

说明

主持人监听并实现录制,非主持人不做处理。

6. switch_board

示例

Board.on('switch_board', () => {});

参数

参数名

类型

描述

说明

7. 画板被摧毁

示例

Board.on('onBoardDestroy', () => {});

说明

画板已被摧毁。

8. 更改画板背景

示例

Board.on('update_board_background', (res) => {});

说明

更改画板背景, res.code 为0说明更改成功。

9. 监听画板错误

示例

Board.on('onBoardError', (error) => {});

参数

参数名

类型

描述

error

String

错误码

说明

监听画板错误详情参考错误码对照表。

三、更新日志

Version 3.0.0 (2019-04-11)

  • SDK版本升级3.0,API接口变更,更加简洁规范

配置开发者信息,开发者信息可在anyRTC管理后台中获得,详见。

该方法为配置开发者信息,上述参数均可在应用管理中获得。

SDK 下载页面
创建anyRTC账号
https://www.anyrtc.io/