@realsee/live 0.3.0-alpha.3 → 0.4.0-alpha.2

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 (147) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/live/controller.d.ts +43 -0
  3. package/{lib → dist/live}/createLive.d.ts +6 -6
  4. package/dist/live/createLiveReact.d.ts +6 -0
  5. package/dist/realsee-live.cjs.development.js +4630 -0
  6. package/dist/realsee-live.cjs.development.js.map +1 -0
  7. package/dist/realsee-live.cjs.js +7 -0
  8. package/dist/realsee-live.cjs.production.js +2 -0
  9. package/dist/realsee-live.cjs.production.js.map +1 -0
  10. package/dist/realsee-live.esm.js +4615 -0
  11. package/dist/realsee-live.esm.js.map +1 -0
  12. package/dist/realsee-live.umd.development.js +52454 -0
  13. package/dist/realsee-live.umd.development.js.map +1 -0
  14. package/dist/realsee-live.umd.production.js +2 -0
  15. package/dist/realsee-live.umd.production.js.map +1 -0
  16. package/{lib/RTC → dist/rtc}/BrowserRTC.d.ts +29 -30
  17. package/{lib/RTC → dist/rtc}/BrowserRTC4Chime.d.ts +55 -53
  18. package/dist/rtc/CoreRTC.d.ts +23 -0
  19. package/{lib/RTC → dist/rtc}/VRWebViewRTC.d.ts +22 -23
  20. package/dist/rtc/index.d.ts +5 -0
  21. package/{lib/typings/Chime → dist/typings/chime}/AttendeeResponse.d.ts +5 -5
  22. package/{lib/typings/Chime → dist/typings/chime}/MeetingResponse.d.ts +12 -12
  23. package/{lib/typings/Chime → dist/typings/chime}/MeetingSessionConfigurationOptions.d.ts +16 -16
  24. package/dist/typings/chime/index.d.ts +3 -0
  25. package/dist/typings/index.d.ts +4 -0
  26. package/{lib/typings → dist/typings/live}/EventType.d.ts +90 -89
  27. package/{lib/typings → dist/typings/live}/GetVoiceSign.d.ts +17 -11
  28. package/{lib/typings → dist/typings/live}/Live.d.ts +123 -122
  29. package/{lib/typings → dist/typings/live}/LiveMsg.d.ts +119 -119
  30. package/{lib/typings → dist/typings/live}/LiveOptions.d.ts +65 -46
  31. package/{lib/typings → dist/typings/live}/RoomInfo.d.ts +13 -13
  32. package/{lib/typings → dist/typings/live}/UserInfo.d.ts +87 -87
  33. package/dist/typings/live/UserVolume.d.ts +7 -0
  34. package/{lib/typings → dist/typings/live}/WebSocket.d.ts +78 -78
  35. package/dist/typings/live/index.d.ts +9 -0
  36. package/{lib/createLiveReact.d.ts → dist/typings/react/LiveReact.d.ts} +162 -160
  37. package/dist/typings/react/RTCActionReactCallback.d.ts +2 -0
  38. package/dist/typings/react/index.d.ts +2 -0
  39. package/dist/typings/rtc/VRWebViewRTCOptions.d.ts +6 -0
  40. package/{lib/typings/RTCEventType.d.ts → dist/typings/rtc/eventType.d.ts} +29 -35
  41. package/dist/typings/rtc/index.d.ts +5 -0
  42. package/{lib/typings/RTCJoinedInfo.d.ts → dist/typings/rtc/joinedInfo.d.ts} +34 -28
  43. package/{lib/typings/RTCProtocol.d.ts → dist/typings/rtc/protocol.d.ts} +53 -42
  44. package/dist/typings/rtc/type.d.ts +8 -0
  45. package/{lib/shared-utils → dist/utils}/appendUri.d.ts +1 -1
  46. package/dist/utils/clientDetector.d.ts +4 -0
  47. package/{lib/shared-utils → dist/utils}/equal.d.ts +10 -11
  48. package/{lib/shared-utils/Subscribe.d.ts → dist/utils/subscribe.d.ts} +75 -76
  49. package/{lib/shared-utils → dist/utils}/uuid.d.ts +4 -4
  50. package/package.json +22 -34
  51. package/docs/.nojekyll +0 -1
  52. package/docs/assets/custom.css +0 -43
  53. package/docs/assets/highlight.css +0 -127
  54. package/docs/assets/icons.css +0 -1043
  55. package/docs/assets/icons.png +0 -0
  56. package/docs/assets/icons@2x.png +0 -0
  57. package/docs/assets/main.js +0 -52
  58. package/docs/assets/search.js +0 -1
  59. package/docs/assets/style.css +0 -1413
  60. package/docs/assets/widgets.png +0 -0
  61. package/docs/assets/widgets@2x.png +0 -0
  62. package/docs/classes/RTCProtocol.BrowserRTC.html +0 -60
  63. package/docs/classes/RTCProtocol.BrowserRTC4Chime.html +0 -66
  64. package/docs/classes/RTCProtocol.RTCExample.html +0 -62
  65. package/docs/classes/RTCProtocol.VRWebViewRTC.html +0 -60
  66. package/docs/classes/shared_utils.Subscribe.html +0 -56
  67. package/docs/enums/RTCProtocol.RTCJoinedInfoCodeEnum.html +0 -9
  68. package/docs/enums/RTCProtocol.RTCType.html +0 -1
  69. package/docs/enums/live.BuiltinActionType.html +0 -15
  70. package/docs/enums/live.BuiltinEventType.html +0 -7
  71. package/docs/enums/live.Command.html +0 -7
  72. package/docs/enums/live.MemUserStatus.html +0 -1
  73. package/docs/enums/live.MicroStatus.html +0 -3
  74. package/docs/enums/live.UserStatus.html +0 -9
  75. package/docs/enums/live.WebSocketCloseError.html +0 -19
  76. package/docs/enums/live.WebSocketErrorType.html +0 -1
  77. package/docs/enums/live.WebSocketState.html +0 -13
  78. package/docs/index.html +0 -382
  79. package/docs/interfaces/RTCProtocol.GetVoiceSignReturnType.html +0 -1
  80. package/docs/interfaces/RTCProtocol.RTCJoinedInfo.html +0 -1
  81. package/docs/interfaces/RTCProtocol.RTCProtocol-1.html +0 -60
  82. package/docs/interfaces/RTCProtocol.VRWebViewRTCOptions.html +0 -1
  83. package/docs/interfaces/live.Live.html +0 -119
  84. package/docs/interfaces/live.LiveOptions.html +0 -22
  85. package/docs/interfaces/live.LiveReact.html +0 -52
  86. package/docs/modules/RTCProtocol.html +0 -17
  87. package/docs/modules/live.html +0 -103
  88. package/docs/modules/shared_utils.html +0 -10
  89. package/docs/modules.html +0 -1
  90. package/lib/RTC/BrowserRTC.js +0 -169
  91. package/lib/RTC/BrowserRTC.js.map +0 -1
  92. package/lib/RTC/BrowserRTC4Chime.js +0 -299
  93. package/lib/RTC/BrowserRTC4Chime.js.map +0 -1
  94. package/lib/RTC/VRWebViewRTC.js +0 -125
  95. package/lib/RTC/VRWebViewRTC.js.map +0 -1
  96. package/lib/RTC/index.d.ts +0 -22
  97. package/lib/RTC/index.js +0 -50
  98. package/lib/RTC/index.js.map +0 -1
  99. package/lib/createLive.js +0 -590
  100. package/lib/createLive.js.map +0 -1
  101. package/lib/createLiveReact.js +0 -212
  102. package/lib/createLiveReact.js.map +0 -1
  103. package/lib/index.d.ts +0 -2
  104. package/lib/index.js +0 -8
  105. package/lib/index.js.map +0 -1
  106. package/lib/shared-utils/Subscribe.js +0 -134
  107. package/lib/shared-utils/Subscribe.js.map +0 -1
  108. package/lib/shared-utils/appendUri.js +0 -13
  109. package/lib/shared-utils/appendUri.js.map +0 -1
  110. package/lib/shared-utils/equal.js +0 -92
  111. package/lib/shared-utils/equal.js.map +0 -1
  112. package/lib/shared-utils/uuid.js +0 -17
  113. package/lib/shared-utils/uuid.js.map +0 -1
  114. package/lib/typings/Chime/AttendeeResponse.js +0 -3
  115. package/lib/typings/Chime/AttendeeResponse.js.map +0 -1
  116. package/lib/typings/Chime/MeetingResponse.js +0 -3
  117. package/lib/typings/Chime/MeetingResponse.js.map +0 -1
  118. package/lib/typings/Chime/MeetingSessionConfigurationOptions.js +0 -3
  119. package/lib/typings/Chime/MeetingSessionConfigurationOptions.js.map +0 -1
  120. package/lib/typings/EventType.js +0 -3
  121. package/lib/typings/EventType.js.map +0 -1
  122. package/lib/typings/GetVoiceSign.js +0 -3
  123. package/lib/typings/GetVoiceSign.js.map +0 -1
  124. package/lib/typings/Live.js +0 -3
  125. package/lib/typings/Live.js.map +0 -1
  126. package/lib/typings/LiveMsg.js +0 -111
  127. package/lib/typings/LiveMsg.js.map +0 -1
  128. package/lib/typings/LiveOptions.js +0 -3
  129. package/lib/typings/LiveOptions.js.map +0 -1
  130. package/lib/typings/RTCEventType.js +0 -3
  131. package/lib/typings/RTCEventType.js.map +0 -1
  132. package/lib/typings/RTCJoinedInfo.js +0 -23
  133. package/lib/typings/RTCJoinedInfo.js.map +0 -1
  134. package/lib/typings/RTCProtocol.js +0 -9
  135. package/lib/typings/RTCProtocol.js.map +0 -1
  136. package/lib/typings/RoomInfo.js +0 -3
  137. package/lib/typings/RoomInfo.js.map +0 -1
  138. package/lib/typings/UserInfo.js +0 -31
  139. package/lib/typings/UserInfo.js.map +0 -1
  140. package/lib/typings/VRWebViewRTCOptions.d.ts +0 -6
  141. package/lib/typings/VRWebViewRTCOptions.js +0 -3
  142. package/lib/typings/VRWebViewRTCOptions.js.map +0 -1
  143. package/lib/typings/WebSocket.js +0 -107
  144. package/lib/typings/WebSocket.js.map +0 -1
  145. package/umd/RTCProtocol.543610f0.js +0 -1
  146. package/umd/createLive.96395a4c.js +0 -1
  147. package/umd/createLiveReact.e1836101.js +0 -1
