@tencentcloud/roomkit-electron-vue3 2.4.1 → 2.5.0

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 (430) hide show
  1. package/es/components/Chat/ChatEditor/useChatEditor.mjs +1 -1
  2. package/es/components/Chat/MessageList/index.vue.mjs +1 -1
  3. package/es/components/Chat/MessageList/index.vue2.mjs +5 -1
  4. package/es/components/Chat/MessageList/useMessageListHook.mjs +4 -3
  5. package/es/components/ManageMember/MemberControl/index.vue.mjs +1 -1
  6. package/es/components/ManageMember/MemberControl/index.vue2.mjs +36 -19
  7. package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  8. package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +113 -17
  9. package/es/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  10. package/es/components/ManageMember/MemberItem/useMemberItemHooks.mjs +8 -6
  11. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue.mjs +1 -1
  12. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue2.mjs +7 -3
  13. package/es/components/ManageMember/index.vue.mjs +1 -1
  14. package/es/components/ManageMember/index.vue2.mjs +58 -7
  15. package/es/components/ManageMember/useIndexHooks.mjs +63 -14
  16. package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
  17. package/es/components/RoomContent/StreamContainer/index.vue2.mjs +10 -9
  18. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  19. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +73 -29
  20. package/es/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  21. package/es/components/RoomContent/StreamRegion/index.vue.mjs +1 -1
  22. package/es/components/RoomContent/StreamRegion/index.vue2.mjs +29 -5
  23. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.mjs +1 -1
  24. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +10 -4
  25. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +2 -2
  26. package/es/components/RoomFooter/AudioControl.vue2.mjs +2 -2
  27. package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
  28. package/es/components/RoomFooter/EndControl/index.vue2.mjs +1 -1
  29. package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +16 -4
  30. package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
  31. package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +11 -3
  32. package/es/components/RoomFooter/VideoControl.vue.mjs +1 -1
  33. package/es/components/RoomFooter/VideoControl.vue2.mjs +8 -14
  34. package/es/components/RoomHeader/RoomInfo/index.vue2.mjs +2 -2
  35. package/es/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  36. package/es/components/RoomHeader/UserInfo/index.vue.mjs +1 -1
  37. package/es/components/RoomHeader/UserInfo/index.vue2.mjs +9 -92
  38. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  39. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.mjs +1 -18
  40. package/es/components/RoomHeader/index/NetworkInfo.vue2.mjs +2 -2
  41. package/es/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  42. package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
  43. package/es/components/RoomHome/RoomControl/index.vue2.mjs +153 -120
  44. package/es/components/RoomInvite/index.vue2.mjs +2 -2
  45. package/es/components/RoomMore/index.vue2.mjs +2 -2
  46. package/es/components/RoomSidebar/useSideBarHooks.mjs +3 -2
  47. package/es/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  48. package/es/components/ScheduleConference/Contacts.vue.mjs +7 -0
  49. package/es/components/ScheduleConference/Contacts.vue2.mjs +212 -0
  50. package/es/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  51. package/es/components/ScheduleConference/DurationTimePicker.vue.mjs +67 -0
  52. package/es/components/ScheduleConference/DurationTimePicker.vue2.mjs +4 -0
  53. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  54. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.mjs +7 -0
  55. package/es/components/ScheduleConference/ScheduleConferencePanel.vue2.mjs +613 -0
  56. package/es/components/ScheduleConference/ScheduleConferencePanel.vue3.mjs +1 -0
  57. package/es/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  58. package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +7 -0
  59. package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +464 -0
  60. package/es/components/ScheduleConference/ScheduleRoomControl.vue3.mjs +1 -0
  61. package/es/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  62. package/es/components/ScheduleConference/ScheduleRoomList.vue.mjs +7 -0
  63. package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +219 -0
  64. package/es/components/ScheduleConference/ScheduleRoomList.vue3.mjs +1 -0
  65. package/es/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  66. package/es/components/ScheduleConference/ShareLink.vue.mjs +7 -0
  67. package/es/components/ScheduleConference/ShareLink.vue2.mjs +113 -0
  68. package/es/components/ScheduleConference/ShareLink.vue3.mjs +1 -0
  69. package/es/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  70. package/es/components/ScheduleConference/TimezonePicker.vue.mjs +84 -0
  71. package/es/components/ScheduleConference/TimezonePicker.vue2.mjs +4 -0
  72. package/es/components/common/Avatar.vue.mjs +2 -2
  73. package/es/components/common/DeviceSelect.vue.mjs +1 -1
  74. package/es/components/common/DeviceSelect.vue2.mjs +58 -19
  75. package/es/components/common/Logo.vue.mjs +1 -1
  76. package/es/components/common/Logo.vue2.mjs +3 -3
  77. package/es/components/common/VideoProfile.vue2.mjs +2 -2
  78. package/es/components/common/base/Badge.vue.d.ts +1 -1
  79. package/es/components/common/base/Button.vue.d.ts +2 -2
  80. package/es/components/common/base/Checkbox.vue.d.ts +4 -2
  81. package/es/components/common/base/Checkbox.vue.mjs +2 -2
  82. package/es/components/common/base/Checkbox.vue2.mjs +12 -5
  83. package/es/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  84. package/es/components/common/base/Datepicker/Datepicker.vue.mjs +7 -0
  85. package/es/components/common/base/Datepicker/Datepicker.vue2.mjs +167 -0
  86. package/es/components/common/base/Datepicker/Datepicker.vue3.mjs +1 -0
  87. package/es/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  88. package/es/components/common/base/Datepicker/Timepicker.vue.mjs +66 -0
  89. package/es/components/common/base/Datepicker/Timepicker.vue2.mjs +4 -0
  90. package/es/components/common/base/Dialog/index.vue.d.ts +8 -4
  91. package/es/components/common/base/Dialog/index.vue.mjs +1 -1
  92. package/es/components/common/base/Dialog/index.vue2.mjs +17 -9
  93. package/es/components/common/base/Drawer.vue.d.ts +1 -1
  94. package/es/components/common/base/IconButton.vue.d.ts +2 -2
  95. package/es/components/common/base/Input/index.vue.d.ts +77 -0
  96. package/es/components/common/base/Input/index.vue.mjs +7 -0
  97. package/es/components/common/base/Input/index.vue2.mjs +140 -0
  98. package/es/components/common/base/Input/index.vue3.mjs +1 -0
  99. package/es/components/common/base/Message/Instance.mjs +1 -1
  100. package/es/components/common/base/Message/Message.vue.d.ts +4 -4
  101. package/es/components/common/base/MessageBox/index.d.ts +3 -2
  102. package/es/components/common/base/MessageBox/index.mjs +2 -1
  103. package/es/components/common/base/MessageBox/index.vue.d.ts +6 -1
  104. package/es/components/common/base/MessageBox/index.vue.mjs +1 -1
  105. package/es/components/common/base/MessageBox/index.vue2.mjs +60 -10
  106. package/es/components/common/base/Notification/index.vue.d.ts +2 -2
  107. package/es/components/common/base/Option.vue.d.ts +11 -1
  108. package/es/components/common/base/Option.vue.mjs +1 -1
  109. package/es/components/common/base/Option.vue2.mjs +16 -6
  110. package/es/components/common/base/Select.vue.d.ts +5 -1
  111. package/es/components/common/base/Select.vue.mjs +1 -1
  112. package/es/components/common/base/Select.vue2.mjs +12 -11
  113. package/es/components/common/base/index.d.ts +1 -1
  114. package/es/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  115. package/es/components/common/icons/AllMembersShareScreenIcon.vue.mjs +22 -0
  116. package/es/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  117. package/es/components/common/icons/CalendarIcon.vue.mjs +24 -0
  118. package/es/components/common/icons/CopyIcon.vue.mjs +2 -2
  119. package/es/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  120. package/es/components/common/icons/EditNameCardIcon.vue.mjs +21 -0
  121. package/es/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  122. package/es/components/common/icons/EllipsisIcon.vue.mjs +34 -0
  123. package/es/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  124. package/es/components/common/icons/HostShareScreenIcon.vue.mjs +22 -0
  125. package/es/components/common/icons/LinkIcon.vue.d.ts +2 -0
  126. package/es/components/common/icons/LinkIcon.vue.mjs +36 -0
  127. package/es/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  128. package/es/components/common/icons/LoadingScheduleIcon.vue.mjs +24 -0
  129. package/es/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  130. package/es/components/common/icons/ScheduleAttendees.vue.mjs +25 -0
  131. package/es/components/common/icons/ScheduleAttendees.vue2.mjs +4 -0
  132. package/es/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  133. package/es/components/common/icons/ScheduleRoomIcon.vue.mjs +24 -0
  134. package/es/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  135. package/es/components/common/icons/SuccessIcon.vue.mjs +32 -0
  136. package/es/components/common/icons/WarningIcon.vue.d.ts +2 -0
  137. package/es/components/common/icons/WarningIcon.vue.mjs +29 -0
  138. package/es/conference.d.ts +2 -0
  139. package/es/conference.mjs +3 -0
  140. package/es/conference.vue.mjs +1 -1
  141. package/es/conference.vue2.mjs +9 -4
  142. package/es/directives/vDblTouch.d.ts +10 -0
  143. package/es/directives/vTap.d.ts +1 -0
  144. package/es/directives/vTap.mjs +30 -3
  145. package/es/extension/chatExtension.mjs +3 -3
  146. package/es/hooks/useDeviceManager.mjs +3 -3
  147. package/es/hooks/useMasterApplyControl.mjs +5 -5
  148. package/es/hooks/useRoomEngine.mjs +4 -4
  149. package/es/index.d.ts +1 -0
  150. package/es/index.mjs +2581 -1743
  151. package/es/locales/en-US.d.ts +75 -0
  152. package/es/locales/en-US.mjs +78 -1
  153. package/es/locales/zh-CN.d.ts +79 -0
  154. package/es/locales/zh-CN.mjs +83 -2
  155. package/es/preConference.vue.d.ts +10 -0
  156. package/es/preConference.vue.mjs +1 -1
  157. package/es/preConference.vue2.mjs +89 -13
  158. package/es/services/function/errorHandler.d.ts +10 -0
  159. package/es/services/function/errorHandler.mjs +158 -0
  160. package/es/services/function/virtualBackground.mjs +4 -3
  161. package/es/services/index.d.ts +1 -0
  162. package/es/services/manager/roomActionManager.d.ts +1 -0
  163. package/es/services/manager/roomActionManager.mjs +10 -18
  164. package/es/services/manager/scheduleConferenceManager.d.ts +113 -0
  165. package/es/services/manager/scheduleConferenceManager.mjs +141 -0
  166. package/es/services/manager/userManager.d.ts +2 -0
  167. package/es/services/manager/userManager.mjs +7 -3
  168. package/es/services/roomService.d.ts +8 -0
  169. package/es/services/roomService.mjs +42 -16
  170. package/es/services/types.d.ts +8 -0
  171. package/es/services/types.mjs +2 -0
  172. package/es/stores/basic.mjs +9 -3
  173. package/es/stores/room.d.ts +2 -0
  174. package/es/stores/room.mjs +55 -24
  175. package/es/utils/adapter.mjs +39 -3
  176. package/es/utils/utils.d.ts +3 -0
  177. package/es/utils/utils.mjs +64 -0
  178. package/lib/components/Chat/ChatEditor/useChatEditor.js +1 -1
  179. package/lib/components/Chat/MessageList/index.vue.js +1 -1
  180. package/lib/components/Chat/MessageList/index.vue2.js +5 -1
  181. package/lib/components/Chat/MessageList/useMessageListHook.js +2 -1
  182. package/lib/components/ManageMember/MemberControl/index.vue.js +1 -1
  183. package/lib/components/ManageMember/MemberControl/index.vue2.js +35 -18
  184. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  185. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +113 -17
  186. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  187. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.js +8 -6
  188. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue.js +1 -1
  189. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue2.js +5 -1
  190. package/lib/components/ManageMember/index.vue.js +1 -1
  191. package/lib/components/ManageMember/index.vue2.js +57 -6
  192. package/lib/components/ManageMember/useIndexHooks.js +63 -14
  193. package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
  194. package/lib/components/RoomContent/StreamContainer/index.vue2.js +10 -9
  195. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  196. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +72 -28
  197. package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  198. package/lib/components/RoomContent/StreamRegion/index.vue.js +1 -1
  199. package/lib/components/RoomContent/StreamRegion/index.vue2.js +27 -3
  200. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.js +1 -1
  201. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +8 -2
  202. package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
  203. package/lib/components/RoomFooter/EndControl/index.vue2.js +1 -1
  204. package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +14 -2
  205. package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
  206. package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +9 -1
  207. package/lib/components/RoomFooter/VideoControl.vue.js +1 -1
  208. package/lib/components/RoomFooter/VideoControl.vue2.js +6 -12
  209. package/lib/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  210. package/lib/components/RoomHeader/UserInfo/index.vue.js +1 -1
  211. package/lib/components/RoomHeader/UserInfo/index.vue2.js +6 -89
  212. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  213. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.js +1 -18
  214. package/lib/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  215. package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
  216. package/lib/components/RoomHome/RoomControl/index.vue2.js +150 -117
  217. package/lib/components/RoomSidebar/useSideBarHooks.js +3 -2
  218. package/lib/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  219. package/lib/components/ScheduleConference/Contacts.vue.js +7 -0
  220. package/lib/components/ScheduleConference/Contacts.vue2.js +212 -0
  221. package/lib/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  222. package/lib/components/ScheduleConference/DurationTimePicker.vue.js +67 -0
  223. package/lib/components/ScheduleConference/DurationTimePicker.vue2.js +4 -0
  224. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  225. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.js +7 -0
  226. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue2.js +613 -0
  227. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue3.js +1 -0
  228. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  229. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +7 -0
  230. package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +464 -0
  231. package/lib/components/ScheduleConference/ScheduleRoomControl.vue3.js +1 -0
  232. package/lib/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  233. package/lib/components/ScheduleConference/ScheduleRoomList.vue.js +7 -0
  234. package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +219 -0
  235. package/lib/components/ScheduleConference/ScheduleRoomList.vue3.js +1 -0
  236. package/lib/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  237. package/lib/components/ScheduleConference/ShareLink.vue.js +7 -0
  238. package/lib/components/ScheduleConference/ShareLink.vue2.js +113 -0
  239. package/lib/components/ScheduleConference/ShareLink.vue3.js +1 -0
  240. package/lib/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  241. package/lib/components/ScheduleConference/TimezonePicker.vue.js +84 -0
  242. package/lib/components/ScheduleConference/TimezonePicker.vue2.js +4 -0
  243. package/lib/components/common/Avatar.vue.js +2 -2
  244. package/lib/components/common/DeviceSelect.vue.js +1 -1
  245. package/lib/components/common/DeviceSelect.vue2.js +57 -18
  246. package/lib/components/common/Logo.vue.js +1 -1
  247. package/lib/components/common/Logo.vue2.js +2 -2
  248. package/lib/components/common/base/Badge.vue.d.ts +1 -1
  249. package/lib/components/common/base/Button.vue.d.ts +2 -2
  250. package/lib/components/common/base/Checkbox.vue.d.ts +4 -2
  251. package/lib/components/common/base/Checkbox.vue.js +2 -2
  252. package/lib/components/common/base/Checkbox.vue2.js +11 -4
  253. package/lib/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  254. package/lib/components/common/base/Datepicker/Datepicker.vue.js +7 -0
  255. package/lib/components/common/base/Datepicker/Datepicker.vue2.js +167 -0
  256. package/lib/components/common/base/Datepicker/Datepicker.vue3.js +1 -0
  257. package/lib/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  258. package/lib/components/common/base/Datepicker/Timepicker.vue.js +66 -0
  259. package/lib/components/common/base/Datepicker/Timepicker.vue2.js +4 -0
  260. package/lib/components/common/base/Dialog/index.vue.d.ts +8 -4
  261. package/lib/components/common/base/Dialog/index.vue.js +1 -1
  262. package/lib/components/common/base/Dialog/index.vue2.js +16 -8
  263. package/lib/components/common/base/Drawer.vue.d.ts +1 -1
  264. package/lib/components/common/base/IconButton.vue.d.ts +2 -2
  265. package/lib/components/common/base/Input/index.vue.d.ts +77 -0
  266. package/lib/components/common/base/Input/index.vue.js +7 -0
  267. package/lib/components/common/base/Input/index.vue2.js +140 -0
  268. package/lib/components/common/base/Input/index.vue3.js +1 -0
  269. package/lib/components/common/base/Message/Instance.js +1 -1
  270. package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
  271. package/lib/components/common/base/MessageBox/index.d.ts +3 -2
  272. package/lib/components/common/base/MessageBox/index.js +2 -1
  273. package/lib/components/common/base/MessageBox/index.vue.d.ts +6 -1
  274. package/lib/components/common/base/MessageBox/index.vue.js +1 -1
  275. package/lib/components/common/base/MessageBox/index.vue2.js +59 -9
  276. package/lib/components/common/base/Notification/index.vue.d.ts +2 -2
  277. package/lib/components/common/base/Option.vue.d.ts +11 -1
  278. package/lib/components/common/base/Option.vue.js +1 -1
  279. package/lib/components/common/base/Option.vue2.js +15 -5
  280. package/lib/components/common/base/Select.vue.d.ts +5 -1
  281. package/lib/components/common/base/Select.vue.js +1 -1
  282. package/lib/components/common/base/Select.vue2.js +11 -10
  283. package/lib/components/common/base/index.d.ts +1 -1
  284. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  285. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.js +22 -0
  286. package/lib/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  287. package/lib/components/common/icons/CalendarIcon.vue.js +24 -0
  288. package/lib/components/common/icons/CopyIcon.vue.js +2 -2
  289. package/lib/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  290. package/lib/components/common/icons/EditNameCardIcon.vue.js +21 -0
  291. package/lib/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  292. package/lib/components/common/icons/EllipsisIcon.vue.js +34 -0
  293. package/lib/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  294. package/lib/components/common/icons/HostShareScreenIcon.vue.js +22 -0
  295. package/lib/components/common/icons/LinkIcon.vue.d.ts +2 -0
  296. package/lib/components/common/icons/LinkIcon.vue.js +36 -0
  297. package/lib/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  298. package/lib/components/common/icons/LoadingScheduleIcon.vue.js +24 -0
  299. package/lib/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  300. package/lib/components/common/icons/ScheduleAttendees.vue.js +25 -0
  301. package/lib/components/common/icons/ScheduleAttendees.vue2.js +4 -0
  302. package/lib/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  303. package/lib/components/common/icons/ScheduleRoomIcon.vue.js +24 -0
  304. package/lib/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  305. package/lib/components/common/icons/SuccessIcon.vue.js +32 -0
  306. package/lib/components/common/icons/WarningIcon.vue.d.ts +2 -0
  307. package/lib/components/common/icons/WarningIcon.vue.js +29 -0
  308. package/lib/conference.d.ts +2 -0
  309. package/lib/conference.js +3 -0
  310. package/lib/conference.vue.js +1 -1
  311. package/lib/conference.vue2.js +9 -4
  312. package/lib/directives/vDblTouch.d.ts +10 -0
  313. package/lib/directives/vTap.d.ts +1 -0
  314. package/lib/directives/vTap.js +30 -3
  315. package/lib/extension/chatExtension.js +1 -1
  316. package/lib/hooks/useMasterApplyControl.js +3 -3
  317. package/lib/index.d.ts +1 -0
  318. package/lib/index.js +2588 -1744
  319. package/lib/locales/en-US.d.ts +75 -0
  320. package/lib/locales/en-US.js +78 -1
  321. package/lib/locales/zh-CN.d.ts +79 -0
  322. package/lib/locales/zh-CN.js +83 -2
  323. package/lib/preConference.vue.d.ts +10 -0
  324. package/lib/preConference.vue.js +1 -1
  325. package/lib/preConference.vue2.js +88 -12
  326. package/lib/services/function/errorHandler.d.ts +10 -0
  327. package/lib/services/function/errorHandler.js +158 -0
  328. package/lib/services/function/virtualBackground.js +3 -2
  329. package/lib/services/index.d.ts +1 -0
  330. package/lib/services/manager/roomActionManager.d.ts +1 -0
  331. package/lib/services/manager/roomActionManager.js +10 -18
  332. package/lib/services/manager/scheduleConferenceManager.d.ts +113 -0
  333. package/lib/services/manager/scheduleConferenceManager.js +147 -0
  334. package/lib/services/manager/userManager.d.ts +2 -0
  335. package/lib/services/manager/userManager.js +4 -0
  336. package/lib/services/roomService.d.ts +8 -0
  337. package/lib/services/roomService.js +38 -12
  338. package/lib/services/types.d.ts +8 -0
  339. package/lib/services/types.js +2 -0
  340. package/lib/stores/basic.js +8 -2
  341. package/lib/stores/room.d.ts +2 -0
  342. package/lib/stores/room.js +55 -24
  343. package/lib/utils/adapter.js +39 -3
  344. package/lib/utils/utils.d.ts +3 -0
  345. package/lib/utils/utils.js +64 -0
  346. package/package.json +2 -2
  347. package/src/TUIRoom/assets/style/black-theme.scss +3 -1
  348. package/src/TUIRoom/assets/style/white-theme.scss +3 -1
  349. package/src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts +1 -1
  350. package/src/TUIRoom/components/Chat/MessageList/index.vue +5 -1
  351. package/src/TUIRoom/components/Chat/MessageList/useMessageListHook.ts +2 -1
  352. package/src/TUIRoom/components/ManageMember/MemberControl/index.vue +23 -7
  353. package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +110 -14
  354. package/src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts +9 -4
  355. package/src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue +2 -1
  356. package/src/TUIRoom/components/ManageMember/index.vue +85 -5
  357. package/src/TUIRoom/components/ManageMember/useIndexHooks.ts +58 -9
  358. package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +7 -6
  359. package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +90 -26
  360. package/src/TUIRoom/components/RoomContent/StreamRegion/index.vue +27 -3
  361. package/src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue +2 -1
  362. package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +1 -1
  363. package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +10 -3
  364. package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +11 -1
  365. package/src/TUIRoom/components/RoomFooter/VideoControl.vue +0 -7
  366. package/src/TUIRoom/components/RoomHeader/UserInfo/index.vue +19 -50
  367. package/src/TUIRoom/components/RoomHeader/UserInfo/useUserInfoHooks.ts +1 -28
  368. package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +91 -73
  369. package/src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts +3 -2
  370. package/src/TUIRoom/components/ScheduleConference/Contacts.vue +265 -0
  371. package/src/TUIRoom/components/ScheduleConference/DurationTimePicker.vue +54 -0
  372. package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel.vue +731 -0
  373. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +577 -0
  374. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomList.vue +295 -0
  375. package/src/TUIRoom/components/ScheduleConference/ShareLink.vue +122 -0
  376. package/src/TUIRoom/components/ScheduleConference/TimezonePicker.vue +70 -0
  377. package/src/TUIRoom/components/common/DeviceSelect.vue +62 -20
  378. package/src/TUIRoom/components/common/Logo.vue +3 -3
  379. package/src/TUIRoom/components/common/base/Checkbox.vue +19 -11
  380. package/src/TUIRoom/components/common/base/Datepicker/Datepicker.vue +252 -0
  381. package/src/TUIRoom/components/common/base/Datepicker/Timepicker.vue +54 -0
  382. package/src/TUIRoom/components/common/base/Dialog/index.vue +17 -7
  383. package/src/TUIRoom/components/common/base/Input/index.vue +187 -0
  384. package/src/TUIRoom/components/common/base/Message/Instance.ts +2 -1
  385. package/src/TUIRoom/components/common/base/MessageBox/index.ts +4 -2
  386. package/src/TUIRoom/components/common/base/MessageBox/index.vue +57 -26
  387. package/src/TUIRoom/components/common/base/Option.vue +14 -4
  388. package/src/TUIRoom/components/common/base/Select.vue +18 -13
  389. package/src/TUIRoom/components/common/base/index.ts +1 -1
  390. package/src/TUIRoom/components/common/icons/AllMembersShareScreenIcon.vue +15 -0
  391. package/src/TUIRoom/components/common/icons/ArrowStrokeRightIcon.vue +8 -0
  392. package/src/TUIRoom/components/common/icons/CalendarIcon.vue +6 -0
  393. package/src/TUIRoom/components/common/icons/EditNameCardIcon.vue +13 -0
  394. package/src/TUIRoom/components/common/icons/EllipsisIcon.vue +8 -0
  395. package/src/TUIRoom/components/common/icons/HostShareScreenIcon.vue +13 -0
  396. package/src/TUIRoom/components/common/icons/LinkIcon.vue +10 -0
  397. package/src/TUIRoom/components/common/icons/LoadingScheduleIcon.vue +6 -0
  398. package/src/TUIRoom/components/common/icons/ScheduleAttendees.vue +13 -0
  399. package/src/TUIRoom/components/common/icons/ScheduleRoomIcon.vue +6 -0
  400. package/src/TUIRoom/components/common/icons/SuccessIcon.vue +8 -0
  401. package/src/TUIRoom/components/common/icons/WarningIcon.vue +13 -0
  402. package/src/TUIRoom/conference.ts +6 -0
  403. package/src/TUIRoom/conference.vue +16 -5
  404. package/src/TUIRoom/directives/vDblTouch.ts +41 -0
  405. package/src/TUIRoom/directives/vTap.ts +32 -3
  406. package/src/TUIRoom/extension/chatExtension.ts +1 -1
  407. package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -2
  408. package/src/TUIRoom/index.ts +1 -0
  409. package/src/TUIRoom/locales/en-US.ts +77 -0
  410. package/src/TUIRoom/locales/zh-CN.ts +82 -1
  411. package/src/TUIRoom/preConference.vue +97 -2
  412. package/src/TUIRoom/services/function/errorHandler.ts +169 -0
  413. package/src/TUIRoom/services/function/virtualBackground.ts +3 -3
  414. package/src/TUIRoom/services/index.ts +1 -0
  415. package/src/TUIRoom/services/manager/roomActionManager.ts +10 -18
  416. package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +263 -0
  417. package/src/TUIRoom/services/manager/userManager.ts +6 -0
  418. package/src/TUIRoom/services/roomService.ts +41 -13
  419. package/src/TUIRoom/services/types.ts +8 -1
  420. package/src/TUIRoom/stores/basic.ts +9 -2
  421. package/src/TUIRoom/stores/room.ts +60 -19
  422. package/src/TUIRoom/utils/adapter.ts +44 -4
  423. package/src/TUIRoom/utils/utils.ts +42 -0
  424. package/es/components/common/base/Input.vue.mjs +0 -7
  425. package/es/components/common/base/Input.vue2.mjs +0 -34
  426. package/lib/components/common/base/Input.vue.js +0 -7
  427. package/lib/components/common/base/Input.vue2.js +0 -34
  428. package/src/TUIRoom/components/common/base/Input.vue +0 -61
  429. /package/es/components/{common/base/Input.vue3.mjs → ScheduleConference/Contacts.vue3.mjs} +0 -0
  430. /package/lib/components/{common/base/Input.vue3.js → ScheduleConference/Contacts.vue3.js} +0 -0
