zoukankan      html  css  js  c++  java
  • 生成登录页验证码

    1). 生成验证码

    在 src 新建 utils 文件夹,然后新建 createCaptcha.js 文件,复制贴入以下代码:

    src/utils/createCaptcha.js

     1 export default function(num = 6, letters = 'QWERTYUIOPLKJHGFDSAZXCVBNM1234567890') {
     2   let tpl = ''
     3   let captcha = []
     4 
     5   try {
     6     captcha = [...Array(num)].map(() => letters[Math.floor(Math.random() * letters.length)])
     7   } catch (e) {}
     8 
     9   captcha.forEach(item => {
    10     tpl += `<span class="flex1 hcenter">${item}</span>`
    11   })
    12 
    13   captcha = captcha.join('')
    14 
    15   return {
    16     tpl,
    17     captcha
    18   }
    19 }

    2). 使用验证码

    1、打开 src/views/auth/Register.vue 文件,复制以下代码替换原 <script>

    src/views/auth/Register.vue

     1 <script>
     2 import createCaptcha from '@/utils/createCaptcha'
     3 
     4 export default {
     5   name: 'Register',
     6   data() {
     7     return {
     8       captchaTpl: '' // 验证码模板
     9     }
    10   },
    11   created() {
    12     this.getCaptcha()
    13   },
    14   methods: {
    15     getCaptcha() {
    16       const { tpl, captcha } = createCaptcha()
    17 
    18       this.captchaTpl = tpl
    19       this.localCaptcha = captcha
    20     }
    21   }
    22 }
    23 </script>

    2、查找 <div class="thumbnail",添加点击事件处理器 getCaptcha,并在其子元素上绑定 captchaTpl

    src/views/auth/Register.vue

    1 <!-- 修改 -->
    2 <div class="thumbnail" title="点击图片重新获取验证码">
    3   <div class="captcha"></div>
    4 </div>
    5 <!-- 为 -->
    6 <div class="thumbnail" title="点击图片重新获取验证码" @click="getCaptcha">
    7   <div class="captcha vcenter" v-html="captchaTpl"></div>
    8 </div>

    生命周期钩子created在实例创建完成后立即被调用,此时已经可以访问实例的数据对象和方法了。

  • 相关阅读:
    CodeForces1152CNeko does Maths
    π的计算公式
    IFS变量对加双引号和不加双引号变量的区别对待
    各种距离
    ADO.NET Data Service 二 绑定数据类
    向客户端注入JavaScript代码
    Ajax ModelPopu and Progress 示例学习
    Sliverlight 入门教程七
    (牛人莫入)Jquery plugin 多文件上传
    自定义控件的验证使用
  • 原文地址:https://www.cnblogs.com/yangguoe/p/9309348.html
Copyright © 2011-2022 走看看