Vue插件之滑动验证码用法详解


Posted in Javascript onApril 05, 2020

本文实例讲述了Vue插件之滑动验证码用法。分享给大家供大家参考,具体如下:

目录

  • 预览
    • 基于滑动式的验证码,免于字母验证码的繁琐输入 用于网页注册或者登录
  • 安装
    • 使用方法
      • 更新记录
        • V1.1.2 版本
        • V1.1.1 描述(此版本有bug,请使用最新版)
        • V1.1.0 版本新增属性`imgs`:
      • 内置方法
      • props传参(均为可选)
      • 自定义回调函数
    • 注意事项

预览

基于滑动式的验证码,免于字母验证码的繁琐输入 用于网页注册或者登录

目前仅前端实现,支持移动端滑动事件。版本V1.1.2

Vue插件之滑动验证码用法详解
github文档地址: https://github.com/monoplasty/vue-monoplasty-slide-verify
gitee镜像地址:https://gitee.com/monoplasty/vue-monoplasty-slide-verify

安装

npm install --save vue-monoplasty-slide-verify

使用方法

// main.js
import Vue from 'vue';
import SlideVerify from 'vue-monoplasty-slide-verify';

Vue.use(SlideVerify);
// template
<slide-verify 
  ref="slideblock"
  @again="onAgain"
  @fulfilled="onFulfilled"
  @success="onSuccess"
  @fail="onFail"
  @refresh="onRefresh"
  :accuracy="accuracy"
  :slider-text="text"
></slide-verify>
<div>{{msg}}</div>

<button @click="handleClick">在父组件可以点我刷新哦</button>
// script
export default {
  name: 'App',
  data(){
    return {
      msg: '',
      text: '向右滑',
      // 精确度小,可允许的误差范围小;为1时,则表示滑块要与凹槽完全重叠,才能验证成功。默认值为5
      accuracy: 1,
    }
  },
  methods: {
    onSuccess(){
      console.log('验证通过');
      this.msg = 'login success'
    },
    onFail(){
      console.log('验证不通过');
      this.msg = ''
    },
    onRefresh(){
      console.log('点击了刷新小图标');
      this.msg = ''
    },
    onFulfilled() {
      console.log('刷新成功啦!');
    },
    onAgain() {
      console.log('检测到非人为操作的哦!');
      this.msg = 'try again';
      // 刷新
      this.$refs.slideblock.reset();
    },
    handleClick() {
    	// 父组件直接可以调用刷新方法
      this.$refs.slideblock.reset();
    },
  }
}

更新记录

V1.1.2 版本

  • 修复imgs 参数不传是的warn

V1.1.1 描述(此版本有bug,请使用最新版)

  • accuracy 精度设置

判断滑块与凹槽位置的误差范围值,默认取值范围为 [1, 10]。若取值不为 -1,则会开启检测非人为操作。人为操作也有可能会触发哦!

判断依据是:滑块的一系列移动坐标的平均值和方差是否相等。若相等则人为是非人为操作。

accuracy为 -1,则表示关闭检测非人为操作,默认开启。开启之后,若检测到为非人为操作,则会触发 again 回调函数

V1.1.0 版本新增属性imgs

  • imgs不传或者传空数组时,图片库默认使用第三方api提供的图片路径。可能加载缓慢;
  • imgs传本地路径时,确保图片路径是否正确。建设传cdn上的图片地址。
  • 详情可参考APP.vue上的写法。或在线查看demo地址

内置方法

  • 在父组件里如果需要重置,可以在父组件中调用子组件reset() 方法
<slide-verify ref="slideblock" ></slide-verify>
// javascript 见使用方法
this.$refs.slideblock.reset();

props传参(均为可选)

参数 类型 默认值 描述 版本
l Number 42 滑块的边长
r Number 10 滑块突出圆的半径
w Number 310 canvas画布的宽
h Number 155 canvas画布的高
sliderText String Slide filled right 滑块底纹文字 1.0.5
imgs Array [] 背景图数组。可不传 1.1.0
accuracy Number 5 滑动验证的误差范围 1.1.2
show Boolean true 是否显示刷新按钮 1.1.2

自定义回调函数

事件名 类型 描述 版本
success Function 验证码匹配成功的回调
fail Function 验证码未匹配的回调
refresh Function 点击刷新按钮后的回调函数
again Function 检测到非人为操作滑动时触发的回调函数 1.1.2
fulfilled Function 刷新成功之后的回调函数 1.1.2

注意事项

目前仅是前端实现,如有什么问题欢迎issue或者留言。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
Feb 15 Javascript
疯掉了,尽然有js写的操作系统
Apr 23 Javascript
picChange 图片切换特效的函数代码
May 06 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
Apr 25 Javascript
中止javascript执行的方法
Feb 14 Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
深入理解Angular2 模板语法
Aug 07 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
jquery实现选项卡切换代码实例
May 14 jQuery
使用axios请求接口,几种content-type的区别详解
Oct 29 Javascript
vuex的使用步骤
Jan 06 Vue.js
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
解决node终端下运行js文件不支持ES6语法
Apr 04 #Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 #jQuery
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 #jQuery
vue中使用v-for时为什么不能用index作为key
Apr 04 #Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 #Javascript
原理深度解析Vue的响应式更新比React快
Apr 04 #Javascript
Vue的data、computed、watch源码浅谈
Apr 04 #Javascript
You might like
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
php分页函数
2006/07/08 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
PHP仿盗链代码
2012/06/03 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
php发送与接收流文件的方法
2015/02/11 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
angularjs基础教程
2014/12/25 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
js实现动态增加文件域表单功能
2018/10/22 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
Sanic框架基于类的视图用法示例
2018/07/18 Python
利用python计算时间差(返回天数)
2019/09/07 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
了解一下python内建模块collections
2020/09/07 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
总经理助理工作职责
2014/02/06 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
大连导游词
2015/02/12 职场文书
2015年女工委工作总结
2015/07/27 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Python中threading库实现线程锁与释放锁
2021/05/17 Python
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技