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版TAB选项卡效果实例
Aug 16 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
Oct 18 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
Feb 09 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
微信小程序之自定义组件的实现代码(附源码)
Aug 02 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
Sep 28 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
vue 实现图片懒加载功能
Dec 31 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
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
input 高级限制级用法
2009/03/26 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
python学习 流程控制语句详解
2016/06/01 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
python组合无重复三位数的实例
2018/11/13 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
vscode调试django项目的方法
2020/08/06 Python
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
事业单位公务员的职业生涯规划
2014/01/15 职场文书
小学数学教研活动总结
2014/07/01 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
国博复兴之路观后感
2015/06/02 职场文书
加强党性修养心得体会
2016/01/21 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书