larksr_websdk 3.2.3 → 3.2.7

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 (65) hide show
  1. package/README.md +32 -24
  2. package/dist/doc/functions.md +2 -2
  3. package/dist/doc/index.md +43 -3
  4. package/dist/doc/member_variables.md +148 -0
  5. package/dist/larksr-web-sdk.min.js +3 -3
  6. package/dist/types/api.d.ts +3 -0
  7. package/dist/types/appli_params.d.ts +21 -2
  8. package/dist/types/index.d.ts +5 -2
  9. package/dist/types/larksr.d.ts +59 -8
  10. package/dist/types/screen_state.d.ts +1 -0
  11. package/package.json +11 -7
  12. package/types/api.d.ts +88 -0
  13. package/types/appli_params.d.ts +263 -0
  14. package/{dist/types → types}/common/cmd.d.ts +0 -0
  15. package/{dist/types → types}/common/constant.d.ts +0 -0
  16. package/{dist/types → types}/common/interface.d.ts +0 -0
  17. package/types/config.d.ts +59 -0
  18. package/{dist/types → types}/event/bus.d.ts +0 -0
  19. package/{dist/types → types}/event/event_base.d.ts +0 -0
  20. package/{dist/types → types}/event/events.d.ts +0 -0
  21. package/{dist/types → types}/event/iframe_poster.d.ts +0 -0
  22. package/{dist/types → types}/event/message.d.ts +0 -0
  23. package/types/index.d.ts +24 -0
  24. package/{dist/types → types}/lark/Worker.d.ts +0 -0
  25. package/{dist/types → types}/lark/application.d.ts +5 -2
  26. package/{dist/types → types}/lark/custom.d.ts +0 -0
  27. package/{dist/types → types}/lark/lark_event_type.d.ts +1 -1
  28. package/{dist/types → types}/lark/message.d.ts +5 -4
  29. package/{dist/types → types}/lark/peer_connection.d.ts +0 -0
  30. package/{dist/types → types}/lark/sdp_util.d.ts +0 -0
  31. package/types/lark/test_pixel_streaming.d.ts +54 -0
  32. package/{dist/types → types}/lark/websocket_channel.d.ts +0 -0
  33. package/{dist/types → types}/lark/websocket_proxy.d.ts +0 -0
  34. package/types/larksr.d.ts +509 -0
  35. package/{dist/types → types}/localization/base.d.ts +0 -0
  36. package/{dist/types → types}/localization/gesture_ins.d.ts +0 -0
  37. package/{dist/types → types}/localization/language.d.ts +0 -0
  38. package/{dist/types → types}/localization/loader.d.ts +0 -0
  39. package/{dist/types → types}/localization/message.d.ts +0 -0
  40. package/{dist/types → types}/localization/ui.d.ts +0 -0
  41. package/{dist/types → types}/operation/gamepad_handler.d.ts +0 -0
  42. package/{dist/types → types}/operation/gesture.d.ts +0 -0
  43. package/{dist/types → types}/operation/gesture_handler.d.ts +0 -0
  44. package/{dist/types → types}/operation/handler_base.d.ts +0 -0
  45. package/{dist/types → types}/operation/keyboard_handler.d.ts +0 -0
  46. package/types/operation/keymap.d.ts +24 -0
  47. package/{dist/types → types}/operation/letter_keymap.d.ts +0 -0
  48. package/{dist/types → types}/operation/mouse_handler.d.ts +0 -0
  49. package/{dist/types → types}/operation/num_keymap.d.ts +0 -0
  50. package/{dist/types → types}/operation/operation.d.ts +0 -0
  51. package/types/operation/pixel_streaming_input.d.ts +82 -0
  52. package/{dist/types → types}/operation/touch_handler.d.ts +0 -0
  53. package/{dist/types → types}/operation/utils.d.ts +0 -0
  54. package/{dist/types → types}/protobuf/cloudlark.d.ts +0 -0
  55. package/{dist/types → types}/protobuf/message.d.ts +0 -0
  56. package/types/screen_state.d.ts +109 -0
  57. package/types/sdk_auth.d.ts +11 -0
  58. package/{dist/types → types}/utils/browser_type.d.ts +0 -0
  59. package/{dist/types → types}/utils/capabilities.d.ts +0 -0
  60. package/{dist/types → types}/utils/full_screen.d.ts +0 -0
  61. package/{dist/types → types}/utils/lock_pointer.d.ts +0 -0
  62. package/{dist/types → types}/utils/log.d.ts +0 -0
  63. package/{dist/types → types}/utils/scale_mode.d.ts +0 -0
  64. package/{dist/types → types}/utils/unit.d.ts +0 -0
  65. package/dist/types/operation/keymap.d.ts +0 -20
