您当前的位置: 首页 > 知识百科 > 小程序验证码怎么获取?获取小程序验证码的代码

小程序验证码怎么获取?获取小程序验证码的代码

时间:2023-07-01 14:05 阅读数:85 人阅读 分类:知识百科

  相信大家都体验过很多App在注册的时候,填写手机号要获取验证码,其实在注册小程序的时候也会需要填写验证码,那么小程序验证码怎么获取呢?和开发小程序一样也需要相关的代码。

  获取小程序验证码的相关代码:

  1,工具类(引用微信小程序工具类)countdown.js

  class Countdown {

  constructor(options = {}) {

  Object.assign(this, {

  options,

  })

  this.__init()

  }

  /**

  * 初始化

  */

  __init() {

  this.page = getCurrentPages()[getCurrentPages().length - 1]

  this.setData = this.page.setData.bind(this.page)

  this.restart(this.options)

  }

  /**

  * 默认参数

  */

  setDefaults() {

  return {

  date: `June 7, 2087 15:03:25`,

  refresh: 1000,

  offset: 0,

  onEnd() {},

  render(date) {},

  }

  }

  /**

  * 合并参数

  */

  mergeOptions(options) {

  const defaultOptions = this.setDefaults()

  for (let i in defaultOptions) {

  if (defaultOptions.hasOwnProperty(i)) {

  this.options[i] = typeof options[i] !== `undefined` ? options[i] : defaultOptions[i]

  if (i === `date` && typeof this.options.date !== `object`) {

  this.options.date = new Date(this.options.date)

  }

  if (typeof this.options[i] === `function`) {

  this.options[i] = this.options[i].bind(this)

  }

  }

  }

  if (typeof this.options.date !== `object`) {

  this.options.date = new Date(this.options.date)

  }

  }

  /**

  * 计算日期差

  */

  getDiffDate() {

  let diff = (this.options.date.getTime() - Date.now() + this.options.offset) / 1000

  let dateData = {

  years: 0,

  days: 0,

  hours: 0,

  min: 0,

  sec: 0,

  millisec: 0,

  }

  if (diff <= 0) {

  if (this.interval) {

  this.stop()

  this.options.onEnd()

  }

  return dateData

  }

  if (diff >= (365.25 * 86400)) {

  dateData.years = Math.floor(diff / (365.25 * 86400))

  diff -= dateData.years * 365.25 * 86400

  }

  if (diff >= 86400) {

  dateData.days = Math.floor(diff / 86400)

  diff -= dateData.days * 86400

  }

  if (diff >= 3600) {

  dateData.hours = Math.floor(diff / 3600)

  diff -= dateData.hours * 3600

  }

  if (diff >= 60) {

  dateData.min = Math.floor(diff / 60)

  diff -= dateData.min * 60

  }

  dateData.sec = Math.round(diff)

  dateData.millisec = diff % 1 * 1000

  return dateData

  }

  /**

  * 补零

  */

  leadingZeros(num, length = 2) {

  num = String(num)

  if (num.length > length) return num

  return (Array(length + 1).join(`0`) + num).substr(-length)

  }

  /**

  * 更新组件

  */

  update(newDate) {

  this.options.date = typeof newDate !== `object` ? new Date(newDate) : newDate

  this.render()

  return this

  }

  /**

  * 停止倒计时

  */

  stop() {

  if (this.interval) {

  clearInterval(this.interval)

  this.interval = !1

  }

  return this

  }

  /**

  * 渲染小程序组件

  */

  render() {

  this.options.render(this.getDiffDate())

  return this

  }

  /**

  * 启动倒计时

  */

  start() {

  if (this.interval) return !1

  this.render()

  if (this.options.refresh) {

  this.interval = setInterval(() => {

  this.render()

  }, this.options.refresh)

  }

  return this

  }

  /**

  * 更新offset

  */

  updateOffset(offset) {

  this.options.offset = offset

  return this

  }

  /**

  * 重启倒计时

  */

  restart(options = {}) {

  this.mergeOptions(options)

  this.interval = !1

  this.start()

  return this

  }

  }

  export default Countdown

  2,WXML部分:

  {{ c2 || '获取验证码' }}

  3,JS部分:

  import $wuxCountDown from 'countdown/countdown'

  export {

  $wuxCountDown,

  }

  import { $wuxCountDown } from '../../components/wux'

  vcode: function () {

  if (this.c2 && this.c2.interval) return !1

  this.c2 = new $wuxCountDown({

  date: +(new Date) + 60000,

  onEnd() {

  this.setData({

  c2: '重新获取验证码',

  })

  },

  render(date) {

  const sec = this.leadingZeros(date.sec, 2) + ' 秒后重发 '

  date.sec !== 0 && this.setData({

  c2: sec,

  })

  },

  })

  }

  借用以上的小程序代码,小程序验证码怎么获取这个问题就可以解决了,大家可以按照上面的资料获取小程序验证码,从而开发出自己想要的小程序,快来试试吧。更多相关资料请关注微信小程序商店。

  

  小程序搜米粒优惠券怎么获取?

  微信小程序怎么获取通讯录?小程序获取通讯录的方法

  微信小程序地图距离怎么获取?