网站首页 > 技术文章 正文
一、背景
在前面的一篇文章浅析用户登录功能实现中,我们提到了图片滑块验证,以优化我们的项目。当时是没有相关图片滑块验证的文章的,那在这里就把这个坑填一下,下面介绍一下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 短信验证码的深度剖析(短信验证码起什么作用)
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- 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)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)