一个贼丝滑的 Vue 2 扩展组件,开源且免费

简介: 一个贼丝滑的 Vue 2 扩展组件,开源且免费

今天我要向大家介绍一个非常有趣且实用的开源项目——vue-monoplasty-slide-verify。它是一个基于 Vue 2 的滑动式验证码组件,开源且免费。

这个滑动式验证码不仅丝滑流畅,还能有效防止恶意注册和自动化攻击。😎

我们都知道,验证码是确保用户操作安全的重要手段。然而,传统的字符验证码对用户体验不太友好,输入麻烦且容易出错。而滑动式验证码通过拖动滑块完成验证,既简单又有趣。现在,让我们一起来看看这个神奇的项目吧!

项目特点

1. 简单易用

vue-monoplasty-slide-verify 通过简单的 API 接口,让开发者能够快速集成滑动式验证码。

2. 用户体验佳

滑动式验证码相比传统的字符验证码,操作简单,用户体验更佳。

3. 安全可靠

滑动式验证码不仅能有效防止恶意注册和自动化攻击,还能大大减少误判率。

4. 开源免费

项目完全开源,代码托管在 Gitee 上,任何人都可以免费使用和修改,非常适合各类网站和应用。

安装使用

接下来,我将详细介绍如何在你的 Vue 2 项目中集成 vue-monoplasty-slide-verify

1. 安装依赖

在你的 Vue 项目中安装 vue-monoplasty-slide-verify 依赖:

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

2. 引入并注册组件

在你的项目中引入并注册 vue-monoplasty-slide-verify 组件:

import Vue from 'vue';
import SlideVerify from 'vue-monoplasty-slide-verify';
Vue.use(SlideVerify);

3. 使用滑动式验证码组件

在你的组件中使用滑动式验证码:

<template>
  <div id="app">
    <slide-verify
      :l="42"
      :r="10"
      :w="310"
      :h="155"
      slider-text="向右滑动"
      @success="onSuccess"
      @fail="onFail"
      @refresh="onRefresh">
    </slide-verify>
    <div>{{ msg }}</div>
  </div>
</template>
<script>
export default {
  name: 'App',
  data() {
    return {
      msg: '',
    };
  },
  methods: {
    onSuccess() {
      this.msg = 'login success';
    },
    onFail() {
      this.msg = '';
    },
    onRefresh() {
      this.msg = '';
    }
  }
};
</script>
<style>
#app {
  text-align: center;
  margin-top: 50px;
}
</style>

这样,一个简单的滑动式验证码组件就集成完成了!当用户成功滑动滑块时,会触发 success 事件;失败时则会触发 fail 事件。

深入理解滑动式验证码

验证原理

滑动式验证码的验证原理是通过用户拖动滑块,将缺口与背景图的缺失部分对齐。系统会在后台进行验证,确保滑块的位置与预设位置相匹配,从而判断是否通过验证。

自定义配置

vue-monoplasty-slide-verify 提供了丰富的自定义配置选项,你可以根据实际需求进行调整。例如,可以自定义滑块样式、背景图片、验证成功后的处理逻辑等。以下是一些常见的配置选项:

<slide-verify
  :width="320"
  :height="160"
  :l="42"
  :r="10"
  :img="require('@/assets/verify-bg.jpg')"
  @success="onSuccess"
  @fail="onFail">
</slide-verify>
  • width:滑动验证组件的宽度,默认为 320。
  • height:滑动验证组件的高度,默认为 160。
  • l:滑块的边长,默认为 42。
  • r:滑块的半径,默认为 10。
  • img:背景图片路径。

实际应用场景

滑动式验证码可以应用在很多场景中,比如用户注册、登录、找回密码等操作中。通过引入滑动式验证码,可以有效防止恶意注册和自动化攻击,提升网站的安全性。

示例代码

以下是一个完整的示例,展示了如何在父组件中使用滑动式验证码,并添加各种回调函数:

<template>
  <div id="app">
    <slide-verify
      ref="slideblock"
      @again="onAgain"
      @fulfilled="onFulfilled"
      @success="onSuccess"
      @fail="onFail"
      @refresh="onRefresh"
      :slider-text="text"
      :accuracy="accuracy">
    </slide-verify>
    <button @click="handleClick">在父组件可以点我刷新哦</button>
    <div>{{ msg }}</div>
  </div>
