你可以通过阅读密钥说明了解更多 Token 相关。
满足以下条件的计算机:
搭载 Intel 第二代酷睿处理器或更佳性能的处理器。
安装最新版本的 Chrome 浏览器,并设置为默认浏览器。
npm i @volcengine/white-board-manage
import Board from '@volcengine/white-board-manage';
javascriptimport Board from '${you_path}/lib/white-board-manage';
javascript
调用 createWhiteBoardRoom 创建一个本地 白板房间 对象。
Board.init({
domId: 'board',
appId,
});
javascript参考 开通服务 获取 appId。
调用 whiteBoardRoom.joinRoom 加入房间。如果当前房间还没有白板会自动创建。
白板服务在当前用户加入白板房间后开始计费,直到该用户调用 leaveRoom 退出房间后停止计费。建议在即将使用白板前创建白板实例。并结束使用后及时销毁白板实例。
const whiteBoardRoom = await Board.joinRoom({
roomId,
userId,
token,
});
javascriptwhiteboard_ 前缀。根据实际应用需要,在初始化 WhiteBoard 后监听想要关注的事件回调。例如,在进房成功后获取白板对象信息、白板改变、回放状态变化等。
whiteBoardRoom.on(WhiteBoardRoomEventsTypes.onError, function (res) {
if (res.errorCode === ErrorCode.DUPLICATE_LOGIN) {
message.error('您已被踢出房间');
// 根据实际业务需要做
}
});
// 监听当前白板改变,获取当前被激活白板。
whiteBoardRoom.on(
WhiteBoardRoomEventsTypes.onCurrentWhiteBoardChanged,
async ({ userId, boardId, whiteBoard }) => {
},
);
// 监听回放状态改变
whiteBoardRoom.on(WhiteBoardRoomEventsTypes.onPlaybackStateChanged,({state, data}) => {});
javascript调用 WhiteBoard 类的 setEditType 方法设置工具类型,目前支持工具类型如下:
pointer // 选取图元 ToolMode.POINTER
pencilBrush //涂鸦画笔 ToolMode.PENCIL_BRUSH
textbox // 文本 ToolMode.TEXT
circle // 圆 ToolMode.CIRCLE
line // 直线 ToolMode.LINE
rect // 矩形 ToolMode.RECT
arrow // 箭头 ToolMode.ARROW
eraser // 橡皮擦 ToolMode.ERASER
zoom // 平移 ToolMode.zoom
whiteBoard.setEditType(key);
//show case
import { IWhiteBoard, ToolMode } from '@volcengine/white-board-manage'
const [whiteBoard, setWhiteBoard] = setState<IWhiteBoard>()
whiteBoardRoom.on(WhiteBoardRoomEventsTypes.onCurrentWhiteBoardChanged,({ userId, boardId, whiteBoard }) => {
setWhiteBoard(whiteBoard);
});
//tool_bar.tsx
return(
<button
onClick={()=>whiteBoard.setEditType(ToolMode.PENCIL_BRUSH)}
>
涂鸦工具
</button>
)
javascriptwhiteBoard.createPages 新增白板页,成功后将收到 onCreatePagesProgress 回调和 onPageCountChanged 回调。 whiteBoard.createPages(
[
{
pageId: `${uuid()}`,
},
],
{
autoFlip: true,
},
);
const onCreatePagesEvent: IWhiteBoardEvents['onCreatePagesProgress'] = e => {
if (e.progress === 1) {
console.log('开始创建');
}
if (e.progress === 100) {
console.log('全部创建成功');
}
};
javascriptwhiteBoard.removePages 删除白板页,成功后将收到 onRemovePages 回调和 onPageCountChanged 回调和 onPageIndexChanged 回调。调用 leaveRoom离开房间。调用后将同时销毁 createWhiteBoardRoom 创建的白板房间实例。
const leaveRoom = () => {
if(boardRoom){
boardRoom.leaveRoom();
}
};
javascript