修复路由跳转

This commit is contained in:
unknown
2022-06-10 09:46:16 +08:00
parent 195d51b43b
commit a80e38ff0d
2 changed files with 18 additions and 13 deletions

View File

@ -209,6 +209,9 @@ const ChatInput = ((props) => {
}
API.sendToCs(params).then(res => {
if (res && res.success) {
if(isSend){
cancelSend && cancelSend()
}
}else{
message.warn(res && res.message)
}

View File

@ -143,7 +143,7 @@ const conversation = (props) => {
user: {
id: item.senderUid,
avatar: item.senderType==1?customerAvatar:serverAvatar,
name: item.senderType==1?staffName:item.customerName,
name: item.senderType==1?staffName:item.customName,
},
message: { type: type, content: content },
})
@ -158,9 +158,11 @@ const conversation = (props) => {
arr.unshift(earlierMsg.pop())
count--
}
setMsgList([...arr])
}
setMsgList([...arr])
}
if(sendMsg && sendMsg.length>0) { //连接建立后sendMsg有值才可以发即时消息用户不点击发送打开窗口即发送
setIsSend(true)
}
} else {
message.warn(res && res.message)
}
@ -210,7 +212,7 @@ const onReset = () => {
}
//检验连接websocket
const checkWebSocket = ()=>{
if(window.isCloseChatUIModal!=undefined){ //弹窗没有关闭
if(window.isCloseChatUIModal!=undefined){ //弹窗没有关闭弹窗开着或者隐藏ws不应该断
if(window.webSocketForCustomerService==undefined){
console.log('首次创建websocket')
//获取当前用户token
@ -220,7 +222,7 @@ const checkWebSocket = ()=>{
if(ws){
//别的路由切过来ws没断重新监听
let avatar = client
console.log('别的路由切过来,ws没断重新监听')
console.log('ws没断重新监听')
setShow(true)
monitorWebSocket(ws)
setCuruser({
@ -228,11 +230,14 @@ const checkWebSocket = ()=>{
name: staffName,
avatar: avatar,
})
setLoading(true)
getMoreMessage(1)
}else{
console.log('websocket断开重新连接')
setConversationId('')
disconnectedAlert()
if(isModalVisible){ //断连后,用户打开弹窗再发提醒
setConversationId('')
disconnectedAlert()
}
}
}
}else{
@ -265,13 +270,13 @@ const getToken = ()=>{
name: staffName,
avatar: avatar,
})
//window.currentUserForCustomerService =
API.check({
clientNo: staffId,
supplierNo:kfType==1?'EMPTY':agentNumber
}).then(res => {
if (res && res.success) {
websocketInit(staffId)
setLoading(true)
getMoreMessage(1)
}else{
closeWin && closeWin()
@ -287,9 +292,6 @@ const monitorWebSocket = (ws)=>{
//记录ws
window.webSocketForCustomerService = ws
setShow(true) //连接建立后,才可以显示弹窗、收发消息
if(sendMsg && sendMsg.length>0) { //连接建立后sendMsg有值才可以发即时消息用户不点击发送打开窗口即发送
setIsSend(true)
}
//else{
// //发空消息给websocket
// let serverAvatar = user
@ -332,7 +334,6 @@ useEffect(()=>{
if(window.isCloseChatUIModal==undefined){
window.isCloseChatUIModal = isCloseWs //false
}
checkWebSocket()
}
},[isCloseWs])
useEffect(() => {
@ -344,6 +345,7 @@ useEffect(() => {
chatUI.style.top = (document.documentElement.clientHeight - hei)*0.5 +"px"
record.style.height = listHeight + "px"
chatInput.style.height = textHeight + "px"
checkWebSocket()
}else{
setMsgList([])
}