tuikit-atomicx-vue3 3.4.2 → 3.5.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-D1G-LitO.js → MessageInput.vue_vue_type_script_setup_true_lang-jPzZ5INK.js} +38 -36
  3. package/dist/baseComp/Modal/Modal.js +431 -23
  4. package/dist/chat/index.d.ts +68 -53
  5. package/dist/chat/server.js +15 -15
  6. package/dist/components/AudioSetting/AudioMediaControl.js +39 -41
  7. package/dist/components/AudioSetting/AudioSettingTab.js +10 -10
  8. package/dist/components/AudioSetting/MicrophoneSelect.js +8 -8
  9. package/dist/components/AudioSetting/SpeakerSelect.js +9 -9
  10. package/dist/components/AudioSettingPanel/i18n/en-US/index.d.ts +1 -0
  11. package/dist/components/AudioSettingPanel/i18n/en-US/index.js +2 -1
  12. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.d.ts +1 -0
  13. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.js +2 -1
  14. package/dist/components/AudioSettingPanel/index.js +81 -73
  15. package/dist/components/BarrageInput/BarrageInputH5.js +9 -9
  16. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +3 -3
  17. package/dist/components/BarrageInput/MessageInputState.d.ts +28 -0
  18. package/dist/components/BarrageInput/MessageInputState.js +82 -0
  19. package/dist/components/BarrageInput/TextEditor/CharacterCountExtension.js +1 -1
  20. package/dist/components/BarrageInput/TextEditor/EditorCore.js +5 -4
  21. package/dist/components/BarrageInput/TextEditor/index.js +7 -7
  22. package/dist/components/BarrageInput/type.d.ts +17 -0
  23. package/dist/components/BarrageInput/type.js +4 -0
  24. package/dist/components/BarrageInput/utils.d.ts +30 -0
  25. package/dist/components/BarrageInput/utils.js +41 -0
  26. package/dist/components/BarrageList/BarrageList.js +80 -110
  27. package/dist/components/BarrageList/BarrageList.vue.d.ts +0 -29
  28. package/dist/components/BarrageList/BarrageListH5.js +95 -122
  29. package/dist/components/BarrageList/BarrageListH5.vue.d.ts +0 -29
  30. package/dist/components/BarrageList/BarrageListState.d.ts +58 -0
  31. package/dist/components/BarrageList/BarrageListState.js +106 -0
  32. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.js +16 -24
  33. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue.d.ts +5 -5
  34. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +48 -73
  35. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.vue.d.ts +5 -7
  36. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +70 -76
  37. package/dist/components/BarrageList/Message/TextMessage/TextMessage.vue.d.ts +6 -6
  38. package/dist/components/BarrageList/Message/TextMessage/emoji.d.ts +5 -0
  39. package/dist/components/BarrageList/Message/TextMessage/emoji.js +134 -0
  40. package/dist/components/BarrageList/index.d.ts +0 -36
  41. package/dist/components/CameraButton/index.js +18 -19
  42. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +2 -1
  43. package/dist/components/CoGuestPanel/CoGuestPanel.js +60 -60
  44. package/dist/components/CoHostPanel/BattlePanel.js +11 -11
  45. package/dist/components/CoHostPanel/CoHostPanel.js +10 -10
  46. package/dist/components/CoHostPanel/ConfigSettingPanel.js +49 -55
  47. package/dist/components/CoHostPanel/ConnectionPanel.js +132 -123
  48. package/dist/components/CoHostPanel/RecommendHostList.js +39 -36
  49. package/dist/components/CoHostPanel/constants.d.ts +3 -0
  50. package/dist/components/CoHostPanel/constants.js +6 -0
  51. package/dist/components/CoHostPanel/i18n/en-US/index.d.ts +1 -0
  52. package/dist/components/CoHostPanel/i18n/en-US/index.js +2 -1
  53. package/dist/components/CoHostPanel/i18n/zh-CN/index.d.ts +1 -0
  54. package/dist/components/CoHostPanel/i18n/zh-CN/index.js +3 -2
  55. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.js +6 -6
  56. package/dist/components/ContactList/ContactInfo/ContactInfo.js +1 -1
  57. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.js +1 -1
  58. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.js +9 -9
  59. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.js +1 -1
  60. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +4 -4
  61. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.js +8 -8
  62. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.js +7 -7
  63. package/dist/components/ContactList/ContactList.js +7 -7
  64. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.js +8 -8
  65. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.js +5 -5
  66. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.js +5 -5
  67. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.js +1 -1
  68. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.js +1 -1
  69. package/dist/components/ContactList/ContactSearch/ContactSearch.js +6 -6
  70. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +49 -51
  71. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +9 -9
  72. package/dist/components/ConversationList/ConversationList.js +4 -4
  73. package/dist/components/ConversationList/ConversationList.vue.d.ts +10 -10
  74. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +10 -10
  75. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +31 -29
  76. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +20 -20
  77. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +2 -2
  78. package/dist/components/ConversationList/ConversationPreview/index.js +1 -1
  79. package/dist/components/ConversationList/index.d.ts +30 -30
  80. package/dist/components/LiveAudienceList/LiveAudienceList.js +44 -45
  81. package/dist/components/LiveAudienceList/LiveAudienceListH5.js +7 -7
  82. package/dist/components/LiveAudienceList/UserActionMenu.js +57 -64
  83. package/dist/components/LiveList/LiveList.js +23 -23
  84. package/dist/components/LiveList/LiveListH5.js +38 -38
  85. package/dist/components/LiveScenePanel/CameraSettingDialog.js +10 -10
  86. package/dist/components/LiveScenePanel/MaterialItem.js +15 -15
  87. package/dist/components/LiveScenePanel/index.js +4 -4
  88. package/dist/components/LiveView/CoreViewDecorate/BattleDecorate.js +58 -58
  89. package/dist/components/LiveView/CoreViewDecorate/BattleUserDecorate.js +6 -6
  90. package/dist/components/LiveView/CoreViewDecorate/CoHostDecorate.js +5 -5
  91. package/dist/components/LiveView/DefaultStreamViewUI.js +44 -41
  92. package/dist/components/LiveView/PlayerControl/AudioControl.js +97 -93
  93. package/dist/components/LiveView/PlayerControl/AudioControl.vue.d.ts +10 -6
  94. package/dist/components/LiveView/PlayerControl/MultiResolution.js +57 -62
  95. package/dist/components/LiveView/PlayerControl/PlayerControl.js +79 -79
  96. package/dist/components/LiveView/PlayerControl/PlayerControlState.d.ts +2 -2
  97. package/dist/components/LiveView/PlayerControl/PlayerControlState.js +164 -209
  98. package/dist/components/LiveView/PlayerControl/utils/domHelpers.d.ts +8 -1
  99. package/dist/components/LiveView/PlayerControl/utils/domHelpers.js +57 -24
  100. package/dist/components/LiveView/i18n/en-US/index.d.ts +2 -2
  101. package/dist/components/LiveView/i18n/en-US/index.js +2 -2
  102. package/dist/components/LiveView/i18n/zh-CN/index.d.ts +2 -2
  103. package/dist/components/LiveView/i18n/zh-CN/index.js +2 -2
  104. package/dist/components/LiveView/index.js +17 -17
  105. package/dist/components/MessageInput/AudioCallPicker/AudioCallPicker.js +63 -65
  106. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +88 -84
  107. package/dist/components/MessageInput/MessageInput.js +1 -1
  108. package/dist/components/MessageInput/MessageInput.vue.d.ts +5 -2
  109. package/dist/components/MessageInput/TextEditor/EditorCore.d.ts +3 -1
  110. package/dist/components/MessageInput/TextEditor/EditorCore.js +51 -63
  111. package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +6 -2
  112. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.d.ts +19 -0
  113. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.js +74 -0
  114. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.d.ts +2 -0
  115. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.js +62 -0
  116. package/dist/components/MessageInput/TextEditor/index.js +45 -35
  117. package/dist/components/MessageInput/VideoCallPicker/VideoCallPicker.js +67 -69
  118. package/dist/components/MessageInput/i18n/index.d.ts +4 -0
  119. package/dist/components/MessageInput/i18n/zh-CN.d.ts +4 -0
  120. package/dist/components/MessageInput/i18n/zh-CN.js +5 -1
  121. package/dist/components/MessageInput/index.d.ts +36 -6
  122. package/dist/components/MessageInput/index.js +1 -1
  123. package/dist/components/MessageList/Message/AudioMessage/WaveForm.js +24 -34
  124. package/dist/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.js +29 -28
  125. package/dist/components/MessageList/Message/GroupTipMessage/index.js +13 -13
  126. package/dist/components/MessageList/Message/Message.vue.d.ts +1 -1
  127. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +63 -69
  128. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.js +48 -53
  129. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.vue.d.ts +8 -8
  130. package/dist/components/MessageList/MessageList.js +8 -6
  131. package/dist/components/MessageList/MessageList.vue.d.ts +2 -2
  132. package/dist/components/MessageList/i18n/en-US.d.ts +65 -1
  133. package/dist/components/MessageList/i18n/en-US.js +66 -2
  134. package/dist/components/MessageList/i18n/index.d.ts +128 -0
  135. package/dist/components/MessageList/i18n/index.js +6 -6
  136. package/dist/components/MessageList/i18n/zh-CN.d.ts +65 -1
  137. package/dist/components/MessageList/i18n/zh-CN.js +64 -0
  138. package/dist/components/MessageList/index.d.ts +20 -20
  139. package/dist/components/MicButton/index.js +11 -11
  140. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +172 -174
  141. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +58 -60
  142. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +28 -30
  143. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +22 -24
  144. package/dist/components/Search/SearchAdvanced/Slider/Slider.js +26 -28
  145. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +133 -135
  146. package/dist/components/Search/SearchBar/SearchBar.js +56 -58
  147. package/dist/components/StreamMixer/LocalMixer/MixerControl.js +12 -12
  148. package/dist/components/StreamMixer/LocalMixer/index.js +66 -63
  149. package/dist/components/StreamView/Layout/CustomLayout.js +8 -8
  150. package/dist/components/StreamView/Layout/FloatLayout.js +124 -127
  151. package/dist/components/StreamView/Layout/GridLayout.js +5 -5
  152. package/dist/components/StreamView/index.js +25 -33
  153. package/dist/components/StreamView/manager/mediaManager.js +54 -60
  154. package/dist/components/UIKitModal/UIKitModal.d.ts +7 -0
  155. package/dist/components/UIKitModal/UIKitModal.js +156 -0
  156. package/dist/components/UIKitModal/index.d.ts +1 -0
  157. package/dist/components/UIKitModal/index.js +4 -0
  158. package/dist/components/{BarrageList/Message/RecalledMessage/RecalledMessage.vue.d.ts → UIKitModal/index.vue.d.ts} +24 -14
  159. package/dist/components/UIKitModal/type.d.ts +21 -0
  160. package/dist/components/UIKitModal/type.js +1 -0
  161. package/dist/components/UserPicker/UserPicker.js +1 -2
  162. package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.js +19 -18
  163. package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +2 -2
  164. package/dist/components/UserPicker/hooks/useSearchFilter.js +39 -31
  165. package/dist/components/UserPicker/i18n/en-US.d.ts +1 -0
  166. package/dist/components/UserPicker/i18n/en-US.js +2 -1
  167. package/dist/components/UserPicker/i18n/index.d.ts +2 -0
  168. package/dist/components/UserPicker/i18n/zh-CN.d.ts +1 -0
  169. package/dist/components/UserPicker/i18n/zh-CN.js +2 -1
  170. package/dist/components/UserPicker/index.d.ts +2 -2
  171. package/dist/components/UserPicker/type.d.ts +1 -1
  172. package/dist/components/VideoSetting/CameraSelect.js +8 -8
  173. package/dist/components/VideoSetting/VideoMediaControl.js +10 -10
  174. package/dist/components/VideoSetting/VideoPreview.js +9 -9
  175. package/dist/components/VideoSetting/VideoProfile.js +6 -6
  176. package/dist/components/VideoSetting/VideoSettingTab.js +40 -39
  177. package/dist/components/VideoSettingPanel/CameraSelect.js +8 -8
  178. package/dist/components/VideoSettingPanel/VideoPreview.js +1 -1
  179. package/dist/components/VideoSettingPanel/VideoProfile.js +18 -18
  180. package/dist/hooks/useAudioControl.d.ts +3 -3
  181. package/dist/hooks/useAudioControl.js +32 -30
  182. package/dist/hooks/useRoomEngine.js +6 -6
  183. package/dist/index-B_-9wgM4.js +64 -0
  184. package/dist/{index-Bm-QfV5o.js → index-DMfTuy0v.js} +574 -631
  185. package/dist/{index-D2OVtqc8.js → index-DV6o6s43.js} +946 -915
  186. package/dist/index.d.ts +3 -1
  187. package/dist/index.js +164 -142
  188. package/dist/report/MetricsKey.d.ts +16 -0
  189. package/dist/report/MetricsKey.js +4 -0
  190. package/dist/report/dataReport.d.ts +12 -0
  191. package/dist/report/dataReport.js +45 -0
  192. package/dist/report/index.d.ts +4 -0
  193. package/dist/report/index.js +6 -0
  194. package/dist/rtc/index.d.ts +5 -43
  195. package/dist/rtc/index.js +48 -48
  196. package/dist/rtc/server.js +45 -40
  197. package/dist/states/BarrageState/BarrageState.d.ts +74 -0
  198. package/dist/states/BarrageState/BarrageState.js +80 -0
  199. package/dist/states/BarrageState/index.d.ts +1 -0
  200. package/dist/states/BarrageState/index.js +5 -0
  201. package/dist/states/{BattleState.d.ts → BattleState/BattleState.d.ts} +10 -11
  202. package/dist/states/BattleState/BattleState.js +203 -0
  203. package/dist/states/BattleState/index.d.ts +1 -0
  204. package/dist/states/BattleState/index.js +4 -0
  205. package/dist/states/CoGuestState.d.ts +24 -94
  206. package/dist/states/CoGuestState.js +297 -189
  207. package/dist/states/CoHostState/CoHostState.d.ts +2 -2
  208. package/dist/states/CoHostState/CoHostState.js +135 -131
  209. package/dist/states/{DeviceState.d.ts → DeviceState/DeviceState.d.ts} +25 -13
  210. package/dist/states/DeviceState/DeviceState.js +314 -0
  211. package/dist/states/DeviceState/index.d.ts +1 -0
  212. package/dist/states/DeviceState/index.js +4 -0
  213. package/dist/states/LiveAudienceState.d.ts +3 -1
  214. package/dist/states/LiveAudienceState.js +106 -63
  215. package/dist/states/{LiveState/index.d.ts → LiveListState/LiveListState.d.ts} +13 -8
  216. package/dist/states/LiveListState/LiveListState.js +285 -0
  217. package/dist/states/LiveListState/index.d.ts +1 -0
  218. package/dist/states/LiveListState/index.js +4 -0
  219. package/dist/states/LiveMonitorState/api/http.js +147 -129
  220. package/dist/states/LiveMonitorState/index.js +67 -62
  221. package/dist/states/LiveMonitorState/player/adapters/trtc.js +6 -6
  222. package/dist/states/LiveSeatState/index.d.ts +46 -11
  223. package/dist/states/LiveSeatState/index.js +34 -15
  224. package/dist/states/LiveSeatState/seatEventManager.d.ts +2 -0
  225. package/dist/states/LiveSeatState/seatEventManager.js +63 -42
  226. package/dist/states/LiveSeatState/seatManager.d.ts +34 -5
  227. package/dist/states/LiveSeatState/seatManager.js +131 -29
  228. package/dist/states/LiveSeatState/store.d.ts +5 -5
  229. package/dist/states/LiveSeatState/store.js +12 -10
  230. package/dist/states/LiveSeatState/usePlayStream/RTCStreamManager.js +1 -1
  231. package/dist/states/LiveSeatState/usePlayStream/RTCStreamPlayer.js +1 -1
  232. package/dist/states/LiveSeatState/usePlayStream/index.js +30 -28
  233. package/dist/states/LoginState.d.ts +23 -0
  234. package/dist/states/MessageInputState/MessageInputState.d.ts +41 -7
  235. package/dist/states/MessageInputState/MessageInputState.js +60 -59
  236. package/dist/states/MessageInputState/utils.d.ts +8 -1
  237. package/dist/states/MessageInputState/utils.js +30 -10
  238. package/dist/states/SeatStore.js +82 -83
  239. package/dist/states/UIKitModalState/UIKitModalState.d.ts +17 -0
  240. package/dist/states/UIKitModalState/UIKitModalState.js +63 -0
  241. package/dist/states/UIKitModalState/index.d.ts +1 -0
  242. package/dist/states/UIKitModalState/index.js +4 -0
  243. package/dist/states/{VideoMixerState.d.ts → VideoMixerState/VideoMixerState.d.ts} +1 -1
  244. package/dist/states/VideoMixerState/VideoMixerState.js +269 -0
  245. package/dist/states/VideoMixerState/index.d.ts +1 -0
  246. package/dist/states/VideoMixerState/index.js +4 -0
  247. package/dist/styles/index.css +1 -1
  248. package/dist/types/audience.d.ts +21 -0
  249. package/dist/types/audience.js +4 -1
  250. package/dist/types/battle.d.ts +75 -3
  251. package/dist/types/battle.js +5 -1
  252. package/dist/types/coGuest.d.ts +72 -5
  253. package/dist/types/coGuest.js +4 -2
  254. package/dist/types/device.d.ts +38 -17
  255. package/dist/types/device.js +10 -8
  256. package/dist/types/index.d.ts +2 -2
  257. package/dist/types/index.js +96 -80
  258. package/dist/types/live.d.ts +36 -21
  259. package/dist/types/live.js +6 -4
  260. package/dist/types/seat.d.ts +23 -4
  261. package/dist/types/seat.js +7 -1
  262. package/dist/utils/call.d.ts +1 -1
  263. package/dist/utils/call.js +78 -79
  264. package/dist/utils/eventCenter.d.ts +88 -0
  265. package/dist/utils/eventCenter.js +161 -0
  266. package/package.json +4 -3
  267. package/src/chat/server.ts +0 -1
  268. package/src/components/AudioSetting/AudioMediaControl.vue +1 -3
  269. package/src/components/AudioSetting/AudioSettingTab.vue +1 -2
  270. package/src/components/AudioSetting/MicrophoneSelect.vue +1 -2
  271. package/src/components/AudioSetting/SpeakerSelect.vue +1 -2
  272. package/src/components/AudioSettingPanel/i18n/en-US/index.ts +1 -0
  273. package/src/components/AudioSettingPanel/i18n/zh-CN/index.ts +1 -0
  274. package/src/components/AudioSettingPanel/index.vue +4 -2
  275. package/src/components/BarrageInput/BarrageInputH5.vue +1 -1
  276. package/src/components/BarrageInput/EmojiPicker/EmojiPicker.vue +1 -1
  277. package/src/components/BarrageInput/MessageInputState.ts +160 -0
  278. package/src/components/BarrageInput/TextEditor/TextEditor.vue +1 -1
  279. package/src/components/BarrageInput/type.ts +26 -0
  280. package/src/components/BarrageInput/utils.ts +45 -0
  281. package/src/components/BarrageList/BarrageList.vue +61 -117
  282. package/src/components/BarrageList/BarrageListH5.vue +75 -159
  283. package/src/components/BarrageList/BarrageListState.ts +223 -0
  284. package/src/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue +8 -55
  285. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +19 -44
  286. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +69 -96
  287. package/src/components/BarrageList/Message/TextMessage/emoji.ts +132 -0
  288. package/src/components/CameraButton/index.vue +0 -1
  289. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -0
  290. package/src/components/CoGuestPanel/CoGuestPanel.vue +16 -91
  291. package/src/components/CoHostPanel/BattlePanel.vue +1 -4
  292. package/src/components/CoHostPanel/ConfigSettingPanel.vue +2 -8
  293. package/src/components/CoHostPanel/ConnectionPanel.vue +37 -33
  294. package/src/components/CoHostPanel/RecommendHostList.vue +12 -13
  295. package/src/components/CoHostPanel/constants.ts +3 -0
  296. package/src/components/CoHostPanel/i18n/en-US/index.ts +1 -0
  297. package/src/components/CoHostPanel/i18n/zh-CN/index.ts +2 -1
  298. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue +1 -1
  299. package/src/components/ContactList/ContactInfo/ContactInfo.vue +1 -1
  300. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue +1 -1
  301. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue +1 -1
  302. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue +1 -1
  303. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +1 -1
  304. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue +1 -1
  305. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue +1 -1
  306. package/src/components/ContactList/ContactList.vue +1 -1
  307. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue +1 -1
  308. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue +1 -1
  309. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.vue +1 -1
  310. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue +1 -1
  311. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.vue +1 -1
  312. package/src/components/ContactList/ContactSearch/ContactSearch.vue +1 -1
  313. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +2 -8
  314. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +2 -2
  315. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue +1 -1
  316. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue +1 -1
  317. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +1 -1
  318. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue +1 -1
  319. package/src/components/ConversationList/ConversationList.vue +2 -2
  320. package/src/components/ConversationList/ConversationListContent/ConversationListContent.vue +1 -1
  321. package/src/components/ConversationList/ConversationListHeader/ConversationListHeader.vue +1 -1
  322. package/src/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.vue +1 -1
  323. package/src/components/ConversationList/ConversationPreview/ConversationPreview.vue +1 -1
  324. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +1 -1
  325. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.vue +4 -4
  326. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +1 -1
  327. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +3 -3
  328. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUnread.vue +1 -1
  329. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +1 -1
  330. package/src/components/LiveAudienceList/LiveAudienceList.vue +4 -5
  331. package/src/components/LiveAudienceList/LiveAudienceListH5.vue +2 -2
  332. package/src/components/LiveAudienceList/UserActionMenu.vue +7 -48
  333. package/src/components/LiveList/LiveList.vue +5 -5
  334. package/src/components/LiveList/LiveListH5.vue +6 -6
  335. package/src/components/LiveScenePanel/index.vue +2 -2
  336. package/src/components/LiveView/CoreViewDecorate/BattleDecorate.vue +10 -15
  337. package/src/components/LiveView/CoreViewDecorate/BattleUserDecorate.vue +2 -2
  338. package/src/components/LiveView/DefaultStreamViewUI.vue +5 -3
  339. package/src/components/LiveView/PlayerControl/AudioControl.vue +72 -80
  340. package/src/components/LiveView/PlayerControl/MultiResolution.vue +30 -21
  341. package/src/components/LiveView/PlayerControl/PlayerControl.vue +26 -42
  342. package/src/components/LiveView/PlayerControl/PlayerControlState.ts +253 -455
  343. package/src/components/LiveView/PlayerControl/utils/domHelpers.ts +68 -4
  344. package/src/components/LiveView/i18n/en-US/index.ts +2 -2
  345. package/src/components/LiveView/i18n/zh-CN/index.ts +2 -2
  346. package/src/components/LiveView/index.vue +3 -2
  347. package/src/components/MessageInput/AudioCallPicker/AudioCallPicker.vue +8 -6
  348. package/src/components/MessageInput/EmojiPicker/EmojiPicker.vue +7 -3
  349. package/src/components/MessageInput/MessageInput.module.scss +1 -0
  350. package/src/components/MessageInput/MessageInput.vue +3 -1
  351. package/src/components/MessageInput/TextEditor/EditorCore.ts +17 -28
  352. package/src/components/MessageInput/TextEditor/TextEditor.vue +24 -4
  353. package/src/components/MessageInput/TextEditor/extensions/characterCountExtension.ts +159 -0
  354. package/src/components/MessageInput/TextEditor/extensions/imageExtension.ts +79 -0
  355. package/src/components/MessageInput/VideoCallPicker/VideoCallPicker.vue +8 -6
  356. package/src/components/MessageInput/i18n/zh-CN.ts +4 -0
  357. package/src/components/MessageInput/types.d.ts +1 -0
  358. package/src/components/MessageList/Message/AudioMessage/WaveForm.vue +20 -37
  359. package/src/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.vue +5 -3
  360. package/src/components/MessageList/Message/GroupTipMessage/GroupTipMessage.vue +5 -4
  361. package/src/components/MessageList/Message/Message.vue +1 -1
  362. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +8 -8
  363. package/src/components/MessageList/Message/VideoMessage/VideoMessage.vue +46 -43
  364. package/src/components/MessageList/Message/VideoMessage/index.ts +1 -1
  365. package/src/components/MessageList/MessageList.vue +2 -0
  366. package/src/components/MessageList/i18n/en-US.ts +66 -0
  367. package/src/components/MessageList/i18n/index.ts +4 -4
  368. package/src/components/MessageList/i18n/zh-CN.ts +66 -0
  369. package/src/components/MicButton/index.vue +3 -3
  370. package/src/components/Search/Search.vue +1 -1
  371. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.scss +1 -4
  372. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.vue +1 -1
  373. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.scss +1 -4
  374. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.vue +1 -1
  375. package/src/components/Search/SearchAdvanced/SearchAdvanced.scss +1 -4
  376. package/src/components/Search/SearchAdvanced/SearchAdvanced.vue +1 -1
  377. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.scss +1 -4
  378. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.vue +1 -1
  379. package/src/components/Search/SearchAdvanced/Slider/Slider.scss +1 -4
  380. package/src/components/Search/SearchAdvanced/Slider/Slider.vue +1 -1
  381. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +1 -4
  382. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.vue +1 -1
  383. package/src/components/Search/SearchBar/SearchBar.scss +3 -6
  384. package/src/components/Search/SearchBar/SearchBar.vue +1 -1
  385. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.vue +1 -1
  386. package/src/components/Search/SearchResults/Loading/Loading.vue +1 -1
  387. package/src/components/Search/SearchResults/SearchResults.vue +1 -1
  388. package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.vue +1 -1
  389. package/src/components/Search/SearchResults/SearchResultsItem/Group/Group.vue +1 -1
  390. package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.vue +1 -1
  391. package/src/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.vue +1 -1
  392. package/src/components/Search/SearchResults/SearchResultsItem/User/User.vue +1 -1
  393. package/src/components/StreamMixer/LocalMixer/index.vue +6 -8
  394. package/src/components/StreamView/Layout/CustomLayout.vue +2 -2
  395. package/src/components/StreamView/Layout/FloatLayout.vue +88 -83
  396. package/src/components/StreamView/index.vue +28 -14
  397. package/src/components/StreamView/manager/mediaManager.ts +38 -42
  398. package/src/components/UIKitModal/UIKitModal.ts +71 -0
  399. package/src/components/UIKitModal/index.scss +134 -0
  400. package/src/components/UIKitModal/index.ts +1 -0
  401. package/src/components/UIKitModal/index.vue +160 -0
  402. package/src/components/UIKitModal/type.ts +24 -0
  403. package/src/components/UserPicker/UserPicker.vue +1 -1
  404. package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +1 -0
  405. package/src/components/UserPicker/hooks/useSearchFilter.ts +27 -18
  406. package/src/components/UserPicker/i18n/en-US.ts +1 -0
  407. package/src/components/UserPicker/i18n/zh-CN.ts +1 -0
  408. package/src/components/UserPicker/type.ts +1 -1
  409. package/src/components/VideoSetting/CameraSelect.vue +1 -2
  410. package/src/components/VideoSetting/VideoMediaControl.vue +1 -1
  411. package/src/components/VideoSetting/VideoPreview.vue +1 -2
  412. package/src/components/VideoSetting/VideoProfile.vue +1 -1
  413. package/src/components/VideoSetting/VideoSettingTab.vue +9 -5
  414. package/src/components/VideoSettingPanel/CameraSelect.vue +1 -2
  415. package/src/components/VideoSettingPanel/VideoProfile.vue +7 -7
  416. package/src/hooks/useAudioControl.ts +17 -4
  417. package/src/hooks/useRoomEngine.ts +1 -1
  418. package/src/index.ts +3 -0
  419. package/src/report/MetricsKey.ts +16 -0
  420. package/src/report/dataReport.ts +55 -0
  421. package/src/report/index.ts +7 -0
  422. package/src/rtc/index.ts +7 -9
  423. package/src/rtc/server.ts +4 -0
  424. package/src/types/audience.ts +27 -1
  425. package/src/types/battle.ts +87 -4
  426. package/src/types/coGuest.ts +87 -5
  427. package/src/types/device.ts +41 -16
  428. package/src/types/index.ts +2 -2
  429. package/src/types/live.ts +41 -22
  430. package/src/types/seat.ts +28 -4
  431. package/src/utils/call.ts +26 -27
  432. package/src/utils/eventCenter.ts +249 -0
  433. package/dist/DialogPortal-CvJcEAsn.js +0 -417
  434. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.js +0 -23
  435. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.vue.d.ts +0 -30
  436. package/dist/components/BarrageList/Message/FaceMessage/index.d.ts +0 -3
  437. package/dist/components/BarrageList/Message/FaceMessage/index.js +0 -4
  438. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.js +0 -4
  439. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue.d.ts +0 -16
  440. package/dist/components/BarrageList/Message/GroupTipMessage/index.d.ts +0 -3
  441. package/dist/components/BarrageList/Message/GroupTipMessage/index.js +0 -25
  442. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.js +0 -71
  443. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.vue.d.ts +0 -34
  444. package/dist/components/BarrageList/Message/ImageMessage/index.d.ts +0 -3
  445. package/dist/components/BarrageList/Message/ImageMessage/index.js +0 -4
  446. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.js +0 -9
  447. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.vue.d.ts +0 -2
  448. package/dist/components/BarrageList/Message/MergerMessage/index.d.ts +0 -3
  449. package/dist/components/BarrageList/Message/MergerMessage/index.js +0 -4
  450. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.js +0 -40
  451. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +0 -54
  452. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.js +0 -26
  453. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue.d.ts +0 -15
  454. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.d.ts +0 -3
  455. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.js +0 -4
  456. package/dist/components/BarrageList/Message/RecalledMessage/RecalledMessage.js +0 -41
  457. package/dist/components/BarrageList/Message/RecalledMessage/index.d.ts +0 -3
  458. package/dist/components/BarrageList/Message/RecalledMessage/index.js +0 -4
  459. package/dist/components/BarrageList/MessageForward/ForwardListItem.js +0 -45
  460. package/dist/components/BarrageList/MessageForward/ForwardListItem.vue.d.ts +0 -17
  461. package/dist/components/BarrageList/MessageForward/MessageForward.js +0 -203
  462. package/dist/components/BarrageList/MessageForward/MessageForward.vue.d.ts +0 -2
  463. package/dist/components/BarrageList/MessageForward/index.d.ts +0 -3
  464. package/dist/components/BarrageList/MessageForward/index.js +0 -4
  465. package/dist/components/StreamView/Layout/MixLayout.js +0 -89
  466. package/dist/components/StreamView/Layout/MixLayout.vue.d.ts +0 -31
  467. package/dist/states/BarrageListState/BarrageListState.d.ts +0 -26
  468. package/dist/states/BarrageListState/BarrageListState.js +0 -122
  469. package/dist/states/BarrageListState/index.d.ts +0 -1
  470. package/dist/states/BarrageListState/index.js +0 -4
  471. package/dist/states/BattleState.js +0 -117
  472. package/dist/states/DeviceState.js +0 -296
  473. package/dist/states/LiveState/index.js +0 -254
  474. package/dist/states/VideoMixerState.js +0 -260
  475. package/src/components/BarrageList/Message/FaceMessage/FaceMessage.vue +0 -43
  476. package/src/components/BarrageList/Message/FaceMessage/index.ts +0 -3
  477. package/src/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue +0 -55
  478. package/src/components/BarrageList/Message/GroupTipMessage/index.ts +0 -3
  479. package/src/components/BarrageList/Message/ImageMessage/ImageMessage.vue +0 -181
  480. package/src/components/BarrageList/Message/ImageMessage/index.ts +0 -3
  481. package/src/components/BarrageList/Message/MergerMessage/MergerMessage.vue +0 -6
  482. package/src/components/BarrageList/Message/MergerMessage/index.ts +0 -3
  483. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +0 -70
  484. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue +0 -40
  485. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/index.ts +0 -3
  486. package/src/components/BarrageList/Message/RecalledMessage/RecalledMessage.vue +0 -82
  487. package/src/components/BarrageList/Message/RecalledMessage/index.ts +0 -3
  488. package/src/components/BarrageList/MessageForward/ForwardListItem.vue +0 -67
  489. package/src/components/BarrageList/MessageForward/MessageForward.vue +0 -388
  490. package/src/components/BarrageList/MessageForward/index.ts +0 -3
  491. package/src/components/StreamView/Layout/MixLayout.vue +0 -144
