Die öffentliche WeChat-Plattform ist eine neue Serviceplattform, die Geschäftsdienste und Benutzerverwaltungsfunktionen für Einzelpersonen, Unternehmen und Organisationen bereitstellt. Die öffentliche Plattform WeChat umfasst hauptsächlich Echtzeitkommunikation, Nachrichtenversand und Materialverwaltung. Benutzer können Fans öffentlicher Konten gruppieren und verwalten und in Echtzeit kommunizieren. Sie können auch erweiterte Funktionen nutzen – den Bearbeitungsmodus und den Entwicklungsmodus, um automatisch auf Benutzerinformationen zu antworten. „Video-Tutorial zur Entwicklung öffentlicher WeChat-Plattformen von Chuangzhi und Dark Horse“ ist ein Video-Tutorial zur Entwicklung öffentlicher WeChat-Plattformen, das gemeinsam von Chuanzhi Podcast und Dark Horse Programmers produziert wurde.
Adresse für die Kurswiedergabe: http://www.php.cn/course/320.html
Der Unterrichtsstil des Lehrers:
Die Vorträge sind freundlich und natürlich, unprätentiös, nicht anmaßend oder absichtlich übertrieben, sondern sprechen eloquent und sorgfältig zwischen Lehrern und Schülern. In einer Atmosphäre der Gleichberechtigung, Zusammenarbeit und Harmonie, stiller emotionaler Austausch werden durchgeführt und der Wunsch und die Erforschung von Wissen werden in einfache und reale Unterrichtssituationen integriert. Die Schüler erlangen Wissen durch stilles Denken und stille Zustimmung.
Der schwierigere Punkt In diesem Video finden Sie die Analyse der WeChat-API-Schnittstelle:
WeChat-Portalbindung, WeChat-Ereignisverarbeitung und alle WeChat-API-Operationen sind in diesen Dateien enthalten.
WeChat-Zahlung, rote WeChat-Umschläge, WeChat-Karten und Gutscheine, WeChat-Shop.
1. index.php
<?php include_once 'lib.inc.php'; $wcObj = new WeChat("YOUKUIYUAN"); $wcObj->wcValid();
2. WeChat-Eingangsklasse
<?php /** * Description of wechat * * @author Administrator */ class WeChat extends WxApi{ public $token = ""; //put your code here public function __construct($token = "") { parent::__construct(); $this->token = $token; } public function wcCheckSignature(){ try{ if (empty($this->token)) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = $this->token; $tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } catch (Exception $e) { echo 'Message: ' .$e->getMessage(); } } public function wcValid(){ $echoStr = isset($_GET["echostr"]) && !empty($_GET["echostr"]) ? addslashes($_GET["echostr"]) : NULL; if(is_null($echoStr)){ $this->wcMsg(); } else{ //valid signature , option if($this->wcCheckSignature()){ echo $echoStr; exit; } else{ exit(); } } } public function wcMsg(){ //get post data, May be due to the different environments $postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : ""; if(!empty($postStr)){ libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $this->zcLog(TRUE,$postObj); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $MsgType = $postObj->MsgType; if($MsgType == 'event'){//执行事件相应 $Event = $postObj->Event; switch ($Event) { case 'subscribe'://关注 break; case 'unsubscribe'://取消关注 break; case 'SCAN'://扫描 break; case 'LOCATION'://地址 break; case 'CLICK'://点击时间 break; case 'VIEW'://跳转 break; case 'card_pass_check'://卡券审核通过 break; case 'card_not_pass_check'://卡券审核失败 break; case 'user_get_card'://用户领取卡券 break; case 'user_del_card'://用户删除卡券 break; case 'user_view_card'://用户浏览会员卡 break; case 'user_consume_card'://用户核销卡券 break; case 'merchant_order'://微小店用户下单付款 break; default: break; } } else{ switch ($MsgType) { case 'text'://文本格式 break; case 'image'://图片格式 break; case 'voice'://声音 break; case 'video'://视频 break; case 'shortvideo'://小视频 break; case 'location'://上传地理位置 break; case 'link'://链接相应 break; default: break; } } //////////////////////////////////////////////////////////////////// $keyword = trim($postObj->Content); $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if(!empty( $keyword )){ $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else{ echo "Input something..."; } //////////////////////////////////////////////////////////////////// } else{ echo "暂时没有任何信息!"; exit; } } //日志LOG public function zcLog($errcode , $errmsg){ $this->returnAy = array(); $this->returnAy['errcode'] = $errcode; $this->returnAy['errmsg'] = $errmsg; $this->returnAy['errtime'] = date("Y-m-d H:i:s",time()); $logfile = fopen("logfile_".date("Ymd",time()).".txt", "a+"); $txt = json_encode($this->returnAy)."\n"; fwrite($logfile, $txt); fclose($logfile); //return $this->returnAy; } }
Das obige ist der detaillierte Inhalt vonEmpfohlene Video-Tutorial-Ressourcen für die Entwicklung der öffentlichen WeChat-Plattform von Chuanzhi und Dark Horse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!