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路由--网站导航功能详解

    vue路由--网站导航功能详解

    这篇文章主要介绍了vue路由--网站导航功能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Vue+Element UI实现下拉菜单的封装

    Vue+Element UI实现下拉菜单的封装

    这篇文章主要为大家详细介绍了Vue+Element UI实现下拉菜单的封装代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Vue infinite update loop的问题解决

    Vue infinite update loop的问题解决

    这篇文章主要介绍了Vue "...infinite update loop..."的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Vue使用Vue-cropper实现图片裁剪

    Vue使用Vue-cropper实现图片裁剪

    这篇文章主要为大家详细介绍了Vue使用Vue-cropper实现图片裁剪,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 第一次接触神奇的前端框架vue.js

    第一次接触神奇的前端框架vue.js

    第一次接触神奇的vue.js,主要了解一下v-model、v-if、v-else、v-show、v-for等,感兴趣的小伙伴们可以一起学习一下
    2016-12-12
  • Vue.js递归组件实现组织架构树和选人功能

    Vue.js递归组件实现组织架构树和选人功能

    这篇文章主要介绍了Vue.js递归组件实现组织架构树和选人功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Vue中动画与过渡的使用教程

    Vue中动画与过渡的使用教程

    最近在写vue的一个项目要实现过渡的效果,虽然vue动画不是强项,库也多,但是基本的坑还是得踩扎实,下面这篇文章主要给大家介绍了关于Vue中实现过渡动画效果的相关资料,需要的朋友可以参考下
    2023-01-01
  • Vue图片裁剪组件实例代码

    Vue图片裁剪组件实例代码

    这篇文章主要给大家介绍了关于Vue图片裁剪组件的相关资料,本文介绍的组件是基于vue-cropper二次封装,vue-cropper大家应该都很熟悉了吧,需要的朋友可以参考下
    2021-07-07
  • Vue前端判断数据对象是否为空的实例

    Vue前端判断数据对象是否为空的实例

    这篇文章主要介绍了Vue前端判断数据对象是否为空的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue导入excel文件,vue导入多个sheets的方式

    vue导入excel文件,vue导入多个sheets的方式

    这篇文章主要介绍了vue导入excel文件,vue导入多个sheets的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论

?


http://www.vxiaotou.com