@plaso-infi/whiteboard-sdk 0.2.1 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/icon_map-1061dd68-a40cab55.js +1 -0
- package/dist/cjs/{index-302250cc-3699586c.js → index-2e1cf1c7-f8ae4c3b.js} +1 -1
- package/dist/cjs/index-bcb005e9.js +73 -0
- package/dist/cjs/index.css +1841 -396
- package/dist/cjs/index.d.ts +233 -176
- package/dist/cjs/index.js +1 -1
- package/dist/esm/icon_map-1061dd68-edeaa87c.js +1 -0
- package/dist/esm/{index-302250cc-59a26a4f.js → index-2e1cf1c7-61f18e94.js} +1 -1
- package/dist/esm/index-b3b6111a.js +73 -0
- package/dist/esm/index.css +1841 -396
- package/dist/esm/index.d.ts +233 -176
- package/dist/esm/index.js +1 -1
- package/package.json +4 -3
- package/dist/cjs/icon_map-3588278e-6789e6a8.js +0 -1
- package/dist/cjs/index-2d9fe749.js +0 -73
- package/dist/esm/icon_map-3588278e-c339730f.js +0 -1
- package/dist/esm/index-78d849ca.js +0 -73
- package/dist/worker/decoder.worker.js +0 -1
- /package/dist/cjs/{hls-e0a51e69-bcc658be.js → hls-f833f70f-246a5eb0.js} +0 -0
- /package/dist/cjs/{pdf_lib-24f922b4-b6260916.js → pdf_lib-d7139e90-3cfd1809.js} +0 -0
- /package/dist/esm/{hls-e0a51e69-bf9556ce.js → hls-f833f70f-935e9202.js} +0 -0
- /package/dist/esm/{pdf_lib-24f922b4-ed88d9ab.js → pdf_lib-d7139e90-5a6712fe.js} +0 -0
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import React$1, { FC, CSSProperties } from 'react';
|
|
2
2
|
|
|
3
|
+
type PositionLike = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
type Viewbox = {
|
|
8
|
+
left: number;
|
|
9
|
+
top: number;
|
|
10
|
+
right: number;
|
|
11
|
+
bottom: number;
|
|
12
|
+
scale: number;
|
|
13
|
+
};
|
|
14
|
+
type ViewRect = {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
};
|
|
20
|
+
type BorderBox = Omit<Viewbox, 'scale'>;
|
|
21
|
+
|
|
3
22
|
type DocumentType = 'ppt' | 'pdf' | 'excel' | 'word';
|
|
4
23
|
type FileType = 'image' | 'document' | 'video' | 'audio';
|
|
5
24
|
|
|
@@ -58,10 +77,11 @@ type InfiWebSdkPlugin = {
|
|
|
58
77
|
beforeInit?: (plugin: InfiSdkPluginType) => void;
|
|
59
78
|
};
|
|
60
79
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
80
|
+
type ToolBarType = 'sticker' | 'template' | 'shapes' | 'upload' | 'stickyNote' | 'draw' | 'frame' | 'connectLine' | 'table' | 'timer' | 'mindMap' | 'text' | 'comment' | 'webpage' | 'kanban';
|
|
81
|
+
interface InfiUserInfoT {
|
|
82
|
+
loginName: string;
|
|
83
|
+
userName: string;
|
|
84
|
+
avatarUrl?: string;
|
|
65
85
|
}
|
|
66
86
|
type PreDownloadInfo = any;
|
|
67
87
|
type DownloadConfigT = {
|
|
@@ -70,152 +90,6 @@ type DownloadConfigT = {
|
|
|
70
90
|
imageEnable?: boolean;
|
|
71
91
|
preCheck?: (event: string) => Promise<PreDownloadInfo>;
|
|
72
92
|
};
|
|
73
|
-
type Viewbox = {
|
|
74
|
-
left: number;
|
|
75
|
-
top: number;
|
|
76
|
-
right: number;
|
|
77
|
-
bottom: number;
|
|
78
|
-
scale: number;
|
|
79
|
-
};
|
|
80
|
-
type ViewRect = {
|
|
81
|
-
x: number;
|
|
82
|
-
y: number;
|
|
83
|
-
width: number;
|
|
84
|
-
height: number;
|
|
85
|
-
};
|
|
86
|
-
/** websdk 实例类型声明接口 */
|
|
87
|
-
interface InfiWebsdkInstanceType {
|
|
88
|
-
/**
|
|
89
|
-
* 设置是否可以编辑
|
|
90
|
-
* @param couldEdit true: 可编辑; false: 只读
|
|
91
|
-
*/
|
|
92
|
-
enableEdit: (couldEdit: boolean) => void;
|
|
93
|
-
/**
|
|
94
|
-
* 变更白板的画布视野
|
|
95
|
-
* @param view 白板绘制区域
|
|
96
|
-
* @param option 变更视野配置项
|
|
97
|
-
* @description
|
|
98
|
-
* - left、right、top、bottom:视野左右上下最小边距
|
|
99
|
-
* - duration:显示变更所需时间,如果填入有效值,则画面会平滑过渡到目标视野, 如果填 0 ,则会立即完成视野变更
|
|
100
|
-
* @returns {Promise<boolean>} 表示视野变更完成,返回值为false表示当前为强制跟随视野状态,无法主动变更视野
|
|
101
|
-
*/
|
|
102
|
-
slideToView: (view: ViewRect, option?: {
|
|
103
|
-
left?: number;
|
|
104
|
-
top?: number;
|
|
105
|
-
right?: number;
|
|
106
|
-
bottom?: number;
|
|
107
|
-
duration?: number;
|
|
108
|
-
}) => Promise<boolean>;
|
|
109
|
-
/**
|
|
110
|
-
* 向白板中插入图片
|
|
111
|
-
* @param url 图片文件url地址
|
|
112
|
-
* @param name 图片文件名称
|
|
113
|
-
*/
|
|
114
|
-
insertImage: (url: string, name: string) => void;
|
|
115
|
-
/**
|
|
116
|
-
* 向白板中插入文档,支持ppt、pdf、excel、word类型
|
|
117
|
-
* @param url 文档文件url地址
|
|
118
|
-
* @param name 文档文件名称
|
|
119
|
-
* @param docType 文档类型, 包括:"ppt" | "pdf" | "excel" | "word"
|
|
120
|
-
*/
|
|
121
|
-
insertDocument: (url: string, name: string, docType: DocumentType) => void;
|
|
122
|
-
/**
|
|
123
|
-
* 向白板中插入视频
|
|
124
|
-
* @param url 视频文件url地址
|
|
125
|
-
* @param name 视频文件名称
|
|
126
|
-
*/
|
|
127
|
-
insertVideo: (url: string, name: string) => void;
|
|
128
|
-
/**
|
|
129
|
-
* 向白板中插入音频
|
|
130
|
-
* @param url 音频文件url
|
|
131
|
-
* @param name 音频文件名称
|
|
132
|
-
*/
|
|
133
|
-
insertAudio: (url: string, name: string) => void;
|
|
134
|
-
/** 获取当前白板的画布视野信息 */
|
|
135
|
-
getCurrentViewData: () => Viewbox | undefined;
|
|
136
|
-
/**
|
|
137
|
-
* 启用/关闭演讲者模式
|
|
138
|
-
* @param en 启用/关闭
|
|
139
|
-
*/
|
|
140
|
-
enablePresentation: (en?: boolean) => void;
|
|
141
|
-
/**
|
|
142
|
-
* 启用/关闭激光笔
|
|
143
|
-
* @param en 启用/关闭
|
|
144
|
-
* @returns
|
|
145
|
-
*/
|
|
146
|
-
enableLaser: (en?: boolean) => void;
|
|
147
|
-
/** 启用/关闭帧框列表 */
|
|
148
|
-
toggleFrameListPanel: () => void;
|
|
149
|
-
/** 唤出历史记录面板 */
|
|
150
|
-
toggleHistoryPanel: () => void;
|
|
151
|
-
/** 修改画板背景 */
|
|
152
|
-
changeGridType: (gridType: GridType) => void;
|
|
153
|
-
/** 设置跳转元素 */
|
|
154
|
-
setAnchorElement: (anchorElement?: string) => void;
|
|
155
|
-
/**
|
|
156
|
-
* 于白板内显示 toast 消息
|
|
157
|
-
* @param message 消息
|
|
158
|
-
* @param duration 显示时长,经过该时长后 toast 消息消失
|
|
159
|
-
* @return Promise fulfill 表示消息已经消失
|
|
160
|
-
*/
|
|
161
|
-
showToast: (message: string, duration: number) => Promise<void>;
|
|
162
|
-
/**
|
|
163
|
-
* 注册白板事件监听器
|
|
164
|
-
* TBD: 初期先暴露一些基本事件,比如白板已初始化完毕、白板已销毁完毕等事件
|
|
165
|
-
* @param evtName 事件名
|
|
166
|
-
* @param cb 回调函数
|
|
167
|
-
* @returns 取消注册执行函数
|
|
168
|
-
*/
|
|
169
|
-
on: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => () => void;
|
|
170
|
-
/**
|
|
171
|
-
* 取消注册白板事件监听器
|
|
172
|
-
* @param evtName 事件名
|
|
173
|
-
* @param cb 回调函数
|
|
174
|
-
*/
|
|
175
|
-
off: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => void;
|
|
176
|
-
/**
|
|
177
|
-
* 基于影子链接能力获取一次其他画布内用户的视野信息
|
|
178
|
-
* 注:使用此能力需要首先启用影子链接能力
|
|
179
|
-
*/
|
|
180
|
-
requestShadowUserViewData(loginName: string): Promise<ShadowViewDataT | null>;
|
|
181
|
-
/** 销毁白板 sdk 实例 */
|
|
182
|
-
destroy: () => Promise<void>;
|
|
183
|
-
}
|
|
184
|
-
type ShadowViewDataT = {
|
|
185
|
-
viewData?: [number, number, number, number];
|
|
186
|
-
};
|
|
187
|
-
type HistoryType = 'browser' | 'hash';
|
|
188
|
-
type RouteConfigT = {
|
|
189
|
-
/** 设置路由history的类型(默认为browser)*/
|
|
190
|
-
historyType: HistoryType;
|
|
191
|
-
/** 路由中指定标识画布唯一性的字段,用于判断是否是跳转至本画布内的其他元素*/
|
|
192
|
-
boardCompositeKey?: string[];
|
|
193
|
-
};
|
|
194
|
-
type WebsdkEventTypeMap = {
|
|
195
|
-
/** 白板未完成初始化 */
|
|
196
|
-
not_initialized: void;
|
|
197
|
-
/** 已连接至白板服务器 */
|
|
198
|
-
connected: void;
|
|
199
|
-
/** 白板服务器连接中 */
|
|
200
|
-
connecting: void;
|
|
201
|
-
/** 白板服务器连接失败 */
|
|
202
|
-
connect_failed: void;
|
|
203
|
-
/** 白板内部错误 */
|
|
204
|
-
internal_error: void;
|
|
205
|
-
/** 因当前白板未处于连接状态,api 调用无效 */
|
|
206
|
-
api_call_rejected: void;
|
|
207
|
-
/** 白板资源准备完成,可以进行工具操作 */
|
|
208
|
-
resource_ready: void;
|
|
209
|
-
/** 演讲模式状态更新 */
|
|
210
|
-
presentation_change: boolean;
|
|
211
|
-
};
|
|
212
|
-
/** 当前白板的用户信息 */
|
|
213
|
-
interface InfiUserInfoT {
|
|
214
|
-
loginName: string;
|
|
215
|
-
userName: string;
|
|
216
|
-
avatarUrl?: string;
|
|
217
|
-
}
|
|
218
|
-
type ToolBarType = 'sticker' | 'template' | 'shapes' | 'upload' | 'stickyNote' | 'draw' | 'frame' | 'connectLine' | 'table' | 'timer' | 'mindMap' | 'text' | 'comment' | 'webpage' | 'kanban';
|
|
219
93
|
type FullToolBarWidgetsConfigs = {
|
|
220
94
|
meeting: boolean;
|
|
221
95
|
boardMemberList: boolean;
|
|
@@ -237,25 +111,21 @@ type FullToolBarWidgetsConfigs = {
|
|
|
237
111
|
bottomRightBarVisible?: boolean;
|
|
238
112
|
toolbarConfig?: Partial<Record<ToolBarType, boolean>>;
|
|
239
113
|
};
|
|
114
|
+
type HistoryType = 'browser' | 'hash';
|
|
115
|
+
type RouteConfigT = {
|
|
116
|
+
/** 设置路由history的类型(默认为browser)*/
|
|
117
|
+
historyType: HistoryType;
|
|
118
|
+
/** 路由中指定标识画布唯一性的字段,用于判断是否是跳转至本画布内的其他元素*/
|
|
119
|
+
boardCompositeKey?: string[];
|
|
120
|
+
};
|
|
240
121
|
type ToolBarWidgetsConfigsT = Partial<FullToolBarWidgetsConfigs>;
|
|
241
122
|
/** 获取白板 websdk 实例的配置参数 */
|
|
242
123
|
interface GetSdkInstanceConfigs {
|
|
243
|
-
/** 获取画布连接参数的请求函数,画布连接参数为初始化 & 链接服务器使用的加密字符串, 内含应用、白板、用户等信息 */
|
|
244
|
-
getQueryString: () => Promise<string>;
|
|
245
|
-
/** 获取AI 鉴权所必要参数 boardId, userId, appid, ts, sign, key */
|
|
246
|
-
getAiCheckInfo?: () => Promise<AiCheckInfo>;
|
|
247
|
-
/**
|
|
248
|
-
* 启用画布影子链接能力,影子链接会额外建立一条链接,用以将其他 recordId 对应画布内的内容同步到当前的画布中
|
|
249
|
-
* 但需要注意的是,通过影子链接同步过来的元素全部都都处于静止状态,无法选中,无法编辑,但是可以进行文档翻页等
|
|
250
|
-
* 非常基本的交互
|
|
251
|
-
*/
|
|
252
|
-
getShadowBoardQuery?: () => Promise<string>;
|
|
253
124
|
/** 当前白板的用户信息 */
|
|
254
125
|
userInfo: InfiUserInfoT;
|
|
126
|
+
editable?: boolean;
|
|
255
127
|
/** 用以挂载白板 DOM 的 HTML DOM 元素, 白板相关元素会自动 appendChild 至这个元素之内 */
|
|
256
128
|
containerDom: HTMLDivElement;
|
|
257
|
-
/** 基于 loginName 获取该用户的用户名与头像 url 的方法,由用户提供,方法返回的用户信息用以于白板内作展示 */
|
|
258
|
-
getUsersInfo: (loginNames: string[]) => Promise<InfiUserInfoT[]>;
|
|
259
129
|
/** 是否应用上一次用户偏好(背景设置、工具栏顺序、视野、颜料色板) */
|
|
260
130
|
preferenceConfigs?: object;
|
|
261
131
|
/** 画布天然提供若干 UI 插槽,分别位于画布页面的左上角与右上角,目前仅支持基于 React 实现 */
|
|
@@ -278,6 +148,8 @@ interface GetSdkInstanceConfigs {
|
|
|
278
148
|
presentationMode?: boolean;
|
|
279
149
|
/** 默认启用激光笔 */
|
|
280
150
|
laserMode?: boolean;
|
|
151
|
+
/** 默认的画布网格设置,会被用户自己的使用习惯数据覆盖 */
|
|
152
|
+
defaultGrid?: GridType;
|
|
281
153
|
};
|
|
282
154
|
/** 进入画布时,如果给入该值,则会向 x:0, y:0 处插入模板内容,并尝试移动视野至该位置 */
|
|
283
155
|
initTemplate?: string | {
|
|
@@ -295,6 +167,13 @@ interface GetSdkInstanceConfigs {
|
|
|
295
167
|
* 文件下载配置,enable表示文件下载功能是否开启,preCheck用于获取自定义的文件下载签名
|
|
296
168
|
*/
|
|
297
169
|
downloadConfig?: DownloadConfigT;
|
|
170
|
+
/**
|
|
171
|
+
* 文件上传配置
|
|
172
|
+
*/
|
|
173
|
+
uploadConfig?: {
|
|
174
|
+
/** 是否启用动态ppt */
|
|
175
|
+
enableDynamicPPT?: boolean;
|
|
176
|
+
};
|
|
298
177
|
/** 向画布内注入拆件能力,插件可以在画布内部显示, */
|
|
299
178
|
plugins?: InfiWebSdkPlugin[];
|
|
300
179
|
/**
|
|
@@ -302,13 +181,25 @@ interface GetSdkInstanceConfigs {
|
|
|
302
181
|
* 尚提供可以切换不同的画布侧环境的配置项入口。后期会移除该配置项,websdk 仅能使用线上环境
|
|
303
182
|
*/
|
|
304
183
|
env?: 'prod' | 'dev' | 'test';
|
|
305
|
-
getElementLink?: (id: string) => string;
|
|
184
|
+
getElementLink?: (encodeId: string, id: string) => string;
|
|
306
185
|
/** 链接跳转,返回值为string表示跳转元素id */
|
|
307
186
|
gotoLink?: (link: string) => string | undefined;
|
|
308
187
|
/**
|
|
309
|
-
* 路由配置,包括设置路由history的类型(默认为browser)、标识画布唯一性的search
|
|
188
|
+
* 路由配置,包括设置路由history的类型(默认为browser)、标识画布唯一性的search联合字段(默认为所有search字段)等
|
|
310
189
|
*/
|
|
311
190
|
routeConfig?: RouteConfigT;
|
|
191
|
+
/** 获取画布连接参数的请求函数,画布连接参数为初始化 & 链接服务器使用的加密字符串, 内含应用、白板、用户等信息 */
|
|
192
|
+
getQueryString: () => Promise<string>;
|
|
193
|
+
/** 获取AI 鉴权所必要参数 boardId, userId, appid, ts, sign, key */
|
|
194
|
+
getAiCheckInfo?: () => Promise<AiCheckInfo>;
|
|
195
|
+
/**
|
|
196
|
+
* 启用画布影子链接能力,影子链接会额外建立一条链接,用以将其他 recordId 对应画布内的内容同步到当前的画布中
|
|
197
|
+
* 但需要注意的是,通过影子链接同步过来的元素全部都都处于静止状态,无法选中,无法编辑,但是可以进行文档翻页等
|
|
198
|
+
* 非常基本的交互
|
|
199
|
+
*/
|
|
200
|
+
getShadowBoardQuery?: () => Promise<string>;
|
|
201
|
+
/** 基于 loginName 获取该用户的用户名与头像 url 的方法,由用户提供,方法返回的用户信息用以于白板内作展示 */
|
|
202
|
+
getUsersInfo: (loginNames: string[]) => Promise<InfiUserInfoT[]>;
|
|
312
203
|
}
|
|
313
204
|
type CustomizeUploader = {
|
|
314
205
|
loaders: {
|
|
@@ -332,17 +223,6 @@ type GetSdkInstanceReturnType = Promise<{
|
|
|
332
223
|
code: 1;
|
|
333
224
|
payload: string;
|
|
334
225
|
}>;
|
|
335
|
-
/** Infi 白板 websdk 全局对象,引入 min.js 后即会挂载至 window 对象上 */
|
|
336
|
-
interface InfiWebSdkType {
|
|
337
|
-
/**
|
|
338
|
-
* 获取白板sdk对象
|
|
339
|
-
* @param getQueryString 白板初始化 & 链接服务器使用的加密字符串, 内涵应用、白板、用户等信息,
|
|
340
|
-
* 推荐于服务端进行生成,当链接重连但是被白板服务器拒绝后,会自动使用 getQueryString 方法生成新的 queryString 并发起重连
|
|
341
|
-
* @param configs 白板初始化所需要的配置参数
|
|
342
|
-
*/
|
|
343
|
-
getSdkInstance: (configs: GetSdkInstanceConfigs) => GetSdkInstanceReturnType;
|
|
344
|
-
readonly version: string;
|
|
345
|
-
}
|
|
346
226
|
interface AiCheckInfo {
|
|
347
227
|
/** AI操作次数 */
|
|
348
228
|
inPackageRemain: number;
|
|
@@ -382,6 +262,183 @@ type AiCheckExtraInfo = {
|
|
|
382
262
|
model: string;
|
|
383
263
|
};
|
|
384
264
|
|
|
265
|
+
declare enum GridType {
|
|
266
|
+
NONE = 0,
|
|
267
|
+
LINE = 1,
|
|
268
|
+
DOT = 2
|
|
269
|
+
}
|
|
270
|
+
type ElementMetaData = {
|
|
271
|
+
id: string;
|
|
272
|
+
elementType: number;
|
|
273
|
+
position: PositionLike;
|
|
274
|
+
size: {
|
|
275
|
+
width: number;
|
|
276
|
+
height: number;
|
|
277
|
+
};
|
|
278
|
+
scale: number;
|
|
279
|
+
};
|
|
280
|
+
type InsertImageType = {
|
|
281
|
+
/** 图片文件 */
|
|
282
|
+
file: File;
|
|
283
|
+
/** 屏幕位置 */
|
|
284
|
+
screenPosition?: PositionLike;
|
|
285
|
+
/** 文件大小 */
|
|
286
|
+
size?: {
|
|
287
|
+
width: number;
|
|
288
|
+
height: number;
|
|
289
|
+
};
|
|
290
|
+
/** 是否根据画布比例自动缩放 */
|
|
291
|
+
autoSize?: boolean;
|
|
292
|
+
};
|
|
293
|
+
/** websdk 实例类型声明接口 */
|
|
294
|
+
interface InfiWebsdkInstanceType {
|
|
295
|
+
/**
|
|
296
|
+
* 设置是否可以编辑
|
|
297
|
+
* @param couldEdit true: 可编辑; false: 只读
|
|
298
|
+
*/
|
|
299
|
+
enableEdit: (couldEdit: boolean) => void;
|
|
300
|
+
/**
|
|
301
|
+
* 变更白板的画布视野
|
|
302
|
+
* @param view 白板绘制区域
|
|
303
|
+
* @param option 变更视野配置项
|
|
304
|
+
* @description
|
|
305
|
+
* - left、right、top、bottom:视野左右上下最小边距
|
|
306
|
+
* - duration:显示变更所需时间,如果填入有效值,则画面会平滑过渡到目标视野, 如果填 0 ,则会立即完成视野变更
|
|
307
|
+
* @returns {Promise<boolean>} 表示视野变更完成,返回值为false表示当前为强制跟随视野状态,无法主动变更视野
|
|
308
|
+
*/
|
|
309
|
+
slideToView: (view: ViewRect, option?: {
|
|
310
|
+
left?: number;
|
|
311
|
+
top?: number;
|
|
312
|
+
right?: number;
|
|
313
|
+
bottom?: number;
|
|
314
|
+
duration?: number;
|
|
315
|
+
}) => Promise<boolean>;
|
|
316
|
+
/**
|
|
317
|
+
* 向白板中插入图片
|
|
318
|
+
* @param url 图片文件url地址
|
|
319
|
+
* @param name 图片文件名称
|
|
320
|
+
*/
|
|
321
|
+
insertImage(url: string, name: string): void;
|
|
322
|
+
/**
|
|
323
|
+
* 向白板中插入图片文件
|
|
324
|
+
* @param imageInfo 图片文件信息
|
|
325
|
+
* @return 插入成功后返回元素id
|
|
326
|
+
*/
|
|
327
|
+
insertImage(imageInfo: InsertImageType): Promise<string | null | undefined>;
|
|
328
|
+
/**
|
|
329
|
+
* 向白板中插入文档,支持ppt、pdf、excel、word类型
|
|
330
|
+
* @param url 文档文件url地址
|
|
331
|
+
* @param name 文档文件名称
|
|
332
|
+
* @param docType 文档类型, 包括:"ppt" | "pdf" | "excel" | "word"
|
|
333
|
+
*/
|
|
334
|
+
insertDocument: (url: string, name: string, docType: DocumentType) => void;
|
|
335
|
+
/**
|
|
336
|
+
* 向白板中插入视频
|
|
337
|
+
* @param url 视频文件url地址
|
|
338
|
+
* @param name 视频文件名称
|
|
339
|
+
*/
|
|
340
|
+
insertVideo: (url: string, name: string) => void;
|
|
341
|
+
/**
|
|
342
|
+
* 向白板中插入音频
|
|
343
|
+
* @param url 音频文件url
|
|
344
|
+
* @param name 音频文件名称
|
|
345
|
+
*/
|
|
346
|
+
insertAudio: (url: string, name: string) => void;
|
|
347
|
+
/** 获取当前白板的画布视野信息 */
|
|
348
|
+
getCurrentViewData: () => Viewbox | undefined;
|
|
349
|
+
/**
|
|
350
|
+
* 启用/关闭演讲者模式
|
|
351
|
+
* @param en 启用/关闭
|
|
352
|
+
*/
|
|
353
|
+
enablePresentation: (en?: boolean) => void;
|
|
354
|
+
/**
|
|
355
|
+
* 启用/关闭激光笔
|
|
356
|
+
* @param en 启用/关闭
|
|
357
|
+
*/
|
|
358
|
+
enableLaser: (en?: boolean) => void;
|
|
359
|
+
/** 启用/关闭帧框列表 */
|
|
360
|
+
toggleFrameListPanel: () => void;
|
|
361
|
+
/** 唤出历史记录面板 */
|
|
362
|
+
toggleHistoryPanel: () => void;
|
|
363
|
+
/** 修改画板背景 */
|
|
364
|
+
changeGridType: (gridType: GridType) => void;
|
|
365
|
+
/** 设置跳转元素 */
|
|
366
|
+
setAnchorElement: (anchorElement?: string) => void;
|
|
367
|
+
/**
|
|
368
|
+
* 于白板内显示 toast 消息
|
|
369
|
+
* @param message 消息
|
|
370
|
+
* @param duration 显示时长,经过该时长后 toast 消息消失
|
|
371
|
+
* @return Promise fulfill 表示消息已经消失
|
|
372
|
+
*/
|
|
373
|
+
showToast: (message: string, duration: number) => Promise<void>;
|
|
374
|
+
/**
|
|
375
|
+
* 注册白板事件监听器
|
|
376
|
+
* TBD: 初期先暴露一些基本事件,比如白板已初始化完毕、白板已销毁完毕等事件
|
|
377
|
+
* @param evtName 事件名
|
|
378
|
+
* @param cb 回调函数
|
|
379
|
+
* @returns 取消注册执行函数
|
|
380
|
+
*/
|
|
381
|
+
on: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => () => void;
|
|
382
|
+
/**
|
|
383
|
+
* 取消注册白板事件监听器
|
|
384
|
+
* @param evtName 事件名
|
|
385
|
+
* @param cb 回调函数
|
|
386
|
+
*/
|
|
387
|
+
off: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => void;
|
|
388
|
+
/**
|
|
389
|
+
* 基于影子链接能力获取一次其他画布内用户的视野信息
|
|
390
|
+
* 注:使用此能力需要首先启用影子链接能力
|
|
391
|
+
*/
|
|
392
|
+
requestShadowUserViewData(loginName: string): Promise<ShadowViewDataT | null>;
|
|
393
|
+
/** 设置画布的可见区域, 区域外的元素全部不可见 */
|
|
394
|
+
setViewClip(rect: ViewRect): void;
|
|
395
|
+
/** 设置画布的聚焦区域,聚焦后,画布的移动和缩放都会在聚焦区域内执行,而不是随意改变 */
|
|
396
|
+
focusBorderBox(box: BorderBox): void;
|
|
397
|
+
/** 获取当前画布中全体元素的元数据信息,包括位置、大小等 */
|
|
398
|
+
getElementsMetaData(): ElementMetaData[] | undefined;
|
|
399
|
+
/**
|
|
400
|
+
* 基于文档元素 id 导出 pdf
|
|
401
|
+
* @description**注: 给入的元素 id 务必是文档类元素的 id (elementType === 8)**
|
|
402
|
+
* 导出的 pdf 文件会携带画布内的编辑信息,如图形、文本、便签等
|
|
403
|
+
* @param {string} [cornerWatermark] 文档元素每页右下角的角标图片 url (非必填)
|
|
404
|
+
*/
|
|
405
|
+
exportPdfFromDocElement(id: string, cornerWatermark: string): Promise<void>;
|
|
406
|
+
/** 销毁白板 sdk 实例 */
|
|
407
|
+
destroy: () => Promise<void>;
|
|
408
|
+
}
|
|
409
|
+
type ShadowViewDataT = {
|
|
410
|
+
viewData?: [number, number, number, number];
|
|
411
|
+
};
|
|
412
|
+
type WebsdkEventTypeMap = {
|
|
413
|
+
/** 白板未完成初始化 */
|
|
414
|
+
not_initialized: void;
|
|
415
|
+
/** 已连接至白板服务器 */
|
|
416
|
+
connected: void;
|
|
417
|
+
/** 白板服务器连接中 */
|
|
418
|
+
connecting: void;
|
|
419
|
+
/** 白板服务器连接失败 */
|
|
420
|
+
connect_failed: void;
|
|
421
|
+
/** 白板内部错误 */
|
|
422
|
+
internal_error: void;
|
|
423
|
+
/** 因当前白板未处于连接状态,api 调用无效 */
|
|
424
|
+
api_call_rejected: void;
|
|
425
|
+
/** 白板资源准备完成,可以进行工具操作 */
|
|
426
|
+
resource_ready: void;
|
|
427
|
+
/** 演讲模式状态更新 */
|
|
428
|
+
presentation_change: boolean;
|
|
429
|
+
};
|
|
430
|
+
/** Infi 白板 websdk 全局对象,引入 min.js 后即会挂载至 window 对象上 */
|
|
431
|
+
interface InfiWebSdkType {
|
|
432
|
+
/**
|
|
433
|
+
* 获取白板sdk对象
|
|
434
|
+
* @param getQueryString 白板初始化 & 链接服务器使用的加密字符串, 内涵应用、白板、用户等信息,
|
|
435
|
+
* 推荐于服务端进行生成,当链接重连但是被白板服务器拒绝后,会自动使用 getQueryString 方法生成新的 queryString 并发起重连
|
|
436
|
+
* @param configs 白板初始化所需要的配置参数
|
|
437
|
+
*/
|
|
438
|
+
getSdkInstance: (configs: GetSdkInstanceConfigs) => GetSdkInstanceReturnType;
|
|
439
|
+
readonly version: string;
|
|
440
|
+
}
|
|
441
|
+
|
|
385
442
|
declare const InfiWebsdk: InfiWebSdkType;
|
|
386
443
|
|
|
387
444
|
/**
|
|
@@ -468,4 +525,4 @@ declare class SvgManager {
|
|
|
468
525
|
private static _isSymbol;
|
|
469
526
|
}
|
|
470
527
|
|
|
471
|
-
export { type ComponentProps, type CustomizeUploader, FULL_TOOLBAR_CONFIG, type GetSdkInstanceConfigs, HoverTip, type InfiSdkPluginType, type InfiUserInfoT, type InfiWebSdkPlugin, type InfiWebsdkInstanceType, type SdkBottomRightPluginSlotType, type SdkPluginSlotType, Setting, SvgIcon, SvgManager, type ToolBarType, type WebsdkEngineType, InfiWebsdk as default, getDocumentType, getFileType };
|
|
528
|
+
export { type ComponentProps, type CustomizeUploader, FULL_TOOLBAR_CONFIG, type GetSdkInstanceConfigs, GridType, HoverTip, type InfiSdkPluginType, type InfiUserInfoT, type InfiWebSdkPlugin, type InfiWebsdkInstanceType, type SdkBottomRightPluginSlotType, type SdkPluginSlotType, Setting, SvgIcon, SvgManager, type ToolBarType, type WebsdkEngineType, InfiWebsdk as default, getDocumentType, getFileType };
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./index-bcb005e9.js");require("react"),require("react-dom"),require("agora-rtc-sdk-ng"),exports.FULL_TOOLBAR_CONFIG=e.FULL_TOOLBAR_CONFIG,Object.defineProperty(exports,"GridType",{enumerable:!0,get:function(){return e.GridType}}),exports.HoverTip=e.HoverTip,exports.Setting=e.Setting,exports.SvgIcon=e.SvgIcon,exports.SvgManager=e.SvgManager,exports.default=e.InfiWebsdk,exports.getDocumentType=e.getDocumentType,exports.getFileType=e.getFileType;
|