微信小程序授权登录的步骤
生活随笔
收集整理的這篇文章主要介紹了
微信小程序授权登录的步骤
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
授權(quán)登錄的流程圖
一、先判斷是否授權(quán)。
如果已經(jīng)授權(quán)
// 獲取用戶(hù)信息wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱(chēng),不會(huì)彈框wx.getUserInfo({success: res => {// 可以將 res 發(fā)送給后臺(tái)解碼出 unionIdthis.globalData.userInfo = res.userInfo// 由于 getUserInfo 是網(wǎng)絡(luò)請(qǐng)求,可能會(huì)在 Page.onLoad 之后才返回// 所以此處加入 callback 以防止這種情況if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}}})判斷本地是否有token,沒(méi)有就調(diào)用wx.login獲取Code,調(diào)用wx.getUserinfo獲取昵稱(chēng)等
如沒(méi)有授權(quán)就顯示授權(quán)登錄的按鈕
允許授權(quán) 進(jìn)入button按鈕的bindgetuserinfo的回調(diào)事件
二、wx.login獲取code
1.請(qǐng)求成功code,請(qǐng)求后臺(tái)接口,攜帶參數(shù)Code和用戶(hù)信息
代碼如下(示例):
wx.login({success: async (res) => {if (res.code) {console.log(res);// 登錄let {data: r} = await request(`https://api.it120.cc/zhiqidi/user/wxapp/authorize?code=${res.code}`,{},"POST")console.log(r);wx.setStorageSync('token', r.data.token);} }})2.調(diào)用
1.后臺(tái)調(diào)用微信接口用code換取session key
2.后臺(tái)用session key解密數(shù)據(jù)獲取openid和unionid
3.對(duì)比存在
1.存在 生成自定義token,保存token,處理后續(xù)業(yè)務(wù)
2.不存在,注冊(cè)新用戶(hù),生成自定義token,保存token,處理后續(xù)業(yè)務(wù)
總結(jié)
提示:這里對(duì)文章進(jìn)行總結(jié):
例如:以上就是今天要講的內(nèi)容,本文僅僅簡(jiǎn)單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。
總結(jié)
以上是生活随笔為你收集整理的微信小程序授权登录的步骤的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php捐赠物品管理系统
- 下一篇: 给这份并发编程宝典总结献出我的膝盖!