簡(jiǎn)單介紹:實(shí)現(xiàn)小程序授權(quán)登錄功能
Nov 07, 2022 pm 05:32 PM本篇文章給大家?guī)?lái)了關(guān)于微信小程序的相關(guān)知識(shí),其中主要介紹了怎么實(shí)現(xiàn)小程序授權(quán)登錄功能的相關(guān)內(nèi)容,下面一起來(lái)看一下,希望對(duì)大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
在我們平時(shí)工作、學(xué)習(xí)、生活中,微信小程序已成為我們密不可分的一部分,我們仔細(xì)留意下,每當(dāng)我們使用一個(gè)新的小程序時(shí),總會(huì)遇到如下頁(yè)面:
這便是微信小程序授權(quán)登錄功能了,授權(quán)登錄后,我們就可以正常使用小程序,而小程序也會(huì)獲取到我們的用戶權(quán)益,手機(jī)號(hào)等個(gè)人信息
授權(quán)登錄功能剖析
微信小程序的授權(quán)登錄具體步驟如下所示
具體實(shí)現(xiàn)主要有以下三個(gè)步驟:
調(diào)用wx.login() 微信api獲取臨時(shí)登錄憑證code,并回傳到開(kāi)發(fā)者服務(wù)器
調(diào)用auth.code2Session?微信api接口,獲取用戶唯一標(biāo)識(shí)OpenID、 用戶在微信開(kāi)放平臺(tái)帳號(hào)下的唯一標(biāo)識(shí)UnionID和會(huì)話密鑰session_key
通過(guò)步驟2獲取的參數(shù)進(jìn)行解密操作,獲取用戶手機(jī)號(hào),頭像等特性,并把需要的數(shù)據(jù)保存到緩存中
步驟實(shí)現(xiàn)代碼如下:
一、獲取臨時(shí)登錄憑證code
由于微信官方修改了getUserInfo接口,現(xiàn)在無(wú)法實(shí)現(xiàn)一進(jìn)入微信小程序就會(huì)自動(dòng)彈出授權(quán)窗口,所以我們只能通過(guò)button按鈕讓用戶手動(dòng)觸發(fā)
我們先寫(xiě)一個(gè)簡(jiǎn)單的彈框,用isShow變量控制,isShow取決于步驟3中的緩存信息,當(dāng)所有步驟都走通,會(huì)正確緩存用戶信息,此時(shí)彈框隱藏,否則彈框都為顯示狀態(tài)
??<view class='wx_dialog' wx:if="{{isShow}}"> ????????<view class='wx_content'> ??????????<text>需要先授權(quán)獲取個(gè)人信息</text> ??????????<button class="btn" open-type="getPhoneNumber" type="primary" bindgetphonenumber="getUserInfo">微信賬號(hào)快速授權(quán)</button> ????????</view> ??</view>
點(diǎn)擊按鈕時(shí),調(diào)用getUserInfo方法,isShow設(shè)置為false,同時(shí)使用wx.login獲取到登錄憑證code
getUserInfo:e=>{??????this.setData({????????isShow:false ??????}) ??????wx.login({????????success:?function?(res)?{???????????????let?code?=?res.code?//?登錄憑證code ?????????} ??????}) ?????? ??}
二、根據(jù)登錄憑證code,獲取用戶登錄信息
拿到登錄憑證code后,調(diào)用auth.code2Session?微信api接口(此處為服務(wù)端操作,后端大佬搞定,我們直接調(diào)用他給的接口就好)
?????????wx.request({????????????????url:?獲取用戶信息的auth.code2Session微信api接口,????????????????method:?'POST',????????????????data:{??????????????????code:code//登錄憑證code ????????????????},????????????????header:?{??????????????????'content-type':?'application/json;charset=UTF-8' ????????????????},???????????????? ????????????????success:?function?(res)?{??????????????????var?userphone=?res.data.data??????????????????//解密手機(jī)號(hào) ??????????????????var?msg?=?e.detail.errMsg;??????????????????var?sessionKey?=?userphone.session_key;//會(huì)話密鑰 ??????????????????var?encryptedData=e.detail.encryptedData;?//簽名 ??????????????????var?unionid?=?userphone.unionid//唯一標(biāo)識(shí) ??????????????????var?iv=?e.detail.iv;??????????????????//授權(quán)成功 ??????????????????if?(msg?==?'getPhoneNumber:ok')?{ ????????????????????wx.checkSession({??????????????????????success:function(){????????????????????????//進(jìn)行請(qǐng)求服務(wù)端解密手機(jī)號(hào) ????????????????????????this.deciyption(sessionKey,encryptedData,iv,unionid); ??????????????????????} ????????????????????}) ??????????????????} ????????????????} ??????????????}) ????????} ??????})
此時(shí)大多數(shù)用戶信息我們已經(jīng)獲取了,但用戶手機(jī)號(hào),用戶頭像等信息還處于加密狀態(tài),我們需要去解密獲取這些參數(shù)
三、根據(jù)用戶信息,解密獲取用戶手機(jī)號(hào)
deciyption(sessionKey,encryptedData,iv,unionid){????var?that?=?this; ????wx.request({??????url:?解密接口,??????method:?'POST',??????data:?{????????sessionKey:?sessionKey,????????encryptedData:encryptedData,????????iv:?iv ??????},??????header:?{????????'content-type':?'application/json;charset=UTF-8' ??????},??????success:?function(res)?{ ????????let?data?=?res.data????????if?(data.resultCode?==?'success')?{ ????????????wx.setStorageSync('userTel',?data.data.phoneNumber);//存儲(chǔ)解密后的用戶手機(jī)號(hào) ????????}else{ ????????????wx.showToast({????????????????title:?'獲取信息失敗請(qǐng)重新授權(quán)',????????????????icon:?'none' ????????????}) ????????????that.setData({????????????????isShow:true ????????????}) ????????}???? ??????}, ??????fail:function(res)?{ ????????wx.showToast({????????????title:?'獲取失敗請(qǐng)重新授權(quán)',????????????icon:?'none' ????????}) ????????that.setData({??????????isShow:true ????????}) ??????} ????}) ??},
此時(shí)授權(quán)登錄功能已完成
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
以上是簡(jiǎn)單介紹:實(shí)現(xiàn)小程序授權(quán)登錄功能的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

閑魚(yú)官方微信小程序悄然上線,在小程序中可以發(fā)布閑置與買(mǎi)家/賣(mài)家私信交流、查看個(gè)人資料及訂單、搜索物品等,有用好奇閑魚(yú)微信小程序叫什么,現(xiàn)在快來(lái)看一下。閑魚(yú)微信小程序叫什么答案:閑魚(yú),閑置交易二手買(mǎi)賣(mài)估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買(mǎi)家/賣(mài)家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、想要使用的話必要要開(kāi)通微信支付才可以購(gòu)買(mǎi);

實(shí)現(xiàn)微信小程序中的圖片濾鏡效果隨著社交媒體應(yīng)用的流行,人們?cè)絹?lái)越喜歡在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程序中也可以實(shí)現(xiàn)圖片濾鏡效果,為用戶提供更多有趣和創(chuàng)造性的照片編輯功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片濾鏡效果,并提供具體的代碼示例。首先,我們需要在微信小程序中使用canvas組件來(lái)加載和編輯圖片。canvas組件可以在頁(yè)面

實(shí)現(xiàn)微信小程序中的下拉菜單效果,需要具體代碼示例隨著移動(dòng)互聯(lián)網(wǎng)的普及,微信小程序成為了互聯(lián)網(wǎng)開(kāi)發(fā)的重要一環(huán),越來(lái)越多的人開(kāi)始關(guān)注和使用微信小程序。微信小程序的開(kāi)發(fā)相比傳統(tǒng)的APP開(kāi)發(fā)更加簡(jiǎn)便快捷,但也需要掌握一定的開(kāi)發(fā)技巧。在微信小程序的開(kāi)發(fā)中,下拉菜單是一個(gè)常見(jiàn)的UI組件,實(shí)現(xiàn)了更好的用戶操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)下拉菜單效果,并提供具

閑魚(yú)官方微信小程序已經(jīng)悄然上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕松地發(fā)布和交易閑置物品。在小程序中,你可以與買(mǎi)家或賣(mài)家進(jìn)行私信交流,查看個(gè)人資料和訂單,以及搜索你想要的物品。那么閑魚(yú)在微信小程序中究竟叫什么呢,這篇教程攻略將為您詳細(xì)介紹,想要了解的用戶們快來(lái)跟著本文繼續(xù)閱讀吧!閑魚(yú)微信小程序叫什么答案:閑魚(yú),閑置交易二手買(mǎi)賣(mài)估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買(mǎi)家/賣(mài)家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、

微信小程序?qū)崿F(xiàn)圖片上傳功能隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,微信小程序已經(jīng)成為了人們生活中不可或缺的一部分。微信小程序不僅提供了豐富的應(yīng)用場(chǎng)景,還支持開(kāi)發(fā)者自定義功能,其中包括圖片上傳功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片上傳功能,并提供具體的代碼示例。一、前期準(zhǔn)備工作在開(kāi)始編寫(xiě)代碼之前,我們需要先下載并安裝微信開(kāi)發(fā)者工具,并注冊(cè)成為微信開(kāi)發(fā)者。同時(shí),還需要了解微信

使用微信小程序?qū)崿F(xiàn)輪播圖切換效果微信小程序是一種輕量級(jí)的應(yīng)用程序,具有簡(jiǎn)單、高效的開(kāi)發(fā)和使用特點(diǎn)。在微信小程序中,實(shí)現(xiàn)輪播圖切換效果是常見(jiàn)的需求。本文將介紹如何使用微信小程序?qū)崿F(xiàn)輪播圖切換效果,并給出具體的代碼示例。首先,在微信小程序的頁(yè)面文件中,添加一個(gè)輪播圖組件。例如,可以使用<swiper>標(biāo)簽來(lái)實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以通過(guò)b

實(shí)現(xiàn)微信小程序中的圖片旋轉(zhuǎn)效果,需要具體代碼示例微信小程序是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程序中,開(kāi)發(fā)者可以利用各種組件和API來(lái)實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見(jiàn)的動(dòng)畫(huà)效果,可以為小程序增添趣味性和視覺(jué)效果。在微信小程序中實(shí)現(xiàn)圖片旋轉(zhuǎn)效果,需要使用小程序提供的動(dòng)畫(huà)API。下面是一個(gè)具體的代碼示例,展示了如何在小程

實(shí)現(xiàn)微信小程序中的滑動(dòng)刪除功能,需要具體代碼示例隨著微信小程序的流行,開(kāi)發(fā)者們?cè)陂_(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到一些常見(jiàn)功能的實(shí)現(xiàn)問(wèn)題。其中,滑動(dòng)刪除功能是一個(gè)常見(jiàn)、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)滑動(dòng)刪除功能,并給出具體的代碼示例。一、需求分析在微信小程序中,滑動(dòng)刪除功能的實(shí)現(xiàn)涉及到以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)需要包
