ホームページ > バックエンド開発 > PHPチュートリアル > WeChat 開発モデルに関する PHP コード

WeChat 開発モデルに関する PHP コード

WBOY
リリース: 2016-06-23 13:58:20
オリジナル
953 人が閲覧しました

うわー
コードは N 回チェックされましたが、どの関数も実装できませんでした。神様、助けてください〜 さらに、ナビゲーションを実現するためにWeChatを使用して百度地図を呼び出すことはできません 一緒にお手伝いできればもっと良いでしょう


ディスカッションに返信(解決策)

$keyword
Take a出力を見てください

このコードは URL を入力して検証に合格するためのもので、検証に合格した後、このコードを変更できます。

<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();//$wechatObj->valid();$wechatObj->responseMsg();class wechatCallbackapiTest{	public function valid()    {        $echoStr = $_GET["echostr"];        //valid signature , option        if($this->checkSignature()){        	echo $echoStr;        	exit;        }    }    public function responseMsg()    {		//get post data, May be due to the different environments		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];      	//extract post data		if (!empty($postStr)){                              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);                $fromUsername = $postObj->FromUserName;                $toUsername = $postObj->ToUserName;				$type =$postObj->MsgType;				$customevent = $postObj->Event;				$latitude =$postObj->Location_X;				$longitude =$postObj->Location_Y;                $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>";             			switch($type)			{			case "event";			if($customevent == "subscribe")			{$contentStr = "感谢关注"}			break;			case "image"			$contentStr ="图片很棒";		    break;			case "location";			$contentStr ="{$latitude},{longitude}";			break;			case "text";			switch($keyword)			{case "1"			 $contentStr="1"			 break;			 case "2"			 $contentStr ="2"			 break;			 default;			 $contentStr= "hi";}			 break;			 }			 $msgType = "text";			 $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);			 echo $resultStr;			 }else             	              {        	echo "";        	exit;        }    }			private function checkSignature()	{        $signature = $_GET["signature"];        $timestamp = $_GET["timestamp"];        $nonce = $_GET["nonce"];	        				$token = TOKEN;		$tmpArr = array($token, $timestamp, $nonce);		sort($tmpArr, SORT_STRING);		$tmpStr = implode( $tmpArr );		$tmpStr = sha1( $tmpStr );				if( $tmpStr == $signature ){			return true;		}else{			return false;		}	}}?>
ログイン後にコピー
に変更するだけです

WeChatのパブリックアカウントは、ユーザーの身元を識別できる特別なブラウザーとしてのみ認識できます。認識したい機能のほとんどはWebサイトを構築するときと同じですが、入り口が異なります。 Baidu のナビゲーションが必要な場合は、Web サイトを Baidu インターフェイス http://api.map.baidu.com/lbsapi/cloud/webservice-placeapi.htm に接続する必要があります。位置メッセージ。

WeChat でメニューを作成したい場合は、ここを参照してください http://pan.baidu.com/s/1eQd12wy

コードに問題があります。ケース「1」: 代わりにコロンを使用する必要があります。他に問題はありません

デフォルト:
$contentStr= "hi"; も変更する必要があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート