zoukankan      html  css  js  c++  java
  • Vue联调,图片及短信验证码

     

    1.vue发送短信逻辑

    • 前端函数如下,js方法代码无需更改,前端代码逻辑在componentscommonlab_header.vue

    • 只需要修改componentsaxios_apihttp.js中调用的后端地址

    // axios.defaults.baseURL = "http://127.0.0.1:8000/"
    axios.defaults.baseURL = "http://192.168.56.100:8888/"
    

    手机验证码vue

    
    <template>
      <div>
         <input
               type="text"
               v-model="code"
               class="form-control"
               placeholder="请输入短信验证码"
               @blur="check_msgcode">
              <Button @click="sendcode">{{msgButtonText}}</Button>
      </div>
    </template>
    
    
    <script>
        // 获取手机验证码
       methods: {
        sendcode() {
          // 0. 判断是否发送中
          if (this.is_send) {
            return
          }
          this.check_phone()
          this.check_imgcode()
          if (this.phone_error || this.imgCode_error) {
            return false
          }
          // 3、短信发送
          // imgCode: '',
          // uuid: '',
          var data = { phone: this.phone, image_code_uuid: this.uuid, image_code: this.imgCode }
          this.is_send = true
          send_phone_code_post(data).then((res) => {
            console.log(res)
            if (res.code != 0) {
              this.errorMsg = res.msg
              return
            }
            let t = 10
            let si = setInterval(() => {
              this.msgButtonText = t
              t = t - 1
              if (t == 0) {
                this.is_send = false
                this.msgButtonText = '获取手机验证码'
                clearInterval(si)
              }
            }, 1000)
    
            // if (res.data.code == 200) {
            //   console.log('短信发送成功')
            //   alert(res.data.message)
            // } else {
            //   alert(res.data.message)
            // }
          }).catch((err) => {
            console.log(err)
          })
        },
    }
    </script>
    

    图片验证码vue

    <template>
       <div class="input-group">
          <img
            class="verify-code"
            :src="imgUrl"
            @click="getImgUrl">
       </div>
    </template>
    
    
    <script>
         mounted(){
          this.getImgUrl()
          },
    
         methods: {
          // 生成uuid
          getUuid() {
          var d = new Date().getTime()
          if (window.performance && typeof window.performance.now === 'function') {
            d += performance.now()
          }
          var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            var r = (d + Math.random() * 16) % 16 | 0
            d = Math.floor(d / 16)
            return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16)
          })
          return uuid
        },
    
        // 动态生成图形验证码URL
        getImgUrl() {
          let uuid = this.getUuid()
          this.uuid = uuid
          let url = 'http://192.168.56.100:8888/verify/image_codes/?uuid=' + uuid
          // let url = 'http://192.168.56.100:8888/verify/image_codes/?uuid=66ea64aa-fbe6-11ea-a3d3-005056c00008'
          this.imgUrl = url
        },
    }
    </script>
    
     
     
  • 相关阅读:
    学习也可以有趣,喜欢上pandas,你该这么学!No.4
    Umbral:新型分散式密钥管理系统的代理重加密方案
    同态加密
    解决方案 | MySQL DBA主从复制出错怎么办?
    干货分享 | 史上最全Oracle体系结构整理
    点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3
    mysql集群搭建(PXC)
    Centos7 离线安装mysql 5.6详细步骤
    tomcat别名配置多域名访问配置
    关于打印机状态的获取【转】
  • 原文地址:https://www.cnblogs.com/qx1996liu/p/13953045.html
Copyright © 2011-2022 走看看