修复路由跳转

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 => { API.sendToCs(params).then(res => {
if (res && res.success) { if (res && res.success) {
if(isSend){
cancelSend && cancelSend()
}
}else{ }else{
message.warn(res && res.message) message.warn(res && res.message)
} }

View File

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