Documentación de eventos WebSocket
import { io } from 'socket.io-client'; const socket = io('http://localhost:3001', { transports: ['websocket'], reconnection: true, reconnectionAttempts: 5, reconnectionDelay: 1000 });
socket.emit('register-pin', { pin: 'ABC123', emojiString: '😀😎🎉' });
socket.emit('cancel-auth', { pin: 'ABC123' });
socket.on('pin-registered', (data) => { console.log('PIN registrado:', data); // { // success: true, // pinId: 'abc123', // expiresIn: 180 // } });
socket.on('auth-success', (data) => { console.log('Autenticado:', data); // { // success: true, // verified: true, // token: 'eyJhbGciOiJIUzI1NiIs...', // refreshToken: 'eyJhbGciOiJIUzI1NiIs...', // user: { // id: '123', // name: 'Juan', // phone: '+1234567890' // } // } });
socket.on('pin-expired', () => { console.log('El PIN ha expirado'); // Mostrar mensaje al usuario // Ofrecer generar nuevo PIN });
socket.on('pin-error', (data) => { console.error('Error:', data); // { // error: 'Mensaje de error', // code: 'ERROR_CODE', // status: 400 // } });
socket.on('auth-cancelled', () => { console.log('Autenticación cancelada'); });
import { io } from 'socket.io-client'; const socket = io('http://localhost:3001'); // Eventos de conexión socket.on('connect', () => { console.log('Conectado al servidor'); }); socket.on('disconnect', () => { console.log('Desconectado del servidor'); }); socket.on('connect_error', (error) => { console.error('Error de conexión:', error); }); // Eventos de autenticación socket.on('pin-registered', (data) => { console.log('PIN registrado:', data.pinId); }); socket.on('auth-success', (data) => { console.log('Autenticado como:', data.user.name); // Guardar tokens localStorage.setItem('token', data.token); // Redirigir al dashboard window.location.href = '/dashboard'; }); socket.on('pin-expired', () => { console.log('PIN expirado'); // Mostrar mensaje al usuario }); socket.on('pin-error', (data) => { console.error('Error:', data.error); }); // Enviar PIN function registerPin(pin: string, emojiString: string) { socket.emit('register-pin', { pin, emojiString }); } // Cancelar function cancelAuth(pin: string) { socket.emit('cancel-auth', { pin }); }
const socket = io('http://localhost:3001', { reconnection: true, reconnectionAttempts: 5, reconnectionDelay: 1000, reconnectionDelayMax: 5000, randomizationFactor: 0.5 }); socket.on('reconnect', (attemptNumber) => { console.log('Reconectado después de', attemptNumber, 'intentos'); }); socket.on('reconnect_error', (error) => { console.error('Error al reconectar:', error); });