微信小程序的登录允许拒绝

多次拒绝登录和允许登录

微信小程序的登录获取用户信息,是通过微信弹出窗口,用户可点击允许 和拒绝两个按钮,点击允许,则获取用户信息登录成功,若点击拒绝,则获取失败,可通过二次请求调用弹起获取用户信息窗口,如图所示。

登录界面

登录窗口

二次登录窗口

登录成功后

具体代码如下:

//app.js
App({
  onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || [];
    logs.unshift(Date.now());
    wx.setStorageSync('logs', logs);
    console.log('logs',logs);
  },
  getUserInfo:function(cb){
      var that = this;
     //调用登录接口
      function getOpenid(backMsg){
        that.globalData.userInfo = backMsg.userInfo;
        that.globalData.encryptedData = backMsg.encryptedData;
        that.globalData.iv = backMsg.iv;
        that.globalData.login = true;
        console.log(that.globalData.code);
        wx.request({/**通过code获取openid**/
          url:that.localUrl+'Login/sendCodeLogin',
          data:{
            code:that.globalData.code,
            encryptedData: backMsg.encryptedData,
            iv:backMsg.iv
          },
          success:function(openData){
            console.log('返回openid',openData,openData.data);
            if(openData.data.code==1001){
              that.globalData.openid = openData.data.data.openid;
              wx.setStorageSync('openid',that.globalData.openid);
              wx.setStorageSync('userInfo',that.globalData.userInfo);
              wx.setStorageSync('isManager', openData.data.data.isManager);
              wx.showToast({
                title: '登录成功',
                icon: 'success',
                duration: 500
              });
              typeof cb == "function" && cb(that.globalData.userInfo);
            }else{
              wx.showLoading({
                title: '登录失败'
              });
              setTimeout(function () {
                wx.hideLoading();
              }, 500)
            }
          }
        })

      }
      wx.login({
        success: function (msg) {
          console.log('code',msg);
          if(msg.code){
            that.globalData.code = msg.code;
            if(that.globalData.login==false){
              wx.openSetting({
                success: function (data) {
                  if(data) {
                    if (data.authSetting["scope.userInfo"] == true) {
                      //loginStatus = true;
                      wx.getUserInfo({
                        withCredentials: false,
                        success: function (res) {
                            console.log('第二次成功',res);
                            getOpenid(res);

                        },
                        fail: function (res) {
                          that.globalData.login = false;
                          console.log('二次失败',res);
                        }
                      });
                    }else{
                      that.globalData.login = false;
                      console.log('二次失败02');
                    }
                  }
                },
                fail: function () {
                  console.info("设置失败返回数据");

                }
              });
            }else{
              wx.getUserInfo({/**获取用户信息**/
                success: function (res) {
                  console.log('第一次成功',res);
                  getOpenid(res);
                },fail:function(msg){
                  that.globalData.login = false;
                  console.log('第一次失败',msg);
                }
              })
            }
          }
        },
        fail:function(res){
          console.log(res);
        }
      })

  },
  globalData:{
    userInfo:null,
    encryptedData:null,
    iv:null,
    openid:null,
    code:null
  }
});

可扫描下方小程序二维码体验

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序人脸识别注册登录功能是一种基于人脸识别技术的身份验证方式,通过识别用户的面部特征来实现登录和注册功能。这种技术可以提高用户的使用体验和安全性,因为它可以避免用户忘记密码或泄露密码的风险。 实现微信小程序人脸识别注册登录功能需要以下步骤: 1. 获取用户的人脸图像:用户需要在微信小程序界面上使用手机摄像头拍摄自己的面部图像,或者上传自己的面部照片。 2. 人脸特征提取:通过使用人脸识别算法,提取用户面部图像中的特征点,例如眼睛、鼻子、嘴巴等部位的位置和大小等信息。 3. 人脸特征存储:将用户的面部特征存储到服务器端的数据库中,以便后续的验证和识别。 4. 登录和注册验证:当用户需要登录或注册时,系统会要求用户再次上传自己的面部照片进行验证。系统将对新上传的面部照片提取特征并与之前存储的特征进行比对,如果匹配成功,则允许用户登录或注册,否则拒绝。 5. 安全保障:为了保障用户的面部信息安全,系统需要采取一些措施,例如对人脸特征进行加密存储、限制访问权限等。同时,也需要考虑到一些攻击手段,例如伪造面部图像、使用面具等,采取一些技术手段进行防范。 总之,微信小程序人脸识别注册登录功能是一种比传统的用户名密码登录更加安全和便捷的身份验证方式,将会在未来得到越来越广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值