赞
踩
当时面临如此需求,实在无从下手,后自己想了一个灵活的方法进行面对,特此记录,希望以后不会看不懂自己的代码
这个百度一下就可以,与数据库交互的登录界面很是简单,由于本项目要求不可注册,故只有登录、修改密码以及权限锁定,登陆界面略。。。。
本项目中,对于用户名以及密码进行校验,故在判断到用户名正确,但是密码错误时,进行计数:
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 }) } })
将密码输入次数错误超过规定次数的用户记录如数据库,为登录权限验证数据库,每次页面刷线时都会先进行判断该用户是否允许登录。
此处自己写了一个接口,当用户输入密码错误超过规定次数,微信小程序端就会将该用户名发给接口,接口将该用户登录station 变更为 false,30分钟后会自动将该状态修改为true。
------起初是准备写定时器,后来发现用户退出,定时器就取消了,所有状态就没了,可以尝试写入缓存解决,当并未尝试,有兴趣的朋友可以尝试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。