@@ -0,0 +1,263 @@
1
+ import {
2
+ TUIConferenceCancelReason,
3
+ TUIConferenceInfo,
4
+ TUIConferenceListManagerEvents,
5
+ TUIRoomType,
6
+ TUISeatMode,
7
+ TUIUserInfo,
8
+ TUIConferenceStatus,
9
+ TUIConferenceModifyInfo,
10
+ } from '@tencentcloud/tuiroom-engine-electron';
11
+ import { EventType, IRoomService } from '../types';
12
+ import mitt from 'mitt';
13
+ export * from '@tencentcloud/tuiroom-engine-electron';
14
+ interface IScheduleConferenceManager {
15
+ on(eventType: TUIConferenceListManagerEvents, callback: (data?: any) => any): void;
16
+ off(eventType: TUIConferenceListManagerEvents, callback: (data?: any) => void): void;
17
+ dispose(): void;
18
+ scheduleConference(conferenceInfo: IScheduleConferenceOptions): Promise<void>;
19
+ cancelConference(options: { roomId: string }): Promise<void>;
20
+ updateConferenceInfo(options: {
21
+ roomId: string;
22
+ roomName?: string;
23
+ scheduleStartTime?: number;
24
+ scheduleEndTime?: number;
25
+ }): Promise<void>;
26
+ fetchScheduledConferenceList(options: {
27
+ statusArray?: TUIConferenceStatus[];
28
+ cursor: string;
29
+ count: number;
30
+ }): Promise<Array<TUIConferenceInfo>>;
31
+ fetchAttendeeList(options: {
32
+ roomId: string;
33
+ cursor: string;
34
+ count: number;
35
+ }): Promise<Array<TUIUserInfo>>;
36
+ addAttendeesByAdmin(options: {
37
+ roomId: string;
38
+ userIdList: string[];
39
+ }): Promise<void>;
40
+ removeAttendeesByAdmin(options: {
41
+ roomId: string;
42
+ userIdList: string[];
43
+ }): Promise<void>;
44
+
45
+ fetchFriendList(): Promise<void>;
46
+ replaceFriendList(userList: Array<{
47
+ userID: string,
48
+ avatar: string,
49
+ nick: string,
50
+ }>): void;
51
+ }
52
+
53
+ export interface IScheduleConferenceOptions {
54
+ scheduleStartTime: number;
55
+ scheduleEndTime: number;
56
+ scheduleAttendees?: string[];
57
+ reminderSecondsBeforeStart?: number;
58
+ roomId: string;
59
+ roomName?: string;
60
+ roomType?: TUIRoomType;
61
+ isSeatEnabled?: boolean;
62
+ seatMode?: TUISeatMode;
63
+ isMicrophoneDisableForAllUser?: boolean;
64
+ isScreenShareDisableForAllUser?: boolean;
65
+ isCameraDisableForAllUser?: boolean;
66
+ isMessageDisableForAllUser?: boolean;
67
+ maxSeatCount?: number;
68
+ password?: string;
69
+ }
70
+
71
+ export class ScheduleConferenceManager implements IScheduleConferenceManager {
72
+ private service: IRoomService;
73
+ private customFriendList?: Array<any>;
74
+ private emitter = mitt();
75
+
76
+ constructor(service: IRoomService) {
77
+ this.service = service;
78
+ this.bindEventContext();
79
+ this.service.on(EventType.SERVICE_READY, () => {
80
+ this.bindEvent();
81
+ });
82
+ }
83
+
84
+ public dispose() {
85
+ this.unbindEvent();
86
+ }
87
+
88
+ public on(
89
+ eventType: TUIConferenceListManagerEvents,
90
+ callback: (data?: any) => any,
91
+ ) {
92
+ this.emitter.on(eventType, callback);
93
+ }
94
+
95
+ public off(
96
+ eventType: TUIConferenceListManagerEvents,
97
+ callback: (data?: any) => void,
98
+ ) {
99
+ this.emitter.off(eventType, callback);
100
+ }
101
+
102
+ private emit(eventType: TUIConferenceListManagerEvents, data?: any) {
103
+ this.emitter.emit(eventType, data);
104
+ }
105
+
106
+ private bindEventContext() {
107
+ this.onConferenceScheduled = this.onConferenceScheduled.bind(this);
108
+ this.onConferenceWillStart = this.onConferenceWillStart.bind(this);
109
+ this.onConferenceCancelled = this.onConferenceCancelled.bind(this);
110
+ this.onConferenceInfoChanged = this.onConferenceInfoChanged.bind(this);
111
+ this.onScheduleAttendeesChanged = this.onScheduleAttendeesChanged.bind(this);
112
+ this.onConferenceStatusChanged = this.onConferenceStatusChanged.bind(this);
113
+ }
114
+
115
+ private bindEvent() {
116
+ const conferenceListManager = this.service.roomEngine?.instance.getConferenceListManager();
117
+ conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceScheduled, this.onConferenceScheduled);
118
+ conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceWillStart, this.onConferenceWillStart);
119
+ conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceCancelled, this.onConferenceCancelled);
120
+ conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceInfoChanged, this.onConferenceInfoChanged);
121
+ conferenceListManager.on(
122
+ TUIConferenceListManagerEvents.onScheduleAttendeesChanged,
123
+ this.onScheduleAttendeesChanged,
124
+ );
125
+ conferenceListManager.on(
126
+ TUIConferenceListManagerEvents.onConferenceStatusChanged,
127
+ this.onConferenceStatusChanged,
128
+ );
129
+ }
130
+
131
+ private unbindEvent() {
132
+ const conferenceListManager = this.service.roomEngine?.instance.getConferenceListManager();
133
+ conferenceListManager.off(TUIConferenceListManagerEvents.onConferenceScheduled, this.onConferenceScheduled);
134
+ conferenceListManager.off(TUIConferenceListManagerEvents.onConferenceWillStart, this.onConferenceWillStart);
135
+ conferenceListManager.off(TUIConferenceListManagerEvents.onConferenceCancelled, this.onConferenceCancelled);
136
+ conferenceListManager.off(TUIConferenceListManagerEvents.onConferenceInfoChanged, this.onConferenceInfoChanged);
137
+ conferenceListManager.off(
138
+ TUIConferenceListManagerEvents.onScheduleAttendeesChanged,
139
+ this.onScheduleAttendeesChanged,
140
+ );
141
+ conferenceListManager.off(
142
+ TUIConferenceListManagerEvents.onConferenceStatusChanged,
143
+ this.onConferenceStatusChanged,
144
+ );
145
+ }
146
+
147
+ private onConferenceScheduled(data: { conferenceInfo: TUIConferenceInfo }) {
148
+ this.emit(TUIConferenceListManagerEvents.onConferenceScheduled, data);
149
+ }
150
+
151
+ private onConferenceWillStart(data: { conferenceInfo: TUIConferenceInfo }) {
152
+ this.emit(TUIConferenceListManagerEvents.onConferenceWillStart, data);
153
+ }
154
+
155
+ private onConferenceCancelled(data: {
156
+ roomId: string;
157
+ reason: TUIConferenceCancelReason;
158
+ operateUser: TUIUserInfo;
159
+ }) {
160
+ this.emit(TUIConferenceListManagerEvents.onConferenceCancelled, data);
161
+ }
162
+
163
+ private onConferenceInfoChanged(data: { conferenceModifyInfo: TUIConferenceModifyInfo }) {
164
+ this.emit(TUIConferenceListManagerEvents.onConferenceInfoChanged, data);
165
+ const { roomId, roomName } = data.conferenceModifyInfo.basicRoomInfo;
166
+ const isCurrentRoom = this.service.basicStore.roomId === roomId;
167
+ if (!isCurrentRoom) return;
168
+ (roomName !== undefined && roomName !== null) && this.service.roomStore.setRoomInfo({
169
+ roomName,
170
+ });
171
+ }
172
+
173
+ private onScheduleAttendeesChanged(data: {
174
+ roomId: string;
175
+ leftUsers: TUIUserInfo;
176
+ joinedUsers: TUIUserInfo;
177
+ }) {
178
+ this.emit(TUIConferenceListManagerEvents.onScheduleAttendeesChanged, data);
179
+ }
180
+
181
+ private onConferenceStatusChanged(data: {
182
+ roomId: string;
183
+ status: TUIConferenceStatus;
184
+ }) {
185
+ this.emit(TUIConferenceListManagerEvents.onConferenceStatusChanged, data);
186
+ }
187
+
188
+ async fetchFriendList() {
189
+ if (this.customFriendList) return this.customFriendList;
190
+ const tim = this.service.roomEngine.instance?.getTIM();
191
+ const { data } = await tim.getFriendList();
192
+ return data;
193
+ }
194
+
195
+ replaceFriendList(userList: Array<{
196
+ userID: string,
197
+ avatar: string,
198
+ nick: string,
199
+ }>) {
200
+ this.customFriendList = userList;
201
+ }
202
+
203
+ async scheduleConference(options: IScheduleConferenceOptions) {
204
+ return await this.service.roomEngine.instance
205
+ ?.getConferenceListManager()
206
+ .scheduleConference(options);
207
+ }
208
+
209
+ async cancelConference(options: { roomId: string }) {
210
+ return await this.service.roomEngine.instance
211
+ ?.getConferenceListManager()
212
+ .cancelConference(options);
213
+ }
214
+
215
+ async updateConferenceInfo(options: {
216
+ roomId: string;
217
+ roomName?: string;
218
+ scheduleStartTime?: number;
219
+ scheduleEndTime?: number;
220
+ }) {
221
+ return await this.service.roomEngine.instance
222
+ ?.getConferenceListManager()
223
+ .updateConferenceInfo(options);
224
+ }
225
+
226
+ async fetchScheduledConferenceList(options: {
227
+ statusArray?: TUIConferenceStatus[];
228
+ cursor: string;
229
+ count: number;
230
+ }) {
231
+ return await this.service.roomEngine.instance
232
+ ?.getConferenceListManager()
233
+ .fetchScheduledConferenceList(options);
234
+ }
235
+
236
+ async fetchAttendeeList(options: {
237
+ roomId: string;
238
+ cursor: string;
239
+ count: number;
240
+ }) {
241
+ return await this.service.roomEngine.instance
242
+ ?.getConferenceListManager()
243
+ .fetchAttendeeList(options);
244
+ }
245
+
246
+ async addAttendeesByAdmin(options: {
247
+ roomId: string;
248
+ userIdList: string[];
249
+ }) {
250
+ return await this.service.roomEngine.instance
251
+ ?.getConferenceListManager()
252
+ .addAttendeesByAdmin(options);
253
+ }
254
+
255
+ async removeAttendeesByAdmin(options: {
256
+ roomId: string;
257
+ userIdList: string[];
258
+ }) {
259
+ return await this.service.roomEngine.instance
260
+ ?.getConferenceListManager()
261
+ .removeAttendeesByAdmin(options);
262
+ }
263
+ }
@@ -1,5 +1,6 @@
1
1
  import TUIRoomEngine from '@tencentcloud/tuiroom-engine-electron';
