Netless

Netless

  • 通用文档
  • 常见问题
  • JavaScript
  • Android
  • iOS
  • Server
  • GitHub
  • 🇬🇧 English

›功能介绍

接入准备

  • 前提条件
  • 开源项目
  • 快速调试
  • 版本历史

快速开始

  • 原生 JavaScript
  • React

进阶教程

  • 安装
  • 实时房间
  • 教具
  • PPT 与页面管理
  • 视角
  • 禁止操作
  • 自定义行为
  • 回放

初始化参数

  • SDK参数
  • 房间参数
  • 回放参数

功能介绍

  • 教具操作
  • 视角操作
  • 页面(场景)管理
  • 状态监听
  • 白板操作
  • 自定义事件
  • 鼠标位置同步
  • 文档转换
  • 回放功能
  • 大课只读
  • 撤回与重做
  • 集成白板插件

迁移与升级

  • 2.9.0 迁移指南
  • 2.8.0 迁移指南

教具操作

本章room变量,都是白板房间实例。

普通教具

room的state中,存在memberState属性(可以阅读状态管理查看更多state信息)。
普通教具都可以通过memberState进行描述。

MemberState 结构

type MemberState = {
    // 当前教具名称
    currentApplianceName: string;
    // 当前教具颜色,为一个整数数组,分别代表 [R, G, B],范围为 0-255的整数。
    // 该值影响所有普通教具
    strokeColor: Color;
    // 当前教具粗细,默认 4
    strokeWidth: number;
    // 文字教具字体大小,默认 16px
    textSize: number;
};

种类

名称字符串描述
选择selector选择,可以选择一个或多个图形,并将其移动,缩放,删除(del按键)
铅笔(默认)pencil画出带颜色的轨迹
矩形rectangle画出矩形或者正方形(shift按键)
椭圆ellipse画出椭圆或正圆(shift按键)
橡皮eraser删除轨迹
文字text编辑、输入文字
直线straight画出直线的工具
箭头arrow画出箭头的工具
抓手工具hand拖动白板画布的工具
激光笔工具laserPointer激光笔工具,用于指出重点内容

调整教具(种类,颜色,粗细,大小)

// 修改教具,只需要传入想要修改的字段即可
room.setMemberState({
    currentApplianceName: "pencil",
    strokeColor: [255, 0, 0],
    strokeWidth: 4,
    textSize: 14,
});

教具信息查询

可以通过以下方法访问memberState中内容。

const memberState = room.state.memberState;
const appliance = room.state.memberState.currentApplianceName;
//...其他教具细节

橡皮擦擦除图片配置

橡皮擦可以额外配置,是否能够擦除图片:

  1. 在初始化时,根据初始化参数-房间参数中的disableEraseImage字段配置:是否可以擦除图片(默认可以)
  2. 设置 room.disableEraseImage 属性。

图片(网络地址)

sdk支持向当前白板页面中插入网络图片(如需本地图片,请自行处理上传,获得网络图片逻辑)。

Typescript 方法签名

type ImageInformation = {
    // 图片唯一识别符,通过该 uuid 来保证 completeImageUpload 更新了正确的 insertImage 地址
    uuid: string;
    // 图片中心在白板内部坐标系的坐标。中心远点为初始化白板时的中心
    centerX: number;
    centerY: number;
    // 想要显示的宽高,该宽高为白板未缩放前宽高
    width: number;
    height: number;
    // 图片是否允许被删除
    locked: boolean;
};

//插入图片占位符
public insertImage(imageInfo: ImageInformation): void;
//图片url替换
public completeImageUpload(uuid: string, src: string): void;

示例代码

  1. 调用insertImage方法,确保uuid字符串唯一,配置图片位置(大小,中心位置)信息。 然后通过服务器,或者本地上传至云存储仓库中,获取到要插入图片信息的网络地址,在调用 方法2, 传入图片网络地址。
// 方法1 插入图片占位信息
// 通过 uuid 来保证,completeImageUpload 更新的是同一张图片地址
room.insertImage({
    uuid: uuid,
    centerX: x,
    centerY: y,
    width: imageFile.width,
    height: imageFile.height,
    locked: false,
});
// 方法2 传入图片占位 uuid,以及图片网络地址。
room.completeImageUpload(uuid, imageUrl)

图片教具与ppt背景图区别

区别插入背景图putScenes插入图片insertImage+completeImageUpload
与页面关系新建一个带背景图的空白页面在当前页面插入了一张图片,根据绘制关系,决定前后
位置居中根据insertImage传入参数的位置信息,在白板内部系中布局
橡皮不可涂改默认可以涂改,可以通过修改room的disableEraseImage属性或在初始化时,配置disableEraseImage参数更改

抓手工具

快捷键设置

请阅读初始化参数-SDK参数中的handToolKey字段说明。

主动激活/关闭

直接修改room的handToolActive属性。

//主动激活
room.handToolActive = true;
//主动关闭
room.handToolActive = false;

激活/关闭回调

当抓手工具被激活(包括主动激活)时,会回调初始化参数-房间参数中callbacks的onHandToolActive 方法。

禁用教具

2.2.0 新增 API

通过修改room的disableDeviceInputs属性或在初始化时,配置disableDeviceInputs参数。

// 禁止教具操作
room.disableDeviceInputs = true;
// 恢复教具操作
room.disableDeviceInputs = false;

sdk.joinRoom({uuid: "uuid", roomToken: "roomToken", disableDeviceInputs: true})
.then(function(room) {
    //room 操作
});
Last updated on 6/22/2020 by rick
← 回放参数视角操作 →
  • 普通教具
    • MemberState 结构
    • 种类
    • 调整教具(种类,颜色,粗细,大小)
    • 教具信息查询
    • 橡皮擦擦除图片配置
  • 图片(网络地址)
    • Typescript 方法签名
    • 示例代码
    • 图片教具与ppt背景图区别
  • 抓手工具
    • 快捷键设置
    • 主动激活/关闭
    • 激活/关闭回调
  • 禁用教具
Netless
接入即互动
产品
管理控制台官网网站Demo 体验Github
公司
加入我们服务条款隐私协议
联系方式
support@netless.link社区
Copyright © 2020 Netless