lsc пре 3 недеља
родитељ
комит
2c4af042fd
1 измењених фајлова са 5 додато и 5 уклоњено
  1. 5 5
      src/views/Student/index.vue

+ 5 - 5
src/views/Student/index.vue

@@ -2460,13 +2460,13 @@ const messageInit = () => {
       const messages = yMessage.value.toArray()
 
       // 如果是首次进入且是创建者,清空所有同步状态
-      if (isFirstEnter.value && isCreator.value && docSocket.value) {
-        console.log('🧹 首次进入且为创建者,清空所有同步状态')
+      if ((isFirstEnter.value || messages.length > 2000) && isCreator.value && docSocket.value) {
+        console.log('🧹 首次进入且为创建者或消息条数超2000,保留最新5条消息,其他同步状态全部清空')
         docSocket.value.transact(() => {
-        // 清空消息
+          // 只保留最新5条消息
           const messageArray = docSocket.value?.getArray?.('message')
-          if (messageArray) {
-            messageArray.delete(0, messageArray.length)
+          if (messageArray && messageArray.length > 2000) {
+            messageArray.delete(0, messageArray.length - 2000)
           }
           // 清空计时器状态
           const timerStateMap = docSocket.value?.getMap?.('timerState')