vue实现图片滑动验证功能

 更新时间:2022年09月20日 15:56:08   作者:yehaocheng520  
这篇文章主要为大家详细介绍了vue实现图片滑动验证功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

图片滑动验证,是目前比较常见的验证方式,主要目的是防止用户利用机器人自动注册、登录、灌水。

目前vue技术日趋成熟,已经有专门针对图片滑动验证功能的插件了。具体使用方式如下:

1.安装插件——npm install --save vue-monoplasty-slide-verify

注意此处的--save也就是简化版的-s,是为了将下载的插件保存到package.json中的depencedies中,这样其他人在下载你的项目后,依然可以通过npm install将插件安装到node_modules.

2.在main.js中引入插件并绑定到vue

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

3.封装图片验证组件

<template>
? <slide-verify
? ? :l="42"
? ? :r="10"
? ? :w="310"
? ? :h="155"
? ? :imgs="picArray"
? ? :show="false"
? ? slider-text="向右滑动完成验证"
? ? ref="slideverify"
? ? @success="onSuccess"
? ? @fail="onFail"
? ? @refresh="onRefresh"
? ></slide-verify>
</template>

<script>
export default {
? name: "SliderVerify",
? data() {
? ? return {
? ? ? //在data中引入`assets`中的图片可以通过`require`的方式来引入
? ? ? picArray: [
? ? ? ? require("@/assets/verify/1.jpg"),
? ? ? ? require("@/assets/verify/2.jpg"),
? ? ? ? require("@/assets/verify/3.jpg"),
? ? ? ? require("@/assets/verify/4.jpg"),
? ? ? ? require("@/assets/verify/5.jpg"),
? ? ? ? require("@/assets/verify/6.jpg"),
? ? ? ? require("@/assets/verify/7.jpg"),
? ? ? ? require("@/assets/verify/8.jpg"),
? ? ? ],
? ? };
? },
? methods: {
? ? onSuccess() {//往父级传递验证通过的函数
? ? ? this.$emit("success");
? ? },
? ? onReset() {//重置图片验证组件
? ? ? this.$refs.slideverify.reset();
? ? },
? ? onFail() {},
? ? onRefresh() {},
? },
};
</script>

4.父组件使用图片验证组件

import SlideVerify from "@/components/SlideVerify";//引入

export default {
? name: "Redister",
? components: {
? ? SlideVerify,//注册组件
? },
? data(){
? ?? ?return{
? ?? ??? ?isShowSlide:false
? ?? ?}
? }
}

html中使用组件

<div class="slideverify" v-show="isShowSlide" @mouseleave="hideSlide">
? <SlideVerify ref="slideblock" @success="sendSmsCode"></SlideVerify>
</div>

对应的js部分:

hideSlide() {
? setTimeout(() => {
? ? this.isShowSlide = false;
? }, 500);
},
sendSmsCode() {
?? ?//此处的处理是:图片验证通过后,发送短信验证码,这个要根据具体情况单独处理
? setTimeout(() => {
? ? this.$api
? ? ? .getSendForgetSmsCode({
? ? ? ? mobile: this.form.account,
? ? ? })
? ? ? .then((res) => {
? ? ? ? this.isShowSlide = false;
? ? ? ? if (res.data.success) {
? ? ? ? ? this.timeCountDown();
? ? ? ? ? this.$message.success("短信验证码发送成功");
? ? ? ? } else {
? ? ? ? ? this.$message.error(res.data);
? ? ? ? }
? ? ? })
? ? ? .catch((err) => {});
? }, 500);
},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

相关文章

  • 实例详解vue中的代理proxy

    实例详解vue中的代理proxy

    这篇文章主要介绍了vue中的代理proxy,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • vue-cli创建项目时由esLint校验导致报错或警告的问题及解决

    vue-cli创建项目时由esLint校验导致报错或警告的问题及解决

    这篇文章主要介绍了vue-cli创建项目时由esLint校验导致报错或警告的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 详解VUE的状态控制与延时加载刷新

    详解VUE的状态控制与延时加载刷新

    本篇文章主要介绍了详解VUE的状态控制与延时刷新,实例分析了数据延时到展示的时候再去刷新的技巧,有兴趣的可以了解一下。
    2017-03-03
  • 在vue中使用防抖和节流,防止重复点击或重复上拉加载实例

    在vue中使用防抖和节流,防止重复点击或重复上拉加载实例

    今天小编就为大家分享一篇在vue中使用防抖和节流,防止重复点击或重复上拉加载实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue 动态绑定背景图片的方法

    vue 动态绑定背景图片的方法

    这篇文章主要介绍了vue 动态绑定背景图片的方法,在文末给大家介绍了vue如何给v-for循环的标签添加背景图片,需要的朋友参考下吧
    2018-08-08
  • vue-upload上传图片详细使用方法

    vue-upload上传图片详细使用方法

    这篇文章主要介绍了使用vue-upload上传图片的详细使用说明,文中有相关的代码示例供大家参考,感兴趣的小伙伴一起跟着小编来学习吧
    2023-05-05
  • 使用Vue3+ElementPlus前端实现分片上传的全过程

    使用Vue3+ElementPlus前端实现分片上传的全过程

    ElementPlus是一套为开发者、设计师和产品经理准备的基于Vue?3.0的组件库,提供了配套设计资源,帮助你的网站快速成型,下面这篇文章主要给大家介绍了关于使用Vue3+ElementPlus前端实现分片上传的相关资料,需要的朋友可以参考下
    2022-11-11
  • 前端vue中文件下载的三种方式汇总

    前端vue中文件下载的三种方式汇总

    对于Vue中实现一般的下载功能很简单,下面这篇文章主要给大家介绍了关于前端vue中文件下载的三种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • vue ssr 实现方式(学习笔记)

    vue ssr 实现方式(学习笔记)

    这篇文章主要介绍了vue ssr 实现方式(学习笔记),本文不涉及到源码解析,主要讲解如何实现 vue 的服务端渲染,比较适合 vue-ssr 小白阅读,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • vue路由第二次进入页面created和mounted不执行问题及解决

    vue路由第二次进入页面created和mounted不执行问题及解决

    这篇文章主要介绍了vue路由第二次进入页面created和mounted不执行问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论

?


http://www.vxiaotou.com