bug修复
This commit is contained in:
@@ -171,20 +171,23 @@ export function useWebRTC(
|
||||
const roomId = getSafeRoomId(currentReceiverUserId)
|
||||
if (!roomId) return
|
||||
|
||||
// 通话类型说明
|
||||
const callTypeText = call.type === 'video' ? '[视频通话]' : '[语音通话]'
|
||||
|
||||
// 根据原因生成系统消息内容
|
||||
let content = ''
|
||||
switch (reason) {
|
||||
case 'connected':
|
||||
content = `通话时长 ${formatDuration(call.duration)}`
|
||||
content = `${callTypeText} 通话时长 ${formatDuration(call.duration)}`
|
||||
break
|
||||
case 'cancelled':
|
||||
content = '已取消'
|
||||
content = `${callTypeText} 已取消`
|
||||
break
|
||||
case 'rejected':
|
||||
content = '对方未接听'
|
||||
content = `${callTypeText} 对方未接听`
|
||||
break
|
||||
case 'busy':
|
||||
content = '对方忙'
|
||||
content = `${callTypeText} 对方忙`
|
||||
break
|
||||
}
|
||||
|
||||
@@ -402,17 +405,15 @@ export function useWebRTC(
|
||||
|
||||
function endCall() {
|
||||
stopRingtone()
|
||||
// 主动挂断时发送通话结束系统消息
|
||||
// 只有发起方发送通话结束系统消息,避免重复
|
||||
if (isCaller.value) {
|
||||
if (call.status === 'outgoing') {
|
||||
sendSummaryMessage('cancelled') // 呼出状态主动取消
|
||||
} else if (call.status === 'connected') {
|
||||
sendSummaryMessage('connected') // 通话中主动挂断
|
||||
}
|
||||
} else if (call.status === 'connected') {
|
||||
// 被叫方在通话中挂断也发送消息
|
||||
sendSummaryMessage('connected')
|
||||
}
|
||||
// 被叫方不发送消息,由发起方统一发送
|
||||
sendSignal('hangup')
|
||||
closeCall()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user