小程序授权登录流程

1、 获取用户信息 通过微信的按钮button 的开放能力进行授权

<button type=" primary" open-type="getuserInfo" bindgetuserinfo=" getuserInfo" >微信授权登录
</button>
 
//open-type微信按钮的开放能力的类型
//bindgetuserinfo 回调函数 事件内的参数就是用户授权后的信息
 
//获取用户信息按钮的事件
getUserInfo(event){
   //解构用户登录需要用到的四个参数
  const {
   encryptedData, iv, rawData, signature
   } = event. detail;
}

2、 获取code 主要通过wx.login 获取登录凭证

//获取用户信息按钮的事件
getUserInfo(event) {
    //1解构用户登录需要用到的四个参数
   const {encryptedData,iv,rawData,signature} = event. detail;//可以获取到地址,用户名称,头像等等信息
   
  //2在按钮事件内继续获取登录的code标识
   wx.1ogin({
   success: res => {
    const{code}=res}
    
    //3调用登录接口获取token 在code获取完成后
    //需要传入5个必要参数
   this. getTokenData({ //后台写的登录请求
     encryptedData,
     iv,
     rawData,
     signature,
     code
      });
   });
}

3、发请求给后台,获取登录后的token

//调用登录接口获取token,当微信授权的code获取成功的时候, 第二步做完后直接可以调用,单独封装了
getTokenData(params) {
    //3调用后台接口
   request({
    url: \' users/wxlogin\' ,
    method: \' POST\' ,
    data:{
     ...params
    }).then(res=>{
        //登录成功后,保存到本地
        if(res){
            //防止为null ,则结构会保存
            Wx.setstoragesync(\'token\', token);
            
            //返回上一页
            WX.navigateBack( );
        }
    })
}