JavaScript

Mostrar el historial de mensajes

Quieres que tus usuarios vean todos los mensajes de la Conversación. Puedes conseguirlo manejando la Conversación de getEvents (para recuperar los mensajes enviados y recibidos antes del inicio de la sesión actual) y su método message (que avisa a tu aplicación cuando un usuario envía un mensaje).

En caso de que el número de mensajes sea superior al tamaño de página de la petición, puede utilizar getNext() para recibir la página siguiente. Más información getNext() en el documentación. Esta función es llamada cuando se pulsa el botón Cargar Mensajes Anteriores. Coloque este código después de la función loginForm y antes del evento run función.

Tu aplicación puede recuperar el detalle del mensaje a partir de los datos del evento enviados a cada manejador y añadirlo a la lista de mensajes.

Para listar los mensajes, crearemos un listMessages que tomará una página de eventos y realizará algunos pasos.

En primer lugar, si la página de eventos tiene mensajes en una página siguiente, el botón "Cargar mensajes anteriores" estará visible. Para ello hasNext() es llamado y devuelve un booleano basado en si hay otra página de mensajes. Puede encontrar más información sobre hasNext() en el documentación.

A continuación, realizará un bucle a través de los eventos, les dará formato y los combinará y, después, los añadirá a la lista de mensajes.

Añade el siguiente código al final de chat.js:

En este ejemplo, utilizarás la identidad del usuario para distinguir entre los mensajes enviados por él y los recibidos de otros usuarios mostrándolos en un color diferente. Cree un formatMessage para ello, añadiendo el siguiente código al final de chat.js:

Ahora que ya ha implementado una forma de mostrar mensajes en la página, añada lo siguiente al final de la página run para cargar mensajes históricos:

Por último, es necesario configurar un receptor de eventos para cualquier nuevo mensaje entrante. Puedes hacerlo escuchando el evento conversation.on('message') evento. Esto también actualizará el recuento de mensajes. Añade lo siguiente al final del archivo run función: