@hysc/meeting 3.6.33 → 4.0.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 (255) hide show
  1. package/esm/BMChat/BMMessageInfo.d.ts +4 -0
  2. package/esm/BMRoom/BMRoom.d.ts +20 -5
  3. package/esm/BMRoom/BMRoomInfo.d.ts +2 -22
  4. package/esm/BMRoom/BMRoomVM.d.ts +5 -15
  5. package/esm/BMStream/BMStreamModel.d.ts +8 -0
  6. package/esm/BMStream/BMStreamModelVM.d.ts +3 -1
  7. package/esm/BMUser/BMUser.d.ts +5 -5
  8. package/esm/BMUser/BMUserVM.d.ts +0 -10
  9. package/esm/bjy-common/function/getErrorMessage.d.ts +1 -0
  10. package/esm/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +418 -0
  11. package/esm/boom-meeting/src/BMChat/BMMessageInfo.d.ts +4 -0
  12. package/esm/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
  13. package/esm/boom-meeting/src/BMStream/BMSpeaker.d.ts +2 -2
  14. package/esm/boom-meeting/src/BMStream/BMStreamModel.d.ts +35 -11
  15. package/esm/boom-meeting/src/BMStream/sortStream.d.ts +27 -0
  16. package/esm/boom-meeting/src/EventHandler.d.ts +20 -0
  17. package/esm/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
  18. package/esm/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
  19. package/esm/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
  20. package/esm/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
  21. package/esm/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
  22. package/esm/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
  23. package/esm/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
  24. package/esm/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
  25. package/esm/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
  26. package/esm/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
  27. package/esm/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
  28. package/esm/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
  29. package/esm/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
  30. package/esm/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
  31. package/esm/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
  32. package/esm/boom-meeting/src/error/errorMap.d.ts +70 -0
  33. package/esm/boom-meeting/src/type/customStats.d.ts +119 -0
  34. package/esm/boom-meeting/src/type/index.d.ts +9 -0
  35. package/esm/boom-meeting/src/type/stream.d.ts +15 -0
  36. package/esm/boom-meeting/src/type/user.d.ts +9 -0
  37. package/esm/boom-meeting/src/util/PackLoss.d.ts +7 -0
  38. package/esm/boom-meeting/src/util/Privileges.d.ts +20 -0
  39. package/esm/boom-meeting/src/util/ReportCollector.d.ts +22 -0
  40. package/esm/boom-meeting/src/util/Stutter.d.ts +19 -0
  41. package/esm/boom-meeting/src/util/base64.d.ts +4 -0
  42. package/esm/boom-meeting/src/util/checkPermissions.d.ts +1 -0
  43. package/esm/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
  44. package/esm/boom-meeting/src/util/devices.d.ts +2 -0
  45. package/esm/boom-meeting/src/util/formatUserId.d.ts +2 -0
  46. package/esm/boom-meeting/src/util/is.d.ts +70 -0
  47. package/esm/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
  48. package/esm/boom-meeting/src/util/request.d.ts +45 -0
  49. package/esm/boom-meeting/src/util/sortUtils.d.ts +10 -0
  50. package/esm/boom-meeting/src/util/util.d.ts +2 -1
  51. package/esm/constants.d.ts +26 -2
  52. package/esm/index.js +7 -38
  53. package/esm/index.js.map +3 -3
  54. package/esm/src/BMChat/BMChatVM.d.ts +25 -0
  55. package/esm/src/BMChat/BMMessageInfo.d.ts +31 -0
  56. package/esm/src/BMRoom/BMLiveVM.d.ts +35 -0
  57. package/esm/src/BMRoom/BMRoom.d.ts +626 -0
  58. package/esm/src/BMRoom/BMRoomInfo.d.ts +213 -0
  59. package/esm/src/BMRoom/BMRoomVM.d.ts +302 -0
  60. package/esm/src/BMRoom/RoomEvent.d.ts +1 -0
  61. package/esm/src/BMRoom/attachEvents.d.ts +34 -0
  62. package/esm/src/BMStream/BMSpeaker.d.ts +44 -0
  63. package/esm/src/BMStream/BMStreamModel.d.ts +272 -0
  64. package/esm/src/BMStream/BMStreamModelVM.d.ts +254 -0
  65. package/esm/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
  66. package/esm/src/BMStream/sortStream.d.ts +27 -0
  67. package/esm/src/BMUser/BMUser.d.ts +156 -0
  68. package/esm/src/BMUser/BMUserVM.d.ts +141 -0
  69. package/esm/src/EventHandler.d.ts +20 -0
  70. package/esm/src/bjy-common/function/debounce.d.ts +9 -0
  71. package/esm/src/bjy-common/function/execute.d.ts +9 -0
  72. package/esm/src/bjy-common/function/getErrorMessage.d.ts +1 -0
  73. package/esm/src/bjy-common/function/isDef.d.ts +1 -0
  74. package/esm/src/bjy-common/function/isNative.d.ts +1 -0
  75. package/esm/src/bjy-common/function/isUndef.d.ts +1 -0
  76. package/esm/src/bjy-common/function/nextTick.d.ts +2 -0
  77. package/esm/src/bjy-common/function/throttling.d.ts +9 -0
  78. package/esm/src/bjy-common/function/toNumber.d.ts +1 -0
  79. package/esm/src/bjy-common/function/toString.d.ts +1 -0
  80. package/esm/src/bjy-common/type/api.d.ts +66 -0
  81. package/esm/src/bjy-common/type/options.d.ts +7 -0
  82. package/esm/src/bjy-common/type/type.d.ts +90 -0
  83. package/esm/src/bjy-common/util/CustomEvent.d.ts +30 -0
  84. package/esm/src/bjy-common/util/Emitter.d.ts +57 -0
  85. package/esm/src/bjy-common/util/NextTask.d.ts +28 -0
  86. package/esm/src/bjy-common/util/Sleep.d.ts +14 -0
  87. package/esm/src/bjy-common/util/Timer.d.ts +13 -0
  88. package/esm/src/bjy-common/util/array.d.ts +96 -0
  89. package/esm/src/bjy-common/util/browser.d.ts +6 -0
  90. package/esm/src/bjy-common/util/constant.d.ts +50 -0
  91. package/esm/src/bjy-common/util/holder.d.ts +6 -0
  92. package/esm/src/bjy-common/util/is.d.ts +49 -0
  93. package/esm/src/bjy-common/util/keypath.d.ts +41 -0
  94. package/esm/src/bjy-common/util/logger.d.ts +42 -0
  95. package/esm/src/bjy-common/util/network.d.ts +4 -0
  96. package/esm/src/bjy-common/util/object.d.ts +83 -0
  97. package/esm/src/bjy-common/util/os.d.ts +14 -0
  98. package/esm/src/bjy-common/util/string.d.ts +102 -0
  99. package/esm/src/constants.d.ts +113 -0
  100. package/esm/src/error/RTCError.d.ts +20 -0
  101. package/esm/src/error/errorMap.d.ts +70 -0
  102. package/esm/src/error/errorType.d.ts +96 -0
  103. package/esm/src/index.d.ts +2 -0
  104. package/esm/src/logger/logger.d.ts +86 -0
  105. package/esm/src/type/customStats.d.ts +119 -0
  106. package/esm/src/type/index.d.ts +9 -0
  107. package/esm/src/type/stream.d.ts +15 -0
  108. package/esm/src/type/user.d.ts +9 -0
  109. package/esm/src/util/PackLoss.d.ts +7 -0
  110. package/esm/src/util/Pqueue.d.ts +61 -0
  111. package/esm/src/util/Privileges.d.ts +20 -0
  112. package/esm/src/util/ReportCollector.d.ts +22 -0
  113. package/esm/src/util/Stutter.d.ts +19 -0
  114. package/esm/src/util/base64.d.ts +4 -0
  115. package/esm/src/util/checkPermissions.d.ts +1 -0
  116. package/esm/src/util/checkSystemRequirements.d.ts +1 -0
  117. package/esm/src/util/constant.d.ts +67 -0
  118. package/esm/src/util/devices.d.ts +2 -0
  119. package/esm/src/util/emitter.d.ts +20 -0
  120. package/esm/src/util/formatUserId.d.ts +2 -0
  121. package/esm/src/util/is.d.ts +70 -0
  122. package/esm/src/util/peerToPeerProbe.d.ts +9 -0
  123. package/esm/src/util/request.d.ts +45 -0
  124. package/esm/src/util/roomUtils.d.ts +9 -0
  125. package/esm/src/util/sortUtils.d.ts +10 -0
  126. package/esm/src/util/util.d.ts +77 -0
  127. package/esm/type/customStats.d.ts +0 -1
  128. package/esm/util/sortUtils.d.ts +10 -0
  129. package/package.json +3 -3
  130. package/umd/BMChat/BMMessageInfo.d.ts +4 -0
  131. package/umd/BMRoom/BMRoom.d.ts +20 -5
  132. package/umd/BMRoom/BMRoomInfo.d.ts +2 -22
  133. package/umd/BMRoom/BMRoomVM.d.ts +5 -15
  134. package/umd/BMStream/BMStreamModel.d.ts +8 -0
  135. package/umd/BMStream/BMStreamModelVM.d.ts +3 -1
  136. package/umd/BMUser/BMUser.d.ts +5 -5
  137. package/umd/BMUser/BMUserVM.d.ts +0 -10
  138. package/umd/bjy-common/function/getErrorMessage.d.ts +1 -0
  139. package/umd/boom-core/src/BoomCore/BCClient/clientEventType.d.ts +418 -0
  140. package/umd/boom-meeting/src/BMChat/BMMessageInfo.d.ts +4 -0
  141. package/umd/boom-meeting/src/BMRoom/RoomEvent.d.ts +1 -0
  142. package/umd/boom-meeting/src/BMStream/BMSpeaker.d.ts +2 -2
  143. package/umd/boom-meeting/src/BMStream/BMStreamModel.d.ts +35 -11
  144. package/umd/boom-meeting/src/BMStream/sortStream.d.ts +27 -0
  145. package/umd/boom-meeting/src/EventHandler.d.ts +20 -0
  146. package/umd/boom-meeting/src/bjy-common/function/debounce.d.ts +9 -0
  147. package/umd/boom-meeting/src/bjy-common/function/isDef.d.ts +1 -0
  148. package/umd/boom-meeting/src/bjy-common/function/isUndef.d.ts +1 -0
  149. package/umd/boom-meeting/src/bjy-common/function/throttling.d.ts +9 -0
  150. package/umd/boom-meeting/src/bjy-common/function/toNumber.d.ts +1 -0
  151. package/umd/boom-meeting/src/bjy-common/type/api.d.ts +66 -0
  152. package/umd/boom-meeting/src/bjy-common/type/options.d.ts +7 -0
  153. package/umd/boom-meeting/src/bjy-common/type/type.d.ts +90 -0
  154. package/umd/boom-meeting/src/bjy-common/util/NextTask.d.ts +28 -0
  155. package/umd/boom-meeting/src/bjy-common/util/Sleep.d.ts +14 -0
  156. package/umd/boom-meeting/src/bjy-common/util/Timer.d.ts +13 -0
  157. package/umd/boom-meeting/src/bjy-common/util/browser.d.ts +6 -0
  158. package/umd/boom-meeting/src/bjy-common/util/holder.d.ts +6 -0
  159. package/umd/boom-meeting/src/bjy-common/util/network.d.ts +4 -0
  160. package/umd/boom-meeting/src/bjy-common/util/os.d.ts +14 -0
  161. package/umd/boom-meeting/src/error/errorMap.d.ts +70 -0
  162. package/umd/boom-meeting/src/type/customStats.d.ts +119 -0
  163. package/umd/boom-meeting/src/type/index.d.ts +9 -0
  164. package/umd/boom-meeting/src/type/stream.d.ts +15 -0
  165. package/umd/boom-meeting/src/type/user.d.ts +9 -0
  166. package/umd/boom-meeting/src/util/PackLoss.d.ts +7 -0
  167. package/umd/boom-meeting/src/util/Privileges.d.ts +20 -0
  168. package/umd/boom-meeting/src/util/ReportCollector.d.ts +22 -0
  169. package/umd/boom-meeting/src/util/Stutter.d.ts +19 -0
  170. package/umd/boom-meeting/src/util/base64.d.ts +4 -0
  171. package/umd/boom-meeting/src/util/checkPermissions.d.ts +1 -0
  172. package/umd/boom-meeting/src/util/checkSystemRequirements.d.ts +1 -0
  173. package/umd/boom-meeting/src/util/devices.d.ts +2 -0
  174. package/umd/boom-meeting/src/util/formatUserId.d.ts +2 -0
  175. package/umd/boom-meeting/src/util/is.d.ts +70 -0
  176. package/umd/boom-meeting/src/util/peerToPeerProbe.d.ts +9 -0
  177. package/umd/boom-meeting/src/util/request.d.ts +45 -0
  178. package/umd/boom-meeting/src/util/sortUtils.d.ts +10 -0
  179. package/umd/boom-meeting/src/util/util.d.ts +2 -1
  180. package/umd/constants.d.ts +26 -2
  181. package/umd/index.js +7 -38
  182. package/umd/src/BMChat/BMChatVM.d.ts +25 -0
  183. package/umd/src/BMChat/BMMessageInfo.d.ts +31 -0
  184. package/umd/src/BMRoom/BMLiveVM.d.ts +35 -0
  185. package/umd/src/BMRoom/BMRoom.d.ts +626 -0
  186. package/umd/src/BMRoom/BMRoomInfo.d.ts +213 -0
  187. package/umd/src/BMRoom/BMRoomVM.d.ts +302 -0
  188. package/umd/src/BMRoom/RoomEvent.d.ts +1 -0
  189. package/umd/src/BMRoom/attachEvents.d.ts +34 -0
  190. package/umd/src/BMStream/BMSpeaker.d.ts +44 -0
  191. package/umd/src/BMStream/BMStreamModel.d.ts +260 -0
  192. package/umd/src/BMStream/BMStreamModelVM.d.ts +254 -0
  193. package/umd/src/BMStream/getHTMLMediaStreamOptions.d.ts +35 -0
  194. package/umd/src/BMUser/BMUser.d.ts +156 -0
  195. package/umd/src/BMUser/BMUserVM.d.ts +141 -0
  196. package/umd/src/EventHandler.d.ts +20 -0
  197. package/umd/src/bjy-common/function/debounce.d.ts +9 -0
  198. package/umd/src/bjy-common/function/execute.d.ts +9 -0
  199. package/umd/src/bjy-common/function/getErrorMessage.d.ts +1 -0
  200. package/umd/src/bjy-common/function/isDef.d.ts +1 -0
  201. package/umd/src/bjy-common/function/isNative.d.ts +1 -0
  202. package/umd/src/bjy-common/function/isUndef.d.ts +1 -0
  203. package/umd/src/bjy-common/function/nextTick.d.ts +2 -0
  204. package/umd/src/bjy-common/function/throttling.d.ts +9 -0
  205. package/umd/src/bjy-common/function/toNumber.d.ts +1 -0
  206. package/umd/src/bjy-common/function/toString.d.ts +1 -0
  207. package/umd/src/bjy-common/type/api.d.ts +66 -0
  208. package/umd/src/bjy-common/type/options.d.ts +7 -0
  209. package/umd/src/bjy-common/type/type.d.ts +90 -0
  210. package/umd/src/bjy-common/util/CustomEvent.d.ts +30 -0
  211. package/umd/src/bjy-common/util/Emitter.d.ts +57 -0
  212. package/umd/src/bjy-common/util/NextTask.d.ts +28 -0
  213. package/umd/src/bjy-common/util/Sleep.d.ts +14 -0
  214. package/umd/src/bjy-common/util/Timer.d.ts +13 -0
  215. package/umd/src/bjy-common/util/array.d.ts +96 -0
  216. package/umd/src/bjy-common/util/browser.d.ts +6 -0
  217. package/umd/src/bjy-common/util/constant.d.ts +50 -0
  218. package/umd/src/bjy-common/util/holder.d.ts +6 -0
  219. package/umd/src/bjy-common/util/is.d.ts +49 -0
  220. package/umd/src/bjy-common/util/keypath.d.ts +41 -0
  221. package/umd/src/bjy-common/util/logger.d.ts +42 -0
  222. package/umd/src/bjy-common/util/network.d.ts +4 -0
  223. package/umd/src/bjy-common/util/object.d.ts +83 -0
  224. package/umd/src/bjy-common/util/os.d.ts +14 -0
  225. package/umd/src/bjy-common/util/string.d.ts +102 -0
  226. package/umd/src/constants.d.ts +113 -0
  227. package/umd/src/error/RTCError.d.ts +20 -0
  228. package/umd/src/error/errorMap.d.ts +70 -0
  229. package/umd/src/error/errorType.d.ts +96 -0
  230. package/umd/src/index.d.ts +2 -0
  231. package/umd/src/logger/logger.d.ts +86 -0
  232. package/umd/src/type/customStats.d.ts +118 -0
  233. package/umd/src/type/index.d.ts +9 -0
  234. package/umd/src/type/stream.d.ts +17 -0
  235. package/umd/src/type/user.d.ts +9 -0
  236. package/umd/src/util/PackLoss.d.ts +7 -0
  237. package/umd/src/util/Pqueue.d.ts +61 -0
  238. package/umd/src/util/Privileges.d.ts +20 -0
  239. package/umd/src/util/ReportCollector.d.ts +22 -0
  240. package/umd/src/util/Stutter.d.ts +19 -0
  241. package/umd/src/util/base64.d.ts +4 -0
  242. package/umd/src/util/checkPermissions.d.ts +1 -0
  243. package/umd/src/util/checkSystemRequirements.d.ts +1 -0
  244. package/umd/src/util/constant.d.ts +67 -0
  245. package/umd/src/util/devices.d.ts +2 -0
  246. package/umd/src/util/emitter.d.ts +20 -0
  247. package/umd/src/util/formatUserId.d.ts +2 -0
  248. package/umd/src/util/is.d.ts +70 -0
  249. package/umd/src/util/peerToPeerProbe.d.ts +9 -0
  250. package/umd/src/util/request.d.ts +45 -0
  251. package/umd/src/util/roomUtils.d.ts +9 -0
  252. package/umd/src/util/sortUtils.d.ts +10 -0
  253. package/umd/src/util/util.d.ts +77 -0
  254. package/umd/type/customStats.d.ts +0 -1
  255. package/umd/util/sortUtils.d.ts +10 -0