2
2
  import { IRoomService } from '../types';
3
+ import { UserInfo } from '../../stores/room';
3
4
 
4
5
  interface IUserManager {
5
6
  setSelfInfo(options: SelfInfoOptions): Promise<void>;
@@ -37,4 +38,9 @@ export class UserManager implements IUserManager {
37
38
  const roomEngine = this.service.roomEngine.instance;
38
39
  return roomEngine?.setCustomInfoForUser(options);
39
40
  }
41
+
42
+ public getDisplayName(options: UserInfo) {
43
+ const { nameCard, userName, userId} = options
44
+ return nameCard || userName || userId
45
+ }
40
46
  }
@@ -10,7 +10,7 @@ import TUIRoomEngine, {
10
10
  TUIRoomEvents,
11
11
  } from '@tencentcloud/tuiroom-engine-electron';
12
12
  import { useBasicStore } from '../stores/basic';
13
- import { useRoomStore } from '../stores/room';
13
+ import { UserInfo, useRoomStore } from '../stores/room';
14
14
  import { useChatStore } from '../stores/chat';
15
15
  import useDeviceManager from '../hooks/useDeviceManager';
16
16
  import logger from '../utils/common/logger';
@@ -24,6 +24,9 @@ import { LifeCycleManager } from './manager/lifeCycleManager';
24
24
  import { JoinParams, RoomActionManager, StartParams } from './manager/roomActionManager';
