微信公眾號和微信小程序開(kāi)發(fā)需要注意的事項
微信公眾號、小程序開(kāi)發(fā)近來(lái)成了程序開(kāi)發(fā)的一大熱門(mén),雖然開(kāi)發(fā)所涉及的難點(diǎn)知識不多,但對于一個(gè)新手而言,閱讀并理解文檔并非易事。為方便要進(jìn)行相關(guān)項目開(kāi)發(fā)的朋友快速進(jìn)入重點(diǎn),現歸納基本步驟如下:
一、開(kāi)發(fā)前準備
(2)涉及到微信支付的,需提前在微信支付商戶(hù)平臺,申請商戶(hù)號和秘鑰
(3)如果需要將微信公眾號或微信小程序相互打通,需提前在微信開(kāi)放平臺注冊賬號,并將微信公眾號或小程序綁定在一起(此時(shí)才會(huì )獲取到unionid)
二、配置
(1)開(kāi)發(fā)配置
操作路徑:微信公眾平臺 —— 開(kāi)發(fā) —— 基本配置
操作頁(yè)面
注意:如果是進(jìn)行公眾號網(wǎng)頁(yè)開(kāi)發(fā)以上配置不是必須的
(2)公眾號設置
操作路徑:微信公眾平臺 —— 設置 —— 公眾號配置
操作頁(yè)面
注意:以上設置,只有在進(jìn)行公眾號網(wǎng)頁(yè)開(kāi)發(fā)的時(shí)候需要,小程序開(kāi)發(fā)不需要
三、開(kāi)發(fā)
(1)微信公眾號的開(kāi)發(fā)
微信公眾號開(kāi)發(fā)要分為:與微信服務(wù)器交互的開(kāi)發(fā)和不與微信服務(wù)器交互的開(kāi)發(fā)。與微信服務(wù)器交互的開(kāi)發(fā),就是微信服務(wù)器主動(dòng)與你的服務(wù)器通訊,以響應你的請求。例如,你的用戶(hù)向你的公眾號發(fā)送一條信息,你的服務(wù)器接受到信息后自動(dòng)發(fā)送一條回復消息。
對于與微信服務(wù)器交互的開(kāi)發(fā),首先需要驗證微信服務(wù)器。在上面的開(kāi)發(fā)配置處,我們已經(jīng)配置了服務(wù)器地址。此服務(wù)器地址就是驗證微信服務(wù)器時(shí),微信服務(wù)器需要調用的地址。驗證微信服務(wù)器時(shí),微信服務(wù)器會(huì )向此地址發(fā)送POST請求,傳遞一些參數,此地址接受到參數后,需要作出相應的處理。
下面以ThinkPHP的案例來(lái)說(shuō)明
注意:不需要與微信服務(wù)器交互的開(kāi)發(fā),以上內容可以省略
不管是否需要與微信服務(wù)器交互,access_token是必不可少的。因為access_token是公眾號的全局唯一接口調用憑據,公眾號調用各接口時(shí)都需使用access_token。因此在調用其他接口之前,需要先調用接口獲取access_token。
獲取access_token,可以調用如下接口:
請求鏈接
參數說(shuō)明
返回結果
注意:由于access_token的有效期目前為2個(gè)小時(shí),所以在獲取到access_token后可以將其以文件的形式保存起來(lái),使用時(shí),先判斷保存的access_token是否過(guò)期,沒(méi)有過(guò)期則直接使用,過(guò)期了則重新調用接口獲取新的access_token并保存到文件中。
access_token獲取之后,其他接口即可按開(kāi)發(fā)文檔直接調用。
(2)小程序開(kāi)發(fā)
小程序開(kāi)發(fā)相對于公眾號開(kāi)發(fā)而言是比較簡(jiǎn)單的,其難點(diǎn)就是調起授權登錄窗,獲取用戶(hù)信息。那么如何獲取用戶(hù)的登錄信息呢?
具體步驟如下:
調用wx.login(OBJECT)接口,獲取登錄憑證(code),調用后臺自己的接口,用code 換取 session_key,獲取到session_key后,使用自己的加密方式生成新的session_key,將其返回給客戶(hù)端,客戶(hù)端接收到新的session_key后將其保存在本地。
進(jìn)入其他需要用戶(hù)信息的頁(yè)面,先調用wx.checkSession(OBJECT)接口,檢測用戶(hù)登錄態(tài)是否失效,如果用戶(hù)登錄態(tài)失效了,需要重新操作第一步,獲取新的session_key
如果登錄態(tài)沒(méi)有失效,將之前本地已經(jīng)保存的session_key傳至后臺,后臺接收到后,通過(guò)session_key獲取用戶(hù)信息
(3)微信支付開(kāi)發(fā)
微信開(kāi)發(fā)數據的傳輸使用的是XML格式,因此在接受數據和發(fā)送數據時(shí),需要進(jìn)行XML的封裝和解析。微信官方Demo中已經(jīng)封裝相關(guān)方法,大家可以根據需要選擇版本。
掃碼支付。微信掃碼支付,有兩種模式,模式一不需要預先指定支付用戶(hù)的openid,而模式二需要預先指定用戶(hù)的openid。對于模式一,需要先在微信支付商戶(hù)后臺,配置掃碼回調地址,然后再根據商品或訂單信息生成二維碼。微信掃碼時(shí),微信服務(wù)器會(huì )將商品或訂單信息及掃碼人的openid推送到掃碼回調地址。模式一和模式二的不同之處在于獲取openid的方式,其他的步驟基本一樣,都是調用統一下單API。