|
@@ -3412,8 +3412,11 @@ const messageInit = () => {
|
|
|
if (isFirstEnter.value && isCreator.value && docSocket.value) {
|
|
if (isFirstEnter.value && isCreator.value && docSocket.value) {
|
|
|
console.log('🧹 首次进入且为创建者,清空所有同步状态')
|
|
console.log('🧹 首次进入且为创建者,清空所有同步状态')
|
|
|
docSocket.value.transact(() => {
|
|
docSocket.value.transact(() => {
|
|
|
- // ★ 不删除 latest!delete 会传播给学生导致 get('latest') 返回 undefined
|
|
|
|
|
- // 旧 latest 会被 sendMessage 的 set('latest', message) 自然覆盖
|
|
|
|
|
|
|
+ // 清空 latest 消息(创建者进页面时清掉旧消息)
|
|
|
|
|
+ if (yMessage.value) {
|
|
|
|
|
+ yMessage.value.set('latest', null)
|
|
|
|
|
+ yMessage.value.set('slideIndex', null)
|
|
|
|
|
+ }
|
|
|
// 清空计时器消息数组
|
|
// 清空计时器消息数组
|
|
|
const timerMessagesArray = docSocket.value?.getArray?.('timerMessages')
|
|
const timerMessagesArray = docSocket.value?.getArray?.('timerMessages')
|
|
|
if (timerMessagesArray) {
|
|
if (timerMessagesArray) {
|
|
@@ -4121,7 +4124,7 @@ onMounted(() => {
|
|
|
'9. doc 里所有顶层 key': Array.from(doc.share.entries()).map(([k, v]: [string, any]) => k + ':' + v.constructor.name),
|
|
'9. doc 里所有顶层 key': Array.from(doc.share.entries()).map(([k, v]: [string, any]) => k + ':' + v.constructor.name),
|
|
|
'10. provider synced': providerSocket.value?.synced,
|
|
'10. provider synced': providerSocket.value?.synced,
|
|
|
'11. ws.readyState': providerSocket.value?.ws?.readyState,
|
|
'11. ws.readyState': providerSocket.value?.ws?.readyState,
|
|
|
- '12. messageV3?.get("slidesIndex")': msgV3Type?.get?.('slidesIndex'),
|
|
|
|
|
|
|
+ '12. messageV3?.get("slideIndex")': msgV3Type?.get?.('slideIndex'),
|
|
|
}
|
|
}
|
|
|
console.log('════════ Yjs 诊断 ════════')
|
|
console.log('════════ Yjs 诊断 ════════')
|
|
|
for (const [k, v] of Object.entries(report)) {
|
|
for (const [k, v] of Object.entries(report)) {
|