This commit is contained in:
tiago.kayaya
2022-01-11 12:32:46 +01:00
parent d230d8cc80
commit a5b2b9eaea
5 changed files with 21 additions and 20 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ import { environment } from 'src/environments/environment';
import { Storage } from '@ionic/storage';
import { Message } from 'src/app/models/message.model';
import { Observable, Subject } from "rxjs/Rx";
import { WebsocketService } from './socket/websocket.service';
import { WebsocketService } from './websocket.service';
@Injectable({
providedIn: 'root'
@@ -8,7 +8,7 @@ class _RocketChatClientService {
private firstPingFunx: Function
isLogin = false;
request = []
constructor() {}
private returns() {}
@@ -26,7 +26,7 @@ class _RocketChatClientService {
}
this.ws.send(connectMessage)
this.ws.registerCallback({type:'Onmessage',funx:(message: any) => {
if(message.msg == "ping") {
@@ -141,7 +141,7 @@ class _RocketChatClientService {
}
this.ws.send(subscribeRequest);
return new Promise((resolve, reject) => {
this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{
if(message.result.id == requestId) { // same request send
@@ -155,7 +155,7 @@ class _RocketChatClientService {
private disconnect = () => {
}
// socket class ==================================================================
private socket!: WebSocket;
private wsUrl = ''
@@ -165,7 +165,7 @@ class _RocketChatClientService {
private ws = {
connected: false,
registerCallback:(params: wsCallbacksParams) =>{
if(!params.requestId) {
params.requestId = uuidv4()
}
@@ -191,15 +191,15 @@ class _RocketChatClientService {
onopen:()=> {
this.ws.connected = true
console.log('================== welcome to socket server =====================')
this.wsMsgQueue.forEach((item, index, object) => {
this.ws.send(item.message, item.requestId);
object.splice(index, 1);
})
},
send: (message: object, requestId = uuidv4()) => {
if (this.ws.connected == false) { // save data to send when back online
console.log('save msgQueue')
this.wsMsgQueue.push({message, requestId})
@@ -210,24 +210,24 @@ class _RocketChatClientService {
}
return requestId
},
onmessage:(event: any)=> {
const data = JSON.parse(event.data)
console.log('event.data', data)
for (const [key, value] of Object.entries(this.wsCallbacks)) {
if(value.type== 'Onmessage') {
value.funx(data)
if(value.runOnces) {
delete this.wsCallbacks[value.requestId || key]
}
}
}
}
},
onclose:(event: any)=> {
this.connect(this.firstPingFunx())
@@ -235,7 +235,7 @@ class _RocketChatClientService {
this.ws.connected = false
console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
},
onerror: (event: any) => {
console.log(`[error] ${event.message}`);
}
@@ -245,4 +245,4 @@ class _RocketChatClientService {
}
export const RocketChatClientService = new _RocketChatClientService()
export const RocketChatClientService = new _RocketChatClientService()