首先直接上图验证码效果:
一、元件准备
1、文本输入框一个。用于输入验证码的,命名为“input”;
2、动态面板一个。有两个state,一个是验证码输入正确,一个是错误,默认隐藏,命名为"tooltip";
3、矩形框一个。用于显示随机的验证码,命名为“yanzheng”;
4、文本标签一个,用于手动重置验证码,命名为“change”。
5、全局变量两个。OnLoadVariable默认值为:0123456789abcdefghijklmnopqrstuvwxyz,yzm默认值为空。
二、添加用例
1、页面用例。由于一进入页面时就需要加载出验证码,所以在页面载入时需要添加用例,目的是在进入页面的时候能够动态生成验证码(举例的验证码为4位);
a、首先通过随机获取“OnLoadVariable”变量中的一位字符,然后将获取得到的字符赋值给“yzm”变量。获取“OnLoadVariable”变量的一位字符通过数学函数Math.random()和字符串函数substr()联合得到。这里要注意一下,由于“OnLoadVariable”变量初始值是“0~z”共36位,所以要截取“OnLoadVariable”的一位字符必须是下标“0~35”的整数,所以使用Math.floor()向下取整,这样刚好能够取到“0~35”之间的整数。有一点需要注意的是:每一次赋值给“yzm”变量时,都是在原来的基础上增加新截取的一位字符,所以需要把“yzm”原来的值加上新获取的字符一起赋值给“yzm”。
b、将“yzm”变量的值赋值给“yanzheng”矩形框为文字内容。为了让验证码更逼真一些,这里把“yanzheng”矩形框的字体设置成个性一点的字体和颜色,选择了富文本。
c、添加一个触发事件到页面中。这里会通过这个触发事件再次执行页面的“页面载入时”事件,达到每次获取一个字符的效果。
2、输入框用例。用于判断输入的验证码是否正确,添加“按键松开时”用例,通过输入框(“input”)文字的长度和文字内容是否等于"yanzheng"矩形框的文字内容来判定。
a、如果“input”文字长度等于4且内容等于“yanzheng”矩形框的文字内容,那么认为验证码输入正确,给出正确的提示,显示“tooltip”动态面板中“对”的状态。
b、如果“input”文字长度等于4但内容不等于“yanzheng”矩形框的文字内容,那么给出错误提示,显示“tooltip”动态面板中“错”的状态。
c、其他的情况全部隐藏动态面板。
3、换一张用例。更换验证码,首先需要把“yanzheng”、“input” 和 “yzm”中的值全部清空,并且隐藏动态面板的提示信息,然后直接“触发事件”到页面的“页面载入时”即可,这样就执行“页面载入时”的用例来,新的验证码就出来了。
最后,附上rp文件预览效果:简单实用验证码