一个贼丝滑的 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相信它会为你的开发工作带来极大的提升和帮助。

相关文章
|
3月前
|
存储 JavaScript
解锁Vuex高级玩法:模块化与插件共舞,让你的Vue项目状态管理如虎添翼!
【8月更文挑战第27天】Vuex是一款专为Vue.js应用程序设计的状态管理模式及库,它通过集中管理组件状态来确保状态变更的可预测性。在大型应用中,采用模块化管理可以让代码结构更加清晰,同时利用插件增强功能。模块化管理允许将store拆分为包含各自state、mutations、actions和getters的独立模块。插件则能监听状态变化,实现诸如日志记录或数据持久化等功能。本文通过具体示例介绍了如何在Vuex中实现模块化管理和插件的高级应用。
57 1
|
24天前
|
移动开发 前端开发 JavaScript
React DnD:实现拖拽功能的终极方案?
本文首发于微信公众号“前端徐徐”,介绍了一个强大的 React 拖拽库——React DnD。React DnD 帮助开发者轻松创建复杂的拖拽界面,适用于 Trello 风格的应用、列表重排序、可拖拽的 UI 组件等场景。文章详细介绍了 React DnD 的基本信息、主要特点、使用场景及快速上手指南。
63 3
React DnD:实现拖拽功能的终极方案?
|
移动开发 前端开发 小程序
7 款最棒的 React 移动端 UI 组件库 - 特别针对国内使用场景推荐
优秀的 React UI 移动端组件库和模版框架,帮我们节省开发时间,提高开发效率,统一设计语言。更棒的是内置的功能复杂,我们自己很难处理的常用组件,比如表格、表单、富文本编辑器、时间日期选择器、实时拖拽组件等,再进一步,还有帮我们把组件的轮子装好的 React admin 后台管理系统。本文推荐 7 款适用于中文使用者习惯的开源 React 移动端 UI 库,特别针对国内使用场景推荐。
5061 0
|
3月前
|
JavaScript 前端开发
《Vue-CLI 强势来袭!2024 前端新潮流,从 0 到 1 快速入门,开启高效 Vue 项目开发奇幻之旅》
【8月更文挑战第21天】在前端开发领域,Vue.js 因其简洁高效广受欢迎。本文引导你快速掌握 vue-cli,轻松启动 Vue 项目。首先全局安装 vue-cli (`npm install -g @vue/cli`) 并验证安装 (`vue --version`)。接着使用 `vue create my-project` 创建项目,选择预设配置。项目结构清晰,包含源码、静态资源及依赖。运行 `npm run serve` 启动本地服务器,即可在浏览器预览。最后,通过简单示例代码展示组件创建与引用。跟随本文,你将迅速上手 vue-cli,开始 Vue 开发之旅。
40 0
|
前端开发 JavaScript
【React工作记录八十】 一步步教你用taro封装一个公司库的下拉组件
【React工作记录八十】 一步步教你用taro封装一个公司库的下拉组件
109 0
|
前端开发 UED
「前端游戏开发体验」我用react实现网页游戏的全过程(包括规则设计)
用技术实现梦想,用梦想打开创意之门。游戏开发体验挺新奇的,我用react实现网页游戏的全过程(包括规则设计)。
766 1
|
JavaScript 前端开发 开发者
【Vue 移动端开发】适配百分之99的屏幕方案
【Vue 移动端开发】适配百分之99的屏幕方案
249 0
|
前端开发 JavaScript Java
种草 Vue3 中几个好玩的插件和配置
种草 Vue3 中几个好玩的插件和配置