文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微信小程序实现接收验证码

2024-04-02 19:55

关注

本文实例为大家分享了微信小程序实现接收验证码的具体代码,供大家参考,具体内容如下

效果如下图:

wxml部分如下:

<!--验证码-->
  <view class="mod t-name" style='position:relative'>
    <text class="key">验证码:</text>
    <input type="digit" bindinput="bindKeyInput" data-inputname="phoneCode" value='{{phoneCode}}' class="input" maxlength="100" placeholder="请输入手机验证码" />
    <text class='logbook'></text>
    <text class='getkey' bindtap="clickGainCode">{{tipsCode}}</text>
</view>

css部分代码如下:

.mod{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 100rpx;
  padding: 0 20rpx;
  border-bottom:1rpx solid #ccc;
  box-sizing: border-box;
}
.mod .key{
  font-size: 28rpx;
  font-weight: bold;
  text-align: right;
  width: 160rpx;
}
.t-name{
  background-color: rgb(254,254,254);
  box-sizing: border-box;
}
.t-name .input{
  width: 540rpx;
  font-size: 28rpx;
  margin-left: 30rpx;
}
.logbook {
  font-size: 24rpx;
  width: 150rpx;
  text-align: right;
  font-weight: bold;
}

.getkey {
  width: 200rpx;
  position: absolute;
  right: 0rpx;
  text-align: center;
  color: rgb(31, 45, 210);
  font-size: 24rpx;
  border-left: 1px solid #f0f0f0;
}

js的data里定义如下内容:

data: {
        tipsCode: "获取验证码",
        timeNum: 60,
        clikType: false,
        phone: null,
        phoneCode: null,
      }

获取验证码方法如下:

 bindKeyInput: function(e) {
    this.data[e.currentTarget.dataset.inputname] = e.detail.value;
    this.setData(this.data);
  },
  //获取验证码时的显示时间
  getTime() {
    var that = this;
    var timer = setInterval(function() {
      that.data.timeNum--;
      if (that.data.timeNum <= 0) {
        that.setData({
          tipsCode: "重新获取验证码",
          timeNum: timeOut,
          clikType: false
        });
        clearInterval(timer);
      } else {
        that.setData({
          tipsCode: "重新发送" + that.data.timeNum + "秒",
        })
      }
    }, 1000)
  },

  //输入手机号获取验证码
  gainCode() {
    var that = this;
    if (this.data.phone == '' || this.data.phone == null) {
      wx.showToast({
        title: '手机号不能为空',
        icon: 'none',
      })
    }  else {
      that.setData({
        clikType: true
      })
      if (this.data.timeNum < timeOut) {
      } else {
        wx.request({
          url: wxapp_api_url + '/common/getCode',
          header: {
            'content-type': 'application/x-www-form-urlencoded'
          },
          method: "get",
          data: {
            phone: this.data.phone
          },
          success: function(res) {
            that.getTime();
          }
        })
      }
    }
  },
  // 点击获取手机验证码
  clickGainCode(e) {
    if (!this.data.clikType) {
      this.gainCode();
    }
  },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