微信小程序获取验证码倒计时60秒案例

简介: 微信小程序获取验证码倒计时60秒案例

案例1:未点击获取验证码的时候

image.png

案例2:出发获取验证码开始倒计时的效果

image.png

<viewclass="container"><formcatchsubmit="login"><viewclass="inputView"><inputclass="inputText"placeholder="请输入手机号"name="phone"bindblur="phone"/></view><viewclass="inputView"><inputclass="inputText"placeholder="请输入验证码"bindinput="codeInput"maxlength="4"name="codeInput"value="{{codeInput}}"/><buttonbindtap="sendcode"disabled="{{smsFlag}}"size="mini"class="line">{{sendTime}}</button></view><viewclass="loginBtnView"><buttonclass="loginBtn"type=""formType="submit"bindtap="login">登录</button></view></form></view>
Page{
/* background-color: #24CDB2; */font-size: 16px;
}
.container { 
display: flex;  
flex-direction: column; 
padding: 0; 
   } 
   .inputView { 
line-height: 45px; 
width: 90%;
margin: 30pxauto;
border-bottom:1pxsolid#999999;
background-color: #fff;
   } 
  .title{
width: 100%;
font-weight: bold;
font-size: 26px;
text-align: center;
margin-top: 50px; 
/* background-color: #686767; */color:  #686767;
  }
   .inputText { 
display: inline-block;
width: 200px;
/* background-color: #ccc;  */line-height: 45px; 
padding-left: 10px; 
margin-top: 11px;
color: #9b9999; 
font-size: 14px;
   } 
   .line {
border: 1pxsolid#686767;
border-radius: 20px; 
float: right; 
margin-top: 9px;
color: #686767;
   } 
   .loginBtn { 
margin-top: 60px; 
border-radius:30px;
width: 60%;
background-color: #24CDB2;
color: #686767;
font-weight: 600;
   }
   .logo{
width: 200rpx;
height: 200rpx;
border-radius: 50%;
margin: 10pxauto;
   }
// pages/my/my.jsPage({
/*** 页面的初始数据*/data: {
phone:'',
code: '',
adminInput: '',
sendTime: '',
codeInput: '',
sendTime: '获取验证码',
// sendColor: '#363636',snsMsgWait: 60,
  },
//   存入sensoronLoad(){
  },
/*** 获取手机号并验证*/phone(e){
//console.log(e.detail.value)letphone=e.detail.valueletreg=/^[1][3,4,5,7,8][0-9]{9}$/;
if(!reg.test(phone)){
// 弹窗提示wx.showToast({
title: '手机号码格式不正确',
icon:"none",
duration:2000      })
returnfalse;
    }
this.setData({phone:phone})
wx.setStorage({
key:"user_id",
data:phone        })
  },
/*** 获取验证码*/adminNameInput (e) {
this.setData({
adminInput: e.detail.value    })
  },
sendcode:function(){
varinter=setInterval(function(){
this.setData({
smsFlag:true,
sendTime: this.data.snsMsgWait+'s后重发',
snsMsgWait: this.data.snsMsgWait-1        });
if(this.data.snsMsgWait<0){
clearInterval(inter)
//smsFlag: falsethis.setData({
sendTime: '获取验证码',
snsMsgWait: 60,
smsFlag: false            })
        }
    }.bind(this),600)
letphone=this.data.phonewx.request({
url: 'https://app.clovedu.cn/api/face_code', //仅为示例,并非真实的接口地址data: {
user_phone:phone        },
header: {
'content-type': 'application/json'// 默认值      },
method:'POST',
success (res) {
console.log(res)
// 发送验证码错误信息if(!res.statusCode==200){
letinfo=res.data.msgwx.showToast({
title: info,
icon:"error"          })
        }
// 验证码发送成功提示if(res.statusCode==200){
wx.showToast({
title: '验证码已发送',
icon:"success"          })
        }
// 频繁点击提示if(res.code==100){
wx.showToast({
title: '点击频繁',
icon:"error"          })
        }
      }
    })
},
codeInput (e) {
this.setData({
codeInput: e.detail.value    })
  },
/*** 点击登录*/login(e){
console.log(e.detail.value.code)
letsms=e.detail.value.codeletphone=e.detail.value.phoneif(phone==""){
wx.showToast({
title: '手机号不能为空',
icon:"error"    })
  }
if(sms==""){
wx.showToast({
title: '验证码不能为空',
icon:"error"    })
  }
wx.request({
url: 'https://app.clovedu.cn/api/face_login', //仅为示例,并非真实的接口地址data: {
code:sms,
user_phone:phone    },
header: {
'content-type': 'application/json'// 默认值    },
success:(e)=>{
console.log(e)
// 登录失败返回错误提示if(e.data.code==100){
letinfo=e.data.msgwx.showToast({
title: info,
icon:"error"        })
      }
    }
  })
},
})
相关文章
|
12天前
|
开发框架 小程序 测试技术
排队免单小程序开发模式案例
排队免单小程序通过线上排队系统,为用户提供便捷的免单机会。主要功能包括用户注册与登录、商家入驻与管理、排队系统、通知与提醒、活动记录与查询。技术实现涉及微信小程序原生开发框架、后端技术、API接口和第三方服务。开发过程还包括全面的测试与优化,确保稳定运行和良好体验。最后,通过提交审核、上线运营和推广策略,吸引更多用户和商家入驻。
|
1月前
|
人工智能 小程序 搜索推荐
成功案例分享|使用AI运动识别插件+微搭,快速搭建AI美体运动小程序
今天给大家分享一个最近使用我们的“AI运动识别小程序插件”+“微搭”搭建小程序的经典案例。
成功案例分享|使用AI运动识别插件+微搭,快速搭建AI美体运动小程序
|
1月前
|
缓存 数据可视化 Serverless
微信小游戏 案例一 像素飞机
微信小游戏 案例一 像素飞机
19 2
|
1月前
|
JavaScript 小程序 前端开发
微信小程序 案例二 飞机大战
微信小程序 案例二 飞机大战
45 0
微信小程序 案例二 飞机大战
|
1月前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
|
1月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
95 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
29天前
|
小程序 搜索推荐 前端开发
短剧小程序开发案例
首先,明确你的短剧平台的目标用户群体和他们的需求。比如,年轻用户可能更倾向于轻松、幽默的短剧内容,而家庭用户则可能更偏爱教育、亲子类的短剧。了解用户需求有助于你设计更符合他们口味的功能和界面
|
2月前
|
Windows
Axure原型设计:获取验证码倒计时效果的实现
本文介绍了使用Axure 9.0在Windows或Mac电脑上设计手机号登录页面的步骤,包括前期准备和详细教程。前期准备涉及软件、硬件及逻辑梳理。教程涵盖绘制登录页面、创建动态面板实现倒计时效果,以及设置按钮交互。通过这些步骤,实现输入手机号后点击获取验证码的禁用状态与倒计时显示功能。鼓励读者思考其他实现方法,提升Axure使用技巧。
|
2月前
Axure原型设计:制作验证码倒计时,并重新获取交互效果
本文详细介绍了在Axure中实现验证码倒计时交互效果的步骤,包括元件准备、布局美化、全局变量设置及交互效果配置。通过分解交互流程,利用全局变量控制倒计时逻辑,最终实现按钮从“获取验证码”到倒计时状态的自动切换,并可重复使用。
|
1月前
|
人工智能 小程序 Python
Python编程小案例——编一个事件提醒弹窗小程序
Python编程小案例——编一个事件提醒弹窗小程序