@plaso-infi/whiteboard-sdk 0.0.3

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.
Files changed (44) hide show
  1. package/.eslintrc.cjs +39 -0
  2. package/dist/cjs/AgoraRTC_N-production-56cec5fa.js +2 -0
  3. package/dist/cjs/hls-658579eb-4a33810b.js +1 -0
  4. package/dist/cjs/index-7d60a2b0.js +121 -0
  5. package/dist/cjs/index-918b6bd8-fbf67194.js +1 -0
  6. package/dist/cjs/index.css +18326 -0
  7. package/dist/cjs/index.d.ts +112 -0
  8. package/dist/cjs/index.js +1 -0
  9. package/dist/cjs/pdf_lib-b7d912c0-b81151a9.js +15 -0
  10. package/dist/esm/AgoraRTC_N-production-b8daf022.js +2 -0
  11. package/dist/esm/hls-658579eb-85afd34e.js +1 -0
  12. package/dist/esm/index-78998076.js +121 -0
  13. package/dist/esm/index-918b6bd8-b63ab80f.js +1 -0
  14. package/dist/esm/index.css +18326 -0
  15. package/dist/esm/index.d.ts +112 -0
  16. package/dist/esm/index.js +1 -0
  17. package/dist/esm/pdf_lib-b7d912c0-ee79af87.js +15 -0
  18. package/package.json +74 -0
  19. package/postcss.config.cjs +3 -0
  20. package/rollup.config.mjs +75 -0
  21. package/src/components/errorBoundary/errorBoundary.tsx +27 -0
  22. package/src/components/errorBoundary/index.ts +1 -0
  23. package/src/components/index.ts +1 -0
  24. package/src/fixtures/index.ts +1 -0
  25. package/src/fixtures/sdk_status.ts +5 -0
  26. package/src/index.ts +5 -0
  27. package/src/instance.ts +105 -0
  28. package/src/localdemo/demo.tsx +29 -0
  29. package/src/localdemo/index.html +13 -0
  30. package/src/localdemo/styles.module.less +5 -0
  31. package/src/sdk.ts +21 -0
  32. package/src/types/event.ts +7 -0
  33. package/src/types/global.d.ts +27 -0
  34. package/src/types/index.ts +2 -0
  35. package/src/types/sdk.ts +128 -0
  36. package/src/upime/index.ts +1 -0
  37. package/src/upime/upime.tsx +86 -0
  38. package/src/utils/asyncWork.ts +31 -0
  39. package/src/utils/avatar.ts +71 -0
  40. package/src/utils/common.ts +30 -0
  41. package/src/utils/event.ts +46 -0
  42. package/src/utils/index.ts +4 -0
  43. package/tsconfig.json +24 -0
  44. package/vite.config.ts +40 -0
