<微信小程序>登录界面实现密码输入错误3次,30分钟不允许该账号登录

当时面临如此需求,实在无从下手,后自己想了一个灵活的方法进行面对,特此记录,希望以后不会看不懂自己的代码

登陆界面设置

这个百度一下就可以,与数据库交互的登录界面很是简单,由于本项目要求不可注册,故只有登录、修改密码以及权限锁定,登陆界面略。。。。

监测用户登录错误次数

本项目中,对于用户名以及密码进行校验,故在判断到用户名正确,但是密码错误时,进行计数:

var a = that.data.err_num+1;  // a 的数值表示用户输错密码次数
          if(a>3){  //如果用户没有退出  次数刷新 重新来,防止剩余次数为 负数
            a=0;
          }
          that.setData({
            err_num : a,
            b : 3-a  // b的数值表示用户 距离锁定账户 还剩下次数  当b=0 登录按钮失能30分钟
          })
          console.log(that.data.err_num)
          wx.showModal({
            title: '提示', 
            icon : "none",
            content: '账号或密码错误,剩余次数:' + that.data.b
          })
          //当用户输错密码 三次后 将状态存入数据库中,使登录按钮失能
          if(3 == that.data.err_num ){
            wx.request({
              url:'  ',  //此接口用于 改变用户station 登录 or 30分钟后登录
              data:{
                name:that.data.phone,   
                station: 'false'  
              },
              method:'GET',
              header: {
                'content-type': 'application/json'
              },
              success:res =>{
                console.log(res.data)  
                that.setData({
                  station : false
                })    
              }
            })

将密码输入次数错误超过规定次数的用户记录如数据库,为登录权限验证数据库,每次页面刷线时都会先进行判断该用户是否允许登录。

30分钟记录

此处自己写了一个接口,当用户输入密码错误超过规定次数,微信小程序端就会将该用户名发给接口,接口将该用户登录station 变更为 false,30分钟后会自动将该状态修改为true。

------起初是准备写定时器,后来发现用户退出,定时器就取消了,所有状态就没了,可以尝试写入缓存解决,当并未尝试,有兴趣的朋友可以尝试

效果图

输错密码
封禁

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值