移动端聊天实现

This commit is contained in:
2023-10-08 21:38:22 +08:00
parent 7aa2e17897
commit df59768830
25 changed files with 505 additions and 377 deletions

View File

@@ -54,7 +54,7 @@ export interface IListener {
onSocketCloseEvent(): void;//连接关闭事件
onP2PMessage(e: any): void;//收到单聊消息事件
onTestMessage(e: any): void;//收到消息事件 测试用
// onOfflineMessage(data):void; // 拉取到离线消息事件
onOfflineMessage(data):void; // 拉取到离线消息事件
}
export class ImClient {
@@ -188,6 +188,10 @@ export class ImClient {
public buildMessagePack(command: number, messagePack: any) {
var jsonData = JSON.stringify(messagePack);
// console.log("=============buildMessagePack=========")
// log.info(jsonData);
let bodyLen = getLen(jsonData);
let pack = new ByteBuffer(null, 0);
@@ -331,6 +335,48 @@ export class ImClient {
this.conn.send(p2pPack.pack(false));
}
}
// 消息接收ack
public sendP2PMessageReciveAck (rAck: any) {
console.log("=============== sendP2PMessageReciveAck")
console.log(rAck)
rAck.toId = rAck.fromId;
rAck.fromId = this.userId;
console.log(rAck)
let p2pPack_1107 = imClient.buildMessagePack(MessageCommand.MSG_RECIVE_ACK, rAck);
rAck.conversationType=0
let p2pPack_1106 = imClient.buildMessagePack(MessageCommand.MSG_READED, rAck);
let p2pPack_1054 = imClient.buildMessagePack(MessageCommand.MSG_READED_RECEIPT, rAck);
if (this.conn) {
// console.log("=============== sendP2PMessageReciveAck 正式开始消息接收ack")
this.conn.send(p2pPack_1107.pack(false));
this.conn.send(p2pPack_1106.pack(false));
this.conn.send(p2pPack_1054.pack(false));
}
}
// 消息已读回执,给原消息发送方 1054
public sendP2PMessageReadedReceipt (rAck: any) {
console.log("=============== sendP2PMessageReadedRECEIPT")
console.log(rAck)
rAck.toId = rAck.fromId;
rAck.fromId = this.userId;
console.log(rAck)
let p2pPack = imClient.buildMessagePack(MessageCommand.MSG_READED_RECEIPT, rAck);
if (this.conn) {
console.log("=============== sendP2PMessageReadedRECEIPT 正式开始发送已读回执")
this.conn.send(p2pPack.pack(false));
}
}
public getUserId() {
return this.userId;