码迷,mamicode.com
首页 > 微信 > 详细

微信小程序实现微信授权登录

时间:2021-03-29 11:35:23      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:vb6   list   data   通过   url   tab   stl   授权登录   ESS   

首先,需要通过button按钮来弹出授权框

<button open-type="getUserInfo" @getuserinfo="getUserInfo">微信登录</button>

getUserInfo(e) {
  //拿到用户信息

  信息包含头像,昵称
  let detail = e.detail || {}
  if (!detail.userInfo) {
    return;
  }

wx.login({

  success(res) {

    let code = res.code
    if (res.code) {//获取code,发起网络请求
      let data = {
        jsCode: res.code,
      }
      this.$api.wxLoginApi(data).then(res=>{
        if(res.code == 200){
          // console.log(res)
          if(res.result.openidList&&res.result.openidList[0]){
            uni.setStorageSync(‘openid‘, res.result.openidList[0])
          }
        if(!res.result.firstLogin){//判断是否第一次微信授权,第一次要去绑定手机
          uni.setStorageSync(‘userId‘,res.result.userId)
          uni.setStorageSync(‘sessionId‘,res.result.sessionId)
          isWorkshop()
        }else{
          const title="绑定手机"
          uni.navigateTo({
            url: `/pages/login/login?title=${title}&&type=1`
          })
         }
       }else{
        
        }
      })
    } else {
    console.log(‘登录失败!‘ + res.errMsg)
}
}
})

},

授权绑定手机号

<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">授权手机号</button>

getPhoneNumber(e) {
  if(e.detail.encryptedData){
    let params = {
      openid:uni.getStorageSync(‘openid‘),
      encryptDataB64: e.detail.encryptedData,
      ivB64: e.detail.iv,
    },
  this.$api.wxDecryptData(params).then(res => {//对返回的手机号信息解密,拿到手机号
    if (res.code === 200) {
      // console.log(res)
      this.form.phone=res.result.phoneNumber
    } else {
    }
    })
  }
},

用户信息授权框授权后不再出现,手机号授权授权框一直可以出现

微信小程序实现微信授权登录

标签:vb6   list   data   通过   url   tab   stl   授权登录   ESS   

原文地址:https://www.cnblogs.com/wszxx/p/14582352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!