25
25
  import { WaterMark } from './function/waterMark';
26
26
  import { VirtualBackground } from './function/virtualBackground';
27
+ import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
28
+ import { ErrorHandler } from './function/errorHandler';
29
+
27
30
  const { t } = i18n.global;
28
31
 
29
32
  const logPrefix = '[RoomService]';
@@ -35,9 +38,11 @@ export class RoomService implements IRoomService {
35
38
  public configManager = new ConfigManager(this);
36
39
  public userManager = new UserManager(this);
37
40
  public lifeCycleManager: LifeCycleManager = new LifeCycleManager(this);
38
- public roomActionManager = new RoomActionManager(this);
41
+ public roomActionManager: RoomActionManager = new RoomActionManager(this);
39
42
  public waterMark = new WaterMark(this);
40
43
  public virtualBackground = new VirtualBackground(this);
44
+ public scheduleConferenceManager: ScheduleConferenceManager = new ScheduleConferenceManager(this);
45
+ public errorHandler: ErrorHandler = new ErrorHandler(this);
41
46
 
42
47
  public roomEngine = roomEngine;
43
48
  public t = t;
@@ -60,6 +65,7 @@ export class RoomService implements IRoomService {
60
65
  TUIRoomEngine.once('ready', () => {
61
66
  this.bindRoomEngineEvents();
62
67
  this.handleRoomEngineReady();
68
+ this.emit(EventType.SERVICE_READY);
63
69
  });
64
70
  }
65
71
 
@@ -74,6 +80,8 @@ export class RoomService implements IRoomService {
74
80
  this.onKickedOffLine = this.onKickedOffLine.bind(this);
75
81
  this.onAllUserCameraDisableChanged = this.onAllUserCameraDisableChanged.bind(this);
76
82
  this.onAllUserMicrophoneDisableChanged = this.onAllUserMicrophoneDisableChanged.bind(this);
83
+ this.onScreenShareForAllUserDisableChanged = this.onScreenShareForAllUserDisableChanged.bind(this);
84
+ this.onUserInfoChanged = this.onUserInfoChanged.bind(this);
77
85
  }
78
86
 
79
87
  static getInstance(): RoomService {
@@ -89,6 +97,7 @@ export class RoomService implements IRoomService {
89
97
  RoomService.instance.unBindRoomEngineEvents();
90
98
  RoomService.instance.waterMark.dispose();
91
99
  RoomService.instance.virtualBackground.dispose();
100
+ RoomService.instance.scheduleConference.dispose();
92
101
  RoomService.instance = undefined;
93
102
  }
94
103
 
@@ -118,6 +127,11 @@ export class RoomService implements IRoomService {
118
127
  roomEngine.instance?.on(TUIRoomEvents.onKickedOffLine, this.onKickedOffLine);
119
128
  roomEngine.instance?.on(TUIRoomEvents.onAllUserCameraDisableChanged, this.onAllUserCameraDisableChanged);
120
129
  roomEngine.instance?.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, this.onAllUserMicrophoneDisableChanged);
130
+ roomEngine.instance?.on(
131
+ TUIRoomEvents.onScreenShareForAllUserDisableChanged,
132
+ this.onScreenShareForAllUserDisableChanged,
133
+ );
134
+ roomEngine.instance?.on(TUIRoomEvents.onUserInfoChanged, this.onUserInfoChanged);
121
135
  }
122
136
 
123
137
  public unBindRoomEngineEvents() {
@@ -131,20 +145,16 @@ export class RoomService implements IRoomService {
131
145
  roomEngine.instance?.off(TUIRoomEvents.onKickedOffLine, this.onKickedOffLine);
132
146
  roomEngine.instance?.off(TUIRoomEvents.onAllUserCameraDisableChanged, this.onAllUserCameraDisableChanged);
133
147
  roomEngine.instance?.off(TUIRoomEvents.onAllUserMicrophoneDisableChanged, this.onAllUserMicrophoneDisableChanged);
148
+ roomEngine.instance?.off(
149
+ TUIRoomEvents.onScreenShareForAllUserDisableChanged,
150
+ this.onScreenShareForAllUserDisableChanged,
151
+ );
152
+ roomEngine.instance?.off(TUIRoomEvents.onUserInfoChanged, this.onUserInfoChanged);
134
153
  }
135
154
 
136
155
  private onError(error: any) {
137
156
  logger.error('roomEngine.onError: ', error);
138
- if (error.message === 'enter trtc room failed , error code : -1') {
139
- this.emit(EventType.ROOM_NOTICE_MESSAGE_BOX, {
140
- type: 'warning',
141
- message: t('Failed to enter the meeting'),
142
- callback: () => {
143
- this.emit(EventType.ROOM_ERROR);
144
- this.resetStore();
145
- },
146
- });
147
- }
157
+ this.errorHandler.handleError(error, 'onError');
148
158
  }
149
159
 
150
160
  private onRoomDismissed(eventInfo: { roomId: string }) {
@@ -266,6 +276,16 @@ export class RoomService implements IRoomService {
266
276
  }
267
277
  }
268
278
 
279
+ private async onUserInfoChanged(eventInfo: { userInfo: UserInfo }) {
280
+ const { userId, nameCard } = eventInfo.userInfo;
281
+ const isLocal = this.roomStore.localUser.userId === userId;
282
+ if (isLocal) {
283
+ this.roomStore.setLocalUser({ nameCard });
284
+ } else {
285
+ this.roomStore.setRemoteUserNameCard(userId, nameCard as string);
286
+ }
287
+ };
288
+
269
289
  private async onAllUserMicrophoneDisableChanged(eventInfo: { roomId: string; isDisable: boolean }) {
270
290
  const { isDisable } = eventInfo;
271
291
  if (
@@ -294,7 +314,10 @@ export class RoomService implements IRoomService {
294
314
  await roomEngine.instance?.muteLocalAudio();
295
315
  }
296
316
  }
297
-
317
+ private async onScreenShareForAllUserDisableChanged(eventInfo: { roomId: string; isDisable: boolean }) {
318
+ const { isDisable } = eventInfo;
319
+ this.roomStore.setDisableScreenShareForAllUserByAdmin(isDisable);
320
+ }
298
321
  public resetStore() {
299
322
  this.basicStore.reset();
300
323
  this.chatStore.reset();
@@ -311,6 +334,7 @@ export class RoomService implements IRoomService {
311
334
  const { sdkAppId, userId, userSig, userName = userId, avatarUrl = '' } = option;
312
335
  await TUIRoomEngine.login({ sdkAppId, userId, userSig });
313
336
  await TUIRoomEngine.setSelfInfo({ userName, avatarUrl });
337
+ this.emit(EventType.ROOM_LOGIN);
314
338
  }
315
339
 
316
340
  public async start(roomId: string, params?: StartParams) {
@@ -394,6 +418,10 @@ export class RoomService implements IRoomService {
394
418
  setSelfInfo(options: SelfInfoOptions) {
395
419
  return this.userManager.setSelfInfo(options);
396
420
  }
421
+
422
+ getDisplayName(options: UserInfo) {
423
+ return this.userManager.getDisplayName(options);
424
+ }
397
425
  }
398
426
 
399
427
 
@@ -3,7 +3,9 @@ import { useBasicStore } from '../stores/basic';
3
3
  import { useRoomStore } from '../stores/room';
4
4
  import { useChatStore } from '../stores/chat';
5
5
  import { LifeCycleManager } from './manager/lifeCycleManager';
6
-
6
+ import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
7
+ import { RoomActionManager } from './manager/roomActionManager';
8
+ import { ErrorHandler } from './function/errorHandler';
7
9
  export interface IRoomService {
8
10
  t: any;
9
11
  roomEngine: Record<string, any>;
@@ -11,6 +13,9 @@ export interface IRoomService {
11
13
  roomStore: ReturnType<typeof useRoomStore>;
12
14
  chatStore: ReturnType<typeof useChatStore>;
13
15
  lifeCycleManager: LifeCycleManager;
16
+ roomActionManager?: RoomActionManager;
17
+ scheduleConferenceManager: ScheduleConferenceManager;
18
+ errorHandler: ErrorHandler;
14
19
  on: (eventType: EventType, callback: (data?: any) => any) => void;
15
20
  off: (eventType: EventType, callback: (data?: any) => void) => void;
16
21
  emit: (eventType: EventType, data?: any) => void;
@@ -40,6 +45,8 @@ export interface RoomParam {
40
45
  }
41
46
 
42
47
  export enum EventType {
48
+ SERVICE_READY = 'ServiceReady',
49
+ ROOM_LOGIN = 'RoomLogin',
43
50
  ROOM_CONTAINER_RESIZE = 'RoomContainerResize',
44
51
  ROOM_NOTICE_MESSAGE = 'RoomNoticeMessage',
45
52
  ROOM_NOTICE_MESSAGE_BOX = 'RoomNoticeMessageBox',
@@ -8,6 +8,13 @@ import { TUINetwork } from '@tencentcloud/tuiroom-engine-electron';
8
8
  type SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | 'apply' | '';
9
9
  type SceneType = 'chat' | 'default';
10
10
 
11
+ function getDefaultLayout() {
12
+ if (isMobile) {
13
+ return isWeChat ? LAYOUT.SIX_EQUAL_POINTS : LAYOUT.LARGE_SMALL_WINDOW;
14
+ }
15
+ return LAYOUT.NINE_EQUAL_POINTS;
16
+ }
17
+
11
18
  interface BasicState {
12
19
  sdkAppId: number,
13
20
  userId: string,
@@ -69,7 +76,7 @@ export const useBasicStore = defineStore('basic', {
69
76
  roomId: '',
70
77
  roomMode: 'FreeSpeech',
71
78
  isSidebarOpen: false,
72
- layout: isWeChat ? LAYOUT.SIX_EQUAL_POINTS : LAYOUT.NINE_EQUAL_POINTS,
79
+ layout: getDefaultLayout(),
73
80
  showSettingDialog: false,
74
81
  showApplyUserList: false,
75
82
  activeSettingTab: 'audio',
@@ -212,7 +219,7 @@ export const useBasicStore = defineStore('basic', {
212
219
  },
213
220
  reset() {
214
221
  this.isSidebarOpen = false;
215
- this.layout = isWeChat ? LAYOUT.SIX_EQUAL_POINTS : LAYOUT.NINE_EQUAL_POINTS;
222
+ this.layout = getDefaultLayout();
216
223
  this.showSettingDialog = false;
217
224
  this.activeSettingTab = 'audio';
218
225
  this.isLocalStreamMirror = true;