WeChat パブリック プラットフォームは、個人、企業、組織にビジネス サービスとユーザー管理機能を提供する新しいサービス プラットフォームです。 WeChat パブリック プラットフォームには、主にリアルタイム コミュニケーション、メッセージ送信、マテリアル管理が含まれます。ユーザーは、公開アカウントのファンをグループ化して管理し、リアルタイムでコミュニケーションすることができます。また、ユーザー情報に自動的に返信する編集モードや開発モードなどの高度な機能も使用できます。 「Chuanzhi と Dark Horse WeChat パブリック プラットフォーム開発ビデオ チュートリアル」は、Chuanzhi Podcast と Dark Horse Programmers が共同制作した WeChat パブリック プラットフォーム開発ビデオ チュートリアルです。
コース再生アドレス: http://www.php.cn/course/320.html
先生の教え方:
講義はフレンドリーで自然で、気取らず、気取らないものです。意図的に誇張するのではなく、雄弁かつ詳細に話し、教師と生徒は平等、協力、調和の雰囲気の中で静かに感情的な交流を行い、知識の渇望と探求をシンプルさと信頼性の中に統合します。 教育現場では、生徒は知識を獲得します。静かな思考と静かな承認を通じて
このビデオのより難しい点は、WeChat API インターフェイスの分析です。
WeChat 入口バインディング、WeChat イベント処理、およびこれらのファイルに含まれるすべての WeChat API 操作です。
WeChat 支払い、WeChat 赤い封筒、WeChat カードとクーポン、WeChat ストア。
1.index.php
<?php include_once 'lib.inc.php'; $wcObj = new WeChat("YOUKUIYUAN"); $wcObj->wcValid();
2.WeChat入門クラス
<?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; } }
以上がChuanzhi と Dark Horse による WeChat パブリック プラットフォーム開発に関する推奨ビデオ チュートリアル リソースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。