|
@@ -86,35 +86,48 @@ watch(
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- let newMsgTime = Math.max.apply(
|
|
|
|
|
|
+ // let newMsgTime = Math.max.apply(
|
|
|
|
+ // Math,
|
|
|
|
+ // newMsgs.map((item: any) => {
|
|
|
|
+ // return new Date(item.sendTime).getTime()
|
|
|
|
+ // })
|
|
|
|
+ // )
|
|
|
|
+ let newMsgMaxId = Math.max.apply(
|
|
Math,
|
|
Math,
|
|
- newMsgs.map((item: any) => {
|
|
|
|
- return new Date(item.sendTime).getTime()
|
|
|
|
- })
|
|
|
|
|
|
+ newMsgs.map((item: any) => item.id)
|
|
)
|
|
)
|
|
- // let hasRecentSixSecondsMsg = new Date(newMsgs[0].sendTime).getTime() > Date.now() - 6000
|
|
|
|
- let hasRecentSixSecondsMsg = newMsgTime > Date.now() - 10000
|
|
|
|
- if (!lastMsgs.messages.length && hasRecentSixSecondsMsg) {
|
|
|
|
- messageWindowType.value = 'view'
|
|
|
|
- visibleMessageWindow.value = true
|
|
|
|
- return
|
|
|
|
|
|
+ // let hasRecentSixSecondsMsg = newMsgTime > Date.now() - 10000;
|
|
|
|
+ let lastNewMsgMaxId = Number(sessionStorage.getItem('lastNewMsgMaxId'))
|
|
|
|
+ if (lastNewMsgMaxId) {
|
|
|
|
+ if (newMsgMaxId > lastNewMsgMaxId) {
|
|
|
|
+ messageWindowType.value = 'view'
|
|
|
|
+ visibleMessageWindow.value = true
|
|
|
|
+ sessionStorage.setItem('lastNewMsgMaxId', String(newMsgMaxId))
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ sessionStorage.setItem('lastNewMsgMaxId', String(newMsgMaxId))
|
|
}
|
|
}
|
|
- let recentMsgTime = Math.max.apply(
|
|
|
|
- Math,
|
|
|
|
- lastMsgs.messages.map((item) => {
|
|
|
|
- return new Date(item.sendTime).getTime()
|
|
|
|
- })
|
|
|
|
- )
|
|
|
|
|
|
+ // if (!lastMsgs.messages.length && hasRecentSixSecondsMsg) {
|
|
|
|
+ // messageWindowType.value = 'view'
|
|
|
|
+ // visibleMessageWindow.value = true
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ // let recentMsgTime = Math.max.apply(
|
|
|
|
+ // Math,
|
|
|
|
+ // lastMsgs.messages.map((item) => {
|
|
|
|
+ // return new Date(item.sendTime).getTime()
|
|
|
|
+ // })
|
|
|
|
+ // )
|
|
// let newMsgTime = Math.max.apply(
|
|
// let newMsgTime = Math.max.apply(
|
|
// Math,
|
|
// Math,
|
|
// newMsgs.map((item: any) => {
|
|
// newMsgs.map((item: any) => {
|
|
// return new Date(item.sendTime).getTime()
|
|
// return new Date(item.sendTime).getTime()
|
|
// })
|
|
// })
|
|
// )
|
|
// )
|
|
- if (newMsgTime > recentMsgTime && hasRecentSixSecondsMsg) {
|
|
|
|
- messageWindowType.value = 'view'
|
|
|
|
- visibleMessageWindow.value = true
|
|
|
|
- }
|
|
|
|
|
|
+ // if (newMsgTime > recentMsgTime && hasRecentSixSecondsMsg) {
|
|
|
|
+ // messageWindowType.value = 'view'
|
|
|
|
+ // visibleMessageWindow.value = true
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
)
|
|
)
|