簡(jiǎn)單介紹:實(shí)作小程式授權(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í)推薦:小程式學(xué)習(xí)教學(xué)】
在我們平常工作、學(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í)作主要有以下三個(gè)步驟:
呼叫wx.login() 微信api取得臨時(shí)登入憑證code,並回傳到開(kāi)發(fā)者伺服器
呼叫auth.code2Session?微信api接口,取得使用者唯一識(shí)別OpenID、 使用者在微信開(kāi)放平臺(tái)帳號(hào)下的唯一識(shí)別UnionID和會(huì)話金鑰session_key
##透過(guò)步驟2取得的參數(shù)進(jìn)行解密操作,取得使用者手機(jī)號(hào),頭像等特性,並將所需的資料儲(chǔ)存到快取中
步驟實(shí)作程式碼如下:
一、取得臨時(shí)登入憑證code
由於微信官方修改了getUserInfo接口,現(xiàn)在無(wú)法實(shí)作一進(jìn)入微信小程式就會(huì)自動(dòng)彈出授權(quán)窗口,所以我們只能透過(guò)button按鈕讓使用者手動(dòng)觸發(fā)
我們先寫一個(gè)簡(jiǎn)單的彈框,用isShow變數(shù)控制,isShow取決於步驟3中的快取訊息,當(dāng)所有步驟都走通,會(huì)正確快取使用者訊息,此時(shí)彈框隱藏,否則彈框都會(huì)為顯示狀態(tài)
??<view> ????????<view> ??????????<text>需要先授權(quán)獲取個(gè)人信息</text> ??????????<button>微信賬號(hào)快速授權(quán)</button> ????????</view> ??</view>
點(diǎn)擊按鈕時(shí),呼叫g(shù)etUserInfo方法,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後,呼叫auth.code2Session?微信api介面(這裡為服務(wù)端操作,後端大佬搞定,我們直接呼叫他給的介面就好)
?????????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),用戶頭像等資訊仍處?kù)都用軤顟B(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í)推薦:小程式學(xué)習(xí)教學(xué)】
以上是簡(jiǎn)單介紹:實(shí)作小程式授權(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脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++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)

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

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

實(shí)現(xiàn)微信小程式中的下拉式選單效果,需要具體程式碼範(fàn)例隨著行動(dòng)互聯(lián)網(wǎng)的普及,微信小程式成為了網(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)下拉式選單效果,並提供具

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

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

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

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

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