网站首页 > 技术文章 正文
一、背景
在前面的一篇文章浅析用户登录功能实现中,我们提到了图片滑块验证,以优化我们的项目。当时是没有相关图片滑块验证的文章的,那在这里就把这个坑填一下,下面介绍一下Nuxt项目中整合图片滑块验证。
二、整合流程
2.1、选型
这里我们使用vue-monoplasty-slide-verify来实现图片滑动验证,这是一款基于滑动式的验证码,免于字母验证码的繁琐输入,用于网页注册或者登录。这里贴一下其gitee项目地址:
https://gitee.com/monoplasty/vue-monoplasty-slide-verify
2.2、组件安装及引入
安装:
npm install --save vue-monoplasty-slide-verify
使用页面进行引入:
import Vue from 'vue';
import SlideVerify from 'vue-monoplasty-slide-verify';
Vue.use(SlideVerify);
2.3、放置容器
<!-- 图片验证区域 -->
<slide-verify
v-if="showSlideBar"
class="xa-slideBar"
ref="slideblock"
@again="onAgain"
@fulfilled="onFulfilled"
@success="onSuccess"
@fail="onFail"
@refresh="onRefresh"
:accuracy="accuracy"
:slider-text="slideBarText"
></slide-verify>
2.4、配置属性和方法
属性:
data() {
return {
userNo: "",
userPwd: "",
showSlideBar: true,
/* 滑块文字提示 */
slideBarText: "按住滑块,拖动完成上面拼图",
/* 精确度小,可允许的误差范围小;为1时,则表示滑块要与凹槽完全重叠,才能验证成功。默认值为5 */
accuracy: 1,
};
},
方法:
onSuccess(times) {
/* 验证通过,时间单位毫秒 */
},
onFail() {
/* 验证失败 */
},
onRefresh() {
/* 点击刷新回调函数 */
},
onFulfilled() {
/* 刷新成功回调函数 */
},
onAgain() {
this.msg = "try again";
/* 刷新 */
this.$refs.slideblock.reset();
},
handleClick() {
/* 父组件直接可以调用刷新方法 */
this.$refs.slideblock.reset();
},
2.5、相关配置说明
三、效果展示
猜你喜欢
- 2024-10-26 最近别来杭州!怕你不想回去了……
- 2024-10-26 为什么有人不用免费的WPS,偏要花钱用Office?看完这些就知道了
- 2024-10-26 还在苦恼验证码怎么实现?看看这个验证码组件合集,你想要的都有
- 2024-10-26 时间浪费在哪儿?(时间浪费四种情形)
- 2024-10-26 qq账号被冻结了怎么快速解冻手机号换了
- 2024-10-26 RPA实战:“滑动”验证码与按照“语序”点击两类验证码
- 2024-10-26 产品心理学:给予用户理解和宽容(产品的心理功能有( )( )( ))
- 2024-10-26 OPPO Reno4 Pro忘记OPPO帐号密码怎么办?
- 2024-10-26 你知道新买的手机,怎样重新登录微信账号吗?
- 2024-10-26 短信验证码的深度剖析(短信验证码起什么作用)
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