@@ -0,0 +1,156 @@
1
+ import BMStreamModel from '../BMStream/BMStreamModel';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import BCUser from '@hysc/core/esm/BoomAdapter/User/User';
4
+ import BMRoom from '../BMRoom/BMRoom';
5
+ export declare type Operation = 'none' | 'getMaster' | 'getManager' | 'removeMaster' | 'getGuest' | 'removeGuest' | 'removeManager' | 'changeNickName' | 'speakerEnable' | 'changeShare' | 'updateUser' | 'raiseHandsVideo' | 'raiseHandsAudio' | 'audienceEnableSpeaking' | 'inBackground' | 'raiseHand';
6
+ interface IUserActionWatcher {
7
+ operation: Operation;
8
+ user: BMUser;
9
+ }
10
+ interface UserInfo {
11
+ avatar: string;
12
+ jointime: number;
13
+ nickname: string;
14
+ pos: string;
15
+ userId: string;
16
+ status?: {
17
+ audioRaiseHands: boolean;
18
+ videoRaiseHands: boolean;
19
+ };
20
+ }
21
+ export interface RaiseHandInfo {
22
+ status: 'raiseHandsAudio' | 'raiseHandsVideo' | 'raiseHand';
23
+ user: BMUser;
24
+ }
25
+ export default class BMUser {
26
+ /**
27
+ * 用户id
28
+ */
29
+ userId: string;
30
+ /**
31
+ * 用户信息
32
+ */
33
+ userInfo: UserInfo;
34
+ nickName: string;
35
+ isMaster: boolean;
36
+ isManager: boolean;
37
+ mirror: boolean;
38
+ isLocal: boolean;
39
+ isToupingma: boolean;
40
+ hasMultiple: boolean;
41
+ isCreate: boolean;
42
+ hasShare: boolean;
43
+ audienceEnableSpeaking: boolean;
44
+ /** 头像 */
45
+ avatar: string;
46
+ private streamModels;
47
+ permission: any;
48
+ /**
49
+ * 监听器, 监听返回对象属性
50
+ * @property {string} operation
51
+ * 'getManager':获得管理员权限/成为联席主持人
52
+ * 'getMaster':成为主持人
53
+ * 'removeManager':取消管理员权限/取消联席主持人
54
+ * 'removeMaster':取消主持人
55
+ * 'changeNickName':改变昵称
56
+ * 'speakerEnable':扬声器开关状态改变
57
+ * 'changeShare': 是否在屏幕共享
58
+ * 'raiseHandsVideo': 是否视频举手
59
+ * 'raiseHandsAudio': 是否音频举手
60
+ * 'raiseHand':单纯的举手
61
+ * @property {BMUser} user
62
+ */
63
+ watcher: BehaviorSubject<IUserActionWatcher>;
64
+ /**
65
+ * 排序
66
+ */
67
+ sortNum: number;
68
+ /**
69
+ * 举手相关
70
+ */
71
+ raiseVideoHands: boolean;
72
+ raiseAudioHands: boolean;
73
+ raiseHand: boolean;
74
+ isAudience: boolean;
75
+ /**
76
+ * 是不是普通参会者
77
+ */
78
+ isCommonUser: boolean;
79
+ /**
80
+ * 如果改用户是移动端, 该值用于判断这个用户是否在后台
81
+ */
82
+ inBackground: boolean;
83
+ raiseHandTime: number;
84
+ /**
85
+ * 是不是web端入会
86
+ */
87
+ get isWeb(): boolean;
88
+ constructor(user: any, isLocal?: boolean);
89
+ setup(userId: string, userinfo: UserInfo, nickname: string): void;
90
+ getMainStreamModel(): BMStreamModel | undefined;
91
+ get nickname(): string;
92
+ getShareStreamModel(): BMStreamModel | undefined;
93
+ /**
94
+ * 获取用户麦克风开启状态
95
+ */
96
+ get audioEnable(): boolean;
97
+ get isMixer(): boolean;
98
+ /**
99
+ * 获取用户视频开启状态
100
+ */
101
+ get videoEnable(): boolean;
102
+ get isSharing(): boolean;
103
+ /**
104
+ * 是否是信号源
105
+ */
106
+ get isSignal(): boolean;
107
+ /**
108
+ * 检测当前用户是否有主持人权限
109
+ */
110
+ checkLocalHasMaster(): boolean;
111
+ /**
112
+ * 给用户添加流
113
+ * @param streamId
114
+ * @param stream 流
115
+ */
116
+ addStream(streamId: string, stream: BMStreamModel): void;
117
+ /**
118
+ * 删除流
119
+ * @param streamId
120
+ */
121
+ removeStream(streamId: string): void;
122
+ /**
123
+ * 获取用户id
124
+ */
125
+ getID(): string;
126
+ /**
127
+ * 获取用户昵称
128
+ */
129
+ getNickName(): string;
130
+ /**
131
+ * 获取用户信息
132
+ */
133
+ getUserInfo(): UserInfo;
134
+ /**
135
+ * 获取用户流信息
136
+ */
137
+ getStreams(): Map<string, BMStreamModel>;
138
+ /**
139
+ * updateUserInfo更新用户信息(除了isMaster,isMaster是通过change-master事件改变的)
140
+ * @param bcUser
141
+ * @param participant
142
+ * @param bmRoom
143
+ * @returns
144
+ */
145
+ updateUserInfo(bcUser: BCUser, participant: any, bmRoom: BMRoom): void;
146
+ /** 是否有管理权限, 是主持人或联席主持人之一 */
147
+ hasManager(): boolean;
148
+ /** 获取用户后面的身份标识 */
149
+ getNicknameSuffix(): string;
150
+ /**
151
+ * 更新当前用户的排序
152
+ */
153
+ updateSortNum(force?: boolean): void;
154
+ setSortNum(sortNum: number, force: boolean): void;
155
+ }
156
+ export {};
@@ -0,0 +1,141 @@
1
+ import BoomCore from '@hysc/core/esm';
2
+ import BMUser from "./BMUser";
3
+ import BCUser from '@hysc/core/esm/BoomAdapter/User/User';
4
+ import BMRoom from '../BMRoom/BMRoom';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { UpdateMasterType } from '../type';
7
+ /**
8
+ * 往业务端返回的时候,需要把这些用户过滤掉
9
+ */
10
+ export declare const ignoreUserId: string[];
11
+ export interface ChangeIsGuest {
12
+ user: BMUser;
13
+ preIsGuest: boolean;
14
+ isGuest: boolean;
15
+ }
16
+ export default class BMUserVM {
17
+ userList: Map<string, BMUser>;
18
+ audiencesList: Map<string, BMUser>;
19
+ signalList: Map<string, BMUser>;
20
+ commonUserList: Map<string, BMUser>;
21
+ boomCore: BoomCore;
22
+ room: BMRoom | null;
23
+ userListWatcher: BehaviorSubject<BMUser[]>;
24
+ audiencesListWatcher: BehaviorSubject<BMUser[]>;
25
+ commonUserListWatcher: BehaviorSubject<BMUser[]>;
26
+ signalListWatcher: BehaviorSubject<BMUser[]>;
27
+ masterUserWatcher: BehaviorSubject<BMUser | null>;
28
+ localUser: BMUser;
29
+ constructor(boomCore: BoomCore, localUser: BMUser);
30
+ initWithRoom(room: BMRoom): void;
31
+ handleUserRoleChange(info: ChangeIsGuest): Promise<void>;
32
+ /**
33
+ * 添加用户, 并返回已添加的用户对象
34
+ * @param bcUser bcUser对象
35
+ */
36
+ addUser(bcUser: BCUser): BMUser | null;
37
+ /**
38
+ * 移除用户
39
+ * @param userId 用户id
40
+ */
41
+ removeUser(userId: string): boolean;
42
+ /**
43
+ * 获取用户视频开启状态
44
+ * @param userId 用户id
45
+ */
46
+ videoEnable(userId: string): boolean;
47
+ /**
48
+ * 获取用户音频开启状态
49
+ * @param userId
50
+ */
51
+ audioEnable(userId: string): boolean;
52
+ /**
53
+ * 检测用户是不是主持人
54
+ * @param {string} userId 用户id
55
+ */
56
+ checkIsMaster(userId: any): boolean;
57
+ /**
58
+ * 检测当前用户是否有主持人权限
59
+ */
60
+ checkLocalHasMaster(): any;
61
+ /**
62
+ * 检测目标用户是否有主持人权限
63
+ */
64
+ checkUserHasMaster(userId: string): boolean;
65
+ /**
66
+ * 根据用户id获取user对象
67
+ * @param {string} userId
68
+ */
69
+ getUser(userId: string): BMUser | undefined;
70
+ getAllUsers(pageIndex: number, allUsers: Map<string, BCUser>): Promise<void>;
71
+ /**
72
+ * 刚加入房间时初始化人数
73
+ */
74
+ initUserList(usersInRoom: Map<string, BCUser>): Promise<void>;
75
+ /**
76
+ * 改变userList中的主持人,返回改变后的主持人用户对象,该方法只在change-master中调用, 不对外暴露
77
+ * @param userId
78
+ * @param oldMasterId
79
+ * @param isKeep
80
+ */
81
+ updateMaster(userId: string, oldMasterId: string, isKeep: boolean): UpdateMasterType;
82
+ /**
83
+ * 联席主持人设置嘉宾的操作
84
+ * @param userId
85
+ */
86
+ managerChangeToGuest(userId: string): any;
87
+ /**
88
+ * 改变联席主持人,返回设置为联席主持人的bmuser对象
89
+ * @param userId
90
+ * @param status true:设置成联席主持人 false:取消联席主持人身份
91
+ * @param hasS
92
+ * @returns
93
+ */
94
+ updateManager(userId: string, status: boolean, hasS?: boolean): BMUser;
95
+ /**
96
+ * 获取我自己
97
+ */
98
+ getLocalUser(): BMUser;
99
+ updateUser(bmUser: BMUser, bcUser: BCUser): void;
100
+ updateLocalUserPermission(permission: string): void;
101
+ /**
102
+ * bcUser变成BMUser
103
+ * @param bcUser
104
+ * @returns
105
+ */
106
+ toBMUser(bcUser: BCUser): BMUser;
107
+ private sortUsers;
108
+ private sortAudiences;
109
+ private sortCommonUsers;
110
+ private sortSignalUsers;
111
+ private static filterUsers;
112
+ /**
113
+ * 排序变化之后的处理逻辑
114
+ */
115
+ updateSort: () => void;
116
+ /**
117
+ * 初始化所有的用户
118
+ * @param total
119
+ */
120
+ initUsers(total: number): Promise<void>;
121
+ /**
122
+ * 本地嘉宾用户降级为普通参会者之后要取消拉流
123
+ */
124
+ handleUnSubCommonUser(): void;
125
+ handleCommonUserChange(): void;
126
+ getUsers(page: number, pageSize: number, permission?: string): Promise<{
127
+ userList: BMUser[];
128
+ total: number;
129
+ }>;
130
+ getTotalUserNumber(): Promise<number>;
131
+ clearUsers(): void;
132
+ /**
133
+ * 参会者列表搜索(嘉宾及以上才能搜索)
134
+ * @param searchTxt 搜索文本
135
+ * @param pageSize 一页几个
136
+ */
137
+ searchUsers(searchTxt: string, pageSize: number): Promise<{
138
+ userList: BMUser[];
139
+ commonUserList: BMUser[];
140
+ }>;
141
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @name: EventHandler
3
+ * @author: yangliye
4
+ * @date: 2023-04-04 10:14
5
+ * @description:EventHandler
6
+ * @update: 2023-04-04 10:14
7
+ */
8
+ import BMUserVM from "./BMUser/BMUserVM";
9
+ import BMRoom from "./BMRoom/BMRoom";
10
+ import BMStreamModelVM from "./BMStream/BMStreamModelVM";
11
+ import BCClient from "@hysc/core";
12
+ import BMChatVM from "./BMChat/BMChatVM";
13
+ import BoomCore from "@hysc/core";
14
+ import BCUser from "@hysc/core/esm/BoomAdapter/User/User";
15
+ import BMUser from "./BMUser/BMUser";
16
+ export declare function handleParticipantLeft(data: any, userVM: BMUserVM, bmRoom: BMRoom, observes: any, bmStreamVm: BMStreamModelVM, boomCore: BCClient, chatVM: BMChatVM): void;
17
+ export declare function handleParticipantJoin(data: any, userVM: BMUserVM, bmStreamVm: BMStreamModelVM, boomCore: BoomCore, chatVM: BMChatVM, observes: any): Promise<void>;
18
+ export declare function handleRoomSync(data: any, bmRoom: BMRoom, userVm: BMUserVM, bmStreamVm: BMStreamModelVM): Promise<void>;
19
+ export declare function updateBMUser(allUsers: Map<string, BCUser>, bmUser: BMUser, userVm: BMUserVM): void;
20
+ export declare function handleInitRoomInfo(data: any, bmRoom: BMRoom): Promise<void>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 节流调用
3
+ *
4
+ * @param fn 需要节制调用的函数
5
+ * @param delay 调用的时间间隔,单位毫秒
6
+ * @param immediate 是否立即触发
7
+ * @return 节流函数
8
+ */
9
+ export default function (fn: Function, delay: number, immediate?: boolean): () => void;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 任性地执行一个函数,不管它有没有、是不是
3
+ *
4
+ * @param fn 调用的函数
5
+ * @param context 执行函数时的 this 指向
6
+ * @param args 调用函数的参数,多参数时传入数组
7
+ * @return 调用函数的返回值
8
+ */
9
+ export default function (fn: any, context?: any, args?: any): any;
@@ -0,0 +1 @@
1
+ export default function getErrorMessage(error: any): string;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1 @@
1
+ export default function (target: any): boolean;
@@ -0,0 +1,2 @@
1
+ declare let nextTick: Function;
2
+ export default nextTick;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 节流调用
3
+ *
4
+ * @param fn 需要节制调用的函数
5
+ * @param delay 调用的时间间隔,单位毫秒
6
+ * @param immediate 是否立即触发
7
+ * @return 节流函数
8
+ */
9
+ export default function (fn: Function, delay: number, immediate?: boolean): Function;
@@ -0,0 +1 @@
1
+ export default function (target: any, defaultValue?: number): number;
@@ -0,0 +1 @@
1
+ export default function (target: any, defaultValue?: string): string;
@@ -0,0 +1,66 @@
1
+ import { Data, ValueHolder } from './type';
2
+ export interface ArrayApi {
3
+ each<T>(array: T[], callback: (item: T, index: number) => boolean | void, reversed?: boolean): void;
4
+ push<T>(array: T[], target: T | T[]): void;
5
+ unshift<T>(array: T[], target: T | T[]): void;
6
+ indexOf<T>(array: T[], target: T, strict?: boolean): number;
7
+ last<T>(array: T[]): T | void;
8
+ pop<T>(array: T[]): T | void;
9
+ remove<T>(array: T[], target: T, strict?: boolean): number;
10
+ has<T>(array: T[], target: T, strict?: boolean): boolean;
11
+ toArray<T>(array: T[] | ArrayLike<T>): T[];
12
+ toObject(array: any[], key?: string | null, value?: any): object;
13
+ join(array: string[], separator: string): string;
14
+ falsy(array: any): boolean;
15
+ }
16
+ export interface IsApi {
17
+ func(value: any): boolean;
18
+ array(value: any): boolean;
19
+ object(value: any): boolean;
20
+ string(value: any): boolean;
21
+ number(value: any): boolean;
22
+ boolean(value: any): boolean;
23
+ numeric(value: any): boolean;
24
+ }
25
+ export interface LoggerApi {
26
+ DEBUG: number;
27
+ INFO: number;
28
+ WARN: number;
29
+ ERROR: number;
30
+ FATAL: number;
31
+ debug(msg: string, tag?: string): void;
32
+ info(msg: string, tag?: string): void;
33
+ warn(msg: string, tag?: string): void;
34
+ error(msg: string, tag?: string): void;
35
+ fatal(msg: string, tag?: string): void;
36
+ }
37
+ export interface ObjectApi {
38
+ keys(object: Data): string[];
39
+ sort(object: Data, desc?: boolean): string[];
40
+ each(object: Data, callback: (value: any, key: string) => boolean | void): void;
41
+ clear(object: Data): void;
42
+ extend(original: Data, object: Data): Data;
43
+ merge(object1: Data | void, object2: Data | void): Data | void;
44
+ copy(object: any, deep?: boolean): any;
45
+ get(object: any, keypath: string): ValueHolder | undefined;
46
+ set(object: Data, keypath: string, value: any, autofill?: boolean): void;
47
+ has(object: Data, key: string | number): boolean;
48
+ falsy(object: any): boolean;
49
+ }
50
+ export interface StringApi {
51
+ camelize(str: string): string;
52
+ hyphenate(str: string): string;
53
+ capitalize(str: string): string;
54
+ trim(str: any): string;
55
+ slice(str: string, start: number, end?: number): string;
56
+ indexOf(str: string, part: string, start?: number): number;
57
+ lastIndexOf(str: string, part: string, end?: number): number;
58
+ startsWith(str: string, part: string): boolean;
59
+ endsWith(str: string, part: string): boolean;
60
+ charAt(str: string, index?: number): string;
61
+ codeAt(str: string, index?: number): number;
62
+ upper(str: string): string;
63
+ lower(str: string): string;
64
+ has(str: string, part: string): boolean;
65
+ falsy(str: any): boolean;
66
+ }
@@ -0,0 +1,7 @@
1
+ import { Task } from './type';
2
+ export interface EmitterOptions extends Task {
3
+ ns?: string;
4
+ num?: number;
5
+ max?: number;
6
+ count?: number;
7
+ }
@@ -0,0 +1,90 @@
1
+ export declare type Data = Record<string, any>;
2
+ export declare type ThisTask<This> = (this: This) => void;
3
+ export declare type ThisListener<This> = (this: This, event: CustomEventInterface, data?: Data) => false | void;
4
+ export declare type Listener = (event: CustomEventInterface, data?: Data) => false | void;
5
+ export declare type NativeListener = (event: CustomEventInterface | Event) => false | void;
6
+ export declare type ValueHolder = {
7
+ keypath?: string;
8
+ value: any;
9
+ };
10
+ export declare type Task = {
11
+ fn: Function;
12
+ ctx?: any;
13
+ };
14
+ export interface CustomEventInterface {
15
+ type: string;
16
+ phase: number;
17
+ ns?: string;
18
+ target?: any;
19
+ originalEvent?: CustomEventInterface | Event;
20
+ isPrevented?: true;
21
+ isStoped?: true;
22
+ listener?: Function;
23
+ /**
24
+ * 阻止事件的默认行为
25
+ */
26
+ preventDefault(): this;
27
+ /**
28
+ * 停止事件广播
29
+ */
30
+ stopPropagation(): this;
31
+ prevent(): this;
32
+ stop(): this;
33
+ }
34
+ export interface OS {
35
+ /**
36
+ * os 平台
37
+ */
38
+ name: string;
39
+ /**
40
+ * os 版本号
41
+ */
42
+ version: string;
43
+ /**
44
+ * 是否是 ios 系统
45
+ */
46
+ ios?: boolean;
47
+ /**
48
+ * 系统判断
49
+ */
50
+ iphone?: boolean;
51
+ ipad?: boolean;
52
+ itouch?: boolean;
53
+ android?: boolean;
54
+ wp?: boolean;
55
+ windows?: boolean;
56
+ linux?: boolean;
57
+ mac?: boolean;
58
+ }
59
+ export interface Browser {
60
+ /**
61
+ * browser 平台
62
+ */
63
+ name: string;
64
+ /**
65
+ * browser 版本号
66
+ */
67
+ version: string;
68
+ /**
69
+ * 浏览器判断
70
+ */
71
+ alipay?: boolean;
72
+ wechat?: boolean;
73
+ baiduApp?: boolean;
74
+ baidu?: boolean;
75
+ uc?: boolean;
76
+ qq?: boolean;
77
+ qqApp?: boolean;
78
+ ie?: boolean;
79
+ edge?: boolean;
80
+ chrome?: boolean;
81
+ firefox?: boolean;
82
+ opera?: boolean;
83
+ safari?: boolean;
84
+ }
85
+ export interface Network {
86
+ /**
87
+ * 网络类型
88
+ */
89
+ name: string;
90
+ }
@@ -0,0 +1,30 @@
1
+ import { CustomEventInterface } from '../type/type';
2
+ export default class CustomEvent implements CustomEventInterface {
3
+ static PHASE_CURRENT: number;
4
+ static PHASE_UPWARD: number;
5
+ static PHASE_DOWNWARD: number;
6
+ type: string;
7
+ phase: number;
8
+ ns?: string;
9
+ target?: any;
10
+ originalEvent?: CustomEventInterface | Event;
11
+ isPrevented?: true;
12
+ isStoped?: true;
13
+ listener?: Function;
14
+ /**
15
+ * 构造函数
16
+ *
17
+ * 可以传事件名称,也可以传原生事件对象
18
+ */
19
+ constructor(type: string, originalEvent?: CustomEventInterface | Event);
20
+ /**
21
+ * 阻止事件的默认行为
22
+ */
23
+ preventDefault(): this;
24
+ /**
25
+ * 停止事件广播
26
+ */
27
+ stopPropagation(): this;
28
+ prevent(): this;
29
+ stop(): this;
30
+ }
@@ -0,0 +1,57 @@
1
+ import { NativeListener } from '../type/type';
2
+ import { EmitterOptions } from '../type/options';
3
+ declare type Namespace = {
4
+ type: string;
5
+ ns?: string;
6
+ };
7
+ export default class Emitter {
8
+ /**
9
+ * 是否开启命名空间
10
+ */
11
+ ns: boolean;
12
+ /**
13
+ * 已注册的事件监听
14
+ */
15
+ listeners: Record<string, EmitterOptions[]>;
16
+ /**
17
+ * 原生事件监听,一个事件对应一个 listener
18
+ */
19
+ nativeListeners?: Record<string, NativeListener>;
20
+ constructor(ns?: boolean);
21
+ /**
22
+ * 发射事件
23
+ *
24
+ * @param type 事件名称或命名空间
25
+ * @param args 事件处理函数的参数列表
26
+ * @param filter 自定义过滤器
27
+ */
28
+ fire(type: string | Namespace, args: any[] | void, filter?: (namespace: Namespace, args: any[] | void, options: EmitterOptions) => boolean | void): boolean;
29
+ /**
30
+ * 注册监听
31
+ *
32
+ * @param type
33
+ * @param listener
34
+ */
35
+ on(type: string | Namespace, listener: Function | EmitterOptions): void;
36
+ /**
37
+ * 取消监听
38
+ *
39
+ * @param type
40
+ * @param listener
41
+ */
42
+ off(type?: string | Namespace, listener?: Function): void;
43
+ /**
44
+ * 是否已监听某个事件
45
+ *
46
+ * @param type
47
+ * @param listener
48
+ */
49
+ has(type: string | Namespace, listener?: Function): boolean;
50
+ /**
51
+ * 把事件类型解析成命名空间格式
52
+ *
53
+ * @param type
54
+ */
55
+ parse(type: string): Namespace;
56
+ }
57
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Task } from '../type/type';
2
+ export default class NextTask {
3
+ /**
4
+ * 全局单例
5
+ */
6
+ static shared(): NextTask;
7
+ /**
8
+ * 异步队列
9
+ */
10
+ tasks: Task[];
11
+ constructor();
12
+ /**
13
+ * 在队尾添加异步任务
14
+ */
15
+ append(func: Function, context?: any): void;
16
+ /**
17
+ * 在队首添加异步任务
18
+ */
19
+ prepend(func: Function, context?: any): void;
20
+ /**
21
+ * 清空异步队列
22
+ */
23
+ clear(): void;
24
+ /**
25
+ * 立即执行异步任务,并清空队列
26
+ */
27
+ run(): void;
28
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @file 等待操作
3
+ * @author zhaogaoxing
4
+ */
5
+ export default class Sleep {
6
+ private timeout;
7
+ private timer;
8
+ private resolve;
9
+ private reject;
10
+ private startTime;
11
+ constructor(timeout: number);
12
+ then(res: (value?: number) => void, rej: (value?: number) => void): void;
13
+ stop(reslove?: boolean): void;
14
+ }
@@ -0,0 +1,13 @@
1
+ export default class Timer {
2
+ private task;
3
+ private timeout;
4
+ private interval;
5
+ private timer;
6
+ private count;
7
+ constructor(task: Function, timeout: number, interval: number);
8
+ start(): void;
9
+ stop(): void;
10
+ updateInterval(interval: number): void;
11
+ isStarted(): boolean;
12
+ destroy(): void;
13
+ }