vue登陆页面图形验证码

使用vue-uuid插件,用于获取随机验证码

main.js
// 引入vue-UUID组件
import UUID from 'vue-uuid';
Vue.use(UUID);
// 功能页面
// 
<template>
  <el-input v-model="model.captchaValue" placeholder="输入验证码">
    <template slot="prepend">
      <div @click="changeCode()">
        <img :src
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Vue 3实现的随机图形验证码代码示例: ``` <template> <div> <canvas ref="canvas" width="120" height="50"></canvas> <input type="text" v-model="captcha" placeholder="请输入验证码" /> <button @click="refreshCaptcha">刷新验证码</button> </div> </template> <script> import { onMounted, ref } from "vue"; export default { name: "Captcha", setup() { const captcha = ref(""); const canvas = ref(null); const refreshCaptcha = () => { const ctx = canvas.value.getContext("2d"); const chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; let code = ""; ctx.clearRect(0, 0, canvas.value.width, canvas.value.height); // 绘制干扰线 for (let i = 0; i < 6; i++) { ctx.beginPath(); ctx.moveTo(Math.random() * canvas.value.width, Math.random() * canvas.value.height); ctx.lineTo(Math.random() * canvas.value.width, Math.random() * canvas.value.height); ctx.strokeStyle = `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})`; ctx.stroke(); } // 绘制验证码 for (let i = 0; i < 4; i++) { const char = chars[Math.floor(Math.random() * chars.length)]; code += char; ctx.font = `${Math.floor(Math.random() * 10 + 30)}px Arial`; ctx.fillStyle = `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})`; ctx.fillText(char, i * 30 + 10, Math.random() * 20 + 30); } captcha.value = code; }; onMounted(() => { refreshCaptcha(); }); return { captcha, canvas, refreshCaptcha, }; }, }; </script> ``` 该代码使用canvas绘制验证码,并在模板中添加了一个输入框和一个刷新按钮。每次点击刷新按钮,都会重新绘制一个新的验证码。用户需要在输入框中输入验证码,后端验证输入的验证码是否正确。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值