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 相关文章推荐
jQuery1.6 使用方法一
Nov 23 Javascript
js动态移动滚动条至底部示例代码
Apr 24 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
JS实现可展开折叠层的鼠标拖曳效果
Oct 09 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
微信小程序实现打卡日历功能
Sep 21 Javascript
简述vue-cli中chainWebpack的使用方法
Jul 30 Javascript
解决ele ui 表格表头太长问题的实现
Nov 13 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
python如何实现int函数的方法示例
2018/02/19 Python
python url 参数修改方法
2018/12/26 Python
python logging模块的使用详解
2020/10/23 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
元旦晚会邀请函
2014/01/27 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
电子银行营销方案
2014/02/22 职场文书
学习决心书
2014/03/11 职场文书
法制宣传月活动总结
2014/04/29 职场文书
我的理想演讲稿
2014/04/30 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
2014年信用社工作总结
2014/11/25 职场文书
2014年民政工作总结
2014/11/26 职场文书
2015年党员自评材料
2014/12/17 职场文书
小学教研工作总结2015
2015/05/13 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书