大家好,我是公众号3分钟学堂的郭立员~

这期我们来做个邮箱验证功能,就是脚本激活的时候会往指定邮箱发送验证码,用户通过邮箱得到验证码,填入到脚本界面激活脚本。

先来看看效果展示,如下图所示:

按键精灵脚本教程下载,按键精灵脚本教程第三课插图

这个脚本主要用到以下几个功能:

①界面内容的修改

②文本的读写

③发送邮件功能

基本上就是这些命令,做脚本的时候发现它的难点不在于命令的使用,而是整个脚本逻辑规划。

这个脚本有2个按钮,分别实现发送邮件功能判断验证码是否正确的功能。

验证码是6位随机数字,发送给用户邮箱的同时写入到手机(模拟器)中,激活脚本时验证用户填写的验证码是否和本地存储的一致。

这里面要判断很多“意外”情况:

①用户是否激活过脚本,防止二次激活

通过本地是否有存储验证码的文本来判断有没有发过邮件;

通过本地是否有存储激活时间的文本来判断有没有激活脚本;

②用户是否填写了正确的邮箱

查找输入框内是否有@字符,通过@前面字符数量稍微判断一下是否为正常邮箱。

按键精灵脚本教程下载,按键精灵脚本教程第三课插图1

③用户是否填写正确的验证码

判断验证码的输入框填写内容是不是6位数字。

按键精灵脚本教程下载,按键精灵脚本教程第三课插图2

④邮件格式,通过\n进行换行。

按键精灵脚本教程下载,按键精灵脚本教程第三课插图3

下面是我写的源码:

Function 获取验证()
    Dim path="/sdcard/pictures/code.txt"
    If Dir.Exist(path) = 0 Then 
        Dim inmail=uip.GetAttribute("输入框1")
        If Len(inmail["初始文本"]) = 0 or instr(1,inmail["初始文本"],"@")<5 Then 
            ShowMessage "请填写正确的邮箱!"
        Else 
            Dim code=RndCode()
            Dim mail=inmail["初始文本"]
            file.write (path, code)
            If sentmsg(mail, code) Then 
                ShowMessage "激活码已经发送,请尽快登录邮箱查看!"
            End If  
        End If          
    Else 
        showmessage "已经激活过脚本"
    End If
End Function
Function 激活脚本()
    Dim path="/sdcard/pictures/code.txt"
    Dim path_time="/sdcard/pictures/time.txt"
    Dim incode=uip.GetAttribute("输入框2")
    If Dir.Exist(path_time) = 1 Then 
    showmessage "该设备已经激活过脚本"
      Exit Function
    End If
    If Dir.Exist(path) = 0 Then 
        ShowMessage "先完成邮箱激活"
    Else 
        If Len(incode["初始文本"]) <> 6 Then 
            ShowMessage "请填写正确验证码"
        Else 
            Dim code=file.read(path)
            If incode["初始文本"] = code Then 
              ShowMessage "激活成功!"
              UIP.SetAttribute "按钮2", {"显示内容":"已激活!"}
              file.write(path_time,time())
              Else 
              showmessage "验证码错误!"
            End If
        End If
    End If
    
End Function


Function RndCode()
    Dim str=""
    For 6
        str=str&int(10*rnd())  
    Next
    RndCode=str
End Function


Function sentmsg(mail,code)
    Dim 服务器="smtp.qq.com"
    Dim 发件人邮箱="xxxxxx@qq.com"
    Dim 密码="xxxxxxxxxx"
    Dim 主题="XX脚本验证!"
    Dim 内容="您好!\n欢使用册XX脚本,请将验证码填写到脚本激活页面,\n验证码:"&code
    Dim 收件地址=mail
    dim 返回值 = SendSimpleEmail(服务器,发件人邮箱,密码,主题,内容,收件地址)
    sentmsg= 返回值
End Function

这个脚本可以用在测试版,给用户免费试用,同时限制用户反复激活,需要注意一点就是本地存储验证的文本,尽量藏得隐蔽点,以防用户手动删除,然后可以反复多次试用脚本。

好了内容就这些,觉得还行帮忙给文章点个赞。

=正文完=

加客服微信:3304222535,开通VIP下载权限!