diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index 1e42b2737..84982676f 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -37,17 +37,11 @@ export class AuthService { this.ValidatedUser = SessionStore.user console.log('login', SessionStore.user.RochetChatUser, SessionStore.user.Password) - this.WsChatService.connect(()=>{ - - this.WsChatService.login({ - username: SessionStore.user.RochetChatUser, - password: SessionStore.user.Password - }).then((message) => { - console.log('rocket chat login successfully', message) - }).catch((message)=>{ - console.log('rocket chat login failed', message) - }) - + this.WsChatService.connect(); + this.WsChatService.login().then((message) => { + console.log('rocket chat login successfully', message) + }).catch((message)=>{ + console.log('rocket chat login failed', message) }) } @@ -116,18 +110,11 @@ export class AuthService { } - this.WsChatService.connect(()=>{ - - this.WsChatService.login({ - username: SessionStore.user.RochetChatUser, - password: user.password - }).then((message) => { - console.log('rocket chat login successfully', message) - }).catch((message)=>{ - console.log('rocket chat login failed', message) - }).finally(()=>{ - }) - + this.WsChatService.connect(); + this.WsChatService.login().then((message) => { + console.log('rocket chat login successfully', message) + }).catch((message)=>{ + console.log('rocket chat login failed', message) }) diff --git a/src/app/services/chat/ws-chat.service.ts b/src/app/services/chat/ws-chat.service.ts index 237862fe6..76639409a 100644 --- a/src/app/services/chat/ws-chat.service.ts +++ b/src/app/services/chat/ws-chat.service.ts @@ -3,21 +3,20 @@ import { v4 as uuidv4 } from 'uuid' import { wsCallbacksParams, msgQueue } from 'src/app/models/rochet-chat-cliente-service' import { deepFind } from 'src/plugin/deep' import { environment } from 'src/environments/environment'; +import { SessionStore } from 'src/app/store/session.service'; + @Injectable({ providedIn: 'root' }) export class WsChatService { - - private firstPingFunx: Function isLogin = false; constructor() {} - connect(firstPingFunx: Function) { - this.firstPingFunx = firstPingFunx // + connect() { - this.ws.connect(environment.apiWsChatUrl); + this.ws.connect(); const connectMessage = { msg: "connect", @@ -27,14 +26,10 @@ export class WsChatService { this.ws.send(connectMessage, 'connect', false) this.ws.send({msg:"pong"},'recoonect', false) - firstPingFunx() - } - login(user) { - + login() { const requestId = uuidv4() - this.isLogin = false const loginRequest = { msg: "method", @@ -42,8 +37,8 @@ export class WsChatService { id: requestId, params: [ { - user: { username: user.username }, - password: user.password + user: { username: SessionStore.user.RochetChatUser }, + password: SessionStore.user.Password } ] } @@ -52,6 +47,7 @@ export class WsChatService { return new Promise((resolve, reject) => { this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ if(message.id == requestId ) { // same request send + console.log('message login', message) if(message.result.token) { this.isLogin = true @@ -290,9 +286,8 @@ export class WsChatService { } }, - connect:(url)=> { - this.wsUrl = url - this.socket = new WebSocket(this.wsUrl); + connect:()=> { + this.socket = new WebSocket(environment.apiWsChatUrl); // bind function this.socket.onopen = this.ws.onopen; this.socket.onmessage = this.ws.onmessage; @@ -302,6 +297,7 @@ export class WsChatService { onopen:()=> { this.ws.connected = true console.log('================== welcome to socket server =====================') + this.ws.wsMsgQueue() }, wsMsgQueue:()=> { @@ -350,8 +346,9 @@ export class WsChatService { onclose:(event: any)=> { - this.connect(this.firstPingFunx()) - + this.connect() + this.login() + this.ws.connected = false console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`); },