微信公衆平臺開發的首要工做內容

①首要工做內容是什麼呢?那固然是註冊申請一個公衆號啦!!php

②接着就是登陸進去公衆號了,先點擊公衆號設置去完善你本身的公衆號配置,不然難以進行下一步,簡單設置一些頭像、公衆號名稱、介紹等等就能夠了laravel

③接下來就是開發重點了,點擊基本配置,裏面有你的開發者ID和開發者密碼,這裏的開發者密碼是看不到了,只能重置,而後就是下面的服務器配置問題了:點擊配置以後呢就看到以下圖:thinkphp

clipboard.png

URL:這個就是你的服務器地址了,因爲我是選擇了laravel5.4框架去進行微信開發的,因此這裏還要指定到你的項目的地址,由於這個地址首先是要檢驗Token的。至於服務器的問題呢,這裏我給了兩種方法,一種是內網穿透,這個能夠進行本地開發,意思就是把本地當作服務器,別人能經過網絡訪問到你本地的服務器的意思,我這裏推薦https://natapp.cn/,至於使用教程,這個官網裏面就有了,若是還不懂能夠私信我,而後就是購買隧道的問題,必定要買VIP的隧道!必定要買VIP的隧道!!!必定要買VIP的隧道!!!!重要的事情說三遍,沒辦法,便宜沒好貨~~或者購買京東雲、阿里雲、tx雲,說句實話。。。我三個雲都逛了一個遍,感受也差很少,隨意就行了,至於購買後的服務器使用的問題,因爲涉及的東西有點多,這裏就不一一去細說,不懂照樣能夠私信我~~服務器

clipboard.png

Token:這裏隨便填,爲了示範,這裏我寫了weixin,我建議你們也跟我這樣寫就行了微信

EncodingAESKey:這裏就點擊隨機生成就行了,沒啥所謂網絡

消息加密方式就選第二個好了,畢竟有寫方便開發者調試和維護嘛~~微信開發

最後的最後就是如何驗證Token的問題了,這裏還有先申明一句,服務器的若是沒有域名就直接IP地址,若是你是從那三大雲購買的服務器就不用擔憂網址沒有備案的問題,可是若是是內網穿透的話就必須選一個有備案的,這些在那個官網上有說的。好的,如今就是上代碼了,首先是設置路由,看圖:app

clipboard.png

固然了,這裏能夠設置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這樣子,接下來就是提交等待成功的信息啦~~~

相關文章
相關標籤/搜索