</template>
<script>
export default {
  name: 'App',
  data() {
    return {
      msg: '',
      text: '向右滑动->',
      accuracy: 1, // 精确度小,可允许的误差范围小;为1时,则表示滑块要与凹槽完全重叠,才能验证成功。默认值为5
    };
  },
  methods: {
    onSuccess(times) {
      console.log('验证通过,耗时 ' + times + ' 毫秒');
      this.msg = `login success, 耗时 ${(times / 1000).toFixed(1)}s`;
    },
    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();
    },
  },
};
</script>
<style>
#app {
  text-align: center;
  margin-top: 50px;
}
</style>

参数说明

Param Type Describe Version
l Number block length
r Number block circle radius
w Number canvas width
h Number canvas height
sliderText String Slide filled right 1.0.5
imgs Array 背景图数组,默认值 [] 1.1.0
accuracy Number 滑动验证的误差范围,默认值 5 1.1.1
show Boolean 是否显示刷新按钮,默认值 true 1.1.1

回调函数说明

Event Type Describe Version
success Function success callback 返回时间参数,单位为毫秒
fail Function fail callback
refresh Function 点击刷新按钮后的回调函数
again Function 检测到非人为操作滑动时触发的回调函数 1.1.1
fulfilled Function 刷新成功之后的回调函数 1.1.1

总结

如果你正在寻找一个用户友好的验证码解决方案,不妨试试 vue-monoplasty-slide-verify相信它会为你的开发工作带来极大的提升和帮助。

相关文章
|
JavaScript 前端开发 容器
SolidJs尝鲜与Web Component实践造虚拟滚动的轮子
「造轮子」虚拟滚动 + soild + Web Component
1569 1
|
移动开发 前端开发 小程序
7 款最棒的 React 移动端 UI 组件库 - 特别针对国内使用场景推荐
优秀的 React UI 移动端组件库和模版框架,帮我们节省开发时间,提高开发效率,统一设计语言。更棒的是内置的功能复杂,我们自己很难处理的常用组件,比如表格、表单、富文本编辑器、时间日期选择器、实时拖拽组件等,再进一步,还有帮我们把组件的轮子装好的 React admin 后台管理系统。本文推荐 7 款适用于中文使用者习惯的开源 React 移动端 UI 库,特别针对国内使用场景推荐。
5072 0
|
4月前
|
缓存 监控 JavaScript
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
该文章是《vue从安装到熟练 2022流畅无痛版》系列的第一季入门篇,介绍了Vue的基本概念、环境配置、项目创建与运行,并通过修改HelloWorld.vue和App.vue文件内容展示了如何在页面上显示"Hello World",最后还提供了Vue官方文档链接和介绍了Vue的常用内置指令和模板语法等基础知识。
vue从安装到熟练 2022流畅无痛版(第一季:入门篇)
|
6月前
|
移动开发 前端开发 小程序
[保姆级教程]uniapp实现底部导航栏
【6月更文挑战第6天】
313 0
|
7月前
|
存储 JSON 前端开发
react保姆级搭建新项目
此文主要以ts+vite+router6+antd 快速搭建一个react项目,适用于初学者,用于学习交流
111 2
|
前端开发 UED
「前端游戏开发体验」我用react实现网页游戏的全过程(包括规则设计)
用技术实现梦想,用梦想打开创意之门。游戏开发体验挺新奇的,我用react实现网页游戏的全过程(包括规则设计)。
778 1
|
编解码 前端开发 JavaScript
【长文慎入】一文吃透React SSR服务端同构渲染
前段时间一直在研究 react ssr技术,然后写了一个完整的 ssr开发骨架。今天写文,主要是把我的研究成果的精华内容整理落地,另外通过再次梳理希望发现更多优化的地方,也希望可以让更多的人少踩一些坑,让更多的人理解和掌握这个技术。 相信看过本文(前提是能对你的胃口,也能较好的消化吸收)你一定会对 react ssr服务端渲染技术有一个深入的理解,可以打造自己的脚手架,更可以用来改造自己的实际项目,当然这不仅限于 react ,其他框架都一样,毕竟原理都是相似的。
1434 0
|
前端开发
前端换肤,聊一聊主题切换那些事
前端换肤,聊一聊主题切换那些事
186 0
|
前端开发 JavaScript Java
种草 Vue3 中几个好玩的插件和配置
种草 Vue3 中几个好玩的插件和配置