package/README.md CHANGED
@@ -46,42 +46,48 @@ npm i larksr_websdk
46
46
  3. 系统中获取的应用 ID,如 http://222.128.6.137:8181/ 系统下的 879408743551336448
47
47
 
48
48
  ```javascript
49
- var client;
50
- // 直接调用进入应用接口创建实例,自动配置连接云端资源
51
- larksr_websdk.CreateLarkSRClientFromeAPI({
52
- // 设置挂载显示的元素
53
- // 注意*不要*设置为 document.documentElement
54
- rootElement: document.getElementById('container'),
55
- // 服务器地址,实际使用中填写您的服务器地址
56
- // 如:http://222.128.6.137:8181/
57
- serverAddress: "Lark 服务器前台地址",
58
- // 授权码
59
- authCode: '您的 SDK 授权码',
60
- // 测试载入背景图
61
- // loadingBgUrl: 'https://home-obs.pingxingyun.com/homePage_4_0/bg.jpg',
62
- }, {
49
+ var client = new LarkSR({
50
+ // 设置挂载显示的元素
51
+ // 注意*不要*设置为 document.documentElement
52
+ rootElement: document.getElementById('container'),
53
+ // 服务器地址,实际使用中填写您的服务器地址
54
+ // 如:http://222.128.6.137:8181/
55
+ serverAddress: "Lark 服务器前台地址",
56
+ // SDK ID 也可在 initSDKAuthCode 设置
57
+ // authCode: '您的 SDK ID',
58
+ // 测试载入背景图
59
+ // loadingBgUrl: 'https://home-obs.pingxingyun.com/homePage_4_0/bg.jpg',
60
+ });
61
+
62
+ // 授权码,验证成功之后才能调用 connect
63
+ client.initSDKAuthCode('您的 SDK ID')
64
+ .then(() => {
65
+ // start connect;
66
+ client.connect({
63
67
  // 要使用的云端资源的应用 ID,从后云雀后台接口获取
64
68
  // 参考查询应用一栏文档
65
69
  // https://www.pingxingyun.com/online/api3_2.html?id=476
66
70
  // 如 222.128.6.137:8181 系统下的 879408743551336448 应用
67
71
  appliId: "应用ID"
68
72
  })
69
- .then((res) => {
70
- console.log('enter appli success', res);
71
- // 创建成返回 LarkSR 实例
72
- client = res;
73
- // 开始流程
74
- client.start();
73
+ .then(() => {
74
+ console.log('enter success');
75
75
  })
76
76
  .catch((e) => {
77
- // 创建失败返回错误
78
- console.error('enter appli falied', e);
79
- });
77
+ console.error(e);
78
+ });
79
+ })
80
+ .catch((e) => {
81
+ console.error(e);
82
+ });
83
+ // ...
84
+ // 主动关闭并清理资源
85
+ // client.close();
80
86
  ```
81
87
 
82
88
  SDK 加载成功之后,非模块模式下,SDK 挂载为全局对象 larksr_websdk。
83
89
 
84
- 连接云端资源,管理生命周期和事件等主要在 LarkSR 对象下。通过调用 CreateLarkSRClientFromeAPI 配置后台请求参数,创建 LarkSR 对象实例。
90
+ 连接云端资源,管理生命周期和事件等主要在 LarkSR 对象下。
85
91
 
86
92
  > 默认情况下自动连接云端资源,将容器设置为浏览器视口高度,并配置网页 100% 宽高显示。SDK 内部自动处理按键输入输出。
87
93
 
@@ -92,3 +98,5 @@ SDK 加载成功之后,非模块模式下,SDK 挂载为全局对象 larksr_w
92
98
  更多使用方式和 API 文档可以参考下面项目和 doc 文件夹下的详细文档
93
99
 
