vue實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證功能
圖片滑動(dòng)驗(yàn)證,是目前比較常見的驗(yàn)證方式,主要目的是防止用戶利用機(jī)器人自動(dòng)注冊、登錄、灌水。
目前vue技術(shù)日趨成熟,已經(jīng)有專門針對(duì)圖片滑動(dòng)驗(yàn)證功能的插件了。具體使用方式如下:
1.安裝插件——npm install --save vue-monoplasty-slide-verify
注意此處的--save
也就是簡化版的-s
,是為了將下載的插件保存到package.json
中的depencedies
中,這樣其他人在下載你的項(xiàng)目后,依然可以通過npm install
將插件安裝到node_modules
.
2.在main.js
中引入插件并綁定到vue
上
import Vue from 'vue'; import SlideVerify from 'vue-monoplasty-slide-verify'; ? Vue.use(SlideVerify);
3.封裝圖片驗(yàn)證組件
<template> ? <slide-verify ? ? :l="42" ? ? :r="10" ? ? :w="310" ? ? :h="155" ? ? :imgs="picArray" ? ? :show="false" ? ? slider-text="向右滑動(dòng)完成驗(yàn)證" ? ? 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() {//往父級(jí)傳遞驗(yàn)證通過的函數(shù) ? ? ? this.$emit("success"); ? ? }, ? ? onReset() {//重置圖片驗(yàn)證組件 ? ? ? this.$refs.slideverify.reset(); ? ? }, ? ? onFail() {}, ? ? onRefresh() {}, ? }, }; </script>
4.父組件使用圖片驗(yàn)證組件
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>
對(duì)應(yīng)的js
部分:
hideSlide() { ? setTimeout(() => { ? ? this.isShowSlide = false; ? }, 500); }, sendSmsCode() { ?? ?//此處的處理是:圖片驗(yàn)證通過后,發(fā)送短信驗(yàn)證碼,這個(gè)要根據(jù)具體情況單獨(dú)處理 ? setTimeout(() => { ? ? this.$api ? ? ? .getSendForgetSmsCode({ ? ? ? ? mobile: this.form.account, ? ? ? }) ? ? ? .then((res) => { ? ? ? ? this.isShowSlide = false; ? ? ? ? if (res.data.success) { ? ? ? ? ? this.timeCountDown(); ? ? ? ? ? this.$message.success("短信驗(yàn)證碼發(fā)送成功"); ? ? ? ? } else { ? ? ? ? ? this.$message.error(res.data); ? ? ? ? } ? ? ? }) ? ? ? .catch((err) => {}); ? }, 500); },
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue自定義開發(fā)滑動(dòng)圖片驗(yàn)證組件
- vue實(shí)現(xiàn)登錄滑動(dòng)拼圖驗(yàn)證
- vue實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證
- vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條
- Vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證功能
- Vue實(shí)現(xiàn)滑動(dòng)拼圖驗(yàn)證碼功能
- 使用Vue 實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能
- vue 登錄滑動(dòng)驗(yàn)證實(shí)現(xiàn)代碼
- Vue.js圖片滑動(dòng)驗(yàn)證的實(shí)現(xiàn)示例
相關(guān)文章
vue里如何主動(dòng)銷毀keep-alive緩存的組件
這篇文章主要介紹了vue里如何主動(dòng)銷毀keep-alive緩存的組件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Vue 設(shè)置axios請求格式為form-data的操作步驟
今天小編就為大家分享一篇Vue 設(shè)置axios請求格式為form-data的操作步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn)
這篇文章主要介紹了在vue中高德地圖引入和軌跡的繪制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vant-ui組件庫中如何修改NavBar導(dǎo)航欄的樣式
這篇文章主要介紹了vant-ui組件庫中如何修改NavBar導(dǎo)航欄的樣式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08關(guān)于element-ui中@selection-change執(zhí)行兩次的問題
這篇文章主要介紹了關(guān)于element-ui中@selection-change執(zhí)行兩次的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Vue如何使用百度地圖自定義信息窗口InfoWindow的樣式
這篇文章主要介紹了Vue如何使用百度地圖自定義信息窗口InfoWindow的樣式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03VUE利用vuex模擬實(shí)現(xiàn)新聞點(diǎn)贊功能實(shí)例
本篇文章主要介紹了VUE利用vuex模擬實(shí)現(xiàn)新聞點(diǎn)贊功能實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06