@tencentcloud/roomkit-electron-vue3 2.4.2 → 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 +2383 -1545
  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 +2390 -1546
  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
@@ -25,6 +25,8 @@ const lifeCycleManager = require("./manager/lifeCycleManager.js");
25
25
  const roomActionManager = require("./manager/roomActionManager.js");
26
26
  const waterMark = require("./function/waterMark.js");
27
27
  const virtualBackground = require("./function/virtualBackground.js");
28
+ const scheduleConferenceManager = require("./manager/scheduleConferenceManager.js");
29
+ const errorHandler = require("./function/errorHandler.js");
28
30
  const { t } = index.default.global;
29
31
  const logPrefix = "[RoomService]";
30
32
  const roomEngine = useRoomEngine.default();
@@ -38,6 +40,8 @@ const _RoomService = class _RoomService {
38
40
  __publicField(this, "roomActionManager", new roomActionManager.RoomActionManager(this));
39
41
  __publicField(this, "waterMark", new waterMark.WaterMark(this));
40
42
  __publicField(this, "virtualBackground", new virtualBackground.VirtualBackground(this));
43
+ __publicField(this, "scheduleConferenceManager", new scheduleConferenceManager.ScheduleConferenceManager(this));
44
+ __publicField(this, "errorHandler", new errorHandler.ErrorHandler(this));
41
45
  __publicField(this, "roomEngine", roomEngine);
42
46
  __publicField(this, "t", t);
43
47
  this.lifeCycleManager.start();
@@ -45,6 +49,7 @@ const _RoomService = class _RoomService {
45
49
  TUIRoomEngine.once("ready", () => {
46
50
  this.bindRoomEngineEvents();
47
51
  this.handleRoomEngineReady();
52
+ this.emit(types.EventType.SERVICE_READY);
48
53
  });
49
54
  }
50
55
  get basicStore() {
@@ -67,6 +72,8 @@ const _RoomService = class _RoomService {
67
72
  this.onKickedOffLine = this.onKickedOffLine.bind(this);
68
73
  this.onAllUserCameraDisableChanged = this.onAllUserCameraDisableChanged.bind(this);
69
74
  this.onAllUserMicrophoneDisableChanged = this.onAllUserMicrophoneDisableChanged.bind(this);
75
+ this.onScreenShareForAllUserDisableChanged = this.onScreenShareForAllUserDisableChanged.bind(this);
76
+ this.onUserInfoChanged = this.onUserInfoChanged.bind(this);
70
77
  }
71
78
  static getInstance() {
72
79
  if (!_RoomService.instance) {
@@ -81,6 +88,7 @@ const _RoomService = class _RoomService {
81
88
  _RoomService.instance.unBindRoomEngineEvents();
82
89
  _RoomService.instance.waterMark.dispose();
83
90
  _RoomService.instance.virtualBackground.dispose();
91
+ _RoomService.instance.scheduleConference.dispose();
84
92
  _RoomService.instance = void 0;
85
93
  }
86
94
  useExtension(extension) {
@@ -93,7 +101,7 @@ const _RoomService = class _RoomService {
93
101
  useDeviceManager.default({ listenForDeviceChange: true });
94
102
  }
95
103
  bindRoomEngineEvents() {
96
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
104
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
97
105
  (_a = roomEngine.instance) == null ? void 0 : _a.on(TUIRoomEngine.TUIRoomEvents.onError, this.onError);
98
106
  (_b = roomEngine.instance) == null ? void 0 : _b.on(TUIRoomEngine.TUIRoomEvents.onRoomDismissed, this.onRoomDismissed);
99
107
  (_c = roomEngine.instance) == null ? void 0 : _c.on(TUIRoomEngine.TUIRoomEvents.onUserVoiceVolumeChanged, this.onUserVoiceVolumeChanged);
@@ -107,9 +115,14 @@ const _RoomService = class _RoomService {
107
115
  (_h = roomEngine.instance) == null ? void 0 : _h.on(TUIRoomEngine.TUIRoomEvents.onKickedOffLine, this.onKickedOffLine);
108
116
  (_i = roomEngine.instance) == null ? void 0 : _i.on(TUIRoomEngine.TUIRoomEvents.onAllUserCameraDisableChanged, this.onAllUserCameraDisableChanged);
109
117
  (_j = roomEngine.instance) == null ? void 0 : _j.on(TUIRoomEngine.TUIRoomEvents.onAllUserMicrophoneDisableChanged, this.onAllUserMicrophoneDisableChanged);
118
+ (_k = roomEngine.instance) == null ? void 0 : _k.on(
119
+ TUIRoomEngine.TUIRoomEvents.onScreenShareForAllUserDisableChanged,
120
+ this.onScreenShareForAllUserDisableChanged
121
+ );
122
+ (_l = roomEngine.instance) == null ? void 0 : _l.on(TUIRoomEngine.TUIRoomEvents.onUserInfoChanged, this.onUserInfoChanged);
110
123
  }
111
124
  unBindRoomEngineEvents() {
112
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
125
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
113
126
  (_a = roomEngine.instance) == null ? void 0 : _a.off(TUIRoomEngine.TUIRoomEvents.onError, this.onError);
114
127
  (_b = roomEngine.instance) == null ? void 0 : _b.off(TUIRoomEngine.TUIRoomEvents.onRoomDismissed, this.onRoomDismissed);
115
128
  (_c = roomEngine.instance) == null ? void 0 : _c.off(TUIRoomEngine.TUIRoomEvents.onUserVoiceVolumeChanged, this.onUserVoiceVolumeChanged);
@@ -120,19 +133,15 @@ const _RoomService = class _RoomService {
120
133
  (_h = roomEngine.instance) == null ? void 0 : _h.off(TUIRoomEngine.TUIRoomEvents.onKickedOffLine, this.onKickedOffLine);
121
134
  (_i = roomEngine.instance) == null ? void 0 : _i.off(TUIRoomEngine.TUIRoomEvents.onAllUserCameraDisableChanged, this.onAllUserCameraDisableChanged);
122
135
  (_j = roomEngine.instance) == null ? void 0 : _j.off(TUIRoomEngine.TUIRoomEvents.onAllUserMicrophoneDisableChanged, this.onAllUserMicrophoneDisableChanged);
136
+ (_k = roomEngine.instance) == null ? void 0 : _k.off(
137
+ TUIRoomEngine.TUIRoomEvents.onScreenShareForAllUserDisableChanged,
138
+ this.onScreenShareForAllUserDisableChanged
139
+ );
140
+ (_l = roomEngine.instance) == null ? void 0 : _l.off(TUIRoomEngine.TUIRoomEvents.onUserInfoChanged, this.onUserInfoChanged);
123
141
  }
124
142
  onError(error) {
125
143
  index$1.default.error("roomEngine.onError: ", error);
126
- if (error.message === "enter trtc room failed , error code : -1") {
127
- this.emit(types.EventType.ROOM_NOTICE_MESSAGE_BOX, {
128
- type: "warning",
129
- message: t("Failed to enter the meeting"),
130
- callback: () => {
131
- this.emit(types.EventType.ROOM_ERROR);
132
- this.resetStore();
133
- }
134
- });
135
- }
144
+ this.errorHandler.handleError(error, "onError");
136
145
  }
137
146
  onRoomDismissed(eventInfo) {
138
147
  const { roomId } = eventInfo;
@@ -237,6 +246,15 @@ const _RoomService = class _RoomService {
237
246
  await ((_a = roomEngine.instance) == null ? void 0 : _a.closeLocalCamera());
238
247
  }
239
248
  }
249
+ async onUserInfoChanged(eventInfo) {
250
+ const { userId, nameCard } = eventInfo.userInfo;
251
+ const isLocal = this.roomStore.localUser.userId === userId;
252
+ if (isLocal) {
253
+ this.roomStore.setLocalUser({ nameCard });
254
+ } else {
255
+ this.roomStore.setRemoteUserNameCard(userId, nameCard);
256
+ }
257
+ }
240
258
  async onAllUserMicrophoneDisableChanged(eventInfo) {
241
259
  const { isDisable } = eventInfo;
242
260
  if (isDisable !== this.roomStore.isMicrophoneDisableForAllUser && this.roomStore.localUser.userRole === TUIRoomEngine.TUIRole.kGeneralUser) {
@@ -257,6 +275,10 @@ const _RoomService = class _RoomService {
257
275
  await ((_a = roomEngine.instance) == null ? void 0 : _a.muteLocalAudio());
258
276
  }
259
277
  }
278
+ async onScreenShareForAllUserDisableChanged(eventInfo) {
279
+ const { isDisable } = eventInfo;
280
+ this.roomStore.setDisableScreenShareForAllUserByAdmin(isDisable);
281
+ }
260
282
  resetStore() {
261
283
  this.basicStore.reset();
262
284
  this.chatStore.reset();
@@ -271,6 +293,7 @@ const _RoomService = class _RoomService {
271
293
  const { sdkAppId, userId, userSig, userName = userId, avatarUrl = "" } = option;
272
294
  await TUIRoomEngine.login({ sdkAppId, userId, userSig });
273
295
  await TUIRoomEngine.setSelfInfo({ userName, avatarUrl });
296
+ this.emit(types.EventType.ROOM_LOGIN);
274
297
  }
275
298
  async start(roomId, params) {
276
299
  return this.roomActionManager.start(roomId, params);
@@ -333,6 +356,9 @@ const _RoomService = class _RoomService {
333
356
  setSelfInfo(options) {
334
357
  return this.userManager.setSelfInfo(options);
335
358
  }
359
+ getDisplayName(options) {
360
+ return this.userManager.getDisplayName(options);
361
+ }
336
362
  };
337
363
  __publicField(_RoomService, "instance");
338
364
  let RoomService = _RoomService;
@@ -1,3 +1,6 @@
1
+ import { ErrorHandler } from './function/errorHandler';
2
+ import { RoomActionManager } from './manager/roomActionManager';
3
+ import { ScheduleConferenceManager } from './manager/scheduleConferenceManager';
1
4
  import { LifeCycleManager } from './manager/lifeCycleManager';
2
5
  import { useChatStore } from '../stores/chat';
3
6
  import { useRoomStore } from '../stores/room';
@@ -11,6 +14,9 @@ export interface IRoomService {
11
14
  roomStore: ReturnType<typeof useRoomStore>;
12
15
  chatStore: ReturnType<typeof useChatStore>;
13
16
  lifeCycleManager: LifeCycleManager;
17
+ roomActionManager?: RoomActionManager;
18
+ scheduleConferenceManager: ScheduleConferenceManager;
19
+ errorHandler: ErrorHandler;
14
20
  on: (eventType: EventType, callback: (data?: any) => any) => void;
15
21
  off: (eventType: EventType, callback: (data?: any) => void) => void;
16
22
  emit: (eventType: EventType, data?: any) => void;
@@ -37,6 +43,8 @@ export interface RoomParam {
37
43
  defaultSpeakerId?: string;
38
44
  }
39
45
  export declare enum EventType {
46
+ SERVICE_READY = "ServiceReady",
47
+ ROOM_LOGIN = "RoomLogin",
40
48
  ROOM_CONTAINER_RESIZE = "RoomContainerResize",
41
49
  ROOM_NOTICE_MESSAGE = "RoomNoticeMessage",
42
50
  ROOM_NOTICE_MESSAGE_BOX = "RoomNoticeMessageBox",
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  var EventType = /* @__PURE__ */ ((EventType2) => {
4
+ EventType2["SERVICE_READY"] = "ServiceReady";
5
+ EventType2["ROOM_LOGIN"] = "RoomLogin";
4
6
  EventType2["ROOM_CONTAINER_RESIZE"] = "RoomContainerResize";
5
7
  EventType2["ROOM_NOTICE_MESSAGE"] = "RoomNoticeMessage";
6
8
  EventType2["ROOM_NOTICE_MESSAGE_BOX"] = "RoomNoticeMessageBox";
@@ -5,6 +5,12 @@ const common = require("../utils/common.js");
5
5
  const render = require("../constants/render.js");
6
6
  const utils = require("../utils/utils.js");
7
7
  const environment = require("../utils/environment.js");
8
+ function getDefaultLayout() {
9
+ if (environment.isMobile) {
10
+ return environment.isWeChat ? render.LAYOUT.SIX_EQUAL_POINTS : render.LAYOUT.LARGE_SMALL_WINDOW;
11
+ }
12
+ return render.LAYOUT.NINE_EQUAL_POINTS;
13
+ }
8
14
  const useBasicStore = pinia.defineStore("basic", {
9
15
  state: () => ({
10
16
  sdkAppId: 0,
@@ -16,7 +22,7 @@ const useBasicStore = pinia.defineStore("basic", {
16
22
  roomId: "",
17
23
  roomMode: "FreeSpeech",
18
24
  isSidebarOpen: false,
19
- layout: environment.isWeChat ? render.LAYOUT.SIX_EQUAL_POINTS : render.LAYOUT.NINE_EQUAL_POINTS,
25
+ layout: getDefaultLayout(),
20
26
  showSettingDialog: false,
21
27
  showApplyUserList: false,
22
28
  activeSettingTab: "audio",
@@ -158,7 +164,7 @@ const useBasicStore = pinia.defineStore("basic", {
158
164
  },
159
165
  reset() {
160
166
  this.isSidebarOpen = false;
161
- this.layout = environment.isWeChat ? render.LAYOUT.SIX_EQUAL_POINTS : render.LAYOUT.NINE_EQUAL_POINTS;
167
+ this.layout = getDefaultLayout();
162
168
  this.showSettingDialog = false;
163
169
  this.activeSettingTab = "audio";
164
170
  this.isLocalStreamMirror = true;
@@ -4,6 +4,7 @@ export type StreamInfo = {
4
4
  userId: string;
5
5
  userName?: string;
6
6
  avatarUrl?: string;
7
+ nameCard?: string;
7
8
  hasAudioStream?: boolean;
8
9
  hasVideoStream?: boolean;
9
10
  hasScreenStream?: boolean;
@@ -14,6 +15,7 @@ export type UserInfo = {
14
15
  userId: string;
15
16
  userName?: string;
16
17
  avatarUrl?: string;
18
+ nameCard?: string;
17
19
  hasAudioStream?: boolean;
18
20
  hasVideoStream?: boolean;
19
21
  hasScreenStream?: boolean;
@@ -13,6 +13,7 @@ const useRoomStore = pinia.defineStore("room", {
13
13
  userId: "",
14
14
  userName: "",
15
15
  avatarUrl: "",
16
+ nameCard: "",
16
17
  hasAudioStream: false,
17
18
  hasVideoStream: false,
18
19
  hasScreenStream: false,
@@ -22,6 +23,7 @@ const useRoomStore = pinia.defineStore("room", {
22
23
  userId: "",
23
24
  userName: "",
24
25
  avatarUrl: "",
26
+ nameCard: "",
25
27
  hasAudioStream: false,
26
28
  hasVideoStream: false,
27
29
  streamType: TUIRoomEngine.TUIVideoStreamType.kCameraStream,
@@ -31,6 +33,7 @@ const useRoomStore = pinia.defineStore("room", {
31
33
  userId: "",
32
34
  userName: "",
33
35
  avatarUrl: "",
36
+ nameCard: "",
34
37
  hasScreenStream: false,
35
38
  streamType: TUIRoomEngine.TUIVideoStreamType.kScreenStream,
36
39
  isVisible: true
@@ -52,6 +55,7 @@ const useRoomStore = pinia.defineStore("room", {
52
55
  masterUserId: "",
53
56
  isMicrophoneDisableForAllUser: false,
54
57
  isCameraDisableForAllUser: false,
58
+ isScreenShareDisableForAllUser: false,
55
59
  isSeatEnabled: false,
56
60
  seatMode: TUIRoomEngine.TUISeatMode.kFreeToTake,
57
61
  maxMembersCount: 5,
@@ -107,10 +111,10 @@ const useRoomStore = pinia.defineStore("room", {
107
111
  return cameraForbidden || this.isAudience;
108
112
  },
109
113
  localStream: (state) => {
110
- const { userId, userName, avatarUrl, hasAudioStream, hasVideoStream } = state.localUser;
114
+ const { userId, userName, avatarUrl, nameCard, hasAudioStream, hasVideoStream } = state.localUser;
111
115
  Object.assign(
112
116
  state.localUser.cameraStreamInfo,
113
- { userId, userName, avatarUrl, hasAudioStream, hasVideoStream }
117
+ { userId, userName, avatarUrl, nameCard, hasAudioStream, hasVideoStream }
114
118
  );
115
119
  return state.localUser.cameraStreamInfo;
116
120
  },
@@ -129,6 +133,7 @@ const useRoomStore = pinia.defineStore("room", {
129
133
  userId,
130
134
  avatarUrl,
131
135
  userName,
136
+ nameCard,
132
137
  onSeat,
133
138
  hasAudioStream,
134
139
  hasVideoStream,
@@ -137,10 +142,10 @@ const useRoomStore = pinia.defineStore("room", {
137
142
  isScreenVisible
138
143
  } = userInfo;
139
144
  if (onSeat) {
140
- obj[`${userId}_${TUIRoomEngine.TUIVideoStreamType.kCameraStream}`] = Object.assign(userInfo.cameraStreamInfo, { userId, avatarUrl, userName, hasAudioStream, hasVideoStream, streamType: TUIRoomEngine.TUIVideoStreamType.kCameraStream, isVisible: isVideoVisible });
145
+ obj[`${userId}_${TUIRoomEngine.TUIVideoStreamType.kCameraStream}`] = Object.assign(userInfo.cameraStreamInfo, { userId, avatarUrl, userName, nameCard, hasAudioStream, hasVideoStream, streamType: TUIRoomEngine.TUIVideoStreamType.kCameraStream, isVisible: isVideoVisible });
141
146
  }
142
147
  if (hasScreenStream) {
143
- obj[`${userId}_${TUIRoomEngine.TUIVideoStreamType.kScreenStream}`] = Object.assign(userInfo.screenStreamInfo, { userId, avatarUrl, userName, hasScreenStream, streamType: TUIRoomEngine.TUIVideoStreamType.kScreenStream, isVisible: isScreenVisible });
148
+ obj[`${userId}_${TUIRoomEngine.TUIVideoStreamType.kScreenStream}`] = Object.assign(userInfo.screenStreamInfo, { userId, avatarUrl, userName, nameCard, hasScreenStream, streamType: TUIRoomEngine.TUIVideoStreamType.kScreenStream, isVisible: isScreenVisible });
144
149
  }
145
150
  });
146
151
  return obj;
@@ -155,12 +160,20 @@ const useRoomStore = pinia.defineStore("room", {
155
160
  }
156
161
  return list;
157
162
  },
163
+ cameraStreamList() {
164
+ const list = [
165
+ this.localStream,
166
+ ...Object.values(this.remoteStreamObj).filter((stream) => stream.streamType === TUIRoomEngine.TUIVideoStreamType.kCameraStream)
167
+ ];
168
+ return list;
169
+ },
158
170
  streamNumber() {
159
171
  return this.streamList.length;
160
172
  },
161
173
  remoteUserList: (state) => [...Object.values(state.remoteUserObj)],
162
174
  remoteAnchorList: (state) => [...Object.values(state.remoteUserObj)].filter((item) => item.onSeat),
163
175
  userList: (state) => [state.localUser, ...Object.values(state.remoteUserObj)],
176
+ generalUserScreenStreamList: (state) => [...Object.values(state.remoteUserObj)].filter((item) => item.hasScreenStream && item.userRole === TUIRoomEngine.TUIRole.kGeneralUser),
164
177
  userNumber() {
165
178
  return this.userList.length;
166
179
  },
@@ -168,6 +181,15 @@ const useRoomStore = pinia.defineStore("room", {
168
181
  applyToAnchorList: (state) => [...Object.values(state.remoteUserObj)].filter((item) => item.isUserApplyingToAnchor).sort((item1, item2) => ((item1 == null ? void 0 : item1.applyToAnchorTimestamp) || 0) - ((item2 == null ? void 0 : item2.applyToAnchorTimestamp) || 0)) || [],
169
182
  defaultStreamType() {
170
183
  return Object.keys(this.hasVideoStreamObject).length > this.maxMembersCount ? TUIRoomEngine.TUIVideoStreamType.kCameraStreamLow : TUIRoomEngine.TUIVideoStreamType.kCameraStream;
184
+ },
185
+ getDisplayName: (state) => {
186
+ return (userId) => {
187
+ const userInfo = userId === state.localUser.userId ? state.localUser : state.remoteUserObj[userId];
188
+ if (userInfo) {
189
+ const { nameCard, userName, userId: userId2 } = userInfo;
190
+ return nameCard || userName || userId2;
191
+ }
192
+ };
171
193
  }
172
194
  },
173
195
  actions: {
@@ -178,11 +200,11 @@ const useRoomStore = pinia.defineStore("room", {
178
200
  Object.assign(this.localStream, obj);
179
201
  },
180
202
  getUserName(userId) {
181
- var _a;
203
+ var _a, _b;
182
204
  if (userId === this.localUser.userId) {
183
- return this.localUser.userName || userId;
205
+ return this.localUser.nameCard || this.localUser.userName || userId;
184
206
  }
185
- return ((_a = this.remoteUserObj[userId]) == null ? void 0 : _a.userName) || userId;
207
+ return ((_a = this.remoteUserObj[userId]) == null ? void 0 : _a.nameCard) || ((_b = this.remoteUserObj[userId]) == null ? void 0 : _b.userName) || userId;
186
208
  },
187
209
  getUserRole(userId) {
188
210
  var _a;
@@ -196,6 +218,7 @@ const useRoomStore = pinia.defineStore("room", {
196
218
  userId,
197
219
  userName: "",
198
220
  avatarUrl: "",
221
+ nameCard: "",
199
222
  hasAudioStream: false,
200
223
  hasVideoStream: false,
201
224
  hasScreenStream: false,
@@ -210,6 +233,7 @@ const useRoomStore = pinia.defineStore("room", {
210
233
  userId,
211
234
  userName: "",
212
235
  avatarUrl: "",
236
+ nameCard: "",
213
237
  hasAudioStream: false,
214
238
  hasVideoStream: false,
215
239
  streamType: TUIRoomEngine.TUIVideoStreamType.kCameraStream,
@@ -219,6 +243,7 @@ const useRoomStore = pinia.defineStore("room", {
219
243
  userId,
220
244
  userName: "",
221
245
  avatarUrl: "",
246
+ nameCard: "",
222
247
  hasScreenStream: false,
223
248
  streamType: TUIRoomEngine.TUIVideoStreamType.kScreenStream,
224
249
  isVisible: false
@@ -422,14 +447,17 @@ const useRoomStore = pinia.defineStore("room", {
422
447
  this.currentSpeakerId = deviceId;
423
448
  },
424
449
  setRoomInfo(roomInfo) {
450
+ if (!roomInfo)
451
+ return;
425
452
  const {
426
- roomOwner,
427
- isMicrophoneDisableForAllUser,
428
- isCameraDisableForAllUser,
429
- isSeatEnabled,
430
- seatMode,
431
- maxSeatCount,
432
- roomName
453
+ roomOwner = this.masterUserId,
454
+ isMicrophoneDisableForAllUser = this.isMicrophoneDisableForAllUser,
455
+ isCameraDisableForAllUser = this.isCameraDisableForAllUser,
456
+ isScreenShareDisableForAllUser = this.isScreenShareDisableForAllUser,
457
+ isSeatEnabled = this.isSeatEnabled,
458
+ seatMode = this.seatMode,
459
+ maxSeatCount = this.maxSeatCount,
460
+ roomName = this.roomName
433
461
  } = roomInfo;
434
462
  if (this.localUser.userId === roomOwner) {
435
463
  this.localUser.userRole = TUIRoomEngine.TUIRole.kRoomOwner;
@@ -437,12 +465,13 @@ const useRoomStore = pinia.defineStore("room", {
437
465
  this.masterUserId = roomOwner;
438
466
  this.isMicrophoneDisableForAllUser = isMicrophoneDisableForAllUser;
439
467
  this.isCameraDisableForAllUser = isCameraDisableForAllUser;
468
+ this.isScreenShareDisableForAllUser = isScreenShareDisableForAllUser;
440
469
  this.isSeatEnabled = isSeatEnabled;
441
470
  this.seatMode = seatMode;
442
- this.canControlSelfAudio = !this.isMicrophoneDisableForAllUser;
443
- this.canControlSelfVideo = !this.isCameraDisableForAllUser;
444
471
  this.maxSeatCount = maxSeatCount;
445
472
  this.roomName = roomName;
473
+ this.canControlSelfAudio = !this.isMicrophoneDisableForAllUser;
474
+ this.canControlSelfVideo = !this.isCameraDisableForAllUser;
446
475
  },
447
476
  setDisableMicrophoneForAllUserByAdmin(isDisable) {
448
477
  this.isMicrophoneDisableForAllUser = isDisable;
@@ -450,6 +479,9 @@ const useRoomStore = pinia.defineStore("room", {
450
479
  setDisableCameraForAllUserByAdmin(isDisable) {
451
480
  this.isCameraDisableForAllUser = isDisable;
452
481
  },
482
+ setDisableScreenShareForAllUserByAdmin(isDisable) {
483
+ this.isScreenShareDisableForAllUser = isDisable;
484
+ },
453
485
  setMasterUserId(userId) {
454
486
  this.masterUserId = userId;
455
487
  },
@@ -518,14 +550,6 @@ const useRoomStore = pinia.defineStore("room", {
518
550
  this.setCurrentSpeakerId(deviceList[0].deviceId);
519
551
  }
520
552
  },
521
- // Set everyone's mute status when banning/cancelling the ban
522
- setMicrophoneDisableState(isDisable) {
523
- this.isMicrophoneDisableForAllUser = isDisable;
524
- },
525
- // Set everyone's video banned status when banning/cancelling a ban
526
- setCameraDisableState(isDisable) {
527
- this.isCameraDisableForAllUser = isDisable;
528
- },
529
553
  // Moderator individually modifies the mute status of a user's outgoing text messages
530
554
  setMuteUserChat(userId, muted) {
531
555
  const remoteUserInfo = this.remoteUserObj[userId];
@@ -539,6 +563,12 @@ const useRoomStore = pinia.defineStore("room", {
539
563
  remoteUserInfo.userRole = role;
540
564
  }
541
565
  },
566
+ setRemoteUserNameCard(userId, nameCard) {
567
+ const remoteUserInfo = this.remoteUserObj[userId];
568
+ if (remoteUserInfo) {
569
+ remoteUserInfo.nameCard = nameCard;
570
+ }
571
+ },
542
572
  setRequestUserOpenMic(options) {
543
573
  const { userId, isRequesting, requestId } = options;
544
574
  const remoteUserInfo = this.remoteUserObj[userId];
@@ -639,6 +669,7 @@ const useRoomStore = pinia.defineStore("room", {
639
669
  this.masterUserId = "";
640
670
  this.isMicrophoneDisableForAllUser = false;
641
671
  this.isCameraDisableForAllUser = false;
672
+ this.isScreenShareDisableForAllUser = false;
642
673
  this.isSeatEnabled = false;
643
674
  this.seatMode = TUIRoomEngine.TUISeatMode.kFreeToTake;
644
675
  this.hasVideoStreamObject = {};
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const environment = require("./environment.js");
4
- const clipBoard = (data) => new Promise((resolve, reject) => {
4
+ const clipBoard = (data) => new Promise(async (resolve, reject) => {
5
5
  if (!environment.isWeChat) {
6
+ const textString = data.toString();
6
7
  try {
7
- navigator.clipboard.writeText(`${data}`);
8
+ await navigator.clipboard.writeText(`${data}`);
8
9
  resolve({ code: 0, data });
9
10
  } catch (err) {
10
- reject({ code: -1, err });
11
+ try {
12
+ copyTextByDocumentExecCommand(textString);
13
+ resolve({ code: 0, data });
14
+ } catch (err2) {
15
+ reject({ code: -1, err: err2 });
16
+ }
11
17
  }
12
18
  return;
13
19
  }
@@ -28,4 +34,34 @@ const clipBoard = (data) => new Promise((resolve, reject) => {
28
34
  }
29
35
  });
30
36
  });
37
+ function copyTextByDocumentExecCommand(textString) {
38
+ try {
39
+ const input = document.createElement("input");
40
+ input.id = "copy-input";
41
+ input.readOnly = true;
42
+ input.style.position = "absolute";
43
+ input.style.left = "-1000px";
44
+ input.style.zIndex = "-1000";
45
+ document.body.appendChild(input);
46
+ input.value = textString;
47
+ selectText(input, 0, textString.length);
48
+ if (document.execCommand("copy")) {
49
+ document.execCommand("copy");
50
+ }
51
+ input.blur();
52
+ } catch (err) {
53
+ }
54
+ }
55
+ function selectText(textbox, startIndex, stopIndex) {
56
+ if (textbox.createTextRange) {
57
+ const range = textbox.createTextRange();
58
+ range.collapse(true);
59
+ range.moveStart("character", startIndex);
60
+ range.moveEnd("character", stopIndex - startIndex);
61
+ range.select();
62
+ } else {
63
+ textbox.setSelectionRange(startIndex, stopIndex);
64
+ textbox.focus();
65
+ }
66
+ }
31
67
  exports.clipBoard = clipBoard;
@@ -51,3 +51,6 @@ export declare const isNumber: (value: any) => boolean;
51
51
  export declare const isStringNumber: (value: any) => boolean;
52
52
  export declare const isFunction: (value: any) => boolean;
53
53
  export declare function addSuffix(value: string | number, suffix?: string): string | number;
54
+ export declare function getUrlWithRoomId(roomId: string): string;
55
+ export declare function calculateByteLength(str: string): number;
56
+ export declare function objectMerge(...args: any[]): any;
@@ -56,6 +56,28 @@ function getUrlParam(key) {
56
56
  const paramMatch = url == null ? void 0 : url.match(regexp);
57
57
  return paramMatch ? paramMatch[2] : null;
58
58
  }
59
+ function deepClone(data) {
60
+ let res = null;
61
+ const reference = [Date, RegExp, Set, WeakSet, Map, WeakMap, Error];
62
+ if (reference.includes(data == null ? void 0 : data.constructor)) {
63
+ res = new data.constructor(data);
64
+ } else if (Array.isArray(data)) {
65
+ res = [];
66
+ data.forEach((e, i) => {
67
+ res[i] = deepClone(e);
68
+ });
69
+ } else if (typeof data === "object" && data !== null) {
70
+ res = {};
71
+ Object.keys(data).forEach((key) => {
72
+ if (Object.hasOwnProperty.call(data, key)) {
73
+ res[key] = deepClone(data[key]);
74
+ }
75
+ });
76
+ } else {
77
+ res = data;
78
+ }
79
+ return res;
80
+ }
59
81
  const isUndefined = (value) => typeof value === "undefined";
60
82
  const isNumber = (value) => typeof value === "number";
61
83
  const isStringNumber = (value) => typeof value === "string" && !isNaN(Number(value));
@@ -66,13 +88,55 @@ function addSuffix(value, suffix = "px") {
66
88
  }
67
89
  return value;
68
90
  }
91
+ function getUrlWithRoomId(roomId) {
92
+ const currentUrl = window.location.href;
93
+ const urlObj = new URL(currentUrl);
94
+ const params = new URLSearchParams(urlObj.search);
95
+ if (params.has("roomId")) {
96
+ params.delete("roomId");
97
+ }
98
+ params.append("roomId", roomId);
99
+ return `${urlObj.origin + urlObj.pathname + "#/home?" + params.toString()}`;
100
+ }
101
+ function calculateByteLength(str) {
102
+ let byteLength = 0;
103
+ for (let i = 0; i < str.length; i++) {
104
+ const code = str.charCodeAt(i);
105
+ if (code <= 127) {
106
+ byteLength += 1;
107
+ } else if (code <= 2047) {
108
+ byteLength += 2;
109
+ } else if (code <= 65535) {
110
+ byteLength += 3;
111
+ } else {
112
+ byteLength += 4;
113
+ }
114
+ }
115
+ return byteLength;
116
+ }
117
+ function objectMerge(...args) {
118
+ return args.reduce((acc, cur) => {
119
+ Object.keys(cur).forEach((key) => {
120
+ if (acc[key] && typeof acc[key] === "object") {
121
+ acc[key] = objectMerge(acc[key], cur[key]);
122
+ } else {
123
+ acc[key] = cur[key];
124
+ }
125
+ });
126
+ return acc;
127
+ }, {});
128
+ }
69
129
  exports.addSuffix = addSuffix;
130
+ exports.calculateByteLength = calculateByteLength;
70
131
  exports.debounce = debounce;
132
+ exports.deepClone = deepClone;
71
133
  exports.exitFullScreen = exitFullScreen;
72
134
  exports.getUrlParam = getUrlParam;
135
+ exports.getUrlWithRoomId = getUrlWithRoomId;
73
136
  exports.isFunction = isFunction;
74
137
  exports.isNumber = isNumber;
75
138
  exports.isStringNumber = isStringNumber;
76
139
  exports.isUndefined = isUndefined;
140
+ exports.objectMerge = objectMerge;
77
141
  exports.setFullScreen = setFullScreen;
78
142
  exports.throttle = throttle;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencentcloud/roomkit-electron-vue3",
3
- "version": "2.4.2",
3
+ "version": "2.5.0",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@tencentcloud/chat": "latest",
22
22
  "@tencentcloud/tui-core": "latest",
23
- "@tencentcloud/tuiroom-engine-electron": "^2.4.2",
23
+ "@tencentcloud/tuiroom-engine-electron": "^2.5.0",
24
24
  "@tencentcloud/universal-api": "^2.0.9",
25
25
  "interactjs": "^1.10.26",
26
26
  "mitt": "^3.0.0"
@@ -11,6 +11,7 @@
11
11
  --background-color-10: #2B2F38;
12
12
  --background-color-11: #2B303A;
13
13
  --background-color-12: #4F586B;
14
+ --hover-background-colo-1: rgba(213, 224, 242, 0.5);
14
15
  --font-color-1: #D5E0F2;
15
16
  --font-color-2: #6B758A;
16
17
  --font-color-3: #B3B8C8;
@@ -19,6 +20,8 @@
19
20
  --font-color-6: #CFD5E6;
20
21
  --font-color-7: #FFFFFF;
21
22
  --font-color-8: #8F9AB2;
23
+ --font-color-9: #969EB4;
24
+ --font-color-10: #FF643D;
22
25
  --title-color: #000000;
23
26
  --stroke-color: rgba(79, 88, 107, 0.30);
24
27
  --stroke-color-2: #434956;
@@ -156,5 +159,4 @@
156
159
  --user-extra-info-color-h5: #FFFFFF;
157
160
  --apply-container-background-outline-h5: #292D38;
158
161
  --apply-container-outline-h5: #CFD5E6;
159
- --mute-all-h5: #FF2E2E
160
162
  }
@@ -11,6 +11,7 @@
11
11
  --background-color-10: #E7EAF7;
12
12
  --background-color-11: #F0F3FA;
13
13
  --background-color-12: #FFFFFF;
14
+ --hover-background-color-1: rgba(213, 224, 242, 0.5);
14
15
  --font-color-1: #4F586B;
15
16
  --font-color-2: #B2BBD1;
16
17
  --font-color-3: #000000;
@@ -19,6 +20,8 @@
19
20
  --font-color-6: #0F1014;
20
21
  --font-color-7: #FFFFFF;
21
22
  --font-color-8: #4F586B;
23
+ --font-color-9: #969EB4;
24
+ --font-color-10: #FF643D;
22
25
  --title-color: #0F1014;
23
26
  --stroke-color: #E4EAF7;
24
27
  --stroke-color-2: #EAEFF8;
@@ -154,5 +157,4 @@
154
157
  --user-extra-info-color-h5: #FFFFFF;
155
158
  --apply-container-background-outline-h5: #006EFF;
156
159
  --apply-container-outline-h5: #FFFFFF;
157
- --mute-all-h5: #FFFFFF
158
160
  }
@@ -53,7 +53,7 @@ export default function useChatEditor() {
53
53
  payload: {
54
54
  text: result,
55
55
  },
56
- nick: roomStore.localUser.userName || roomStore.localUser.userId,
56
+ nick: roomStore.localUser.nameCard || roomStore.localUser.userName || roomStore.localUser.userId,
57
57
  from: roomStore.localUser.userId,
58
58
  flow: 'out',
59
59
  sequence: Math.random(),