vue 短信验证
直接贴代码:
HTML
<div class="phone">
<div class="number">
<p class="tip">手机号码<span style="color: #ff0000;">*</span></p>
<input type="number" class="info" :placeholder="question.prompt_content" v-model="phoneObj"/>
</div>
<div class="number">
<p class="tip"> </p>
<input type="number" class="checkPhone" placeholder="请输入验证码" v-model="checkNumberObj"/>
<button :disabled="fetchCodeMsg || false" class="getCheckNumber" :class="{unselected: fetchCodeMsg}" @click="getCheckNumber(question.question_id)">{{timerCodeMsg||'获取验证码'}}</button>
</div>
</div>
CSS
.number{
        height: torem(100px);
        line-height: torem(100px);
        padding-left: torem(20px);
        position: relative;
        float: left;
        width: %;
        border-bottom: 1px solid #dddddd;
        .unselected{
          background-color: #cccccc !important;
        }
      .tip{
                  font-size: torem(28px);
                  color: #000000;
                  width: torem(260px);
                  position: relative;
                  float: left;
                  overflow: hidden;
                  white-space: nowrap;
                  text-overflow: ellipsis;
              }
      .info{
                font-size: torem(28px);
                color: #000000;
                width: torem(450px);
            }
      .checkPhone{
                width: torem(220px);
                font-size: torem(28px);
                color: #000000;
                padding-right: torem(30px);
            }
        .getCheckNumber{
          width: torem(180px);
          height: torem(54px);
          color: #ffffff;
          background-color: #2E97DD;
          font-size: torem(28px);
          position: relative;
          float: right;
          border-radius: torem(6px);
          text-align: center;
          line-height: torem(54px);
          margin-top: torem(24px);
          margin-right: torem(30px);
        }
      }
JS
data(){
return {
phoneObj: '', // phoneOb
timerCodeMsg: '', // timerCodeMsg
fetchCodeMsg: '', // fetchCodeMsg
}
}
    getCheckNumber () {
      let newPhone = this.phoneObj
      if (!(/^[]\d{}$/.test(newPhone))) {
        Toast('手机号码有误,请重填')
        return false
      } else {
        this.$root._axios('post', 'CheckCodeApi/sendSmSodeReserve', {phone: newPhone})
        .then(res => {
          if (res.data.errcode === ) {
            let sec =
            for (let i = ; i <= ; i++) {
              window.setTimeout(() => {
                if (sec != ) {
                  this.timerCodeMsg = sec + '秒后重发'
                  this.fetchCodeMsg = true
                  sec--
                } else {
                  sec =  // 如果倒计时结束就让  获取验证码显示出来
                  this.timerCodeMsg = '重新发送'
                  this.fetchCodeMsg = false
                }
              }, i * )
            }
          }
        })
      }
    }
vue 短信验证的更多相关文章
- vue短信验证性能优化写入localstorage中
		平时我们在项目中进行注册等的时候,会经常用到短信验证的功能,但是现在现在很多短信验证都是存在下面几个问题,例如短信验证时间为60s的时候, 1. 当点击完按钮时,倒计时还没到60s过完时,刷新浏览器, ... 
- Luffy之注册认证(容联云通讯短信验证)
		用户的注册认证 前端显示注册页面并调整首页头部和登陆页面的注册按钮的链接. 注册页面Register,主要是通过登录页面进行改成而成. 先构造前端页面 <template> <div ... 
- 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证
		登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ... 
- Mob.com 短信验证的简单使用
		1.环境配置 http://wiki.sharesdk.cn/android-短信sdk集成文档/ a.sdk下载 http://www.mob.com/#/downloadDetail/SMS/an ... 
- python基于LeanCloud的短信验证
		python基于LeanCloud的短信验证 1. 获取LeanCloud的Id.Key 2. 安装Flask框架和Requests库 pip install flask pip install re ... 
- thinkphp实现短信验证注册
		前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现. 短信验证平台使用云片,短信验证码的生成使用thinkphp. 思路 1.用户输入手机号,请求获取短信验证码. 2.thinkphp生成 ... 
- Mob短信验证的具体使用
		原文著作权地址:http://www.jb51.net/article/84946.htm demo地址:http://git.oschina.net/lizhanqi/MobSMSDemo 一.前言 ... 
- Mob短信验证的配置的解释
		原文地址:http://www.jb51.net/article/84946.htm 关于mob短信验证的解释: mob官方是这样写的: repositories{ flatDir{ dirs 'li ... 
- 完整的Android手机短信验证源码
		短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台 1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ... 
随机推荐
- ES5-ES6-ES7_数值的扩展
			二进制与八进制数值表示法: 二进制用0b, 八进制用0o console.log(0b1010) console.log(0o56) Number.isFinite(i) 判断是否是有限大的数 con ... 
- 【SDOI2017】天才黑客
			[SDOI2017]天才黑客 这题太神了. 先模Claris 大神的题解. 首先我们要将边转换为点.如果暴力连边就会有\(m^2\)的边,于是我们考虑优化建图. 难点在于快速得到两个边的串的\(lcp ... 
- nginx作为负载均衡服务器,tomcat作为应用服务器
			1 如果想用一台主机,能够部署多个站点,并且访问每个站点都要求是在80端口,可以采用nginx+tomcat的方式 需要注意的是,tomcat一定不要监听80端口. 可以将静态资源配置在nginx ... 
- UVA1374-Power Calculus(迭代加深搜索)
			Problem UVA1374-Power Calculus Accept:107 Submit:584 Time Limit: 3000 mSec Problem Description In ... 
- 在git多分支repo仓库中彻底清除大文件
			坑的由来 repo中不小心上传了许多测试生成的data.结果可想而知,原本只有代码的仓库突然间变得无比臃肿(或者是慢慢臃肿),从早期的几十MB,迅速飙升至1G. 到底发生了什么 早些时候我对git的原 ... 
- Spring事务嵌套
			学习一下Spring的事务嵌套:https://blog.csdn.net/zmx729618/article/details/77976793 重点句子: Juergen Hoeller 的话: ... 
- ubantu 安装 wget
			sudo apt-get update sudo apt-get install wget wget 
- 14 python初学(高阶函数 递归函数 内置函数)
			高阶函数:1. 函数名是一个变量,函数名可以进行赋值 2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址:print 这个返回值的调用相当于执行这个函数 ... 
- nginx让所有的http地址重定向到https
			问:为什么让所有的http都重定向到https呢?答:因为这样会使网站更安全些. 那么我是如何在nginx配置,让输入http://www.youcongtech.com或者youcongtech.c ... 
- python 全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)
			昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当 ... 
