修复路由跳转
This commit is contained in:
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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 },
|
||||||
})
|
})
|
||||||
@ -158,9 +158,11 @@ const conversation = (props) => {
|
|||||||
arr.unshift(earlierMsg.pop())
|
arr.unshift(earlierMsg.pop())
|
||||||
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([])
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user