微信小程序的應(yīng)用現(xiàn)在越來越廣,小程序的開發(fā)需求也越來多,在微信小程序的開發(fā)過程中除了微信小程序官方API文檔外,網(wǎng)上的資料也逐漸多了起來。但稍不注意可能就會掉進(jìn)開發(fā)的坑里,我這邊總結(jié)一下小程序的相關(guān)會員開發(fā)內(nèi)容。
微信小程序的一個重要需求就是獲取用戶會員管理,包括獲取用戶信息,用戶的登錄與注冊的功能,在平常的網(wǎng)頁開發(fā)過程序我們沒有過多地關(guān)注通信與登錄保持問題,一般是用戶登錄后用session來保持登錄,但在小程序中存在一個中間的轉(zhuǎn)發(fā)微信服務(wù)器,所以開發(fā)過程程中稍有不同。
首先要講的就是登錄保持問題,用戶訪問后的session是以session_id來區(qū)分的,所以要訪問的頭部中加入PHPSESSION的session_id 的標(biāo)識符進(jìn)行傳遞,可以重新封裝request請求函數(shù),當(dāng)然還有post等方法可以自行封裝。

在使用小程序的官方登錄接口進(jìn)行操作,在登錄的時候返回記錄的session值保存在本地數(shù)據(jù)中。
在服務(wù)端就是一系列的驗證了,包括用戶信息解密等功能。
如果直接就這樣做登錄應(yīng)用,還是會存在問題的,會面臨以下幾個問題:
一是當(dāng)用戶點擊拒絕授權(quán)獲取用戶信息后,用戶將無法再次使用必須有登錄才能使用的功能,這樣肯定是不好的,所以還要檢測當(dāng)用戶沒有登錄時候要重新拉起授權(quán)同意讓用戶同意。
使用wx.openSetting({})來操作。
二是當(dāng)網(wǎng)絡(luò)處理相對比較慢時,用戶不知道已經(jīng)登錄,再去點其他需要會員登錄的頁面的時會出現(xiàn)問題,所以在獲取頁面的會員登錄請求時彈出登錄中的loding的界面讓用戶知道程序正在登錄中,登錄完成后關(guān)閉loding。wx.showLoading({title: '登錄中'}) wx.hideLoading()
三是當(dāng)用戶長時間掛起一個頁面時,會導(dǎo)致服務(wù)器的session過期而本地存儲的sessionid不存在,這樣用這個sessionid去獲取信息的時候就會出錯,所以還要加一層判斷操作。頁面加載的時候去檢測用戶的session值還是否有效,如果有效不操作,失效則再次去執(zhí)行登錄操作。onload和onshow都去執(zhí)行檢測用戶登錄session是否有效。
作者:方維網(wǎng)絡(luò)小程序開發(fā)王國梁
方維網(wǎng)絡(luò)專注于
微信小程序定制開發(fā),可根據(jù)客戶需求定制各種類型小程序,常見的小程序類型有掃碼點餐、小程序商城等。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://723918.com/news/4297.html