您好,登錄后才能下訂單哦!
怎么在微信小程序中保持session會話?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
第一種:客戶端保存session ID
1、通過wx.login接口獲取 code,將code傳遞到后臺(一般后臺都有shiro或者Spring security這種過濾器,該方法作為第一個啟動方法需要后臺放過),后臺通過code訪問微信接口,返回當前登陸的微信信息。
2、后臺通過微信的openID去數據庫的微信信息表中查詢該微信號是否與后臺用戶綁定過,如果綁定過,將該用戶信息放入session中,并返回已綁定標記,為綁定過,返回為綁定標記。并且將會話ID返回。
3、小程序拿到sessionID和是否綁定標記,將session ID存入緩存中或者在app.js中定一個全局變量用來存儲。如果未綁定,跳轉到綁定頁面,如果綁定,去往首頁。
4、因為后臺的session都有過期時間,默認是半個小時,所以說為了確保小程序端的session ID不會過期,我們需要在他過期之前刷新sessionID。
我們每過二十分鐘刷新一次,也就是重新請求一次。
將該函數放到app.js的生命周期函數中,這樣一旦打開小程序就會執行
5、每次請求需要將sessionID放入cookie中,并將它設置頭request header中
第二種:小程序保持唯一標識uuid(如果后臺過濾器需要登陸驗證的話,小程序端的請求接口都需要放行),這個就不貼代碼了,基本和上面邏輯差不多,只不過這次存的是uuid。
1、小程序請求微信,拿到code,請求后臺并傳遞code
2、后臺根據code請求微信,拿到openID
3、后臺根據openID去微信信息表查詢該openID是否綁定用戶,綁定了,返回一個唯一表示uuid以及綁定標識,沒有綁定,創建一個uuid以及未綁定標識返回給小程序
4、小程序判斷未綁定,跳轉到綁定頁面,根據輸入信息+uuid返回給后臺綁定用戶,后臺返回是否綁定成功
5、根據綁定是否成功,小程序操作
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。