小程序微信授权登录

1.大多数的小程序中,会有账号和密码登录,有些时候为了方便用户快速登录,会给微信授权登录;

2.在微信授权登录时,会涉及几种情况:

①该用户注册过咱们公司的网站,可以直接登录;

②该用户未注册过咱们公司的网站,咱们需要帮助用户注册,注册完成后再登录;(此法需用户授权获取电话号码)

③可能在某些老版本(long long ago)中,会没有在微信中绑定电话(由于这种情况很少,这里不做考虑);

3.思路:

①通过<button open-type="getPhoneNumber"bindgetphonenumber="getPhoneNumber">,可以拿到加密参数e.detail.iv和e.detail.encryptedData,

②通过登录接口将以上两个加密参数返还给后台,后台解密处理,完成注册登录;

4.代码

①wxml

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信授权登录</button>

②js

getPhoneNumber(e) {
    console.log(e.detail.errMsg);
    console.log(e.detail.iv);
    console.log(e.detail.encryptedData);
    if (e.detail.iv && e.detail.encryptedData){
      //授权成功,请求接口,将参数返回给后台,后台进行解密
      
    }else{
      wx.showToast({
        title: '授权失败',
        icon: 'none',
        duration: 3000
      });
    }
  } 

③效果

5.说明:

①button按钮https://developers.weixin.qq.com/miniprogram/dev/component/button.html

②参数返回https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

猜你喜欢

转载自blog.csdn.net/hangGe0111/article/details/83537067