@@ -0,0 +1,112 @@
1
+ type PositionLike = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ type Viewbox = {
6
+ left: number;
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ scale: number;
11
+ };
12
+ /** websdk 实例类型声明接口 */
13
+ interface InfiWebsdkInstanceType {
14
+ /**
15
+ * 设置是否可以编辑
16
+ * @param couldEdit true: 可编辑; false: 只读
17
+ */
18
+ enableEdit: (couldEdit: boolean) => void;
19
+ /**
20
+ * 变更白板的画布视野
21
+ * @param position 白板绘制区域左上角的坐标值
22
+ * @param scale 白板当前的画布显示缩放值
23
+ * @param time 显示变更所需时间,如果填入有效值,则画面会平滑过渡到目标视野, 如果填 0 ,则会立即完成视野变更
24
+ * @returns Promise fulfill 表示移动视野动作执行完成
25
+ */
26
+ slideToView: (position: PositionLike, scale: number, time: number) => Promise<void>;
27
+ /** 获取当前白板的画布视野信息 */
28
+ getCurrentViewData: () => Viewbox;
29
+ /**
30
+ * 于白板内显示 toast 消息
31
+ * @param message 消息
32
+ * @param duration 显示时长,经过该时长后 toast 消息消失
33
+ * @return Promise fulfill 表示消息已经消失
34
+ */
35
+ showToast: (message: string, duration: number) => Promise<void>;
36
+ /**
37
+ * 注册白板事件监听器
38
+ * TBD: 初期先暴露一些基本事件,比如白板已初始化完毕、白板已销毁完毕等事件
39
+ * @param evtName 事件名
40
+ * @param cb 回调函数
41
+ * @returns 取消注册执行函数
42
+ */
43
+ on: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => () => void;
44
+ /**
45
+ * 取消注册白板事件监听器
46
+ * @param evtName 事件名
47
+ * @param cb 回调函数
48
+ */
49
+ off: <T extends keyof WebsdkEventTypeMap>(evtName: T, cb: (param: WebsdkEventTypeMap[T]) => void) => void;
50
+ /** 销毁白板 sdk 实例 */
51
+ destroy: () => void;
52
+ }
53
+ type WebsdkEventTypeMap = {
54
+ /** 白板未完成初始化 */
55
+ not_initialized: void;
56
+ /** 已连接至白板服务器 */
57
+ connected: void;
58
+ /** 白板服务器连接中 */
59
+ connecting: void;
60
+ /** 白板服务器连接失败 */
61
+ connect_failed: void;
62
+ /** 白板内部错误 */
63
+ internal_error: void;
64
+ /** 因当前白板未处于连接状态,api 调用无效 */
65
+ api_call_rejected: void;
66
+ };
67
+ /** 当前白板的用户信息 */
68
+ interface UserInfoT {
69
+ loginName: string;
70
+ userName: string;
71
+ avatarUrl?: string;
72
+ }
73
+ /** 获取白板 websdk 实例的配置参数 */
74
+ interface GetSdkInstanceConfigs {
75
+ /** 白板初始化 & 链接服务器使用的加密字符串, 内涵应用、白板、用户等信息, */
76
+ getQueryString: () => Promise<string>;
77
+ /** 当前白板的用户信息 */
78
+ userInfo: UserInfoT;
79
+ /** 用以挂载白板 DOM 的 HTML DOM 元素, 白板相关元素会自动 appendChild 至这个元素之内 */
80
+ containerDom: HTMLDivElement;
81
+ /** 初始状态下是否默认可编辑, 可基于 InfiWebsdkInstanceType.enableEdit API 进行后续控制 */
82
+ initEditable?: boolean;
83
+ /** 基于 loginName 获取该用户的用户名与头像 url 的方法,由用户提供,方法返回的用户信息用以于白板内作展示 */
84
+ getUsersInfo: (loginNames: string[]) => Promise<UserInfoT[]>;
85
+ }
86
+ /**
87
+ * 获取白板sdk对象方法的返回值类型,值为对象形式
88
+ * * 对象内 code 值如果为 0, 则表示白板初始化参数验证完毕, payload 为 websdk 的对象实例
89
+ * * 对象内 code 如果不为 0, 则表示白板初始化失败,payload 为错误提示消息
90
+ */
91
+ type GetSdkInstanceReturnType = Promise<{
92
+ code: 0;
93
+ payload: InfiWebsdkInstanceType;
94
+ } | {
95
+ code: 1;
96
+ payload: string;
97
+ }>;
98
+ /** Infi 白板 websdk 全局对象,引入 min.js 后即会挂载至 window 对象上 */
99
+ interface InfiWebSdkType {
100
+ /**
101
+ * 获取白板sdk对象
102
+ * @param getQueryString 白板初始化 & 链接服务器使用的加密字符串, 内涵应用、白板、用户等信息,
103
+ * 推荐于服务端进行生成,当链接重连但是被白板服务器拒绝后,会自动使用 getQueryString 方法生成新的 queryString 并发起重连
104
+ * @param configs 白板初始化所需要的配置参数
105
+ */
106
+ getSdkInstance: (configs: GetSdkInstanceConfigs) => GetSdkInstanceReturnType;
107
+ readonly version: string;
108
+ }
109
+
110
+ declare const InfiWebsdk: InfiWebSdkType;
111
+
112
+ export { type InfiWebsdkInstanceType, InfiWebsdk as default };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./index-7d60a2b0.js");require("ali-oss"),module.exports=e.InfiWebsdk;