• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] 「3分钟学堂」脚本添加邮箱验证功能 [复制链接]

1#

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

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

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



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

①界面内容的修改

②文本的读写

③发送邮件功能

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

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

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

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

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

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

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

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

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



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

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



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



下面是我写的源码:

  1. Function 获取验证()
  2. Dim path="/sdcard/pictures/code.txt"
  3. If Dir.Exist(path) = 0 Then
  4. Dim inmail=uip.GetAttribute("输入框1")
  5. If Len(inmail["初始文本"]) = 0 or instr(1,inmail["初始文本"],"@")<5 Then
  6. ShowMessage "请填写正确的邮箱!"
  7. Else
  8. Dim code=RndCode()
  9. Dim mail=inmail["初始文本"]
  10. file.write (path, code)
  11. If sentmsg(mail, code) Then
  12. ShowMessage "激活码已经发送,请尽快登录邮箱查看!"
  13. End If
  14. End If
  15. Else
  16. showmessage "已经激活过脚本"
  17. End If
  18. End Function
  19. Function 激活脚本()
  20. Dim path="/sdcard/pictures/code.txt"
  21. Dim path_time="/sdcard/pictures/time.txt"
  22. Dim incode=uip.GetAttribute("输入框2")
  23. If Dir.Exist(path_time) = 1 Then
  24. showmessage "该设备已经激活过脚本"
  25. Exit Function
  26. End If
  27. If Dir.Exist(path) = 0 Then
  28. ShowMessage "先完成邮箱激活"
  29. Else
  30. If Len(incode["初始文本"]) <> 6 Then
  31. ShowMessage "请填写正确验证码"
  32. Else
  33. Dim code=file.read(path)
  34. If incode["初始文本"] = code Then
  35. ShowMessage "激活成功!"
  36. UIP.SetAttribute "按钮2", {"显示内容":"已激活!"}
  37. file.write(path_time,time())
  38. Else
  39. showmessage "验证码错误!"
  40. End If
  41. End If
  42. End If

  43. End Function


  44. Function RndCode()
  45. Dim str=""
  46. For 6
  47. str=str&int(10*rnd())
  48. Next
  49. RndCode=str
  50. End Function


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



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

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

=正文完=


扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
发新话题 回复该主题