94
100
  [Demos](https://github.com/pingxingyun/lark_sr_websdk_demos)
101
+
102
+ [Docs](https://pingxingyun.github.io/webclient_sdk/)
@@ -1,6 +1,6 @@
1
- # LarkSR 对象方法
1
+ # LarkSR 对象成员方法
2
2
 
3
- LarkSR 对象方法主要分为以下三类
3
+ LarkSR 对象成员方法主要分为以下三类
4
4
 
5
5
  ## 控制流程方法,包括启动,关闭,重启,注册授权码等。
6
6
 
package/dist/doc/index.md CHANGED
@@ -45,8 +45,6 @@ export declare function CreateLarkSRClientFromeUrl(config: ILarkSRConfig): Promi
45
45
 
46
46
  ## 手动创建
47
47
 
48
- > 注意,如果手动创建该类,要清楚参数的意义,一般只有调试等特殊情况才手动创建该类
49
-
50
48
  ```typescript
51
49
  /**
52
50
  * LarkSR 客户端。所有操作和事件通过该类传递
@@ -55,7 +53,49 @@ export declare function CreateLarkSRClientFromeUrl(config: ILarkSRConfig): Promi
55
53
  * @param config 本地配置,如果有 IAppliParams 相同的配置项,优先级最高
56
54
  * @param params 云端应用参数等,通过后台接口或者url参数获取。
57
55
  */
58
- constructor(config: ILarkSRConfig, params: IAppliParams);
56
+ constructor(config: ILarkSRConfig, params?: IAppliParams);
57
+ ```
58
+
59
+ example:
60
+
61
+ ```js
62
+ var client = new LarkSR({
63
+ // 设置挂载显示的元素
64
+ // 注意*不要*设置为 document.documentElement
65
+ rootElement: document.getElementById('container'),
66
+ // 服务器地址,实际使用中填写您的服务器地址
67
+ // 如:http://222.128.6.137:8181/
68
+ serverAddress: "Lark 服务器前台地址",
69
+ // SDK ID 也可在 initSDKAuthCode 设置
70
+ // authCode: '您的 SDK ID',
71
+ // 测试载入背景图
72
+ // loadingBgUrl: 'https://home-obs.pingxingyun.com/homePage_4_0/bg.jpg',
73
+ });
74
+
75
+ // 授权码,验证成功之后才能调用 connect
76
+ client.initSDKAuthCode('您的 SDK ID')
77
+ .then(() => {
78
+ // start connect;
79
+ client.connect({
80
+ // 要使用的云端资源的应用 ID,从后云雀后台接口获取
81
+ // 参考查询应用一栏文档
82
+ // https://www.pingxingyun.com/online/api3_2.html?id=476
83
+ // 如 222.128.6.137:8181 系统下的 879408743551336448 应用
84
+ appliId: "应用ID"
85
+ })
86
+ .then(() => {
87
+ console.log('enter success');
88
+ })
89
+ .catch((e) => {
90
+ console.error(e);
91
+ });
92
+ })
93
+ .catch((e) => {
94
+ console.error(e);
95
+ });
96
+ // ...
97
+ // 主动关闭并清理资源
98
+ // client.close();
59
99
  ```
60
100
 
61
101
  ## 文档目录
@@ -0,0 +1,148 @@
1
+ # LarkSR 对象成员变量
2
+
3
+ LarkSR 对象成员变量,注意以下划线开头的变量为内部使用私有变量或只读成员变量,不建议修改直接使用。
4
+
5
+ > 以下代码中 larksr 为创建好的 LarkSR 对象实例。省略创建过程。
6
+
7
+ ```javascript
8
+ let larksr;
9
+
10
+ ...// create code.
11
+ ```
12
+
13
+ ## 视频组件
14
+
15
+ 1. `videoComponent` 视频组件
16
+
17
+ ```javascript
18
+ // 获取播放的 <video /> 视频元素
19
+ larksr.videoComponent.getVideo();
20
+ // 播放视频,async 方法播放失败抛出异常
21
+ larksr.videoComponent.playVideo();
22
+ // 停止视频播放
23
+ larksr.videoComponent.stopVideo();
24
+ // 播放视频声音,取消静音播放
25
+ larksr.videoComponent.sountPlayout();
26
+ // 截取一帧,返回 base64,并抛出截图成功事件
27
+ larksr.videoComponent.captrueFrame(data);
28
+ ```
29
+
30
+ 2. `videoElement` html `video` 视频元素本身
31
+
32
+ ```javascript
33
+ larksr.videoElement;
34
+ ```
35
+
36
+ ## 配置参数
37
+
38
+ ```javascript
39
+ // `config` IAppliParams传入的 ILarkSRConfig 对象
40
+ larksr.config;
41
+ // `params` 构造函数中传入的 IAppliParams 对象
42
+ larksr.params;
43
+ ```
44
+
45
+ ## 用户模式
46
+
47
+ ```javascript
48
+ // `playerModeType` 当前的玩家模式;
49
+ larksr.playerModeType;
50
+ // `userType` 当前用户类型;
51
+ larksr.userType;
52
+ // 当前是否是交互模式,交互默认即可以操作的模式
53
+ larksr.isInteractiveMode;
54
+ // 是否是观看者模式
55
+ larksr.isObMode;
56
+ ```
57
+
58
+ ## 当前 app 的状态
59
+
60
+ ```javascript
61
+ larksr.appState;
62
+ ```
63
+
64
+ 具体状态值如下:
65
+
66
+ ```javascript
67
+ export enum APP_STATE {
68
+ BEFORE_CREATE = 0,
69
+ INITED,
70
+ WEBSOCKET_CHANNEL_OPEN,
71
+ LOGIN_SUCCESS,
72
+ RTC_CONNECTED,
73
+ MEDIA_LOADED,
74
+ MEDIA_PLAED,
75
+ RTC_RETRY,
76
+ APP_RETRY,
77
+ BEFORE_DESTORY,
78
+ WEBSOCKET_CLOSED,
79
+ RTC_CLOSED,
80
+ DESTROYED,
81
+ }
82
+ ```
83
+
84
+ ```javascript
85
+ // 云端画面是否准备好,准备好后才可以发送输入事件
86
+ larksr.remoteScreenReady
87
+ ```
88
+
89
+ ## 当前的屏幕状态
90
+
91
+ ```javascript
92
+ // 通知视口改变或者需要重新计算显示属性
93
+ larksr.screenState.resize();
94
+ // 当前云端 APP 的大小
95
+ larksr.screenState.appSize;
96
+ // 当前云端 APP 的鼠标状态
97
+ larksr.screenState.appMouseMode;
98
+ // 当前渲染容器的大小
99
+ larksr.screenState.viewPort;
100
+ // 强制横屏模式
101
+ larksr.screenState.screenOrientation;
102
+ // 缩放模式
103
+ larksr.screenState.scaleMode;
104
+ // 是否全屏状态
105
+ larksr.screenState.isFullScreen;
106
+ // 是否锁定鼠标状态
107
+ larksr.screenState.isLockMouse;
108
+ // 云端应用的鼠标样式
109
+ larksr.screenState.cursorStyle;
110
+ // 初始化鼠标模式
111
+ larksr.screenState.initCursorMode;
112
+ // 是否是手机模式
113
+ larksr.screenState.isMobile;
114
+ // 是否渲染本地鼠标
115
+ larksr.screenState.isLocalRenderMouse;
116
+ // 是否锁定鼠标
117
+ larksr.screenState.isLockMosue;
118
+ ```
119
+
120
+ ## 操作类实例
121
+
122
+ ```javascript
123
+ // 开始监听,默认情况下自动开始
124
+ larksr.op.startListening();
125
+ // 结束监听输入事件.
126
+ larksr.op.stopListenling();
127
+ // 开启或关闭鼠标输入事件
128
+ larksr.op.setMouseEnable(enable: boolean);
129
+ // 开启或关闭键盘输入事件
130
+ larksr.op.setKeyboardEnable(enable: boolean);
131
+ // 开启或关闭手柄输入事件
132
+ larksr.op.setGamepadEnable(enable: boolean);
133
+ // 开启或关闭触摸屏幕输入事件
134
+ larksr.op.setTouchEnable(enable: boolean);
135
+ ```
136
+
137
+ ## 全屏锁屏
138
+
139
+ ```javascript
140
+ // 进入全屏模式
141
+ larksr.fullScreen.launchFullScreen();
142
+ // 退出全屏模式
143
+ larksr.fullScreen.exitFullscreen();
144
+ // 锁定鼠标
145
+ larksr.lockPointer.lockPointer();
146
+ // 释放鼠标
147
+ larksr.lockPointer.exitPointerLock();
148
+ ```