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使用fabric.js實(shí)現(xiàn)局部截圖與大圖預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了Vue如何使用fabric.js實(shí)現(xiàn)局部截圖與el-image-viewer大圖預(yù)覽功能,文中的示例代碼講解詳細(xì),感興趣的可以了解下2024-02-02
Vue3+Vite+TS使用elementPlus時(shí)踩的坑及解決
這篇文章主要介紹了Vue3+Vite+TS使用elementPlus時(shí)踩的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
iview的table組件自帶的過濾器實(shí)現(xiàn)
這篇文章主要介紹了iview的table組件自帶的過濾器實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
vue elementui簡易側(cè)拉欄的使用小結(jié)
這篇文章主要介紹了vue elementui簡易側(cè)拉欄的使用,增加了側(cè)拉欄,目的是可以選擇多條數(shù)據(jù)展示數(shù)據(jù),本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06
iview form清除校驗(yàn)狀態(tài)的實(shí)現(xiàn)
這篇文章主要介紹了iview form清除校驗(yàn)狀態(tài)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

