updating login
This commit is contained in:
parent
9bf7496899
commit
bb9769e917
22 changed files with 316 additions and 362 deletions
6
src/modules/emitter.ts
Normal file
6
src/modules/emitter.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
/* eslint-disable */
|
||||
const EventEmitter = require('events');
|
||||
|
||||
class BackgroundMitt extends EventEmitter { }
|
||||
|
||||
export const backgroundMitt = new BackgroundMitt();
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { RenderMessage, ClientMessage } from "@/types/message/index";
|
||||
import { RenderMessage, ClientMessage, AuthRequest, LogoutRequest } from "@/types/message/index";
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
function getTimeStamp(): number {
|
||||
|
|
@ -27,4 +27,18 @@ export const clientMessage = (text: string, audio: string | boolean, uid: string
|
|||
text,
|
||||
uid
|
||||
}
|
||||
)
|
||||
|
||||
export const authRequest = (key: boolean | string, usr: boolean | string, pwd: boolean | string): AuthRequest => (
|
||||
{
|
||||
key,
|
||||
usr,
|
||||
pwd
|
||||
}
|
||||
)
|
||||
|
||||
export const logoutRequest = (): LogoutRequest => (
|
||||
{
|
||||
logout: true
|
||||
}
|
||||
)
|
||||
|
|
@ -7,40 +7,49 @@ let socket: WebSocket;
|
|||
|
||||
|
||||
// Run every time we want to connect to backend.
|
||||
export default function useWebSockets(receiveCallback: (s: string) => any) {
|
||||
export default function useWebSockets(receiveCallback: (s: string) => any, openCallback: () => any) {
|
||||
|
||||
const sendMessage = (data: string) => {
|
||||
// Returns bool (sucess or fail).
|
||||
const sendMessage = (data: any) => {
|
||||
console.log("WS:Sending message: ", data)
|
||||
|
||||
console.log("Sending message: ", data)
|
||||
|
||||
socket.send(data)
|
||||
if (socket.readyState !== 1) {
|
||||
return false
|
||||
}
|
||||
|
||||
else {
|
||||
socket.send(JSON.stringify(data))
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const onOpen = (event: WebSocket.OpenEvent) => {
|
||||
|
||||
console.log('Connected to Server!');
|
||||
console.log("WS:Connected to WS Server!");
|
||||
|
||||
openCallback()
|
||||
|
||||
}
|
||||
|
||||
const onServerMessage = (event: WebSocket.MessageEvent) => {
|
||||
|
||||
console.log('Message received: ', event);
|
||||
console.log("WS:Message received: ", event.data);
|
||||
|
||||
receiveCallback(event.data.toString())
|
||||
|
||||
}
|
||||
|
||||
const onClose = (event: WebSocket.CloseEvent) => {
|
||||
console.log("Socket closed normally.")
|
||||
console.log("WS:Socket closed normally.")
|
||||
}
|
||||
|
||||
// Reconnect automatically on error.
|
||||
const onError = (event: WebSocket.ErrorEvent) => {
|
||||
console.log('WebSocket error: ', event);
|
||||
console.log("WS:WebSocket error: ", event.message);
|
||||
|
||||
console.log("Reconnecting...")
|
||||
createSocket()
|
||||
console.log("Attempting reconnect in 1s.")
|
||||
setTimeout(createSocket, 1000)
|
||||
}
|
||||
|
||||
const createSocket = () => {
|
||||
|
|
@ -50,9 +59,9 @@ export default function useWebSockets(receiveCallback: (s: string) => any) {
|
|||
socket.addEventListener("open", onOpen)
|
||||
socket.addEventListener("message", onServerMessage)
|
||||
socket.addEventListener("close", onClose)
|
||||
socket.addEventListener("error", createSocket)
|
||||
socket.addEventListener("error", onError)
|
||||
|
||||
console.log("New socket created.")
|
||||
console.log("WS:New socket created.")
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
Loading…
Reference in a new issue