由于小程序的登陸和登陸狀態(tài)維護(hù)流程比較復(fù)雜,需要客戶端和服務(wù)器的數(shù)次交互以及服務(wù)器端的相應(yīng)處理,很多同學(xué)都覺得比較麻煩,所以特別寫下這篇博客為大家梳理一下微信的登陸流程,同時(shí)加深對(duì)微信小程序與登陸狀態(tài)有關(guān)的登陸態(tài)標(biāo)識(shí),用戶數(shù)據(jù)解密,數(shù)據(jù)校驗(yàn)等具體實(shí)現(xiàn)的了解。


首先來說明一下微信的登陸和登陸狀態(tài)標(biāo)識(shí)實(shí)現(xiàn)的流程。

一.小程序登陸和登陸狀態(tài)維護(hù)

微信登陸的主要步驟如下:

1. 調(diào)用 wx.login() ,成功后取得返回參數(shù) code,用于后續(xù)換取 session_key.

2. 調(diào)用 wx.request() 將 code 發(fā)送到服務(wù)器

3. 服務(wù)器將 code 和存儲(chǔ)在服務(wù)器的 appid 和 appscret 三個(gè)參數(shù)一起,向下面的微信服務(wù)器接口發(fā)起請(qǐng)求:

  https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

獲得返回參數(shù) openid 和 session_key 。

請(qǐng)求url中的參數(shù)對(duì)應(yīng)上文提到的三個(gè)參數(shù)。返回的op