|
|
@@ -36,13 +36,13 @@ extension SignalingActionType: @retroactive Decodable { }
|
|
|
|
|
|
@AutoCodable
|
|
|
class LNIMVoiceCallMessage: Decodable {
|
|
|
+ var inviter: String = ""
|
|
|
var actionType: SignalingActionType?
|
|
|
var businessID: Int = 0
|
|
|
var inviteID: String = ""
|
|
|
var data: String = ""
|
|
|
|
|
|
private var decodedData: LNIMVoiceCallData?
|
|
|
- var isSelf = false
|
|
|
|
|
|
var callData: LNIMVoiceCallData? {
|
|
|
if let decodedData {
|
|
|
@@ -57,13 +57,6 @@ class LNIMVoiceCallMessage: Decodable {
|
|
|
return decodedData
|
|
|
}
|
|
|
|
|
|
- var showOnList: Bool {
|
|
|
- (actionType == .invite && callData?.data?.cmd == "hangup")
|
|
|
- || actionType == .cancel_Invite
|
|
|
- || actionType == .reject_Invite
|
|
|
- || actionType == .invite_Timeout
|
|
|
- }
|
|
|
-
|
|
|
var contentDesc: String {
|
|
|
guard let callData else { return "" }
|
|
|
|
|
|
@@ -71,27 +64,27 @@ class LNIMVoiceCallMessage: Decodable {
|
|
|
let data = callData.data, data.cmd == "hangup" {
|
|
|
.init(key: "C00001") + " " + callData.call_end.timeCountDisplay
|
|
|
} else if actionType == SignalingActionType.cancel_Invite {
|
|
|
- if isSelf {
|
|
|
+ if inviter.isMyUid {
|
|
|
.init(key: "A00152")
|
|
|
} else {
|
|
|
.init(key: "A00142")
|
|
|
}
|
|
|
} else if actionType == SignalingActionType.reject_Invite {
|
|
|
if callData.data?.cmd == "line_busy" {
|
|
|
- if isSelf {
|
|
|
+ if inviter.isMyUid {
|
|
|
.init(key: "C00004")
|
|
|
} else {
|
|
|
.init(key: "C00011")
|
|
|
}
|
|
|
} else {
|
|
|
- if isSelf {
|
|
|
+ if inviter.isMyUid {
|
|
|
.init(key: "C00005")
|
|
|
} else {
|
|
|
.init(key: "C00009")
|
|
|
}
|
|
|
}
|
|
|
} else if actionType == SignalingActionType.invite_Timeout {
|
|
|
- if isSelf {
|
|
|
+ if inviter.isMyUid {
|
|
|
.init(key: "C00010")
|
|
|
} else {
|
|
|
.init(key: "C00002")
|
|
|
@@ -161,10 +154,12 @@ class LNIMMessageData: NSObject {
|
|
|
private var customMessage: (any Decodable)?
|
|
|
|
|
|
var readReceipt: V2TIMMessageReceipt?
|
|
|
+ var isSelf: Bool
|
|
|
|
|
|
init(imMessage: V2TIMMessage) {
|
|
|
self.imMessage = imMessage
|
|
|
self.type = imMessage.elemType.toDataType
|
|
|
+ self.isSelf = imMessage.isSelf
|
|
|
super.init()
|
|
|
|
|
|
switch imMessage.elemType {
|
|
|
@@ -184,7 +179,7 @@ class LNIMMessageData: NSObject {
|
|
|
|
|
|
guard let data = imMessage.customElem?.data else { return nil }
|
|
|
let decoder = JSONDecoder()
|
|
|
- decoder.keyDecodingStrategy = .useDefaultKeys // 处理蛇形命名
|
|
|
+ decoder.keyDecodingStrategy = .useDefaultKeys
|
|
|
let result = try? decoder.decode(T.self, from: data)
|
|
|
if let result {
|
|
|
customMessage = result
|