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 相关文章推荐
JavaScript 动态改变图片大小
Jun 11 Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
JavaScript模块随意拖动示例代码
May 27 Javascript
For循环中分号隔开的3部分的执行顺序探讨
May 27 Javascript
js实现有时间限制消失的图片方法
Feb 27 Javascript
全面解析Bootstrap表单使用方法(表单控件)
Nov 24 Javascript
值得分享的轻量级Bootstrap Table表格插件
May 30 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
ES6数组的扩展详解
Apr 25 Javascript
Ionic3实现图片瀑布流布局
Aug 09 Javascript
Angular使用Restful的增删改
Dec 28 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
解决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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
PHP下10件你也许并不了解的事情
2008/09/11 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Windows下python3.7安装教程
2018/07/31 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
环境科学毕业生自荐信
2013/11/21 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android