{"id":28935,"date":"2024-11-25T16:28:02","date_gmt":"2024-11-25T08:28:02","guid":{"rendered":"https:\/\/fwq.ai\/blog\/28935\/"},"modified":"2024-11-25T16:28:02","modified_gmt":"2024-11-25T08:28:02","slug":"%e5%88%86%e4%ba%ab%e4%b8%80%e4%b8%aa%e5%ae%8c%e6%95%b4%e7%9a%84%e5%be%ae%e4%bf%a1%e5%bc%80%e5%8f%91php%e4%bb%a3%e7%a0%81","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/28935\/","title":{"rendered":"\u5206\u4eab\u4e00\u4e2a\u5b8c\u6574\u7684\u5fae\u4fe1\u5f00\u53d1php\u4ee3\u7801"},"content":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u5206\u4eab\u4e00\u4e2a\u5b8c\u6574\u7684\u5fae\u4fe1\u5f00\u53d1\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b<\/p>\n<p>\u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u5fae\u4fe1\u5f00\u53d1php\u4ee3\u7801\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><\/p>\n<pre>&lt;?php   \/\/\u5c01\u88c5\u6210\u4e00\u4e2a\u5fae\u4fe1\u63a5\u53e3\u7c7b\r\n \r\n  class WeixinApi\r\n  {\r\n    private $appid;\r\n    private $appsecret; \r\n \r\n    \/\/\u6784\u9020\u65b9\u6cd5 \u521d\u59cb\u5316\u8d4b\u503c\r\n    public function construct($appid=\"\",$appsecret=\"\")\r\n    {\r\n      $this-&gt;appid&nbsp;=&nbsp;$appid;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;appsecret&nbsp;=&nbsp;$appsecret;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u9a8c\u8bc1\u670d\u52a1\u5668\u5730\u5740\u6709\u6548\u6027\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;valid()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&amp;gt;checkSignature())\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$echostr&nbsp;=&nbsp;$_GET['echostr'];\/\/\u968f\u673a\u7684\u5b57\u7b26\u4e32\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$echostr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;\"Error\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u68c0\u67e5\u7b7e\u540d\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;checkSignature()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e00\u3001\u63a5\u6536\u5fae\u4fe1\u670d\u52a1\u5668GET\u65b9\u5f0f\u63d0\u4ea4\u8fc7\u6765\u76844\u4e2a\u53c2\u6570\u6570\u636e\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$signature&nbsp;=&nbsp;$_GET['signature'];\/\/\u5fae\u4fe1\u52a0\u5bc6\u7b7e\u540d\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$timestamp&nbsp;=&nbsp;$_GET['timestamp'];\/\/\u65f6\u95f4\u6233\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nonce&nbsp;=&nbsp;$_GET['nonce'];\/\/\u968f\u673a\u6570\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e8c\u3001\u52a0\u5bc6\/\u6821\u9a8c\u8fc7\u7a0b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;1.&nbsp;\u5c06token\u3001timestamp\u3001nonce\u4e09\u4e2a\u53c2\u6570\u8fdb\u884c\u5b57\u5178\u5e8f\u6392\u5e8f\uff1b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;bool&nbsp;sort&nbsp;(&nbsp;array&nbsp;&amp;amp;$array&nbsp;[,&nbsp;int&nbsp;$sort_flags&nbsp;=&nbsp;SORT_REGULAR&nbsp;]&nbsp;)&nbsp;\u5bf9\u6570\u7ec4\u6392\u5e8f&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmpArr&nbsp;=&nbsp;array(TOKEN,$timestamp,$nonce);\/\/\u5c06\u4e0a\u9762\u4e09\u4e2a\u53c2\u6570\u653e\u5230\u4e00\u4e2a\u6570\u7ec4\u91cc\u9762\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort($tmpArr,SORT_STRING);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;2.&nbsp;\u5c06\u4e09\u4e2a\u53c2\u6570\u5b57\u7b26\u4e32\u62fc\u63a5\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32\u8fdb\u884csha1\u52a0\u5bc6\uff1b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmpStr&nbsp;=&nbsp;implode($tmpArr);&nbsp;\/\/\u5c06\u6570\u7ec4\u8f6c\u5316\u6210\u5b57\u7b26\u4e32\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$signatureStr&nbsp;=&nbsp;sha1($tmpStr);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;3.&nbsp;\u5f00\u53d1\u8005\u83b7\u5f97\u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\u4e0esignature\u5bf9\u6bd4\u3002\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($signatureStr&nbsp;==&nbsp;$signature)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u54cd\u5e94\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;responseMsg()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u5fae\u4fe1\u670d\u52a1\u5668\u53d1\u9001POST\u8bf7\u6c42\u5230\u5f00\u53d1\u8005\u670d\u52a1\u5668\uff0c\u643a\u5e26\u7684XML\u6570\u636e\u5305\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$postData&nbsp;=&nbsp;$GLOBALS['HTTP_RAW_POST_DATA'];\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5904\u7406xml\u6570\u636e\u5305\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$xmlObj&nbsp;=&nbsp;simplexml_load_string($postData,\"SimpleXMLElement\",LIBXML_NOCDATA);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$xmlObj)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;\"\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6\u63a5\u6536\u6d88\u606f\u4e2d\u7684\u53c2\u6570\u5185\u5bb9\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$toUserName&nbsp;=&nbsp;$xmlObj-&amp;gt;ToUserName;\/\/\u5f00\u53d1\u8005\u5fae\u4fe1\u53f7\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fromUserName&nbsp;=&nbsp;$xmlObj-&amp;gt;FromUserName;\/\/\u53d1\u9001\u65b9\u7684\u5fae\u4fe1\u53f7\uff08openid\uff09\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$msgType&nbsp;=&nbsp;$xmlObj-&amp;gt;MsgType;\/\/\u6d88\u606f\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($msgType)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u6587\u672c\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'text':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6\u6587\u672c\u6d88\u606f\u7684\u5173\u952e\u5b57\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$keyword&nbsp;=&nbsp;$this-&amp;gt;receiveText($xmlObj);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8fdb\u884c\u5173\u952e\u5b57\u56de\u590d\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch($keyword)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;\"w001\":\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;\"W001\":\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyText($xmlObj,\"Hi~\u4f60\u597d\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;\"w002\":\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;\"W002\":\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyText($xmlObj,\"Hi~\u5c34\u5c2c\u4e86\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;\"\u7b11\u8bdd\":\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;\"dee9ebc68fd5a61f67286063932afe56\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyNews($xmlObj,$this-&amp;gt;joke_text($key));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;\"dee9ebc68fd5a61f67286063932afe56\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyNews($xmlObj,$this-&amp;gt;joke_text($key));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u56fe\u7247\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'image':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;receiveImage($xmlObj);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u4e8b\u4ef6\u63a8\u9001\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'event':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;receiveEvent($xmlObj);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u4e8b\u4ef6\u63a8\u9001\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;receiveEvent($obj)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u4e8b\u4ef6\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;$obj-&amp;gt;Event;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($event)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5173\u6ce8\u4e8b\u4ef6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'subscribe':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e0b\u53d1\u6b22\u8fce\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Title\"=&amp;gt;\"\u505a\u6709\u4ef7\u503c\u7684\u5934\u6761\u8d44\u8baf\uff01\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Description\"=&amp;gt;\"\u628a\u63e1\u4ef7\u503c\u5934\u6761\u8d44\u8baf\uff0c\u65e5\u5e38\u66f4\u52a0\u6709\u8c08\u8d44\u5462\uff01\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"PicUrl\"=&amp;gt;\"http:\/\/jober.applinzi.com\/news\/img\/news.png\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Url\"=&amp;gt;\"http:\/\/jober.applinzi.com\/news\/index.php\"\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u56de\u590d\u56fe\u6587\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyNews($obj,$newsArr);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u53d6\u6d88\u5173\u6ce8\u4e8b\u4ef6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'unsubscribe':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8d26\u53f7\u7684\u89e3\u7ed1\u64cd\u4f5c\u7b49\u7b49\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u81ea\u5b9a\u4e49\u83dc\u5355\u63a8\u9001CLICK\u4e8b\u4ef6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'CLICK':\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$eventKey&nbsp;=&nbsp;$obj-&amp;gt;EventKey;\/\/\u83b7\u53d6\u4e8b\u4ef6KEY\u503c\uff0c\u4e0e\u81ea\u5b9a\u4e49\u83dc\u5355\u63a5\u53e3\u4e2dKEY\u503c\u5bf9\u5e94\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($eventKey)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'old':\r\n&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$weixinArr&nbsp;=&nbsp;$this-&amp;gt;history(\"da675ebc6a0d72920dca3f676122a693\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$weixinArr&nbsp;=&nbsp;array_slice($weixinArr,&nbsp;0,5);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array();\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($weixinArr&nbsp;as&nbsp;$item)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array(array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Title\"&nbsp;=&amp;gt;&nbsp;$item['Description'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Description\"&nbsp;=&amp;gt;&nbsp;$item['Title'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"PicUrl\"&nbsp;=&amp;gt;&nbsp;\"http:\/\/1.jober.applinzi.com\/news\/img\/2.jpg\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Url\"&nbsp;=&amp;gt;&nbsp;\"http:\/\/www.todayonhistory.com\/\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyNews($obj,$newsArr);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u6587\u672c\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;receiveText($obj)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$content&nbsp;=&nbsp;trim($obj-&amp;gt;Content);\/\/\u6587\u672c\u6d88\u606f\u7684\u5185\u5bb9\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$content;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u63a5\u6536\u56fe\u7247\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;receiveImage($obj)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$picUrl&nbsp;=&nbsp;$obj-&amp;gt;PicUrl;\/\/\u56fe\u7247\u7684\u94fe\u63a5\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mediaId&nbsp;=&nbsp;$obj-&amp;gt;MediaId;\/\/\u56fe\u7247\u6d88\u606f\u5a92\u4f53id\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;replyImage($obj,$mediaId);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u56de\u590d\u56fe\u7247\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;replyImage($obj,$mediaId)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$replyXml&nbsp;=&nbsp;\"&lt;xml&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tousername&gt;&lt;\/tousername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fromusername&gt;&lt;\/fromusername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;createtime&gt;%s&lt;\/createtime&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;msgtype&gt;&lt;\/msgtype&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mediaid&gt;&lt;\/mediaid&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/image&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/xml&gt;\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sprintf($replyXml,$obj-&amp;gt;FromUserName,$obj-&amp;gt;ToUserName,time(),$mediaId);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u56de\u590d\u6587\u672c\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;replyText($obj,$content)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$replyXml&nbsp;=&nbsp;\"&lt;xml&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tousername&gt;&lt;\/tousername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fromusername&gt;&lt;\/fromusername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;createtime&gt;%s&lt;\/createtime&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;msgtype&gt;&lt;\/msgtype&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;content&gt;&lt;\/content&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/xml&gt;\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sprintf($replyXml,$obj-&amp;gt;FromUserName,$obj-&amp;gt;ToUserName,time(),$content);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u56de\u590d\u56fe\u6587\u6d88\u606f\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;replyNews($obj,$newsArr)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5224\u65ad\u662f\u5426\u4e3a\u6570\u7ec4\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!is_array($newsArr))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5224\u65ad\u6570\u7ec4\u662f\u5426\u4e3a\u7a7a\u6570\u7ec4\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$newsArr)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemStr&nbsp;=&nbsp;\"\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5b9a\u4e49item\u6a21\u677f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemXml&nbsp;=&nbsp;\"&lt;item&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;&lt;\/title&gt;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;&lt;\/description&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;picurl&gt;&lt;\/picurl&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url&gt;&lt;\/url&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/item&gt;\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($newsArr&nbsp;as&nbsp;$item)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemStr&nbsp;.=&nbsp;sprintf($itemXml,$item['Title'],$item['Description'],$item['PicUrl'],$item['Url']);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$replyXml&nbsp;=&nbsp;\"&lt;xml&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tousername&gt;&lt;\/tousername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fromusername&gt;&lt;\/fromusername&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;createtime&gt;%s&lt;\/createtime&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;msgtype&gt;&lt;\/msgtype&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;articlecount&gt;\".count($newsArr).\"&lt;\/articlecount&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;articles&gt;\".$itemStr.\"&lt;\/articles&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/xml&gt;\";&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sprintf($replyXml,$obj-&amp;gt;FromUserName,$obj-&amp;gt;ToUserName,time());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5c01\u88c5https\u8bf7\u6c42\uff08GET\u548cPOST\uff09\r\n&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;function&nbsp;https_request($url,$data=null)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/1\u3001\u521d\u59cb\u5316curl\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ch&nbsp;=&nbsp;curl_init();\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/2\u3001\u8bbe\u7f6e\u4f20\u8f93\u9009\u9879\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($ch,&nbsp;CURLOPT_URL,&nbsp;$url);\/\/\u8bf7\u6c42\u7684url\u5730\u5740\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\/\/\u5c06\u8bf7\u6c42\u7684\u7ed3\u679c\u4ee5\u6587\u4ef6\u6d41\u7684\u5f62\u5f0f\u8fd4\u56de\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($data))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($ch,CURLOPT_POST,1);\/\/\u8bf7\u6c42POST\u65b9\u5f0f\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($ch,CURLOPT_POSTFIELDS,$data);\/\/POST\u63d0\u4ea4\u7684\u5185\u5bb9\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/3\u3001\u6267\u884c\u8bf7\u6c42\u5e76\u5904\u7406\u7ed3\u679c\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$outopt&nbsp;=&nbsp;curl_exec($ch);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u628ajson\u6570\u636e\u8f6c\u5316\u6210\u6570\u7ec4\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$outoptArr&nbsp;=&nbsp;json_decode($outopt,TRUE);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/4\u3001\u5173\u95edcurl\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_close($ch);\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u8fd4\u56de\u7684\u7ed3\u679c$outopt\u662fjson\u6570\u636e\uff0c\u5219\u9700\u8981\u5224\u65ad\u4e00\u4e0b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($outoptArr))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$outoptArr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$outopt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;juhe_weixin($key,$type)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=\"http:\/\/v.juhe.cn\/toutiao\/index?type={$type}&amp;amp;key={$key}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($result['error_code']&nbsp;==&nbsp;0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$result['result']['data'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u805a\u5408\u6570\u636e-\u83b7\u53d6\u6700\u65b0\u8da3\u56fe\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;joke_text($key,$pagesize=10)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"http:\/\/japi.juhe.cn\/joke\/img\/text.from?key={$key}&amp;amp;pagesize={$pagesize}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$jokeArr&nbsp;=&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$resultArr&nbsp;=&nbsp;$jokeArr['result']['data'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;$content&nbsp;=&nbsp;$resultArr[0]['content'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;return&nbsp;$this-&amp;gt;replyText($xmlObj,$content);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5224\u65ad\u7b11\u8bdd\u63a5\u53e3\u662f\u5426\u83b7\u53d6\u6570\u636e\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($jokeArr['error_code']&nbsp;==&nbsp;0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($resultArr&nbsp;as&nbsp;$item)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr[]&nbsp;=&nbsp;array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Title\"=&amp;gt;$item['content'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Description\"=&amp;gt;$item['updatetime'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"PicUrl\"=&amp;gt;$item['url'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Url\"=&amp;gt;$item['url']\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$newsArr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u805a\u5408\u6570\u636e-\u83b7\u53d6\u5386\u53f2\u4e0a\u7684\u4eca\u5929\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;history($key)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$m&nbsp;=&nbsp;idate('m');\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$d&nbsp;=&nbsp;idate('d');\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$day&nbsp;=&nbsp;\"{$m}\/{$d}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"http:\/\/v.juhe.cn\/todayOnhistory\/queryEvent.php?key={$key}&amp;amp;date={$day}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$historyArr&nbsp;=&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$resultArr&nbsp;=&nbsp;$historyArr['result'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;$content&nbsp;=&nbsp;$resultArr['title'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;return&nbsp;$this-&amp;gt;replyText($xmlObj,$content);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5224\u65ad\u63a5\u53e3\u662f\u5426\u83b7\u53d6\u6570\u636e\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($jokeArr['error_code']&nbsp;==&nbsp;0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($resultArr&nbsp;as&nbsp;$item)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr[]&nbsp;=&nbsp;array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Title\"=&amp;gt;$item['title'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Description\"=&amp;gt;$item['date'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"PicUrl\"=&amp;gt;\"\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Url\"=&amp;gt;\"\"\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$newsArr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;fund($key)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"http:\/\/japi.juhe.cn\/jingzhi\/query.from?key={$key}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fundArr&nbsp;=&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$resultArr&nbsp;=&nbsp;$fundArr['result'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;$content&nbsp;=&nbsp;$resultArr['title'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;return&nbsp;$this-&amp;gt;replyText($xmlObj,$content);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr&nbsp;=&nbsp;array();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5224\u65ad\u63a5\u53e3\u662f\u5426\u83b7\u53d6\u6570\u636e\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($jokeArr['error_code']&nbsp;==&nbsp;0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($resultArr&nbsp;as&nbsp;$item)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$newsArr[]&nbsp;=&nbsp;array(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Title\"=&amp;gt;$item['day'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Description\"=&amp;gt;$item['title'],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"PicUrl\"=&amp;gt;\"\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Url\"=&amp;gt;\"http:\/\/www.baidu.com\"\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$newsArr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\u83b7\u53d6\u57fa\u7840\u652f\u6301\u91cc\u9762\u7684\u63a5\u53e3\u8c03\u7528\u51ed\u8bc1access_token\u5e76\u7f13\u5b58access_token\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*@return&nbsp;access_token&nbsp;string&nbsp;\u63a5\u53e3\u51ed\u8bc1\r\n&nbsp;&nbsp;&nbsp;&nbsp;**\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getAccessToken()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6memcache\u7f13\u5b58\u7684access_token\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$access_token&nbsp;=&nbsp;$this-&amp;gt;_memcache_get(\"access_token\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u7f13\u5b58\u7684access_token\u5931\u6548\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$access_token)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u5931\u6548\u8c03\u7528\u83b7\u53d6\u63a5\u53e3\u51ed\u8bc1\u6765\u83b7\u53d6access_token\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"https:\/\/api.weixin.qq.com\/cgi-bin\/token?grant_type=client_credential&amp;amp;appid={$this-&amp;gt;appid}&amp;amp;secret={$this-&amp;gt;appsecret}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$outoptArr&nbsp;=&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!isset($outoptArr['errcode']))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/memcache\u7f13\u5b58access_token\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;_memcache_set(\"access_token\",$outoptArr['access_token'],7000);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$outoptArr['access_token'];\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$access_token;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u521d\u59cb\u5316memcache\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;_memcache_init()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mmc&nbsp;=&nbsp;new&nbsp;Memcache;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ret&nbsp;=&nbsp;$mmc&nbsp;-&amp;gt;&nbsp;connect();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($ret&nbsp;==&nbsp;false)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$mmc;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bbe\u7f6ememcache\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;_memcache_set($key,$value,$time=0)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mmc&nbsp;=&nbsp;$this-&amp;gt;_memcache_init();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mmc&nbsp;-&amp;gt;&nbsp;set($key,$value,0,$time);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6memcahce\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;_memcache_get($key)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$mmc&nbsp;=&nbsp;$this-&amp;gt;_memcache_init();&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$mmc&nbsp;-&amp;gt;&nbsp;get($key);&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u81ea\u5b9a\u4e49\u83dc\u5355\u521b\u5efa\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;menu_create($data)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$access_token&nbsp;=&nbsp;$this-&amp;gt;getAccessToken();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u81ea\u5b9a\u4e49\u83dc\u5355\u521b\u5efa\u63a5\u53e3\u5730\u5740\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/create?access_token={$access_token}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;https_request($url,$data);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u81ea\u5b9a\u4e49\u83dc\u5355\u5220\u9664\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;menu_delete()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$access_token&nbsp;=&nbsp;$this-&amp;gt;getAccessToken();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;\"https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/delete?access_token={$access_token}\";\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&amp;gt;https_request($url);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;}\r\n?&amp;gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5206\u4eab\u4e00\u4e2a\u5b8c\u6574\u7684\u5fae\u4fe1\u5f00\u53d1php\u4ee3\u7801\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u5206\u4eab\u4e00\u4e2a\u5b8c\u6574\u7684\u5fae\u4fe1\u5f00\u53d1\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b \u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u5fae\u4fe1\u5f00\u53d1php\u4ee3\u7801\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b &lt;?php \/\/\u5c01\u88c5\u6210\u4e00\u4e2a\u5fae\u4fe1\u63a5\u53e3\u7c7b class WeixinApi { private $appid; private $appsecret; \/\/\u6784\u9020\u65b9\u6cd5 \u521d\u59cb\u5316\u8d4b\u503c public function construct($appid=&#8221;&#8221;,$appsecret=&#8221;&#8221;) { $this-&gt;appid&nbsp;=&nbsp;$appid; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;appsecret&nbsp;=&nbsp;$appsecret; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;\/\/\u9a8c\u8bc1\u670d\u52a1\u5668\u5730\u5740\u6709\u6548\u6027 &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;valid() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&amp;gt;checkSignature()) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$echostr&nbsp;=&nbsp;$_GET[&#8216;echostr&#8217;];\/\/\u968f\u673a\u7684\u5b57\u7b26\u4e32 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$echostr; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&#8220;Error&#8221;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;\/\/\u68c0\u67e5\u7b7e\u540d &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;checkSignature() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e00\u3001\u63a5\u6536\u5fae\u4fe1\u670d\u52a1\u5668GET\u65b9\u5f0f\u63d0\u4ea4\u8fc7\u6765\u76844\u4e2a\u53c2\u6570\u6570\u636e &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$signature&nbsp;=&nbsp;$_GET[&#8216;signature&#8217;];\/\/\u5fae\u4fe1\u52a0\u5bc6\u7b7e\u540d &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$timestamp&nbsp;=&nbsp;$_GET[&#8216;timestamp&#8217;];\/\/\u65f6\u95f4\u6233 &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nonce&nbsp;=&nbsp;$_GET[&#8216;nonce&#8217;];\/\/\u968f\u673a\u6570 &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e8c\u3001\u52a0\u5bc6\/\u6821\u9a8c\u8fc7\u7a0b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;1.&nbsp;\u5c06token\u3001timestamp\u3001nonce\u4e09\u4e2a\u53c2\u6570\u8fdb\u884c\u5b57\u5178\u5e8f\u6392\u5e8f\uff1b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;bool&nbsp;sort&nbsp;(&nbsp;array&nbsp;&amp;amp;$array&nbsp;[,&nbsp;int&nbsp;$sort_flags&nbsp;=&nbsp;SORT_REGULAR&nbsp;]&nbsp;)&nbsp;\u5bf9\u6570\u7ec4\u6392\u5e8f&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmpArr&nbsp;=&nbsp;array(TOKEN,$timestamp,$nonce);\/\/\u5c06\u4e0a\u9762\u4e09\u4e2a\u53c2\u6570\u653e\u5230\u4e00\u4e2a\u6570\u7ec4\u91cc\u9762 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort($tmpArr,SORT_STRING); &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;2.&nbsp;\u5c06\u4e09\u4e2a\u53c2\u6570\u5b57\u7b26\u4e32\u62fc\u63a5\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32\u8fdb\u884csha1\u52a0\u5bc6\uff1b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmpStr&nbsp;=&nbsp;implode($tmpArr);&nbsp;\/\/\u5c06\u6570\u7ec4\u8f6c\u5316\u6210\u5b57\u7b26\u4e32 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-28935","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=28935"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28935\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=28935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=28935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=28935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}