WeChat 공개 계정에 수동 답장을 설정하는 방법
안녕하세요! 귀하의 질문에 답변해 드리게 되어 매우 기쁩니다. get 요청을 처리하는 목적은 WeChat 서버와 공식 계정 서버를 연결하는 것입니다. 직설적으로 말하면 비밀번호 확인 과정입니다. WeChat 서버가 "The King of Heaven Covers the Earthly Tigers"와 같은 메시지를 보내고 공식 계정 서버가 "Pagoda Town River Demon"이라는 메시지로 응답한다면 절대 작동하지 않습니다. 이 프로세스를 완료하려면 다른 사람이 알지 못하는 토큰을 사용해야 합니다. 요청에 전송된 서명이 유효한 것으로 확인되면 echostr이 반환됩니다. 사람을 잘못 인정했을 수도 있어요!" 그렇다면 WeChat 공식 계정의 수동 응답을 올바르게 설정하는 방법은 무엇입니까? 다음으로 Nanchang WeChat Development Company - Baiheng Network에 대해 자세히 설명하겠습니다.
게시물 요청을 처리하는 것은 사용자가 보낸 메시지나 발생한 이벤트에 응답하여 사용자가 공식 계정 서버에서 즐거운 시간을 보낼 수 있도록 하기 위한 것입니다. 하지만 이러한 메시지와 이벤트는 xml로 전송되고 응답도 xml 형식으로 캡슐화되어야 하므로 비즈니스 로직 외에도 xml 구문 분석 및 캡슐화도 처리해야 합니다.
xml 파싱이라고 하면 express-xml-bodyparser 같은 미들웨어가 존재하는데 이 휠은 우리 연구 범위가 아니기 때문에 그냥 가져다가 직접 사용했습니다.
그리고 두 번째 항목은 비즈니스 로직 부분만 다르기 때문에 나머지 부분은 웹챗처럼 범용적으로 사용할 수 있는 라이브러리를 구축하면 됩니다. 이 라이브러리에 대한 요구 사항도 매우 간단합니다.
서명을 확인할 수 있습니다.
json 형식의 메시지를 제공할 수 있습니다.
다음 형식으로 메시지를 반환할 수 있습니다. json 형식을 xml로 캡슐화
그리고 이 라이브러리의 사용법은 다음과 같습니다.
요청 처리 기능에서 서명을 확인하는 데 필요한 데이터를 제공하고 그것이 참인지 거짓인지 알려줍니다.
요청 게시 처리 기능에 메시지나 이벤트를 주고, 반환할 XML 데이터를 우리에게 주도록 합니다.
처리할 때 메시지 또는 이벤트에 대해 우리가 제공하는 메시지를 호출할 수 있습니다. 또는 이벤트 처리 함수를 호출하여 json 형식으로 메시지를 제공하고 함수에서 반환되는 json 결과를 받을 수 있습니다.
위의 두 가지 고려 사항을 바탕으로 ES를 사용하세요. 템플릿 메소드 패턴을 구현하기 위한 6개의 클래스. 이 클래스는 WeChat 서버에 서비스를 제공하는 역할을 담당하므로 Waiter라고 부르기로 결정했습니다. Waiter 클래스에는 세 가지 메소드가 있습니다:
verifySignature: 서명 확인
프로세스: 수신된 메시지를 처리하고, 비즈니스 로직을 호출하고, 반환을 위해 반환 결과를 xml로 캡슐화합니다.
populateReply: 프로세스에 의해 호출되며 하위 클래스에 의해 구현될 비즈니스 로직이 여기에 배치됩니다.