2020-11-29

该博客详细介绍了微信小程序如何实现用户授权登录的流程。首先通过`wx.getSetting`检查用户是否已授权,然后根据授权状态设置变量。如果未登录,调用`wx.login`获取登录凭证,并进行注册或登录操作。注册成功后,再进行登录处理,最终将用户信息保存到本地存储并触发相关事件。
摘要由CSDN通过智能技术生成

微信小程序授权登录

判断是否授权

 wx.getSetting({
    success:(res)=>{
       console.log(res)
      if(res.authSetting["scope.userInfo"]){
        this.authorize=true
       
      }else{
        this.authorize=false
      }
         
    }
  })

登录注册

首先判断是否登录也就是判断是否存在token

 
    if( !wx.getStorageSync('token')){ //判断是否授权或者登陆
      
      this.setData({  
        popShow:true,
        hasUserInfo:false
      })

      return false

    }else{ //如果登陆并授权
        
      // 渲染页面
       this.getinfo()
       
    }
    

如果没有登录则去登录

login(){
  
  
  wx.login({
           
    success:async (res)=>{
       console.log(res)
       
       let {data} = await request("https://api.it120.cc/lige/user/wxapp/login",{
          code:res.code,
         
       })

       console.log(data)
        
       if(data.code==0){   //登陆成功
         
       wx.setStorageSync('token',data.data.token)

           

            this.setData({
              info:{
                uid:data.data.uid,
                info:this.e.detail.userInfo,
                 hasUserInfo: true
              }
            })

          app.globalData.info=this.data.info
          this.triggerEvent("info",)  

       }else{
             
      
            

       }

    }

  })




}

若果没有注册则去注册,注册成功之后再去登录

  wx.login({
         success:async (zhuce)=>{

                let {data }= await request("https://api.it120.cc/lige/user/wxapp/register/complex",
                            {code:zhuce.code,encryptedData:this.e.detail.encryptedData,iv:this.e.detail.iv},"POST")
                            console.log(data)
                            console.log(this.e.detail.encryptedData)
                            if(data.code==0){
                                 this.login()
                            }

         }


        })
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值