登录授权
1、检验是否登陆,获取小程序login的code
// 微信的登录,获取小程序login的code getLoginCode(){ wx.login({ success: res => { if (res.code) { // 发送 res.code 到后台换取 openid, sessionKey, unionid //TODO,如 this.getOpenid(res.code); } else { this.showTip('登录失败!' + res.errMsg) } }, fail: res => { console.log("失败" + res.errMsg) }, }) },
2、获取小程序openid, sessionKey, unionid
// 获取openid, unionid,sessionKey getOpenid(code){ this.request({//自己封装的请求函数 url:"URL接口", data:{ code:code } }).then(res=>{ //TODO }); },
3、授权手机号
<button class="btn_item" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">授权手机号</button>
//绑定电话,解密手机号 getPhoneNumber(e) { //解密需要的参数 const iv = e.detail.iv; const encryptedData = e.detail.encryptedData; if (iv == null || encryptedData == null) { return false } const sessionKey = this.globalData.loginfo.sessionKey const openid=this.globalData.loginfo.openid; if(openid==undefined||openid==''){ return } wx.showLoading({ title: '登录中...', mask: true }) //验证是不是登陆状态 wx.checkSession({ success: (res) => { //解密电话 getPhoneNumber({encryptedData,iv,sessionKey,openid}).then(res=>{ wx.hideLoading(); if (res.code != 200) { this.showTip("登录失败,请重新授权!"); //失败了可能是sessionKey过期,可以重新获取code this.getLoginCode(); return; } //Todo }).catch(err=>{ this.showTip('登录失败,请重试'); }) }, fail: () => { //如果失败,就重新登录,并且重新获取手机号 wx.hideLoading(); this.showTip("登录失败..."); this.getLoginCode(); } }) },
sessionKey = this.globalData.loginfo.sessionKey
作者:黄哈哈。
原文链接:https://www.cnblogs.com/jiajia-hjj/p/13883362.html
本博客大多为学习笔记或读书笔记,本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正。