微信公衆號開發第一課(使用ThinkPHP5)(未完)

本文最終效果

因爲官方文檔一貫符合TX的風格(永遠是不盡如人意,永遠是新手不友好),致使初次接觸公衆號時每每不知道該看什麼,本文會同時給出操做的目標地址和教程地址,旨在引導讀者去看官方文檔中的重要部分。
在文章的最開始給出最終實現效果,是爲了讓讀者有一個清晰的目標。html

IMG_0004.PNG

首先能實現如何創建一個正常運行的公衆號,並接入開發者的後臺服務器。git

IMG_0005.PNG

而後設置公衆號的功能按鈕和二級菜單。github

IMG_0006.PNG

在點擊功能按鈕後,跳轉到Web系統並實如今Web中的自動登陸。小程序

1、申請公衆號

公衆號申請地址: 微信公衆平臺
(接口測試號申請地址:申請接口測試號segmentfault

公衆號分爲三種:服務號訂閱號、接口測試號(小程序不屬於公衆號)。後端

服務號是用於企業爲用戶提供服務的(例如銀行的查詢系統、餐飲業的訂餐系統),而且能夠和小程序配合使用來實現更多效果。安全

訂閱號更多的用於我的開發者發佈文章或運營自媒體。訂閱號最經常使用的功能就是「推文」,例如,學校的社團、各類組織就能夠用訂閱號來推送文章。服務器

接口權限說明中給出了服務號和訂閱號權限的區別。微信

值得一提的是,服務號須要進行企業認證才能擁有高級接口的使用權,而通常開發者沒有能力也沒有必要認證服務號。對於使用訂閱號的開發者,若是想體驗所有的接口,微信專門提供了一種接口測試號,它擁有所有接口權限,但不能正常運營,僅供測試。app

按照正常流程註冊便可,不在贅述。

2、接入開發者服務器

掃描登陸後,出現了公衆號的基本信息:
(使用接口測試號舉例,服務號相似)
image.png

在最醒目的地方給出了appID和appsecret
appID是公衆號的惟一標識,secret是用於公衆號身份驗證的密鑰。
image.png

接下來是接口配置信息:
image.png
接口配置信息是接入開發者服務器的重要步驟。

首先要有一臺服務器。若是是接口測試號,URL處可使用服務器的IP地址,不然要求服務器必須有域名,URL處使用域名。

URL的格式必須是http或https開頭,由於咱們使用ThinkPHP因此須要精確到具體的模塊->控制器->方法便可。

Token也是一個用於身份驗證的口令。當微信服務器開發者服務器發送信息時, 開發者服務器並不知道此消息是否是來自微信服務器,但若是微信服務器帶着Token發送信息,開發者服務器就能夠經過口令是否正確來判斷消息是否來自微信。此處的Token能夠自由填寫,初學時用不到Token

填入完畢後,若是後臺沒有對應的服務,會發生保存失敗。緣由是保存接口信息時,微信會向填入的這個地址發送一條驗證信息,信息中帶有各類參數,其中一個參數是echostr。只要開發者服務器能把echostr原封不動的返回給微信服務器,即視爲驗證成功。

image.png

接下來就是在服務器上部署一個能夠接收驗證信息並返回echostr的方法,爲了便於理解,咱們不進行校驗,直接返回接受到的echostr:

$echoStr = $_GET["echostr"];
echo $echoStr;
exit;

方法的位置須要和剛纔URL中的路由一致。

此時就保存成功了。

可是這樣是不安全的,由於不管是誰來向開發者服務器發送數據,都會正常返回,實際開發時,可參考接入概述來增長驗證。

3、增長公衆號「自動回覆」功能

因爲時間緣由沒法所有寫完,往後完善,可參考官方文檔:
入門指引
image.png

4、實現「自動登陸」

所謂自動登陸,就是用戶在經過公衆號進入咱們開發的Web系統時,不須要再輸入用戶名密碼,而是直接經過用戶的微信號,來判斷用戶的身份進而實現自動登陸。

請暫時參考我以前的文章:
圖解微信」網頁受權「自動登陸(附ThinkPHP5.1代碼)

還有另外一篇學長編寫的Angular先後端分離項目如何企業微信網頁認證文中的一些思想值得咱們借鑑。

總結

微信公衆號的開發,主要是有選擇有取捨的看文檔,因爲微信的開發文檔對於新手不太友好,因此建議初學者在其餘教程的引領下學習,這樣能夠避免沒頭蒼蠅亂撞的狀況。
此外,官方文檔的另外一個問題,是示例代碼不太完整。所以須要從其餘文章中找到合適的示例代碼並進行研究,這樣有助於理解的更深入。

因爲剛剛完成期末考試,沒有足夠的時間,來把這篇文章和以前的文章結合起來,往後會逐漸完善,在此向看了一半的讀者們說一聲抱歉。

版權聲明

本文做者: 河北工業大學夢雲智開發團隊 - 劉宇軒 新人經驗不足,有建議歡迎交流,有錯誤歡迎輕噴
相關文章
相關標籤/搜索