from flask import Blueprint, request
from exts import alidayu
from utils import restful
from utils.captcha import Captcha bp = Blueprint("common", __name__, url_prefix='/common') @bp.route('/sms_captcha/')
def sms_captcha():
telephone = request.args.get('telephone')
if not telephone:
return restful.params_error('请输入手机号') # 获取随机的验证码
captcha = Captcha.gene_text(number=4) # 4位 # alidayu.send_sms(telephone, code=captcha) # 发送短信验证码
# return restful.success() if alidayu.send_sms(telephone, code=captcha) else restful.params_error('验证码发送失败')
return restful.success(captcha) # 由于没有触发发送验证码,这里只要手机号验证通过统一返回验证码

js

// 短信验证码
$(function () {
$('#sms-captcha-btn').click(function (event) {
event.preventDefault();
var self = $(this);
var telephone = $("input[name=telephone]").val();
console.log(telephone);
if(!(/^1[345789]\d{9}$/.test(telephone))){
xtalert.alertInfoToast('请输入正确的手机号');
return;
}
ajax.get({
'url': '/common/sms_captcha/?telephone=' + telephone,
'success': function (data) {
if(data['code'] == 200){
xtalert.alertSuccessToast('验证码发送成功');
alert('验证码为:' + data['message']); // 由于没有真实的发送验证码,这里弹窗提示验证码
self.attr('disabled', 'disabled'); // 给按钮设置属性,不允许点击
// 倒计时60秒
var timeCount = 60;
var timer = setInterval(function () {
timeCount --;
self.text(timeCount);
if(timeCount <= 0){
self.removeAttr('disabled'); // 移除不能点击属性
clearInterval(timer);
self.text('发送验证码')
}
},1000)
}else{
xtalert.alertInfoToast(data['message'])
}
}
});
});
});

最新文章

  1. nginx+Memcached 缓存设计
  2. Windows Azure Cloud Service (10) Role的生命周期
  3. eclipse隐藏菜单栏实现全部酷黑主题
  4. Tomcat内存设置详解
  5. 正则表达式 自学笔记整理记录 EASY REGEX~
  6. dedecms---------自由列表标题:网站地图自由列表
  7. 使用Unicorn-engine 续1
  8. Java,JSP,JavaScript三和差异
  9. android ExpandableListView实现不同的布局
  10. LeetCode算法题-Flood Fill(Java实现)
  11. 规避 React 组件中的 bind(this)
  12. 从零开始学 Web 之 DOM(五)元素的创建
  13. python一天一题(3)
  14. centos的安装和下载
  15. SQL Server 数据库存储过程实例
  16. 使用jvisualvm的jstatd方式远程监控Java程序
  17. LearnPython - Zip格式文件的解压缩
  18. Scrum立会报告+燃尽图(十月十六日总第七次):总结工作经验,商讨未来策略
  19. 201621123037 《Java程序设计》第1周学习总结
  20. JAVA 文本 TXT 操作工具类

热门文章

  1. Djang简介
  2. vim技巧总结
  3. PAT Basic 1064 朋友数 (20 分)
  4. linux学习19 shell脚本基础-bash脚本编程基础及配置文件
  5. 自定义类似smarty模板
  6. BZOJ 4012 [HNOI2015]开店 (区间修改 永久化标记 主席树)
  7. SpringBoot——》WebMvcConfigurerAdapter详解
  8. @Configuration的使用 和作用(转)
  9. sfmlearner剖析
  10. 数据结构实验之链表七:单链表中重复元素的删除(SDUT 2122)