@@ -1,122 +1,123 @@
1
- import { UserInfo } from './UserInfo';
2
- import { LiveOptions } from './LiveOptions';
3
- import { EventType, KeyframeTypes } from './EventType';
4
- import { WebSocketState } from './WebSocket';
5
- import { RTCProtocol } from '../typings/RTCProtocol';
6
- import { Subscribe } from '../shared-utils/Subscribe';
7
- import { BuiltinActionType, BuiltinEventType, MicroStatus } from './LiveMsg';
8
- /**
9
- * Live 实例。
10
- */
11
- export interface Live<Snapshot extends Record<string, any>> extends Subscribe<EventType<Snapshot>> {
12
- get options(): LiveOptions;
13
- /**
14
- * 更新本地用户信息
15
- * @param userInfo
16
- */
17
- setSelfInfo(userInfo: Partial<UserInfo>): Promise<boolean | Error>;
18
- /**
19
- * 获取本地用户信息
20
- */
21
- get selfInfo(): UserInfo | undefined;
22
- /**
23
- * 获取当前WebSocket的连接状态。
24
- */
25
- get readyState(): WebSocketState;
26
- /**
27
- * 获取当前会话房间内用户列表。
28
- */
29
- get userList(): UserInfo[];
30
- /**
31
- * 获取当前帧数据快照。
32
- */
33
- get snapshot(): Partial<Snapshot>;
34
- /**
35
- * 获取当前WebSocket连接的URL。(注意:这个是WebSocket连接的完整连接,附带一些query参数)。
36
- */
37
- get url(): string;
38
- /**
39
- * 获取RTC实例。一个RTC实例的引用,等同于live.options.rtc。
40
- */
41
- get $RTC(): RTCProtocol;
42
- /**
43
- * 帧数据监听
44
- */
45
- keyframes: Subscribe<KeyframeTypes<Snapshot>>;
46
- /**
47
- * 根据某条 key 获取某条帧数据
48
- * @param keys
49
- * @returns 帧数据
50
- */
51
- getFramesByKey<Key extends keyof Snapshot>(key: Key): Partial<Snapshot>[Key] | undefined;
52
- /**
53
- * 发送帧数据
54
- * @param key
55
- * @param frame
56
- * @returns
57
- */
58
- sendKeyframe<Key extends keyof Snapshot>(key: Key, frame: Snapshot[Key]): boolean | Error;
59
- /**
60
- * 自定义广播事件
61
- * @param data 广播数据:这个数据需要自定义格式,此处不做任何约束。
62
- * @param toUserIds 希望收到此广播事件的用户,为空时则向所有用户广播。
63
- * @param timeout 等待广播结果的超时设置;默认为"0",表示一直等结果。
64
- * @returns
65
- */
66
- broadcast<T1, T2>(data: T1, toUserIds: string | string[], timeout: number): Promise<T2> | Error;
67
- /**
68
- * 更新用户或房间状态。
69
- * @param evtType 事件枚举
70
- * @param atnType 行为枚举
71
- * @param status 状态值
72
- * @param toUserIds 面向的用户。
73
- */
74
- updateStatus(evtType: BuiltinEventType, atnType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]): Promise<boolean>;
75
- /**
76
- * 执行WebSocket连接
77
- * @param force 为true时则强制重连
78
- * @returns
79
- */
80
- connect(options?: {
81
- url?: string;
82
- force?: boolean;
83
- }): Promise<boolean | Error>;
84
- /**
85
- * 开启/关闭自己的麦克风
86
- * @param microStatus true 开启麦克风;false 关闭麦克风
87
- * @return
88
- * */
89
- toggleMicro(microStatus: boolean): Promise<boolean>;
90
- /**
91
- * 关闭/开启某个或某些用户的麦克风
92
- * @param micro true 开启麦克风;false 关闭麦克风
93
- * @param toUserIds 希望关闭/开启麦克风的用户,为空时则面向所有用户。
94
- * @returns
95
- */
96
- forbidMicro(micro: MicroStatus, toUserIds?: string[] | string): Promise<boolean>;
97
- /**
98
- * 限制/开启某个或某些用户同步帧数据
99
- * @param sync true 开启同步;false 限制同步
100
- * @param toUserIds 希望限制/开启同步能力的用户,为空时则面向所有用户。
101
- * @deprecated 暂不支持
102
- * @returns
103
- *
104
- */
105
- forbidSync(sync: boolean, toUserIds?: string[] | string): Promise<boolean>;
106
- /**
107
- * "踢人":强制让某个用户离开附近。
108
- * @param toUserIds 被"踢"的用户。
109
- * @returns
110
- */
111
- kick(toUserIds: string[] | string): Promise<boolean>;
112
- /**
113
- * 退出带看
114
- * @returns
115
- */
116
- exit(): Promise<boolean>;
117
- /**
118
- * 废弃掉当前实例依赖。
119
- */
120
- revoke(): Promise<boolean>;
121
- }
122
- export declare type LiveActionReactCallback<Snapshot extends Record<string, any>> = Pick<Live<Snapshot>, 'broadcast' | 'exit' | 'kick' | 'toggleMicro' | 'forbidMicro' | 'sendKeyframe' | 'getFramesByKey' | 'setSelfInfo' | 'updateStatus'>;
1
+ import { UserInfo } from './UserInfo';
2
+ import { LiveOptions } from './LiveOptions';
3
+ import { EventType, KeyframeTypes } from './EventType';
4
+ import { WebSocketState } from './WebSocket';
5
+ import { BuiltinActionType, BuiltinEventType, MicroStatus } from './LiveMsg';
6
+ import { Subscribe } from '../../utils/subscribe';
7
+ import { RTCProtocol } from '../rtc/protocol';
8
+ /**
9
+ * Live 实例。
10
+ */
11
+ export interface Live<Snapshot extends Record<string, any>> extends Subscribe<EventType<Snapshot>> {
12
+ get options(): LiveOptions;
13
+ /**
14
+ * 更新本地用户信息
15
+ * @param userInfo
16
+ */
17
+ setSelfInfo(userInfo: Partial<UserInfo>): Promise<boolean | Error>;
18
+ /**
19
+ * 获取本地用户信息
20
+ */
21
+ get selfInfo(): UserInfo | undefined;
22
+ /**
23
+ * 获取当前WebSocket的连接状态。
24
+ * @deprecated 带看不需要关注底层ws的状态,未来将移除
25
+ */
26
+ get readyState(): WebSocketState;
27
+ /**
28
+ * 获取当前会话房间内用户列表。
29
+ */
30
+ get userList(): UserInfo[];
31
+ /**
32
+ * 获取当前帧数据快照。
33
+ */
34
+ get snapshot(): Partial<Snapshot>;
35
+ /**
36
+ * 获取当前WebSocket连接的URL。(注意:这个是WebSocket连接的完整连接,附带一些query参数)。
37
+ * @deprecated 带看不需要关注底层ws的相关信息,未来将移除
38
+ */
39
+ get url(): string;
40
+ /**
41
+ * 获取RTC实例。一个RTC实例的引用,等同于live.options.rtc。
42
+ */
43
+ get $RTC(): RTCProtocol;
44
+ /**
45
+ * 帧数据监听
46
+ */
47
+ keyframes: Subscribe<KeyframeTypes<Snapshot>>;
48
+ /**
49
+ * 根据某条 key 获取某条帧数据
50
+ * @param keys
51
+ * @returns 帧数据
52
+ */
53
+ getFramesByKey<Key extends keyof Snapshot>(key: Key): Partial<Snapshot>[Key] | undefined;
54
+ /**
55
+ * 发送帧数据
56
+ * @param key
57
+ * @param frame
58
+ * @returns
59
+ */
60
+ sendKeyframe<Key extends keyof Snapshot>(key: Key, frame: Snapshot[Key]): boolean | Error;
61
+ /**
62
+ * 自定义广播事件
63
+ * @param data 广播数据:这个数据需要自定义格式,此处不做任何约束。
64
+ * @param toUserIds 希望收到此广播事件的用户,为空时则向所有用户广播。
65
+ * @param timeout 等待广播结果的超时设置;默认为"0",表示一直等结果。
66
+ * @returns
67
+ */
68
+ broadcast<D, R>(data: D, toUserIds: string | string[], timeout: number): Promise<R> | Error;
69
+ /**
70
+ * 更新用户或房间状态。
71
+ * @param eventType 事件枚举
72
+ * @param actionType 行为枚举
73
+ * @param status 状态值
74
+ * @param toUserIds 面向的用户。
75
+ */
76
+ updateStatus(eventType: BuiltinEventType, actionType: BuiltinActionType, status: Record<string, any>, toUserIds?: string | string[]): Promise<boolean>;
77
+ /**
78
+ * 执行WebSocket连接
79
+ * @param force 为true时则强制重连
80
+ * @returns
81
+ */
82
+ connect(options?: {
83
+ url?: string;
84
+ force?: boolean;
85
+ }): Promise<boolean | Error>;
86
+ /**
87
+ * 开启/关闭自己的麦克风
88
+ * @param microStatus true 开启麦克风;false 关闭麦克风
89
+ * @return
90
+ * */
91
+ toggleMicro(microStatus: boolean): Promise<boolean>;
92
+ /**
93
+ * 关闭/开启某个或某些用户的麦克风
94
+ * @param micro true 开启麦克风;false 关闭麦克风
95
+ * @param toUserIds 希望关闭/开启麦克风的用户,为空时则面向所有用户。
96
+ * @returns
97
+ */
98
+ forbidMicro(micro: MicroStatus, toUserIds?: string[] | string): Promise<boolean>;
99
+ /**
100
+ * 限制/开启某个或某些用户同步帧数据
101
+ * @param sync true 开启同步;false 限制同步
102
+ * @param toUserIds 希望限制/开启同步能力的用户,为空时则面向所有用户。
103
+ * @deprecated 暂不支持
104
+ * @returns
105
+ *
106
+ */
107
+ /**
108
+ * "踢人":强制让某个用户离开附近。
109
+ * @param toUserIds 被"踢"的用户。
110
+ * @returns
111
+ */
112
+ kick(toUserIds: string[] | string): Promise<boolean>;
113
+ /**
114
+ * 退出带看
115
+ * @returns
116
+ */
117
+ exit(): Promise<boolean>;
118
+ /**
119
+ * 废弃掉当前实例依赖。
120
+ */
121
+ revoke(): Promise<boolean>;
122
+ }
123
+ export declare type LiveActionReactCallback<Snapshot extends Record<string, any>> = Pick<Live<Snapshot>, 'broadcast' | 'exit' | 'kick' | 'toggleMicro' | 'forbidMicro' | 'sendKeyframe' | 'getFramesByKey' | 'setSelfInfo' | 'updateStatus'>;
@@ -1,119 +1,119 @@
1
- /**
2
- * WebSocket 通信指令
3
- * - 下行:服务端推送数据
4
- * - 上行:客户端上报数据
5
- */
6
- export declare enum Command {
7
- SelfUserInfo = "SELF_USER_INFO",
8
- RoomInfo = "ROOM_INFO",
9
- RTCInfo = "RTC_INFO",
10
- UserList = "USER_LIST",
11
- BuiltinMsg = "BUILTIN_MSG",
12
- CustomEvent = "CUSTOM_EVENT",
13
- KeyframeSync = "KEYFRAME_SYNC",
14
- UserKickOut = "USER_KICK_OUT"
15
- }
16
- /**
17
- * 向服务端请求数据时的数据格式。
18
- */
19
- export declare type ReqLiveMsg = {
20
- /**
21
- * 请求指令。
22
- */
23
- command: Command;
24
- /**
25
- * 前端请求时生成的uuid()。
26
- */
27
- front_request_id: string;
28
- /**
29
- * 数据内容
30
- */
31
- data: {
32
- /**
33
- * 如果此数据仅发送给某些用户,请提供这些用户的ucid。
34
- */
35
- to_user_ids?: string[];
36
- [key: string]: any;
37
- };
38
- };
39
- /**
40
- * 内置事件类型。
41
- */
42
- export declare enum BuiltinEventType {
43
- /**
44
- * 变更用户状态。
45
- */
46
- UserChange = "user_change",
47
- /**
48
- * 变更房间状态。
49
- */
50
- RoomChange = "room_change"
51
- }
52
- /**
53
- * 内置事件行为类型。
54
- */
55
- export declare enum BuiltinActionType {
56
- /**
57
- * 修改麦克风状态。
58
- */
59
- UserMicroStatus = "change_micro_status",
60
- /**
61
- * 同步当前用户状态:客户端麦克风状态已经修改成功,通知服务端
62
- */
63
- UserMicroStatusSync = "sync_micro_status",
64
- /**
65
- * 调整某些用户的权限。
66
- */
67
- UserPermission = "change_permission",
68
- /**
69
- * 用户状态发生改变。
70
- */
71
- UserStatus = "change_status",
72
- /**
73
- * 更新用户信息。
74
- */
75
- UserInfo = "change_info",
76
- /**
77
- * 关闭房间。
78
- */
79
- RoomClose = "close"
80
- }
81
- /**
82
- * 内置事件数据结构体。
83
- */
84
- export declare type BuiltinMsg = {
85
- event_type: BuiltinEventType;
86
- action: BuiltinActionType;
87
- to_user_ids: string[];
88
- data: {
89
- extension?: Record<string, any>;
90
- [key: string]: any;
91
- };
92
- };
93
- /**
94
- * 麦克风状态。
95
- */
96
- export declare enum MicroStatus {
97
- OPEN = "OPEN",
98
- CLOSE = "CLOSE"
99
- }
100
- /**
101
- * 响应的信息结构体。
102
- */
103
- export declare type LiveMsg = {
104
- code: string;
105
- message: string;
106
- command: Command;
107
- roomCode: string;
108
- appId: string;
109
- requestId: string;
110
- frontRequestId: string;
111
- triggerUserId: string;
112
- data: Record<string, any> | Record<string, any>[];
113
- };
114
- /**
115
- * 解析下后端数据格式。
116
- * @param jsonTxt - JSON序列化后的文本。
117
- * @returns false 标识解析失败;解析成功返回 {@link LiveMsg} 实例。
118
- */
119
- export declare function parseLiveMsg(jsonTxt: string): LiveMsg | boolean;
1
+ /**
2
+ * WebSocket 通信指令
3
+ * - 下行:服务端推送数据
4
+ * - 上行:客户端上报数据
5
+ */
6
+ export declare enum Command {
7
+ SelfUserInfo = "SELF_USER_INFO",
8
+ RoomInfo = "ROOM_INFO",
9
+ RTCInfo = "RTC_INFO",
10
+ UserList = "USER_LIST",
11
+ BuiltinMsg = "BUILTIN_MSG",
12
+ CustomEvent = "CUSTOM_EVENT",
13
+ KeyframeSync = "KEYFRAME_SYNC",
14
+ UserKickOut = "USER_KICK_OUT"
15
+ }
16
+ /**
17
+ * 向服务端请求数据时的数据格式。
18
+ */
19
+ export declare type ReqLiveMsg = {
20
+ /**
21
+ * 请求指令。
22
+ */
23
+ command: Command;
24
+ /**
25
+ * 前端请求时生成的uuid()。
26
+ */
27
+ front_request_id: string;
28
+ /**
29
+ * 数据内容
30
+ */
31
+ data: {
32
+ /**
33
+ * 如果此数据仅发送给某些用户,请提供这些用户的ucid。
34
+ */
35
+ to_user_ids?: string[];
36
+ [key: string]: any;
37
+ };
38
+ };
39
+ /**
40
+ * 内置事件类型。
41
+ */
42
+ export declare enum BuiltinEventType {
43
+ /**
44
+ * 变更用户状态。
45
+ */
46
+ UserChange = "user_change",
47
+ /**
48
+ * 变更房间状态。
49
+ */
50
+ RoomChange = "room_change"
51
+ }
52
+ /**
53
+ * 内置事件行为类型。
54
+ */
55
+ export declare enum BuiltinActionType {
56
+ /**
57
+ * 修改麦克风状态。
58
+ */
59
+ UserMicroStatus = "change_micro_status",
60
+ /**
61
+ * 同步当前用户状态:客户端麦克风状态已经修改成功,通知服务端
62
+ */
63
+ UserMicroStatusSync = "sync_micro_status",
64
+ /**
65
+ * 调整某些用户的权限。
66
+ */
67
+ UserPermission = "change_permission",
68
+ /**
69
+ * 用户状态发生改变。
70
+ */
71
+ UserStatus = "change_status",
72
+ /**
73
+ * 更新用户信息。
74
+ */
75
+ UserInfo = "change_info",
76
+ /**
77
+ * 关闭房间。
78
+ */
79
+ RoomClose = "close"
80
+ }
81
+ /**
82
+ * 内置事件数据结构体。
83
+ */
84
+ export declare type BuiltinMsg = {
85
+ event_type: BuiltinEventType;
86
+ action: BuiltinActionType;
87
+ to_user_ids: string[];
88
+ data: {
89
+ extension?: Record<string, any>;
90
+ [key: string]: any;
91
+ };
92
+ };
93
+ /**
94
+ * 麦克风状态。
95
+ */
96
+ export declare enum MicroStatus {
97
+ OPEN = "OPEN",
98
+ CLOSE = "CLOSE"
99
+ }
100
+ /**
101
+ * 响应的信息结构体。
102
+ */
103
+ export declare type LiveMsg = {
104
+ code: string;
105
+ message: string;
106
+ command: Command;
107
+ roomCode: string;
108
+ appId: string;
109
+ requestId: string;
110
+ frontRequestId: string;
111
+ triggerUserId: string;
112
+ data: Record<string, any> | Record<string, any>[];
113
+ };
114
+ /**
115
+ * 解析下后端数据格式。
116
+ * @param jsonTxt - JSON序列化后的文本。
117
+ * @returns false 标识解析失败;解析成功返回 {@link LiveMsg} 实例。
118
+ */
119
+ export declare function parseLiveMsg(jsonTxt: string): LiveMsg | boolean;
@@ -1,46 +1,65 @@
1
- import { RTCProtocol } from '../typings/RTCProtocol';
2
- /**
3
- * 依赖配置。
4
- */
5
- export interface LiveOptions {
6
- /**
7
- * 创建`WebSocket`所依赖的URL。
8
- */
9
- url?: string;
10
- /**
11
- * RTC实例。
12
- */
13
- rtc?: RTCProtocol;
14
- /**
15
- * 获取建立 WebSocket 连接的依赖Tick
16
- */
17
- getTicket?: () => Promise<string>;
18
- /**
19
- * 初始化自动连接,false 需手动执行 live.connect() 方法
20
- */
21
- /**
22
- * 异常断开是否自动重连:默认 `true` 重连三次.
23
- * 可以设置 `false` 关闭自动重连,以监控 `ws.readyStateUpdate` 事件自己来实现重连逻辑。
24
- */
25
- autoReconnect?: boolean | number;
26
- /**
27
- * 是否开启定时健康检查
28
- */
29
- healthCheck?: boolean | number;
30
- /**
31
- * 能否禁用某个/些用户的麦克风
32
- */
33
- canForbidUserMicro?: (users: string | string[]) => boolean;
34
- /**
35
- * 能否限制某个/些用户的帧数据同步
36
- */
37
- canForbidUserSync?: (users: string | string[]) => boolean;
38
- /**
39
- * 能否强制"踢掉"某个/些用户。
40
- */
41
- canForbidUserKick?: (users: string | string[]) => boolean;
42
- /**
43
- * 是否开启调试模式:此模式下会在终端打印日志方便调试。
44
- */
45
- __debug__?: boolean;
46
- }
1
+ import { JSBridgeProtocol } from '@realsee/jsbridge-x';
2
+ import { RTCProtocol } from '../rtc/protocol';
3
+ import { RTCType } from '../rtc/type';
4
+ import { GetVoiceSign } from './GetVoiceSign';
5
+ /**
6
+ * 依赖配置。
7
+ */
8
+ export interface LiveOptions {
9
+ /**
10
+ * 创建`WebSocket`所依赖的URL。
11
+ */
12
+ url?: string;
13
+ /**
14
+ * RTC实例。
15
+ * 优先使用该实例。
16
+ */
17
+ rtc?: RTCProtocol;
18
+ /**
19
+ * RTC类型
20
+ * rtc 为空时使用内置的rtc实例类型
21
+ */
22
+ rtcType?: RTCType;
23
+ /**
24
+ * 获取建立 WebSocket 连接的依赖Tick
25
+ */
26
+ getTicket?: () => Promise<string>;
27
+ /**
28
+ * jsBridge实例
29
+ * 使用内置rtc时提供给rtc实例使用
30
+ */
31
+ jsBridge?: JSBridgeProtocol;
32
+ /**
33
+ * 获取语音签名的接口
34
+ * 使用内置rtc时提供给rtc实例使用
35
+ */
36
+ getVoiceSign?: GetVoiceSign;
37
+ /**
38
+ * 初始化自动连接,false 需手动执行 live.connect() 方法
39
+ */
40
+ /**
41
+ * 异常断开是否自动重连:默认 `true` 重连三次.
42
+ * 可以设置 `false` 关闭自动重连,以监控 `ws.readyStateUpdate` 事件自己来实现重连逻辑。
43
+ */
44
+ autoReconnect?: boolean | number;
45
+ /**
46
+ * 是否开启定时健康检查
47
+ */
48
+ healthCheck?: boolean | number;
49
+ /**
50
+ * 能否禁用某个/些用户的麦克风
51
+ */
52
+ canForbidUserMicro?: (users: string | string[]) => boolean;
53
+ /**
54
+ * 能否限制某个/些用户的帧数据同步
55
+ */
56
+ canForbidUserSync?: (users: string | string[]) => boolean;
57
+ /**
58
+ * 能否强制"踢掉"某个/些用户。
59
+ */
60
+ canForbidUserKick?: (users: string | string[]) => boolean;
61
+ /**
62
+ * 是否开启调试模式:此模式下会在终端打印日志方便调试。
63
+ */
64
+ __debug__?: boolean;
65
+ }
@@ -1,13 +1,13 @@
1
- export declare type RoomInfo = {
2
- info: {
3
- id: string | number;
4
- status: string | number;
5
- create_user_id: string;
6
- app_id: string;
7
- extension: Record<string, any>;
8
- create_time: string;
9
- room_code: string;
10
- };
11
- init_timestamp: string;
12
- last_frame: Record<string, any>;
13
- };
1
+ export declare type RoomInfo = {
2
+ info: {
3
+ id: string | number;
4
+ status: string | number;
5
+ create_user_id: string;
6
+ app_id: string;
7
+ extension: Record<string, any>;
8
+ create_time: string;
9
+ room_code: string;
10
+ };
11
+ init_timestamp: string;
12
+ last_frame: Record<string, any>;
13
+ };