生成登录页验证码

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在实例创建完成后立即被调用,此时已经可以访问实例的数据对象和方法了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值