diff --git a/core/wechat.lib.php b/core/wechat.lib.php index 74b2ca5..c202557 100644 --- a/core/wechat.lib.php +++ b/core/wechat.lib.php @@ -3,7 +3,7 @@ namespace LaneWeChat\Core; // Wechat类定义,用于处理微信相关功能 -class Wechat{ +class Wechat { // 私有属性,用于调试模式和请求数据 private $debug; private $request; @@ -65,8 +65,7 @@ class Wechat{ } // 公共方法checkSignature,用于检查签名 - public function checkSignature() - { + public function checkSignature() { // 获取微信服务器发送的signature、timestamp、nonce参数 $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; @@ -78,17 +77,26 @@ class Wechat{ $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); // 将组合后的字符串转为sha1签名 - $tmpStr = implode( $tmpArr ); - $tmpStr = sha1( $tmpStr ); + $tmpStr = implode($tmpArr); + $tmpStr = sha1($tmpStr); // 比较计算出的签名和微信服务器发送的签名 - if( $tmpStr == $signature ){ + if ($tmpStr == $signature) { // 如果签名匹配,返回echostr给微信服务器 echo $_GET['echostr']; return true; - }else{ + } else { // 如果签名不匹配,返回false return false; } } -} \ No newline at end of file +} +命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,用于组织代码。 +类定义:class Wechat 定义了一个用于处理微信相关功能的类。 +私有属性:private $debug; 和 private $request; 分别用于存储调试模式和请求数据。 +构造函数:public function __construct($token, $debug = FALSE) 初始化Wechat对象,验证微信服务器的请求并解析微信发送的XML数据。 +isValid方法:private function isValid() 检查是否是微信服务器的验证请求。 +validateSignature方法:private function validateSignature($token) 验证微信服务器发送的签名。 +getRequest方法:protected function getRequest($param = FALSE) 获取请求参数,如果没有指定参数,则返回所有请求参数。 +run方法:public function run() 处理微信请求,根据请求类型分发处理。 +checkSignature方法:public function checkSignature() 检查签名,验证微信服务器发送的签名是否匹配。 \ No newline at end of file