@@ -153,52 +153,54 @@ module: {
153
153
具体涉及以下接口:
154
154
155
155
1 . room上接口
156
- - ` setMemberState `
157
- - ` undo `
158
- - ` redo `
159
- - ` callbacks `
160
- - ` insertImage `
161
- - ` lockImage `
162
- - ` completeImageUpload `
156
+ - [ ` setMemberState ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#setmemberstate )
157
+ - [ ` undo ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#undo )
158
+ - [ ` redo ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#redo )
159
+ - [ ` callbacks ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#callbacks )
160
+ - [ ` insertImage ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#insertImage )
161
+ - [ ` lockImage ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#lockImage )
162
+ - [ ` completeImageUpload ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#completeImageUpload )
163
163
- ` getImagesInformation `
164
- - ` cleanCurrentScene `
164
+ - [ ` cleanCurrentScene ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#cleanCurrentScene )
165
165
166
166
2 . windowmanager上接口
167
- - ` cleanCurrentScene `
168
- - ` canUndoSteps `
169
- - ` canRedoSteps `
167
+ - [ ` cleanCurrentScene ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#cleanCurrentScene )
168
+ - [ ` canUndoSteps ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#canUndoSteps )
169
+ - [ ` canRedoSteps ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#canUndoSteps )
170
170
171
171
3 . windowmanager的mainview上的接口
172
- - ` setMemberState `
173
- - ` undo `
174
- - ` redo `
175
- - ` callbacks `
176
- - ` insertImage `
177
- - ` lockImage `
178
- - ` completeImageUpload `
172
+ - [ ` setMemberState ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#setmemberstate )
173
+ - [ ` undo ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#undo )
174
+ - [ ` redo ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#redo )
175
+ - [ ` callbacks ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#callbacks )
176
+ - [ ` insertImage ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#insertImage )
177
+ - [ ` lockImage ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#lockImage )
178
+ - [ ` completeImageUpload ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#completeImageUpload )
179
179
- ` getImagesInformation `
180
- - ` cleanCurrentScene `
180
+ - [ ` cleanCurrentScene ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#cleanCurrentScene )
181
181
182
182
4 . 自定义
183
183
- ` getBoundingRectAsync ` 替代接口 room.getBoundingRect
184
- - ` screenshotToCanvasAsync ` 替代接口 room.screenshotToCanvas
185
- - ` scenePreviewAsync ` 替代接口 room.scenePreview
186
- - ` fillSceneSnapshotAsync ` 替代接口 room.fillSceneSnapshot
184
+ - ` screenshotToCanvasAsync ` 替代接口 [ room.screenshotToCanvas] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#screenshotToCanvas )
185
+ - ` scenePreviewAsync ` 替代接口 [ room.scenePreview] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#scenePreview )
186
+ - ` fillSceneSnapshotAsync ` 替代接口 [ room.fillSceneSnapshot] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#fillSceneSnapshot )
187
187
- ` destroy ` 销毁appliance-plugin的实例
188
- - ` addListener ` 添加监听器
189
- - ` removeListener ` 移除监听器
188
+ - ` addListener ` 添加appliance-plugin内部事件监听器
189
+ - ` removeListener ` 移除appliance-plugin内部事件监听器
190
190
191
191
5 . 不兼容
192
- - ` exportScene ` appliance-plugin开启后,笔记不能按room的方式导出
193
- - 服务端截图, appliance-plugin开启后, 笔记不能通过调用服务端截图方式获取截图,而需要改用` screenshotToCanvasAsync ` 获取
192
+ - [ ` exportScene ` ] ( https://doc.shengwang.cn/api-ref/whiteboard/javascript/interfaces/room#exportScene ) appliance-plugin开启后,笔记不能按room的方式导出
193
+ - [ 服务端截图] ( https://doc.shengwang.cn/doc/whiteboard/restful/fastboard-sdk/restful-wb/operations/post-v5-rooms-uuid-screenshots ) , appliance-plugin开启后, 笔记不能通过调用服务端截图方式获取截图,而需要改用` screenshotToCanvasAsync ` 获取
194
194
195
195
#### 新功能
196
196
1 . 激光铅笔教具 (Version >=1.1.1)
197
197
``` js
198
198
import { EStrokeType , ApplianceNames } from ' @netless/appliance-plugin' ;
199
199
room .setMemberState ({currentApplianceName: ApplianceNames .laserPen , strokeType: EStrokeType .Normal });
200
200
```
201
+ ! [Image](https: // github.com/user-attachments/assets/3cd10c3a-b17b-4c01-b9d4-868c69116d96)
201
202
2. 扩展教具 (Version >= 1.1 .1 )
203
+ 在原来的[白板教具](https: // doc.shengwang.cn/api-ref/whiteboard/javascript/globals.html#memberstate)类型上,增加了一些扩展功能属性,如下:
202
204
` ` ` js
203
205
export enum EStrokeType {
204
206
/** 实心线条 */
@@ -250,7 +252,55 @@ module: {
250
252
manager.mainView.setMemberState({ ... } as ExtendMemberState);
251
253
appliance.setMemberState({ ... } as ExtendMemberState);
252
254
` ` `
253
- 3. 分屏显示笔记(小白板功能),需要结合 ` @netless/app-little-white-board` (Version >= 1.1 .3 )
255
+ - 设置笔记类型:
256
+ ` ` ` js
257
+ // 实心线条
258
+ setMemberState({strokeType: EStrokeType.Normal });
259
+ // 带笔锋线条
260
+ setMemberState({strokeType: EStrokeType.Stroke });
261
+ // 虚线线条
262
+ setMemberState({strokeType: EStrokeType.Dotted });
263
+ // 长虚线线条
264
+ setMemberState({strokeType: EStrokeType.LongDotted });
265
+ ` ` `
266
+ ! [Image](https: // github.com/user-attachments/assets/fabe4ea7-db42-4c31-a751-10df4dd82807)
267
+ - 设置笔记、图形边框透明度(马克笔):
268
+ ` ` ` js
269
+ setMemberState({strokeOpacity: 0.5 });
270
+ ` ` `
271
+ ! [Image](https: // github.com/user-attachments/assets/1aac265d-9643-4858-bcc6-a43af94ed73e)
272
+ - 设置文字颜色、透明度、背景颜色、透明度
273
+ ` ` ` js
274
+ setMemberState({textOpacity: 0.5, textBgOpacity: 0.5, textBgColor:[0, 0, 0]});
275
+ ` ` `
276
+ ! [Image](https: // github.com/user-attachments/assets/b59a9864-8f3f-4700-abee-2ccbe264cc86)
277
+ - 设置图形填充色及透明度
278
+ ` ` ` js
279
+ setMemberState({fillOpacity: 0.5, fillColor:[0, 0, 0]});
280
+ ` ` `
281
+ ! [Image](https: // github.com/user-attachments/assets/468b930c-3db0-4355-87be-6b55af764799)
282
+ - 自定义正多边形
283
+ ` ` ` js
284
+ // 正五边形
285
+ setMemberState({currentApplianceName: ApplianceNames.shape, shapeType: ShapeType.Polygon, vertices: 5});
286
+ ` ` `
287
+ ! [Image](https: // github.com/user-attachments/assets/f34540f5-d779-42f9-bb8a-91250fcfe4e1)
288
+ - 自定义星形
289
+ ` ` ` js
290
+ // 胖六角星
291
+ setMemberState({currentApplianceName: ApplianceNames.shape, shapeType: ShapeType.Star, vertices: 12, innerVerticeStep: 2, innerRatio: 0.8});
292
+ ` ` `
293
+ ! [Image](https: // github.com/user-attachments/assets/49215362-722a-47d3-998f-cc933a2b5126)
294
+ - 自定义泡泡框方向
295
+ ` ` ` js
296
+ // 左下角提示框
297
+ setMemberState({currentApplianceName: ApplianceNames.shape, shapeType: ShapeType.SpeechBalloon, placement: 'bottomLeft'});
298
+ ` ` `
299
+ ! [Image](https: // github.com/user-attachments/assets/6d52dedf-ca21-406d-a353-d801273b98bf)
300
+
301
+
302
+ 3. 分屏显示笔记(小白板功能),需要结合[` @netless/app-little-white-board` ](https: // github.com/netless-io/app-little-white-board) (Version >=1.1.3)
303
+ ! [Image](https: // github.com/user-attachments/assets/20810ea6-7d85-4e72-b75f-185599fffaf8)
254
304
4. 小地图功能 (Version >= 1.1 .6 )
255
305
` ` ` js
256
306
/** 创建小地图
@@ -261,6 +311,7 @@ module: {
261
311
/** 销毁小地图 */
262
312
destroyMiniMap(viewId: string): Promise<boolean>;
263
313
` ` `
314
+ ! [Image](https: // github.com/user-attachments/assets/8888dc2f-ba66-4807-aa12-16530b3b8a3c)
264
315
5. 过滤笔记 (Version >= 1.1 .6 )
265
316
` ` ` js
266
317
/** 过滤笔记
@@ -278,6 +329,7 @@ module: {
278
329
*/
279
330
cancelFilterRender(viewId: string, isSync?:boolean): void;
280
331
` ` `
332
+ ! [Image](https: // github.com/user-attachments/assets/7952ee1d-4f9c-4e86-802a-bac8e4ae6a51)
281
333
6. 手写图形自动联想功能: ` autoDraw` (version >= 1.1 .7 )
282
334
` ` ` js
283
335
export type AutoDrawOptions = {
@@ -297,12 +349,13 @@ module: {
297
349
});
298
350
plugin.usePlugin(autoDrawPlugin);
299
351
` ` `
352
+ ! [Image](https: // github.com/user-attachments/assets/c388691c-ae72-44ec-bbb7-e92c3a73c9c7)
300
353
301
354
### 配置参数
302
355
` ` getInstance (wm: WindowManager, adaptor: ApplianceAdaptor)` `
303
356
- wm: ` ` WindowManager\room\player` ` 。多窗口模式下传入的是WindowManager,单窗口模式下传入的是room或者player (白板回放模式)。
304
357
- adaptor: 配置适配器.
305
- - options: ` ` AppliancePluginOptions` ` ; 必须配置, 两个worker的cdn地址。
358
+ - ` ` options: AppliancePluginOptions` ` ; 必须配置, 两个worker的cdn地址。
306
359
` ` ` js
307
360
export type AppliancePluginOptions = {
308
361
/** cdn配置项 */
@@ -311,9 +364,16 @@ module: {
311
364
syncOpt?: SyncOpt;
312
365
/** 画布配置项 */
313
366
canvasOpt?: CanvasOpt;
367
+ /** 线条粗细范围配置项 */
368
+ strokeWidth?: {
369
+ min: number,
370
+ max: number,
371
+ }
314
372
}
315
373
` ` `
316
- - cursorAdapter?: ` ` CursorAdapter` ` ; 非必填, 单白板模式下, 配置的自定义鼠标样式。
374
+ - ` ` cursorAdapter?: CursorAdapter` ` ; 非必填, 单白板模式下, 配置的自定义鼠标样式。
375
+ - ` ` logger?: Logger` ` ; 非必填, 配置日志打印器对象. 不填写默认在本地console 输出, 如果需要把日志上传到指定server, 则需要手动配置.
376
+ > 如需要上传到白板日志服务器,可以把room上的logger配置到该项目。
317
377
318
378
### 前端调试介绍
319
379
对接过程中如果想了解和跟踪插件内部状态,可以通过以下几个控制台指令,查看内部数据.
0 commit comments