README
Pano whiteboard
Properties
bgScaleMode
• bgScaleMode: WBImageScalingMode = Constants.WBImageScalingMode.Fit
画布缩放适应背景图的模式(直接设置这个属性不会改变缩放模式,请使用 setBackgroundImageScalingMode 方法)
bold
• bold: boolean = false
文字是否加粗,对新插入的文本生效
fillStyle
• fillStyle: string = Constants.DEFAULT_FILL_COLOR
填充颜色,对新绘制的 shape 生效
fillType
• fillType: "none" | "color" = "none"
新绘制的 shape 的填充类型,填充颜色或者不填充
fontSize
• fontSize: number = 14
字体大小,对插入的文本生效
italic
• italic: boolean = false
文字是否斜体,对新插入的文本生效
lineWidth
• lineWidth: number = 5
画笔宽度,对新绘制 shape 生效
strokeStyle
• strokeStyle: string = "rgba(33,212,183,1)"
画笔颜色,对新绘制的 shape 生效
toolsWrapper
• toolsWrapper: HTMLDivElement
自定义 tools 的挂载 dom 节点
Accessors
activeDocId
• get activeDocId(): string
获取当前激活的 DocId
Returns: string
backgroundColor
• get backgroundColor(): string
获取当前白板视图的背景颜色
Returns: string
• set backgroundColor(color: string): void
设置当前白板视图的背景颜色(仅支持 rgba 颜色,如: rgba(0,0,0,0.7))
Parameters:
| Name | Type | |
|---|---|---|
color |
string |
Returns: void
isAdmin
• get isAdmin(): boolean
当前用户是否是 admin 用户
Returns: boolean
role
• get role(): WBRoleType
获取当前用户的角色
Returns: WBRoleType
scale
• get scale(): number
获取当前白板视图的缩放比例
Returns: number
• set scale(nextScale: number): void
设置当前白板视图的缩放比例
Parameters:
| Name | Type | |
|---|---|---|
nextScale |
number |
Returns: void
selectedShape
• get selectedShape(): undefined | BaseShape‹›
当前被选中的 shape
Returns: undefined | BaseShape‹›
• set selectedShape(shape: BaseShape | undefined): void
设置或清除当前选择的 shape
Parameters:
| Name | Type | |
|---|---|---|
shape |
BaseShape | undefined |
Returns: void
translate
• get translate(): number[]
获取当前页面的位移
Returns: number[]
Methods
addPage
▸ addPage(autoSwitch: boolean): QResult
添加一个新页面到最后
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
autoSwitch |
boolean | true | 是否自动切换到新页面 |
Returns: QResult
addBackgroundImages
▸ addBackgroundImages(urls: string[], addToCurrentDoc: boolean): QResult
导入指定数量的背景图,可以插入到当前文档中,或者新建一组文档
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
urls |
string[] | - | 图片 url 列表 |
addToCurrentDoc |
boolean | false | 是否添加到当前文档中 |
Returns: QResult
broadcastMessage
▸ broadcastMessage(message: any): QResult
Parameters:
| Name | Type | Description |
|---|---|---|
message |
any | 自定义消息内容 |
Returns: QResult
clearContents
▸ clearContents(type: WBClearType): QResult
清除内容
Parameters:
| Name | Type | Description |
|---|---|---|
type |
WBClearType | 清除内容类型 |
Returns: QResult
close
▸ close(): void
关闭白板
Returns: void
deleteDoc
▸ deleteDoc(docId: string): QResult
删除文档
Parameters:
| Name | Type | Description |
|---|---|---|
docId |
string | 删除文档 |
Returns: QResult
getCurrentPageNumber
▸ getCurrentPageNumber(): number
获取当前页码
Returns: number
getShapeById
▸ getShapeById(id: string): undefined | BaseShape‹›
通过 id 获取 shape
Parameters:
| Name | Type | |
|---|---|---|
id |
string |
Returns: undefined | BaseShape‹›
getToolType
▸ getToolType(): ShapeType
获取当前的工具类型
Returns: ShapeType
getTotalNumberOfPages
▸ getTotalNumberOfPages(): number
获取总白板页码数
Returns: number
gotoPage
▸ gotoPage(pageIndex: number): QResult
获取当前白板页码 (从 0 开始)
Parameters:
| Name | Type | Description | |
|---|---|---|---|
pageIndex |
number |
Returns: QResult
insertPage
▸ insertPage(pageIndex: number, autoSwitch: boolean): QResult
添加一个新页面到指定位置
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
pageIndex |
number | - | 指定位置 index |
autoSwitch |
boolean | true | 是否自动切换到新页面 |
Returns: QResult
nextPage
▸ nextPage(): QResult
切换到下一页
Returns: QResult
on
▸ on(event: string, cb: Function): void
监听事件,内部分发的事件参见 RtcWhiteboard.EVENTS
Parameters:
| Name | Type | |
|---|---|---|
event |
string | |
cb |
Function |
Returns: void
off
▸ on(event: string, cb: Function): void
取消监听事件,内部分发的事件参见 RtcWhiteboard.EVENTS
Parameters:
| Name | Type | |
|---|---|---|
event |
string | |
cb |
Function |
Returns: void
open
▸ open(wrapperEle: HTMLElement): QResult
打开白板
Parameters:
| Name | Type | Description | |
|---|---|---|---|
wrapperEle |
HTMLElement | 白板嵌入的 html 元素 |
Returns: QResult
prevPage
▸ prevPage(): QResult
切换到上一页
Returns: QResult
redo
▸ redo(): void
重做白板的上一次被撤销操作
Returns: void
removePage
▸ removePage(index: number): QResult
删除指定页
Parameters:
| Name | Type | Default | |
|---|---|---|---|
index |
number | this._pageIndex |
Returns: QResult
sendMessage
▸ sendMessage(to: string, message: any): QResult
发送自定义消息 Parameters:
| Name | Type | Description |
|---|---|---|
to |
string | 接受者 userId |
message |
any | 自定义消息内容 |
Returns: QResult
setBackgroundImage
▸ setBackgroundImage(url: string): QResult
设置背景图片
Parameters:
| Name | Type | Description |
|---|---|---|
url |
string | 背景图片 url |
Returns: QResult
setBackgroundImageScalingMode
▸ setBackgroundImageScalingMode(scaleMode: WBImageScalingMode): void
设置白板背景图缩放模式
Parameters:
| Name | Type |
|---|---|
scaleMode |
WBImageScalingMode |
Returns: void
setRoleType
▸ setRoleType(roleType: WBRoleType): QResult
设置白板角色类型
Parameters:
| Name | Type | Description | |
|---|---|---|---|
roleType |
WBRoleType | 角色类型 |
Returns: QResult
setSelectedShapeFontStyle
▸ setSelectedShapeFontStyle(style: object): void
设置当前选中 shape 的 fontStyle
Parameters:
▪ style: object
| Name | Type | |
|---|---|---|
bold? |
undefined | false | true | |
fontSize? |
undefined | number | |
italic? |
undefined | false | true |
Returns: void
setSelectedShapeStyle
▸ setSelectedShapeStyle(style: object): void
设置当前选中 shape 的 style
Parameters:
▪ style: object
| Name | Type | |
|---|---|---|
fillStyle? |
undefined | string | |
fillType? |
undefined | string | |
lineWidth? |
undefined | number | |
strokeStyle? |
undefined | string |
Returns: void
setToolType
▸ setToolType(insertType: ShapeType): void
设置工具类型
Parameters:
| Name | Type | Description | |
|---|---|---|---|
insertType |
ShapeType | 工具类型 |
Returns: void
switchToDoc
▸ switchToDoc(docId: string): QResult
切换白板文档
Parameters:
| Name | Type | Description |
|---|---|---|
docId |
string |
Returns: QResult
undo
▸ undo(): void
撤消上一次操作
Returns: void
uploadDoc
▸ uploadDoc(onDocTranscodeStatus: function): QResult
Overrides Whiteboard.uploadDoc
上传本地需转码的文件并创建新的白板文件
Parameters:
▪ onDocTranscodeStatus: (data: {status: string; code: number; docId?: string;}) => any
发布进度回调,在 code 为 3 时表示转成成功,会返回 docId,code 定义: 0 或正数表示正常状态,负数表示失败, 0: start upload,1: upload success,2: transcoding,3: transcode success,-1: transcode failed, -2: upload failed,
▸ (data: object): any
Parameters:
▪ data: object
| Name | Type |
|---|---|
code |
number |
docId? |
undefined | string |
status |
string |
Returns: QResult
updateCanvasSize
• updateCanvasSize: void
手动调用更新画布 size,在外部画布容器变化后主动调用更新画板大小信息
Object literals
Static EVENTS
RtcWhiteboard 内部状态变化时触发的回调,用户可以调用 RtcWhiteboard 实例的 on 方法添加监听回调
docCreated
• docCreated: string = "DOC_CREATED"
白板文档创建通知
callbackparams
'12433223' // 新创建的文档 Id
docDeleted
• docDeleted: string = "DOC_DELETED"
文档被删除
callbackparams
'12433223' // 被删除的文档 Id
docSwitched
• docSwitched: string = "DOC_SWITCHED"
文档切换
callbackparams
'12433223' // 切换到的文档 Id
messageReceived
• messageReceived: string = "RECEIVE_CUSTOM_MESSAGE"
收到自定义消息
callbackparams
{
form: "3309586", //用户的 userId
message: 'xxxx' // 消息内容
}
openStateChanged
• openStateChanged: string = "WHITEBOARD_OPEN_STATE_CHANGE"
白板开启的状态变化,当 channel 中有任一用户打开白板,会触发这个事件
readyStateChanged
• readyStateChanged: string = "READY_STATE_CHANGE"
白板 ready 状态变化,在加入、离开会议或者 failover 时触发
callbackparams
{
ready: true, // 是否 ready
type: "join", // 触发类型,'join' | 'failover' | 'left'
message: "Join channel success." // 提示消息
}
userRoleTypeChanged
• userRoleTypeChanged: string = "WHITEBOARD_ROLE_TYPE_CHANGE"
当前用户角色类型变化时触发
whiteboardContentUpdate
• whiteboardContentUpdate: string = "WHITEBOARD_CONTENT_UPDATE"
白板内容更新时触发
whiteboardFailover
• whiteboardFailover: string = "WHITEBOARD_FAILOVER"
白板错误恢复状态变化
callbackparams
{
state: 'Failed', // Reconnecting || Success || Failed
}