国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

微信小程序開發(fā)中的登錄狀態(tài)的一些代碼分析

發(fā)表日期:2020-12-26 16:39:00   作者來源:方維網(wǎng)絡(luò)   瀏覽:4465   標(biāo)簽:小程序開發(fā)    
眾所周知,用戶在打開微信小程序的時(shí)候,我們可以使用小程序自帶的靜默登錄代碼,獲取用戶的openid的,現(xiàn)在就分析來小程序的登錄代碼該如何寫,才能確定的實(shí)現(xiàn)小程序的登錄狀態(tài)的功能。
 
首先,判斷小程序的用戶有沒有登錄成功(包括靜默登錄),可以以下的代碼來實(shí)現(xiàn),如下圖所示:
 

開發(fā)代碼1

講一下這個(gè)方法的原理,獲取用戶的session3rd,如果session3rd為等于undefined或空,則表示用戶尚未登錄,這時(shí)我們可以使用靜默登錄的方法來獲取用戶的session3rd,也就是login(app),如下圖所示:

開發(fā)代碼2

如果session3rd是存在的,則仍需要驗(yàn)證session3rd是否有效,如果無效,則又得重新調(diào)用login(app)方法重新登錄。

在靜默登錄方法執(zhí)行后,可根據(jù)返回的code值,獲取會(huì)員的信息,如以下代碼所示:

開發(fā)代碼3

這樣就完整的獲取用戶的登錄狀態(tài)了。下面還有一種,就是用戶打開這個(gè)小程序的頁面,但該頁面必須獲取頭像和昵稱才能查看,否則跳轉(zhuǎn)到用戶登錄頁面(用戶可拒絕,拒絕后跳回首頁),這里出現(xiàn)了一個(gè)問題,由于小程序JS運(yùn)行的順序,在我們獲取用戶的session3rd過程中,會(huì)直接用這個(gè)session3rd獲取用戶的昵稱和頭像,造成了session3rd為空或undefined的情況,調(diào)用獲取用戶信息的接口,所以在需要額外寫兩個(gè)方法,一個(gè)是在登錄的情況用
check_login(app,that) ,然后在session3rd有效的情況調(diào)用用戶信息的接口,如下圖所示:

開發(fā)代碼4


二是在session3rd無效的情況,用login_do(app, code,that) 方法,在wx.setStorageSync('session3rd', res_login.data.data.session3rd)里會(huì)獲取到用戶的session3rd,然后接口獲取用戶信息的接口。

開發(fā)代碼5

 
順便說一下,方法里包含的that參數(shù),指的就是用戶打開的小程序頁面。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/5935.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
肇庆市| 自治县| 买车| 长宁区| 乐都县| 枝江市| 苏尼特右旗| 呈贡县| 呈贡县| 苍梧县| 娄底市| 洪雅县| 湘阴县| 五常市| 开阳县| 漳州市| 武山县| 汶川县| 苍南县| 渭南市| 余姚市| 云浮市| 石林| 正阳县| 白沙| 本溪市| 淮滨县| 洞口县| 仁布县| 宝兴县| 大荔县| 宾阳县| 类乌齐县| 门源| 左权县| 太仓市| 杭锦后旗| 林甸县| 清苑县| 文安县| 革吉县|