一文教會你微信小程序如何實現登錄
業務流程:
1:首先需要一個按鈕觸發事件
2:調用微信小程序的登錄接口wx.login,拿到code
3:調用微信小程序的獲取用戶信息的接口wx.getUserProfile,拿到用戶的個人信息
4:拿到的個人信息調用後臺的接口,把個人信息傳給後臺,登錄成功並把相關信息存儲在本地的緩存中,方便之後的開發使用
下面開始用代碼介紹
wxml:
<view> <button bindtap="login">登錄</button> </view>
js:
1:data初始數據
//後臺接口需要的一下參數(具體要和後臺的同事商量) loginInfo: { code: '', spread_spid: 0, spread_code: 0 }
2:按鈕觸發的login點擊事件
調用微信小程序的登錄接口:
wx.login(Object object) | 微信開放文檔
微信開發者平臺文檔
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html
調用微信獲取用戶個人信息的接口:
wx.getUserProfile(Object object) | 微信開放文檔
微信開發者平臺文檔
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html
//登錄按鈕觸發的事件 login(){ let that = this //調用微信小程序的登錄接口 wx.login({ success(e) { that.data.loginInfo.code = e.code //拿到的code存儲在data中 wx.showModal({ title: '溫馨提示', content: '微信授權登錄後才能正常使用小程序功能', cancelText: '拒絕', confirmText: '同意', success( sucessInfo ) { //調用微信小程序的獲取用戶信息的接口 wx.getUserProfile({ desc: '用於完善會員資料', // 聲明獲取用戶個人信息後的用途 lang: 'zh_CN', success(info) { //把獲取到的信息復制到data中的loginInfo中 that.data.loginInfo = Object.assign( that.data.loginInfo, info ) //調用後臺的接口,把所有整合的個人信息傳過去 that.handlerLogin( that.data.loginInfo ) }, fail(e) { console.log('獲取用戶信息失敗', e) } }) }, fail() { console.log("拒絕") }, complete() {} }) }, fail(e) { console.log('fail', e) wx.showToast({ title: '網絡異常', duration: 2000 }) return } }) }
3:調用後臺的登錄接口
wx.setStorageSync() :將數據存儲在本地緩存中,
wx.setStorageSync(string key, any data) | 微信開放文檔
微信開發者平臺文檔
https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html
wx.getStorageSync('token') :獲取本地緩存的數據
any wx.getStorageSync(string key) | 微信開放文檔
微信開發者平臺文檔
https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html
//調用後臺的登錄接口 handlerLogin( loginInfo ) { let that = this //login是後臺接口封裝的方法 login( loginInfo ).then(( res ) => { console.log('登錄成功', res) let { cache_key, expires_time, token, userInfo } = res.data //把用戶信息存儲到storage中,方便其它地方使用 wx.setStorageSync('cache_key', cache_key) wx.setStorageSync('expires_time', expires_time) wx.setStorageSync('token', token) wx.setStorageSync('isLog', true) wx.setStorageSync('userInfo', JSON.stringify( userInfo )) wx.setStorageSync('loginRecord', new Date().getTime()) }) .catch(( res ) => { console.log('catch', res) }) .finally(() => { console.log('finally') }) }
總結
以上就是微信小程序開發時,實現的登錄。一共4步走,希望能幫助得到大傢。
到此這篇關於微信小程序如何實現登錄的文章就介紹到這瞭,更多相關微信小程序實現登錄內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!