@@ -69,7 +69,7 @@
69
69
 
70
70
  <script setup lang="ts">
71
71
  import { ref, onMounted, onUnmounted } from 'vue';
72
- import { TUIConnectionCode, TUILiveBattleManagerEvents } from '@tencentcloud/tuiroom-engine-js';
72
+ import { TUIConnectionCode } from '@tencentcloud/tuiroom-engine-js';
73
73
  import { TUIButton, TUIToast, useUIKit, TOAST_TYPE, TUIDialog } from '@tencentcloud/uikit-base-component-vue3';
74
74
  import { useBattleState } from '../../states/BattleState';
75
75
  import { useCoHostState } from '../../states/CoHostState';
@@ -78,7 +78,6 @@ import { CoHostLayoutTemplate, CoHostEvent } from '../../types';
78
78
  import UserList from './UserList.vue';
79
79
  import RecommendHostList from './RecommendHostList.vue';
80
80
  import type { SeatUserInfo } from '../../types';
81
- import type { TUIBattleUser } from '@tencentcloud/tuiroom-engine-js';
82
81
 
83
82
  const { t } = useUIKit();
84
83
  const props = defineProps<{
@@ -98,8 +97,6 @@ const {
98
97
  battleUsers,
99
98
  requestBattle,
100
99
  exitBattle,
101
- subscribeEvent: subscribeBattleEvent,
102
- unsubscribeEvent: unsubscribeBattleEvent,
103
100
  } = useBattleState();
104
101
 
105
102
  const showExitCoHostDialog = ref(false);
@@ -107,7 +107,8 @@ const confirm = () => {
107
107
 
108
108
  const handleDurationChange = (event: any) => {
109
109
  templateForm.value.battleDuration = Number(event.target.value);
110
- }
110
+ };
111
+
111
112
  watch(() => props.visible, (newVal) => {
112
113
  dialogVisible.value = newVal;
113
114
  });
@@ -122,12 +123,6 @@ const layoutOptions = computed(() => [
122
123
  templateId: CoHostLayoutTemplate.HostDynamicGrid,
123
124
  label: t('Dynamic Grid9 Layout'),
124
125
  },
125
- {
126
- id: 'PortraitFixed_1v6',
127
- icon: IconDynamic1v6Layout,
128
- templateId: CoHostLayoutTemplate.HostDynamic1v6,
129
- label: t('Dynamic 1v6 Layout'),
130
- },
131
126
  ]);
