您现在的位置是:网站首页> 编程资料编程资料
node+vue前后端分离实现登录时使用图片验证码功能_vue.js_
2023-12-09
176人已围观
简介 node+vue前后端分离实现登录时使用图片验证码功能_vue.js_
记录一下前端使用验证码登录的过程
后端用的是node.js,关键模块是svg-captcha
前端使用的是vue2
最后的登录界面如下:

后端代码
先上代码,然后解释
const svgCaptcha = require('svg-captcha') exports.checkCode = (req, res) => { const img = svgCaptcha.create({ size: 4, ignoreChars: '0o1l', color: true, noise: 1, background: '#666', height: 40, width: 113 }) console.log(img.text); res.send(img) }这是最关键的代码,我习惯将路由和路由处理函数分开写,上面这块代码是路由处理函数
实际上就是利用svg-captcha生成了一个验证码图片,其中有几个参数需要重点关注一下:
- height和width,这个是设置的验证码的高度和宽度,需要看一下前端页面上input输入框的高度和宽度,我用的是elementUI,高度是40,所以这里的高度也是40,宽度自己慢慢调
- ignoreChars:验证码中不出现这些字符
看一下路由代码:
const express = require('express'); const userHandle = require('../route_handle/user') const router = express.Router(); router.get('/checkCode', userHandle.checkCode) module.exports = router这没啥好说的
后端就这些了,后端的端口用的是3020,需要设置一下跨域,不然前端访问不到
前端代码
先上代码
若依后台管理系统
Remenber Me Login
这里不再赘述相关的配置了,直接看关键代码
获取验证码方法
getCode() 方法实现的功能是点击验证码图片时,切换获取验证码
获取验证码的方法是访问后端接口/checkCode,这个接口返回两个值(后端补充说明),一个是text,一个是data,text就是验证码的字符串值,data是验证码的html地址,在postman中测试返回的结果如下:

页面上使用v-html绑定验证码显示的地址
然后把text和data的值都赋给相应的数据
当然,为了能打开登录页面时,直接能显示验证码图片,需要把getCode方法挂载在生命周期函数created上
登录验证方法
登录验证不再校验数据库中的用户名和密码,只示意一下验证码的功能
在点击login按钮时校验验证码是否正确,功能写在submit()方法中,前端input框中使用v-model双向绑定了loginForm.checkCode的值,所以只要验证loginForm.checkCode与验证码codeText是否相等即可,为了保证用户体验,一般是忽略字母输入大小写的,所以都使用toLowerCase()处理一下。
这样就完成了前后端分离模式的登录验证码使用功能
到此这篇关于node+vue前后端分离实现登录时使用图片验证码的文章就介绍到这了,更多相关node vue图片验证码登录内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- React Fiber源码深入分析_React_
- vue3中使用Apache ECharts的详细方法_vue.js_
- React深入浅出分析Hooks源码_React_
- 天天酷跑糖白虎怎么抽奖_天天酷跑抽奖必中糖白虎小技巧分享_手机游戏_游戏攻略_
- 雷霆战机新手入门教程 操作方法篇_手机游戏_游戏攻略_
- 雷霆战机超导激光与融合核弹属性对比分析_手机游戏_游戏攻略_
- 全民飞机大战喵萌萌满级满属性分析_手机游戏_游戏攻略_
- 全民飞机大战喵萌萌和黑龙公主哪个好_手机游戏_游戏攻略_
- 全民飞机大战喵萌萌怎么得 获得方法介绍_手机游戏_游戏攻略_
- 放开那三国吴国最强阵容推荐_放开那三国吴国阵容介绍说明_手机游戏_游戏攻略_
