①首要工做內容是什麼呢?那固然是註冊申請一個公衆號啦!!php
②接着就是登陸進去公衆號了,先點擊公衆號設置去完善你本身的公衆號配置,不然難以進行下一步,簡單設置一些頭像、公衆號名稱、介紹等等就能夠了laravel
③接下來就是開發重點了,點擊基本配置,裏面有你的開發者ID和開發者密碼,這裏的開發者密碼是看不到了,只能重置,而後就是下面的服務器配置問題了:點擊配置以後呢就看到以下圖:thinkphp
URL:這個就是你的服務器地址了,因爲我是選擇了laravel5.4框架去進行微信開發的,因此這裏還要指定到你的項目的地址,由於這個地址首先是要檢驗Token的。至於服務器的問題呢,這裏我給了兩種方法,一種是內網穿透,這個能夠進行本地開發,意思就是把本地當作服務器,別人能經過網絡訪問到你本地的服務器的意思,我這裏推薦https://natapp.cn/,至於使用教程,這個官網裏面就有了,若是還不懂能夠私信我,而後就是購買隧道的問題,必定要買VIP的隧道!必定要買VIP的隧道!!!必定要買VIP的隧道!!!!重要的事情說三遍,沒辦法,便宜沒好貨~~或者購買京東雲、阿里雲、tx雲,說句實話。。。我三個雲都逛了一個遍,感受也差很少,隨意就行了,至於購買後的服務器使用的問題,因爲涉及的東西有點多,這裏就不一一去細說,不懂照樣能夠私信我~~服務器
Token:這裏隨便填,爲了示範,這裏我寫了weixin,我建議你們也跟我這樣寫就行了微信
EncodingAESKey:這裏就點擊隨機生成就行了,沒啥所謂網絡
消息加密方式就選第二個好了,畢竟有寫方便開發者調試和維護嘛~~微信開發
最後的最後就是如何驗證Token的問題了,這裏還有先申明一句,服務器的若是沒有域名就直接IP地址,若是你是從那三大雲購買的服務器就不用擔憂網址沒有備案的問題,可是若是是內網穿透的話就必須選一個有備案的,這些在那個官網上有說的。好的,如今就是上代碼了,首先是設置路由,看圖:app
固然了,這裏能夠設置Route::any也是行的,重要的一點必定要定義發請求的方式是POST仍是GET,要否則是沒法正確響應請求的,這個地方坑過不少使用laravel開發微信的朋友們,而這些在thinkphp中是不用定義的。那麼在這裏有個坑就是微信驗證默認token的請求是GET方式,可是真正接入微信服務器用以開發時採用的確實POST方式,因此咱們在微信後臺配置驗證接口時,要使用GET方式,在驗證成功配置完成後再改回POST方式。框架
接下來就是寫這個weixinController下的token方法了:this
public function serve() { header('Content-type:text'); define("TOKEN", "weixin"); if (isset($_GET['echostr'])) { $this->valid(); } else { $this->responseMsg(); } } public function valid() { $echoStr = $_GET["echostr"]; if ($this->checkSignature()) { header('content-type:text'); echo $echoStr; 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; } }
接着就是在URL上填寫你服務器上的項目下的這個weixin/token,例如http:你的服務器的地址/項目地址(指定到public目錄哦)/weixin/token這樣子,接下來就是提交等待成功的信息啦~~~