微信開發1 (接入微信)
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->run();
class wechatCallbackapiTest
{
public function run()
{
if($this->checkSignature()==false){
die('非法請求');
}
if(isset($_GET["echostr"])){
$echoStr = $_GET["echostr"];
echo $echoStr;
exit;
}
else{
$this->responseMsg();
}
// $echoStr = $_GET["echostr"];
// //valid signature , option
// if($this->checkSignature()){
// echo $echoStr;
// exit;
// }else{
// $this->responseMsg();
// }
}
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;
$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;
}
}
private function checkSignature()
{
if(!isset($_GET["signature"]) || !isset($_GET["timestamp"]) || !isset($_GET["nonce"]))
{
return false;
}
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
第一步:填寫伺服器配置
第二步:驗證訊息的確來自微信伺服器
第三步:依據介面文件實現業務邏輯
相關文章
- 微信小遊戲開發(1)遊戲開發
- Senparc.Weixin微信開發(1) 開發驗證
- 微信開發之微信域名防封介面
- 微信開發-微信網頁開發-授權多次回撥網頁
- 巧用Koa接管“對接微信開發”的工作 - 多使用者微信JS-SDK API服務JSAPI
- 微信開發:清除微信瀏覽器快取瀏覽器快取
- 西安微信開發方案
- PHP微信支付開發PHP
- 微信小程式開發微信小程式
- PHP接入微信支付分PHP
- java如何對接企業微信Java
- 微信開發系列之一 - 微信公眾號開發的開發環境搭建開發環境
- 在swift中接入微信開源庫MarsSwift
- Flutter開發實戰 高仿微信(1)首頁Flutter
- 微信開發超市全反系統,微信支付刷卡支付,微信介面簡單配置!
- 微信公眾號開發5-自定義選單-微信開發phpPHP
- 微信小程式開發系列六:微信框架API的呼叫微信小程式框架API
- 微信公眾號開發
- 微信小程式開發2微信小程式
- angularjs + thinkphp + ionic微信開發AngularJSPHP
- 微信小程式開發教程微信小程式
- .Net微信網頁開發之使用微信JS-SDK呼叫微信掃一掃功能網頁JS
- .Net微信網頁開發之使用微信JS-SDK自定義微信分享內容網頁JS
- 前端對接微信分享功能完全指南前端
- 微信app支付 java後臺接AndroidAPPJavaAndroid
- PHP對接微信掃碼登入PHP
- alertmanager對接企業微信,釘釘
- 基於THINKPHP5 多微信開發框架,讓微信開發飛起來PHP框架
- Android 接入微信支付寶支付Android
- 微信公眾號開發 —— 微信網頁授權小記網頁
- 微信開發系列之七 - 使用Redis儲存微信聊天記錄Redis
- 微信開發介面API協議API協議
- Nodejs微信公眾號開發NodeJS
- .net開發微信公眾號
- 微信小遊戲開發(2)遊戲開發
- 微信小遊戲開發(3)遊戲開發
- 使用mpvue開發微信小程式Vue微信小程式
- 微信小程式開發--『狗蛋TV』微信小程式