Red de conocimiento informático - Conocimiento informático - Cómo configurar respuestas pasivas para cuentas públicas de WeChat

Cómo configurar respuestas pasivas para cuentas públicas de WeChat

¡Hola! Estaré encantado de responder a su pregunta. El propósito de procesar la solicitud de obtención es conectar el servidor WeChat y el servidor de la cuenta oficial. Para decirlo sin rodeos, es el proceso de verificación de contraseña. Si el servidor WeChat envía un mensaje como "El Rey del Cielo cubre a los tigres de la Tierra", y nuestro servidor de cuenta oficial responde con un mensaje de "Pagoda Town River Demon", eso definitivamente no va a funcionar. Para completar este proceso, debe usar un token que nadie más conoce. Si se verifica que la firma enviada en la solicitud es válida, devuélvale el echostr. Si no es válido, responda "Es posible que haya admitido el. ¡Persona equivocada!". Entonces, ¿cómo configurar correctamente la respuesta pasiva de la cuenta oficial de WeChat? A continuación, Nanchang WeChat Development Company - Baiheng Network lo explicará en detalle.

Procesar solicitudes de publicación es responder a los mensajes enviados por los usuarios o eventos desencadenados, para que los usuarios puedan divertirse jugando con nuestro servidor de cuentas oficial. Pero debido a que estos mensajes y eventos se envían en xml y la respuesta debe encapsularse en formato xml, además de la lógica empresarial, también se deben procesar el análisis y la encapsulación xml.

Hablando de análisis xml, debido a que existe middleware como express-xml-bodyparser, y esta rueda no está en nuestro alcance de estudio, simplemente la tomamos y la usamos directamente.

Además, dado que solo la parte de lógica de negocios del segundo elemento es diferente, para las otras partes podemos crear una biblioteca para uso general como webchat. Nuestros requisitos para esta biblioteca también son muy simples:

Puede verificar la firma

Puede proporcionarnos mensajes en formato json

Puede devolver mensajes en formato json Encapsulado en xml

Y el uso de esta biblioteca, esperamos ser:

En la función de procesamiento de solicitud de obtención, proporcione los datos necesarios para verificar la firma y deje que nos dice si es verdadero o falso

Dale el mensaje o evento en la función de procesamiento de solicitud posterior y deja que nos dé los datos XML que se devolverán

Cuando procese el mensaje o evento, puede llamar al mensaje que proporcionamos o a la función de procesamiento de eventos, enviarnos un mensaje en formato json y recibir el resultado json devuelto por nuestra función

Basado en las dos consideraciones anteriores, use ES 6 clases para implementar el patrón del método de plantilla. Debido a que esta clase es responsable de brindar servicios al servidor WeChat, decidimos llamarla Waiter. Nuestra clase Waiter tiene tres métodos:

verifySignature: verificar la firma

proceso: procesa el mensaje recibido, llama a la lógica empresarial y encapsula el resultado devuelto en xml para su devolución

populateReply: llamado por el proceso, la lógica de negocios que implementará la subclase se coloca aquí