이 기사의 예에서는 WeChat 공개 플랫폼에서 팔로우 및 언팔로우 이벤트를 개발하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
사용자가 공개 계정을 팔로우하거나 언팔로우하면 WeChat은 개발자가 입력한 URL에 이 이벤트를 푸시하므로 개발자는 사용자에게 환영 메시지를 보내거나 계정 바인딩을 해제할 수 있습니다.
다음은 WeChat 공개 플랫폼에서의 팔로우 및 언팔로우의 예입니다.
define("TOKEN", "w3note");//식별 정의 코드
$wechatObj = new wechatCallbackapiTest();//wechatCallbackapiTest 클래스 인스턴스화
if(!isset($_GET["echostr"])){
$wechatObj->응답Msg()
}그밖에{
$wechatObj->유효()
}
wechatCallbackapiTest 클래스
{
공개 함수 valid()
{
$echoStr = $_GET["echostr"]
If($this->checkSignature()){
echo $echoStr;
종료
}
}
공개 함수 responseMsg()//수신자 메서드 실행
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]
If (!emptyempty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA)
$RX_TYPE = 트림($postObj->MsgType)
스위치($RX_TYPE){
사례 "이벤트":
$result = $this->receiveEvent($postObj)
빵
}
에코 $결과;
}그밖에{
에코
종료
}
}
개인 함수 receiveEvent($object){
$content = ""
스위치($postObj->이벤트){
케이스 "구독":
$content = "블로그 팔로우를 환영합니다"; //팔로워에게 보내는 메시지입니다
휴식
케이스 "구독 취소":
$content = ""
휴식
}
$result = $this->transmitText($object,$content)
$결과 반환
}
개인 함수 submitText($object,$content){
$textTpl = "
~
%s
~
<콘텐츠>
>
";
$result = sprintf($textTpl, $object->FromUserName, $object->$ToUserName, time(), $content)
$결과 반환
}
개인 함수 checkSignature()
{
$signature = $_GET["서명"]
$timestamp = $_GET["타임스탬프"]
$nonce = $_GET["nonce"]
$토큰 = 토큰
$tmpArr = 배열($token, $timestamp, $nonce)
정렬($tmpArr, SORT_STRING)
$tmpStr = 파열( $tmpArr );
$tmpStr = sha1( $tmpStr )
if( $tmpStr == $signature ){
true를 반환합니다.
}그밖에{
거짓 반환
}
}
}
코드 관련 매개변수 설명:
参数 |
描述 |
ToUserName |
开发者微信号 |
FromUserName |
发送方帐号(一个OpenID) |
CreateTime |
消息创建时间 (整型) |
MsgType |
消息类型,event |
Event |
事件类型,subscribe(订阅)、unsubscribe(取消订阅) |
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.