乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      微信公眾號創(chuàng)建自定義菜單之前的準(zhǔn)備工作

       龍點書院 2017-02-13

      微信公眾號現(xiàn)在還沒菜單,所以首頁給我們的微信公眾號創(chuàng)建幾個菜單出來。

      想做出菜單,當(dāng)然是通過代碼來做,通過閱讀微信文檔發(fā)現(xiàn),我們通過代碼訪問微信API時,會經(jīng)常用到一個access_token,可以說accees_token就是我們訪問API的鑰匙。

      access_token是公眾號的全局唯一票據(jù),公眾號調(diào)用各種接口時都需要使用access_token。開發(fā)者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。所以我們首先解決的問題是,如何統(tǒng)一地來管理我們應(yīng)用中的access_token,而不是每次需要時去生成一次,因為這樣會非常低效。

      我們提供的解決方法就是使用緩存,第一次獲取到access_token后將它放到緩存里并且設(shè)置緩存的過期時間是2個小時,然后每次需要access_token時直接去緩存獲取,如果獲取不到了說明過期了,我們就重新生成一次再丟入緩存,這樣基本上只需要每隔2個小時左右生成一次access_token,而且因為大部分情況下我們都是直接從緩存中獲取access_token的,所以效率很高。

      一般的PHP框架都提供了緩存的實現(xiàn),我們只要知道怎么使用就好了,因為Think-php是目前國內(nèi)使用最多的PHP框架,我們打算也隨大流,使用Thinkphp來作為我們的框架。

      (1)在官方下載3.2.3的完整版本。

      (2)將解壓后的文件拷貝到edu83cn項目目錄下。

      (3)在Eclipse里面刷新項目根目錄,我們就可以看到所有被復(fù)制進來的文件。

      (4)重啟WAMP服務(wù)器,訪問edu83cn項目地址,這樣在我們的application目錄下就會自動生成Common和Home目錄結(jié)構(gòu),如圖所示。

      微信公眾號創(chuàng)建自定義菜單之前的準(zhǔn)備工作

      我們將把access_token令牌管理類放在Application下面的Home/common目錄下。我們在該目錄下創(chuàng)建一個TokenUtil.class.php的類,其命名空間就是Home\Controller。增加一個靜態(tài)方法fetchToken(),其目的就是判斷緩存中是否存在token,存在則返回,不存在則先獲取保存到緩存中。ThinkPHP默認(rèn)的緩存是文件緩存,默認(rèn)情況下緩存數(shù)據(jù)永不失效。

      在配置文件convention.php里面可以查看到,如圖所示。

      微信公眾號創(chuàng)建自定義菜單之前的準(zhǔn)備工作 我們來看看fetchToken()的實現(xiàn)代碼,如圖所示。
      微信公眾號創(chuàng)建自定義菜單之前的準(zhǔn)備工作

      代碼很少但是完成的功能卻很多,這也是PHP的一個優(yōu)點。上面的代碼中,我們省略了具體的獲取最新Token的代碼部分,因為它需要調(diào)用微信API來做,而調(diào)用微信API也需要做一個封裝,所以放到后面統(tǒng)一來說。

      我們分析一下后臺代碼和微信平臺之間的所有關(guān)聯(lián),發(fā)現(xiàn)有2種類型的交互:第1種就是當(dāng)用戶在手機端點擊微信公眾號而觸發(fā)的各種動作,這種類型的交互是由用戶發(fā)起,經(jīng)過微信平臺轉(zhuǎn)發(fā)給我們的后臺程序,我們只需要在后臺程序里面獲取到這個消息并給出一個響應(yīng)就可以了;第2種則是由我們的后臺程序主動出發(fā)的,例如生成菜單、獲取access_token這些,都市我們的后臺程序主動發(fā)起,然后調(diào)用一個API接口,這類操作需要我們自己準(zhǔn)備請求數(shù)據(jù)并且發(fā)起一個POST或者GET請求。

      上面說的通過調(diào)用API獲取access_token就是屬于第2種。所以就會涉及發(fā)送GET請求和POST請求問題。因為ThinkPHP作為一個服務(wù)器的腳本語言框架,它本身沒有提供直接的發(fā)送POST請求的輔助類,需要我們自己寫,所幸的是像這種模擬發(fā)送GET請求和POST請求 需求是PHP開發(fā)最常見的應(yīng)用場景了,所以我們可以很容易地在網(wǎng)上找到已有的工具類,拿來直接使用。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多