微信小程序> 微信小程序登录,getPhoneNumber手机号授权登录

微信小程序登录,getPhoneNumber手机号授权登录

浏览量:589 时间: 来源:银鞍照白马

微信小程序最新授权登录

小程序可以通过getPhoneNumber来获取用户手机号,但是getPhoneNumber必须绑定在button组件里。详情官网:微信小程序获取手机号
小程序

如何实现页面进入小程序授权登录?

实现方法:写一个类似微信授权登录的页面,让用户通过按钮触发getPhoneNumber,实现登录授权。再用户进入小程序的时候加个判断,如果未授权,跳到这个登录页面,如果授权,跳到首页。
小程序

实现步骤:

1、登录页login

  • wxml部分
view wx:if="{{canIUse}}" class='login-box'  view class='login-header'    image class='login-img' mode="aspectFill" src='/images/login_pic.png'/image  /view  button class='login-btn' open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"     image src='/images/icon/login_wx.png'/image    微信一键登录  /button/viewview wx:else请升级微信版本/view
  • wxss部分
page{  background: #fff;  height: 100%;   overflow: hidden;  border-top: 1rpx solid #E0E0E0;}.login-box{  display: flex;  flex-direction: column;  align-items: center;   height: 100%;  padding: 0 96rpx;}.login-header{  flex: 1;    display: flex;  align-items: center;  margin-bottom: 100rpx;}.login-img{   width: 436rpx;  height: 296rpx;}.login-btn{  width: 100%;  background: #11BE84;   margin-bottom: 300rpx;  color: #fff;  display: flex;  align-items: center;  justify-content: center;  font-size: 32rpx;}.login-btn image{  width: 36rpx;  height: 36rpx;  margin-right: 30rpx;}
  • js部分
 //登陆  onLogin() {    let that = this    wx.login({      success(res) {        if (res.code) {          api.getXcxUserInfo({            code: res.code          }).then(res = {            that.setData({              sessionKey: res.data.data.sessionKey            })          }).catch(err = {            console.log('获取sessionKey失败')          })        } else {          console.log('登录失败!' + res.errMsg)        }      }    })  },  // 获取手机号授权    getPhoneNumber(e) {    let that = this    wx.showLoading({      title: '加载中',      mask: true,    })    wx.checkSession({      success: function() {        api.phoneAES({          encrypData: e.detail.encryptedData,          ivData: e.detail.iv,          sessionKey: that.data.sessionKey        }).then(res = {          console.log(JSON.parse(res.data.data).phoneNumber)           that.setData({            phone: JSON.parse(res.data.data).phoneNumber          })          api.login({            userName: that.data.phone          }).then(res = {            wx.setStorageSync('token', res.data.data)            wx.reLaunch({              url: '../index/index'            })          }).catch(err = {            console.log("获取token失败");          })        }).catch(err = {          console.log("拒绝登录");          wx.hideLoading()          wx.showModal({            title: '提示',            content: 'BD小助手需要微信授权登录才能正常使用,请授权!',            showCancel: false          })         })      },      fail: function () {        console.log("获取wx.checkSession接口失败");      }    })  },

2、判断是否登录,在app.js

  onShow() {    this.getToken()  },  //获取token  getToken(){    let token = wx.getStorageSync('token')    if (!token) {      wx.reLaunch({        url: 'pages/login/login'//无token跳转到登录页      })    } else {      wx.reLaunch({        url: "pages/index/index"//有token跳转到首页      })    }  }

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