• 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>
    
     
     
  • 相关阅读:
    【Python数据分析】NumPy之数组对象基础
    【Oracle11g】20_函数
    【Word】排版技巧
    cache介绍
    cache verilog实现
    在verilog中使用格雷码
    同步fifo与异步fifo
    AHB总线协议(二)
    Android Handler 消息机制原理解析
    值得推荐的开源C/C++框架和库
  • 原文地址:https://www.cnblogs.com/qx1996liu/p/13953045.html
Copyright © 2020-2023  润新知