返回顶部
首页 > 资讯 > 精选 >Vue如何实现验证码登录
  • 302
分享到

Vue如何实现验证码登录

2023-06-29 15:06:18 302人浏览 薄情痞子
摘要

本文小编为大家详细介绍“Vue如何实现验证码登录”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现验证码登录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果展示第一步:创建验证码组件这里是组件的代码

本文小编为大家详细介绍“Vue如何实现验证码登录”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现验证码登录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

效果展示

Vue如何实现验证码登录

第一步:创建验证码组件

这里是组件的代码,可以自行命名文件名,我这里命名为SIdentify.vue

<template>    <div class="s-canvas">        <canvas id="s-canvas" :width="contentWidth" :height="contentHeight"></canvas>    </div></template> <script>    export default {        name: "SIdentify",        props: {            identifyCode: {                type: String,                default: '1234'            },            fontSizeMin: {                type: Number,                default: 25            },            fontSizeMax: {                type: Number,                default: 30            },            backgroundColORMin: {                type: Number,                default: 255            },            backgroundColorMax: {                type: Number,                default: 255            },            colorMin: {                type: Number,                default: 0            },            colorMax: {                type: Number,                default: 160            },            lineColorMin: {                type: Number,                default: 100            },lineColorMax: {                type: Number,                default: 255            },            dotColorMin: {                type: Number,                default: 0            },            dotColorMax: {                type: Number,                default: 255            },            contentWidth: {                type: Number,                default: 112            },            contentHeight: {                type: Number,                default: 31            }        },        methods: {            // 生成一个随机数            randomNum(min, max) {                return Math.floor(Math.random() * (max - min) + min)            },            // 生成一个随机的颜色            randomColor(min, max) {                let r = this.randomNum(min, max)                let g = this.randomNum(min, max)                let b = this.randomNum(min, max)                return 'rgb(' + r + ',' + g + ',' + b + ')'            },            drawPic() {                let canvas = document.getElementById('s-canvas')                let ctx = canvas.getContext('2d')                ctx.textBaseline = 'bottom'                // 绘制背景                ctx.fillStyle = this.randomColor(this.backgroundColorMin, this.backgroundColorMax)                ctx.fillRect(0, 0, this.contentWidth, this.contentHeight)                // 绘制文字                for (let i = 0; i < this.identifyCode.length; i++) {                    this.drawText(ctx, this.identifyCode[i], i)                }                this.drawLine(ctx)                this.drawDot(ctx)            },            drawText(ctx, txt, i) {                ctx.fillStyle = this.randomColor(this.colorMin, this.colorMax)                ctx.font = this.randomNum(this.fontSizeMin, this.fontSizeMax) + 'px SimHei'                let x = (i + 1) * (this.contentWidth / (this.identifyCode.length + 1))                let y = this.randomNum(this.fontSizeMax, this.contentHeight - 5)                var deg = this.randomNum(-45, 45)                // 修改坐标原点和旋转角度                ctx.translate(x, y)                ctx.rotate(deg * Math.PI / 180)                ctx.fillText(txt, 0, 0)                // 恢复坐标原点和旋转角度                ctx.rotate(-deg * Math.PI / 180)                ctx.translate(-x, -y)            },            drawLine(ctx) {                // 绘制干扰线                for (let i = 0; i < 5; i++) {                    ctx.strokeStyle = this.randomColor(this.lineColorMin, this.lineColorMax)                    ctx.beginPath()                    ctx.moveTo(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight))                    ctx.lineTo(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight))                    ctx.stroke()                }            },            drawDot(ctx) {                // 绘制干扰点                for (let i = 0; i < 80; i++) {                    ctx.fillStyle = this.randomColor(0, 255)                    ctx.beginPath()                    ctx.arc(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight), 1, 0, 2 * Math.PI)                    ctx.fill()                }            }        },        watch: {            identifyCode() {                this.drawPic()            }        },        mounted() {            this.drawPic()        }    }</script> <style scoped>    .s-canvas {        height: 38px;     }    .s-canvas canvas{        margin-top: 1px;        margin-left: 8px;    }</style>

第二步:引入验证码组件并注册使用

这里data里面的identifyCode的值就是所生成的验证码的值,可以通过该码自行发挥逻辑操作,SIdentify组件其实只是为了显示验证码图片而已,所以不用该组件还可以做成伪手机验证码登录

<template>  <div>    <SIdentify:identifyCode="identifyCode" >    </SIdentify>  </div></template>// 引入登录验证组件import SIdentify from "@/components/SIdentify";<script>    export default {        name: "SIdentify",        components: { SIdentify },        data(){            return {                identifyCode: "", //密码登录图形验证码                identifyCodes: "1234567890abcdefghizklmnopqrstuvwxyz", //生成图形验证码的依据            }        },        methods:{            // 刷新验证码            refreshIdentifyCode() {                this.identifyCode = "";                this.makeIdentifyCode(4);            },            // 生成4位数的随机验证码            makeIdentifyCode(l) {                for (let i = 0; i < l; i++) {                    this.identifyCode +=                    this.identifyCodes[this.randomNum(0, this.identifyCodes.length)];                }            },            // 生成单个验证码            randomNum(min, max) {                return Math.floor(Math.random() * (max - min) + min);            },        },        mounted() {            // 初始化验证码            this.identifyCode = "";            this.makeIdentifyCode(4);        },    }</script>

读到这里,这篇“Vue如何实现验证码登录”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Vue如何实现验证码登录

本文链接: https://www.lsjlt.com/news/325472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue如何实现验证码登录
    本文小编为大家详细介绍“Vue如何实现验证码登录”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现验证码登录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果展示第一步:创建验证码组件这里是组件的代码...
    99+
    2023-06-29
  • vue+springboot如何实现登录验证码
    这篇文章主要介绍vue+springboot如何实现登录验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看效果图在login页面添加验证码html在后端pom文件添加kaptcha依赖<dependenc...
    99+
    2023-06-15
  • vue实现登录验证码
    本文实例为大家分享了vue实现登录验证码的具体代码,供大家参考,具体内容如下 先来demo效果图 canvas验证码组件(可直接复制,无需改动) <template>...
    99+
    2024-04-02
  • vue+springboot实现登录验证码
    本文实例为大家分享了vue+springboot实现登录验证码的具体代码,供大家参考,具体内容如下 先看效果图 在login页面添加验证码html 在后端pom文件添加kaptc...
    99+
    2024-04-02
  • vue如何实现登录时图形验证码
    这篇文章主要介绍vue如何实现登录时图形验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下效果图:点击图案可以切换字符1.新建 Identify.vue 组件<template> ...
    99+
    2023-06-29
  • vue实现图形验证码登录
    本文实例为大家分享了vue实现图形验证码登录的具体代码,供大家参考,具体内容如下 1、效果图 2、在components下面新建文件identify.vue,内容: <t...
    99+
    2024-04-02
  • vue实现手机验证码登录
    本文实例为大家分享了vue实现手机验证码登录的具体代码,供大家参考,具体内容如下 验证码 <template> <div> <el-ma...
    99+
    2024-04-02
  • php如何实现验证码登录
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。验证码在我们的日常生活中非常常见,使用验证码有诸多好处,如:防止恶意的破解密码。如一些黑客为了获取到用户信息,通过不同的手段向服务器发送数据,验证猜测用户信息...
    99+
    2017-10-10
    php 验证码
  • javaweb如何实现登录验证码
    这篇文章给大家分享的是有关javaweb如何实现登录验证码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用:Controller:生成验证码@RequestMapping("/user/check.j...
    99+
    2023-05-30
    javaweb
  • vue如何实现登录路由验证
    小编给大家分享一下vue如何实现登录路由验证,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!vue的项目的登录状态如果用vuex状态管理,页面一刷新vuex管理的状态就会消失,这样登录路由验...
    99+
    2024-04-02
  • vue实现登录时图形验证码
    本文实例为大家分享了vue实现登录时图形验证码的具体代码,供大家参考,具体内容如下 效果图: 点击图案可以切换字符 1.新建 Identify.vue 组件 <templat...
    99+
    2024-04-02
  • vue+Element实现登录随机验证码
    本文实例为大家分享了vue+Element实现登录随机验证码的具体代码,供大家参考,具体内容如下 验证码验证只是前端,无需后台交互 首先,创建一个identify.vue页面,用于写...
    99+
    2024-04-02
  • VUE实现token登录验证
    本文实例为大家分享了VUE实现token登录验证的具体代码,供大家参考,具体内容如下 实现这个登录功能的过程真是一波三折,中途出现了bug,整了两三天才解决了问题,心力交瘁,简直一个...
    99+
    2024-04-02
  • vue实现登录时的图片验证码
    本文实例为大家分享了vue实现登录时的图片验证码的具体代码,供大家参考,具体内容如下 效果图 一、新建vue组件components/identify/identify.vue ...
    99+
    2024-04-02
  • vue怎么实现手机验证码登录
    这篇文章主要介绍“vue怎么实现手机验证码登录”,在日常操作中,相信很多人在vue怎么实现手机验证码登录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么实现手机验证码登录”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-25
  • Vue实现验证码登录的方法实例
    目录效果展示第一步:创建验证码组件第二步:引入验证码组件并注册使用总结效果展示 第一步:创建验证码组件 这里是组件的代码,可以自行命名文件名,我这里命名为SIdentify.vue...
    99+
    2024-04-02
  • Android实现验证码登录
    本文实例为大家分享了Android实现验证码登录的具体代码,供大家参考,具体内容如下 结果展示 1.导包 1.1在项目的gradle中导入 maven { url "https...
    99+
    2024-04-02
  • vue如何实现web前端登录页数字验证码
    这篇文章主要讲解了“vue如何实现web前端登录页数字验证码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现web前端登录页数字验证码”吧!创建code.js文件夹下面是js代码...
    99+
    2023-07-02
  • vue+Element怎么实现登录随机验证码
    今天小编给大家分享一下vue+Element怎么实现登录随机验证码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。验证码验证只...
    99+
    2023-06-29
  • vue如何实现验证码
    这篇文章主要讲解了“vue如何实现验证码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现验证码”吧!vue实现验证码的方法:1、创建js组件;2、引入组件;3、定义验证对象;4、...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作