132
127
  </script>
133
128
 
@@ -211,7 +206,6 @@ const layoutOptions = computed(() => [
211
206
  }
212
207
  }
213
208
 
214
-
215
209
  .layout-template-options {
216
210
  display: flex;
217
211
  flex-direction: row;
@@ -1,6 +1,5 @@
1
1
  <template>
2
2
  <div id="AtomicxCoHostPanel" class="connection-panel">
3
- <!-- 当前麦位 -->
4
3
  <div
5
4
  v-if="coHostStatus === CoHostStatus.Connected"
6
5
  id="userListContainer"
@@ -42,7 +41,6 @@
42
41
  </div>
43
42
  </div>
44
43
 
45
- <!-- 推荐主播 -->
46
44
  <RecommendHostList class="recommend-host-list">
47
45
  <template #host-item-actions="{ user }">
48
46
  <TUIButton
@@ -107,15 +105,16 @@
107
105
 
108
106
  <script setup lang="ts">
109
107
  import { ref, onMounted, onUnmounted, computed } from 'vue';
110
- import { TUIBattleInfo, TUIBattleStoppedReason, TUIBattleUser, TUIConnectionCode, TUILiveBattleManagerEvents } from '@tencentcloud/tuiroom-engine-js';
108
+ import { TUIBattleInfo, TUIConnectionCode } from '@tencentcloud/tuiroom-engine-js';
111
109
  import { TUIButton, TUIToast, useUIKit, TOAST_TYPE, TUIDialog } from '@tencentcloud/uikit-base-component-vue3';
112
110
  import { useBattleState } from '../../states/BattleState';
113
111
  import { useCoHostState } from '../../states/CoHostState';
114
112
  import { useLoginState } from '../../states/LoginState';
115
- import { CoHostLayoutTemplate, CoHostStatus, CoHostEvent } from '../../types';
113
+ import { CoHostLayoutTemplate, CoHostStatus, CoHostEvent, BattleEvent } from '../../types';
116
114
  import { Avatar } from '../Avatar';
117
115
  import RecommendHostList from './RecommendHostList.vue';
118
116
  import type { SeatUserInfo } from '../../types';
117
+ import { ERROR_MESSAGE } from './constants';
119
118
 
120
119
  const props = defineProps<{
121
120
  battleDuration: number;
@@ -136,7 +135,7 @@ const {
136
135
  } = useCoHostState();
137
136
  const {
138
137
  currentBattleInfo,
139
- battleUsers,
138
+ battleUsers,
140
139
  requestBattle,
141
140
  cancelBattleRequest,
142
141
  subscribeEvent: subscribeBattleEvent,
@@ -219,21 +218,27 @@ const handleExitCoHost = () => {
219
218
 
220
219
  const handleBattleRequest = async () => {
221
220
  const userIdList = connected.value.filter(item => item.userId !== loginUserInfo.value?.userId).map(item => item.userId);
222
- const battleRes = await requestBattle({
223
- config: {
224
- duration: props.battleDuration,
225
- needResponse: true,
226
- },
227
- userIdList,
228
- timeout: 10,
229
- });
230
- requestBattleId.value = battleRes.battleId;
231
- userIdList.forEach(userId => battleRequestList.value.add(userId))
221
+ try {
222
+ const battleRes = await requestBattle({
223
+ config: {
224
+ duration: props.battleDuration,
225
+ needResponse: true,
226
+ extensionInfo: '',
227
+ },
228
+ userIdList,
229
+ timeout: 10,
230
+ });
231
+ requestBattleId.value = battleRes.battleId;
232
+ userIdList.forEach(userId => battleRequestList.value.add(userId))
233
+ } catch (error: any) {
234
+ const message = t(ERROR_MESSAGE[error.code as keyof typeof ERROR_MESSAGE] || 'Request battle failed');
235
+ TUIToast.error({ message });
236
+ }
232
237
  };
233
238
 
234
239
  const handleCancelBattleRequest = async () => {
235
- await cancelBattleRequest({
236
- battleId: requestBattleId.value,
240
+ await cancelBattleRequest({
241
+ battleId: requestBattleId.value,
237
242
  userIdList: Array.from(battleRequestList.value)
238
243
  });
239
244
  requestBattleId.value = '';
@@ -260,31 +265,31 @@ const handleCoHostRequestTimeout = ({ inviter, invitee }: { inviter: SeatUserInf
260
265
  }
261
266
  };
262
267
 
263
- const onBattleRequestAccept = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
268
+ const onBattleRequestAccept = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
264
269
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
265
270
  battleRequestList.value.delete(eventInfo.invitee.userId);
266
271
  }
267
272
  };
268
273
 
269
- const onBattleRequestRejected = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
274
+ const onBattleRequestRejected = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
270
275
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
271
276
  TUIToast({ type: TOAST_TYPE.INFO, message: t('Battle request rejected by user', { userName: eventInfo.invitee.userName || eventInfo.invitee.userId }) });
272
277
  battleRequestList.value.delete(eventInfo.invitee.userId);
273
278
  }
274
279
  };
275
280
 
276
- const onBattleRequestTimeout = (eventInfo: { battleInfo: TUIBattleInfo, inviter: TUIBattleUser, invitee: TUIBattleUser }) => {
281
+ const onBattleRequestTimeout = (eventInfo: { battleId: string, inviter: SeatUserInfo, invitee: SeatUserInfo }) => {
277
282
  if (eventInfo.inviter.userId === loginUserInfo.value?.userId) {
278
283
  battleRequestList.value.delete(eventInfo.invitee.userId);
279
284
  }
280
285
  };
281
286
 
282
- const onBattleStarted = (eventInfo: { battleInfo: TUIBattleInfo, }) => {
287
+ const onBattleStarted = () => {
283
288
  requestBattleId.value = '';
284
289
  battleRequestList.value.clear();
285
290
  }
286
291
 
287
- const onBattleEnded = (eventInfo: { battleInfo: TUIBattleInfo, reason: TUIBattleStoppedReason }) => {
292
+ const onBattleEnded = () => {
288
293
  requestBattleId.value = '';
289
294
  battleRequestList.value.clear();
290
295
  }
@@ -294,11 +299,11 @@ onMounted(() => {
294
299
  subscribeEvent(CoHostEvent.onCoHostRequestRejected, handleCoHostRequestRejected);
295
300
  subscribeEvent(CoHostEvent.onCoHostRequestTimeout, handleCoHostRequestTimeout);
296
301
 
297
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestAccept, onBattleRequestAccept);
298
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestReject, onBattleRequestRejected);
299
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestTimeout, onBattleRequestTimeout);
300
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleStarted, onBattleStarted);
301
- subscribeBattleEvent(TUILiveBattleManagerEvents.onBattleEnded, onBattleEnded);
302
+ subscribeBattleEvent(BattleEvent.onBattleRequestAccept, onBattleRequestAccept);
303
+ subscribeBattleEvent(BattleEvent.onBattleRequestReject, onBattleRequestRejected);
304
+ subscribeBattleEvent(BattleEvent.onBattleRequestTimeout, onBattleRequestTimeout);
305
+ subscribeBattleEvent(BattleEvent.onBattleStarted, onBattleStarted);
306
+ subscribeBattleEvent(BattleEvent.onBattleEnded, onBattleEnded);
302
307
  });
303
308
 
304
309
  onUnmounted(() => {
@@ -306,11 +311,11 @@ onUnmounted(() => {
306
311
  unsubscribeEvent(CoHostEvent.onCoHostRequestRejected, handleCoHostRequestRejected);
307
312
  unsubscribeEvent(CoHostEvent.onCoHostRequestTimeout, handleCoHostRequestTimeout);
308
313
 
309
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestAccept, onBattleRequestAccept);
310
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestReject, onBattleRequestRejected);
311
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleRequestTimeout, onBattleRequestTimeout);
312
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleStarted, onBattleStarted);
313
- unsubscribeBattleEvent(TUILiveBattleManagerEvents.onBattleEnded, onBattleEnded);
314
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestAccept, onBattleRequestAccept);
315
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestReject, onBattleRequestRejected);
316
+ unsubscribeBattleEvent(BattleEvent.onBattleRequestTimeout, onBattleRequestTimeout);
317
+ unsubscribeBattleEvent(BattleEvent.onBattleStarted, onBattleStarted);
318
+ unsubscribeBattleEvent(BattleEvent.onBattleEnded, onBattleEnded);
314
319
  });
315
320
  </script>
316
321
 
@@ -466,7 +471,6 @@ onUnmounted(() => {
466
471
  padding: 20px 0 0 0;
467
472
  }
468
473
 
469
- // 布局模板选择样式
470
474
  .layout-template-container {
471
475
  padding: 16px;
472
476
  margin-bottom: 16px;
@@ -4,7 +4,7 @@
4
4
  <span class="recommend-host-list-title-text">{{ coHostStatus === CoHostStatus.Connected ? t('Invite more') : t('Recommend hosts') }}</span>
5
5
  <IconRefresh :class="['refresh-icon', refreshInviteesLoading ? 'loading' : '']" @click="handleRefreshInvitees"></IconRefresh>
6
6
  </div>
7
- <div class="recommend-host-list-content">
7
+ <div class="recommend-host-list-content" ref="recommendHostListContentRef">
8
8
  <div class="recommend-host-list">
9
9
  <div
10
10
  v-for="user in [...invitees, ...candidates]"
@@ -33,7 +33,7 @@
33
33
  <div class="loading-spinner"></div>
34
34
  <span>{{ t('Loading more users...') }}</span>
35
35
  </div>
36
- <div v-else-if="!hasMoreUsers && candidates.length > 0" class="no-more-content">
36
+ <div v-else-if="!hasMoreLive && candidates.length > 0" class="no-more-content">
37
37
  <span>{{ t('No more users') }}</span>
38
38
  </div>
39
39
  <div v-else class="load-more-trigger-content">
@@ -53,24 +53,28 @@
53
53
  <script setup lang="ts">
54
54
  import { IconRefresh, useUIKit, TUIToast, TOAST_TYPE } from '@tencentcloud/uikit-base-component-vue3';
55
55
  import { TUIErrorCode } from '@tencentcloud/tuiroom-engine-js';
56
- import { ref, onMounted, onUnmounted } from 'vue';
56
+ import { ref, onMounted, onUnmounted, computed } from 'vue';
57
57
  import { useCoHostState } from '../../states/CoHostState';
58
- import { useLiveState } from '../../states/LiveState';
58
+ import { useLiveListState } from '../../states/LiveListState';
59
59
  import { Avatar } from '../Avatar';
60
60
  import { CoHostStatus } from '../../types';
61
61
 
62
62
  const { t } = useUIKit();
63
- const { currentCursor, liveList, fetchLiveList } = useLiveState();
63
+ const { liveListCursor, fetchLiveList } = useLiveListState();
64
64
  const { coHostStatus, invitees, candidates } = useCoHostState();
65
65
 
66
+ const recommendHostListContentRef = ref<HTMLElement | null>(null);
66
67
  const loadMoreRef = ref<HTMLElement | null>(null);
67
68
  let intersectionObserver: IntersectionObserver | null = null;
68
69
 
69
70
  const refreshInviteesLoading = ref(false);
70
71
  const loadMoreLoading = ref(false);
71
- const hasMoreUsers = ref(true);
72
+ const hasMoreLive = computed(() => liveListCursor.value !== '');
72
73
  async function handleRefreshInvitees() {
73
74
  refreshInviteesLoading.value = true;
75
+ if (recommendHostListContentRef.value) {
76
+ recommendHostListContentRef.value.scrollTop = 0;
77
+ }
74
78
  Promise.all([
75
79
  new Promise((resolve) => setTimeout(resolve, 500)),
76
80
  fetchLiveList({
@@ -94,18 +98,13 @@ onMounted(() => {
94
98
  if (loadMoreRef.value) {
95
99
  intersectionObserver = new IntersectionObserver(async (changes) => {
96
100
  let item = changes[0];
97
- if (item.isIntersecting && !loadMoreLoading.value && hasMoreUsers.value) {
101
+ if (item.isIntersecting && !loadMoreLoading.value && hasMoreLive.value) {
98
102
  loadMoreLoading.value = true;
99
103
  try {
100
- const previousLength = liveList.value.length;
101
104
  await fetchLiveList({
102
- cursor: currentCursor.value === '' ? liveList.value.length + '' : currentCursor.value,
105
+ cursor: liveListCursor.value,
103
106
  count: 20,
104
107
  });
105
- const newLength = liveList.value.length;
106
- if (newLength - previousLength < 20) {
107
- hasMoreUsers.value = false;
108
- }
109
108
  } catch (error) {
110
109
  console.error('Load more users failed:', error);
111
110
  } finally {
@@ -0,0 +1,3 @@
1
+ export const ERROR_MESSAGE = {
2
+ 100412: 'there is no one valid room for battle',
3
+ };
@@ -75,4 +75,5 @@ export const resource = {
75
75
  'Battle duration': 'Battle duration',
76
76
  'Number minutes': '{{number}} minutes',
77
77
  'Connection Layout': 'Connection Layout',
78
+ 'there is no one valid room for battle': 'There is no one valid room for battle',
78
79
  };
@@ -54,7 +54,7 @@ export const resource = {
54
54
  'Refresh error, please try again later': '刷新失败,请稍后再试',
55
55
  'Are you sure you want to exit the battle': '确定要退出 PK 吗?',
56
56
  'Request battle failed': '发起 PK 失败',
57
- 'Battle ended': 'PK 已结束',
57
+ 'Battle ended': 'PK 结束',
58
58
  'Battle started': 'PK 已开始',
59
59
  'User joined battle': '用户{{userName}}已加入 PK',
60
60
  'User exited battle': '用户{{userName}}已退出 PK',
@@ -76,4 +76,5 @@ export const resource = {
76
76
  'Battle duration': '发起 PK 时长',
77
77
  'Number minutes': '{{number}} 分钟',
78
78
  'Connection Layout': '连线布局',
79
+ 'there is no one valid room for battle': '发起的 PK 中无有效的房间',
79
80
  };
@@ -67,5 +67,5 @@ const handleRemoveFromBlacklist = async () => {
67
67
  </script>
68
68
 
69
69
  <style scoped lang="scss">
70
- @import './BlacklistInfo.scss';
70
+ @use './BlacklistInfo.scss';
71
71
  </style>
@@ -260,5 +260,5 @@ const handleJoinGroup = (data: GroupModel, note: string) => emit('joinGroup', da
260
260
  </script>
261
261
 
262
262
  <style scoped lang="scss">
263
- @import './ContactInfo.scss';
263
+ @use './ContactInfo.scss';
264
264
  </style>
@@ -84,5 +84,5 @@ const handleRefuse = () => {
84
84
  </script>
85
85
 
86
86
  <style scoped lang="scss">
87
- @import './FriendApplicationInfo.scss';
87
+ @use './FriendApplicationInfo.scss';
88
88
  </style>
@@ -215,5 +215,5 @@ const handleSendMessage = () => {
215
215
  </script>
216
216
 
217
217
  <style scoped lang="scss">
218
- @import './FriendInfo.scss';
218
+ @use './FriendInfo.scss';
219
219
  </style>
@@ -95,5 +95,5 @@ const handleRefuse = () => {
95
95
  </script>
96
96
 
97
97
  <style scoped lang="scss">
98
- @import './GroupApplicationInfo.scss';
98
+ @use './GroupApplicationInfo.scss';
99
99
  </style>
@@ -143,5 +143,5 @@ const handleGroupAction = () => {
143
143
  }
144
144
  </script>
145
145
  <style scoped lang="scss">
146
- @import './GroupInfo.scss';
146
+ @use './GroupInfo.scss';
147
147
  </style>
@@ -143,5 +143,5 @@ const handleJoinGroup = async () => {
143
143
  </script>
144
144
 
145
145
  <style scoped lang="scss">
146
- @import './SearchGroupInfo.scss';
146
+ @use './SearchGroupInfo.scss';
147
147
  </style>
@@ -124,5 +124,5 @@ const handleAddFriend = async () => {
124
124
  </script>
125
125
 
126
126
  <style scoped lang="scss">
127
- @import './SearchUserInfo.scss';
127
+ @use './SearchUserInfo.scss';
128
128
  </style>
@@ -310,5 +310,5 @@ const emptyText = computed(() => props.emptyText || t('TUIContact.No contacts'))
310
310
  </script>
311
311
 
312
312
  <style scoped lang="scss">
313
- @import './ContactList.scss';
313
+ @use './ContactList.scss';
314
314
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './BlacklistItem.scss';
46
+ @use './BlacklistItem.scss';
47
47
  </style>
@@ -66,5 +66,5 @@ const handleAccept = () => {
66
66
  </script>
67
67
 
68
68
  <style scoped lang="scss">
69
- @import './FriendApplicationItem.scss';
69
+ @use './FriendApplicationItem.scss';
70
70
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './FriendItem.scss';
46
+ @use './FriendItem.scss';
47
47
  </style>
@@ -74,5 +74,5 @@ const handleAction = (action: 'accept' | 'refuse', event: Event) => {
74
74
  </script>
75
75
 
76
76
  <style scoped lang="scss">
77
- @import './GroupApplicationItem.scss';
77
+ @use './GroupApplicationItem.scss';
78
78
  </style>
@@ -43,5 +43,5 @@ const handleClick = () => {
43
43
  </script>
44
44
 
45
45
  <style scoped lang="scss">
46
- @import './GroupItem.scss';
46
+ @use './GroupItem.scss';
47
47
  </style>
@@ -94,5 +94,5 @@ const CustomSearchBar = (searchBarProps: SearchBarProps) => h('div', { class: 'c
94
94
  </script>
95
95
 
96
96
  <style scoped lang="scss">
97
- @import './ContactSearch.scss';
97
+ @use './ContactSearch.scss';
98
98
  </style>
@@ -25,11 +25,11 @@
25
25
  <TUIDropdown
26
26
  v-else
27
27
  trigger="click"
28
+ :teleported="false"
28
29
  placement="bottom-end"
29
30
  >
30
31
  <div
31
32
  :class="$style['conversationActions__popup-icon']"
32
- @click="toggleClick"
33
33
  >
34
34
  <IconEllipsis size="18px" />
35
35
  </div>
@@ -81,7 +81,6 @@ const { t } = useUIKit();
81
81
  const { markConversationUnread } = useConversationListState();
82
82
 
83
83
  const markUnreadStatus = ref(true);
84
- const anchor = ref<HTMLElement | null>(null);
85
84
  const conversationActions = ref<Record<string, ConversationActionItem>>({});
86
85
 
87
86
  const enabledActions = computed(() => Object.entries(conversationActions.value)
@@ -151,12 +150,7 @@ watch(
151
150
  { immediate: true, deep: true },
152
151
  );
153
152
 
154
- const toggleClick = (e: Event) => {
155
- anchor.value = anchor.value ? null : (e.currentTarget as HTMLElement);
156
- };
157
-
158
153
  const onClickMenuItem = (e: Event, key: string) => {
159
- toggleClick(e);
160
154
  emit('click', e, key, props.conversation);
161
155
 
162
156
  const action = conversationActions.value[key];
@@ -178,5 +172,5 @@ const handleMaskClick = (e: Event) => {
178
172
  </script>
179
173
 
180
174
  <style lang="scss" module>
181
- @import './ConversationActions.scss';
175
+ @use './ConversationActions.scss';
182
176
  </style>
@@ -195,7 +195,7 @@ const handleCreateGroupConversation = async () => {
195
195
 
196
196
  const generateGroupName = (userList: Friend[]) => {
197
197
  const selfName = loginUserInfo.value?.userName || loginUserInfo.value?.userId || '';
198
- const name = `${selfName}、` + userList.map(item => item?.remark || item?.nick || item?.userID).join('、');
198
+ const name = `${selfName}、${userList.map(item => item?.remark || item?.nick || item?.userID).join('、')}`;
199
199
  return name.length >= GROUP_NAME_LIMIT ? name.slice(0, GROUP_NAME_LIMIT) : name;
200
200
  };
201
201
 
@@ -231,5 +231,5 @@ const handleCancel = () => {
231
231
  </script>
232
232
 
233
233
  <style lang="scss" scoped>
234
- @import './ConversationCreate.scss';
234
+ @use './ConversationCreate.scss';
235
235
  </style>
@@ -83,5 +83,5 @@ const handleClick = (action: CreateConvTypes) => {
83
83
  </script>
84
84
 
85
85
  <style lang="scss" module>
86
- @import './ConversationCreateButton.scss';
86
+ @use './ConversationCreateButton.scss';
87
87
  </style>
@@ -120,5 +120,5 @@ const groupInfoChange = (value: string, type: string) => {
120
120
  </script>
121
121
 
122
122
  <style lang="scss" module>
123
- @import './ConversationCreateGroupDetail.scss';
123
+ @use './ConversationCreateGroupDetail.scss';
124
124
  </style>
@@ -61,5 +61,5 @@ const handleSelectListUpdate = (list: UserPickerResult) => {
61
61
  </script>
62
62
 
63
63
  <style lang="scss" module>
64
- @import './ConversationCreateUserSelectList.scss';
64
+ @use './ConversationCreateUserSelectList.scss';
65
65
  </style>
@@ -57,5 +57,5 @@ const selectGroupType = (type: GroupType) => {
57
57
  </script>
58
58
 
59
59
  <style lang="scss" module>
60
- @import './ConversationGroupTypeInfo.scss';
60
+ @use './ConversationGroupTypeInfo.scss';
61
61
  </style>
@@ -44,7 +44,7 @@
44
44
  :Preview="Preview"
45
45
  :ConversationActions="ConversationActions"
46
46
  :actions-config="actionsConfig"
47
- @select="handleSelectConversation"
47
+ @select-conversation="handleSelectConversation"
48
48
  />
49
49
  </component>
50
50
  </div>
@@ -185,5 +185,5 @@ const handleCreated = (conversation: ConversationModel) => {
185
185
  </script>
186
186
 
187
187
  <style lang="scss" module>
188
- @import './ConversationList.scss';
188
+ @use './ConversationList.scss';
189
189
  </style>
@@ -46,5 +46,5 @@ const props = withDefaults(defineProps<ConversationListContentProps>(), {
46
46
  </script>
47
47
 
48
48
  <style lang="scss" module>
49
- @import './ConversationListContent.scss';
49
+ @use './ConversationListContent.scss';
50
50
  </style>
@@ -47,5 +47,5 @@ const props = withDefaults(defineProps<ConversationListHeaderProps>(), {
47
47
  </script>
48
48
 
49
49
  <style lang="scss" module>
50
- @import './ConversationListHeader.scss';
50
+ @use './ConversationListHeader.scss';
51
51
  </style>
@@ -74,5 +74,5 @@ const placeholderText = computed(() => {
74
74
  </script>
75
75
 
76
76
  <style lang="scss" module>
77
- @import './ConversationPlaceHolder.scss';
77
+ @use './ConversationPlaceHolder.scss';
78
78
  </style>
@@ -14,7 +14,7 @@
14
14
  :actionsConfig="actionsConfig"
15
15
  :className="className"
16
16
  :style="style"
17
- @select="handleSelectConversation"
17
+ @select-conversation="handleSelectConversation"
18
18
  >
19
19
  <slot />
20
20
  </component>
@@ -33,5 +33,5 @@ const latestMessagePreview = computed(() => getLatestMessagePreview(props.conver
33
33
  </script>
34
34
 
35
35
  <style lang="scss" module>
36
- @import './ConversationPreview.scss';
36
+ @use './ConversationPreview.scss';
37
37
  </style>
@@ -5,6 +5,7 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts" setup>
8
+ import { computed } from 'vue';
8
9
  import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
9
10
  import { getTimeStamp } from '../../../utils/time';
10
11
  import type { ConversationModel } from '../../../types';
@@ -15,13 +16,12 @@ const props = defineProps<{
15
16
 
16
17
  const { language } = useUIKit();
17
18
 
18
- const time = getTimeStamp({
19
+ const time = computed(() => getTimeStamp({
19
20
  time: Number(props.conversation?.lastMessage?.lastTime || 0) * 1000,
20
21
  language: language.value,
21
- }) || '';
22
-
22
+ }) || '');
23
23
  </script>
24
24
 
25
25
  <style lang="scss" module>
26
- @import './ConversationPreview.scss';
26
+ @use './ConversationPreview.scss';
27
27
  </style>
@@ -15,5 +15,5 @@ const title =props?.conversation?.getShowName?.() || '';
15
15
  </script>
16
16
 
17
17
  <style lang="scss" module>
18
- @import './ConversationPreview.scss';
18
+ @use './ConversationPreview.scss';
19
19
  </style>