首页 > 其他分享 >Vue3使用vue3-puzzle-vcode进行滑动验证

Vue3使用vue3-puzzle-vcode进行滑动验证

时间:2024-05-19 21:10:58浏览次数:27  
标签:vcode String 验证 puzzle Number Vue3 px

npm包地址:https://www.npmjs.com/package/vue3-puzzle-vcode

npm安装

npm install vue3-puzzle-vcode --save

最简单例子:

<template>
    <Vcode :show="isShow" @success="onSuccess" @close="onClose"/>
    <button @click="onShow">开始验证</button>
</template>

<script setup>
  import { ref } from "vue";
  import Vcode from "vue3-puzzle-vcode";

  const isShow = ref(false);

  const onShow = () => {
    isShow.value = true;
  };

  const onClose = () => {
    isShow.value = false;
  };

  const onSuccess = () => {
    onClose(); // 验证成功,手动关闭模态框
  };
</script>

参数

字段 类型 默认值 说明
show Boolean false 是否显示验证码弹框
type String "modal" "modal"模态框形式 / "inside"内嵌形式
canvasWidth Number 310 主图区域的宽度,单位 px
canvasHeight Number 160 主图区域的高度,单位 px
puzzleScale Number 1 拼图块(小的拼图)的大小比例,0.2 ~ 2 ,数字越大,拼图越大
sliderSize Number 50 左下角用户拖动的那个滑块的尺寸,单位 px
range Number 10 判断成功的误差范围,单位 px, 滑动的距离和拼图的距离小于等于此值时,会判定重合
imgs Array null 自定义图片,见下方例子
successText String "验证通过!" 验证成功时的提示文字
failText String "验证失败,请重试" 验证失败时的提示文字
sliderText String "拖动滑块完成拼图" 下方滑动条里的文字
className String "" 给根元素一个class类用于自定义样式
zIndex Number 999 设置根元素一个层级z-index

事件

事件名 返回值 说明
success 偏差值 验证通过时会触发,返回值是用户移动的距离跟目标距离的偏差值 px
fail 偏差值 验证失败时会触发,返回值同上
close null 用户点击遮罩层的回调
reset null 用户手动点击右上角刷新按钮时触发的回调

内嵌形式

入参type="inside", 将启用内嵌模式 应该用一个元素包裹<Vcode />

<template>
  <div class="box">
    <Vcode type="inside" :show="isShow" />
  </div>
</template>

<style>
  .box{
    position: relative;
    width: 320px;
    height: auto;
  }
</style>

标签:vcode,String,验证,puzzle,Number,Vue3,px
From: https://www.cnblogs.com/itljf/p/18200750

相关文章

  • Vue3+Yup进行数据验证
    Vue3+Yup进行数据验证npm安装:npmiyup使用import*asYupfrom"yup";//配置constlogin=Yup.object().shape({//username为string格式,必填(错误提示为:请输入用户名)username:Yup.string().required('请输入用户名').label("username"),password:Yup.s......
  • Vue3+nanoid编写字符串ID生成器
    Vue3+nanoid编写字符串ID生成器中文介绍:https://github.com/ai/nanoid/blob/HEAD/README.zh-CN.md一个小巧、安全、URL友好、唯一的JavaScript字符串ID生成器。“一个惊人的无意义的完美主义水平,这简直让人无法不敬佩。”小巧. 116字节(经过压缩和Brotli处理)。没有依......
  • Vue3+sweetalert2消息提示类
    为了快速编写信息提示代码,封装如下core\helper中增加swalMessage.ts,代码如下代码importSwalfrom"sweetalert2"declareinterfaceSwalMessage{success(title:string,msg:string);error(title:string,msg:string);info(title:string,msg:string);ques......
  • Vue3使用vue-cropper截图上传
    !!!!!!!已使用另一个截图上传工具,稍后更新博客!!!!!!使用vue-cropper进行截图上传先安装npmivue-cropper编写组件在components中添加imageCropper.vue代码如下<template><div><div><imgv-if="value"class="mb-2"style=&......
  • Vue3使用SM国产加密库
    npm安装npminstall--savesm-crypto//使用import{sm2,sm3,sm4}from'sm-crypto'//-----------sm2--------------------//获取密钥对letkeypair=sm2.generateKeyPairHex()publicKey=keypair.publicKey//公钥privateKey=keypair.privateKey//私钥//......
  • Vue3+axios+.Net使用分片上传
    Vue3+axios+.Net使用分片上传前端代码在ApiService.cs中增加方法//上传文件publicstaticasyncuploadFile(file){constchunkSize=1024*1024;//1MB每1mb分片consttotalChunks=Math.ceil(file.size/chunkSize);letkey='';lettag=true;leturl=......
  • Vue3报错:已声明“upperName”,但从未读取其值。ts-plugin(6133)
    Vue3报错:已声明“upperName”,但从未读取其值。ts-plugin(6133)报错显示:类型“StoreToRefs<Store<"count",{sum:number;name:string;address:string;},{},{increment(value:number):void;}>>”上不存在属性“upperName”。ts-plugin(2339)相关代码:vue文件:con......
  • VUE速通(10)Vue3核心语法(2)setup
    1setup概述setup是Vue3中一个新的配置项,值是一个函数,它是CompositionAPI“表演的舞台”,组件中所用到的:数据、方法、计算属性、监视......等等,均配置在setup中。特点如下:setup函数返回的对象中的内容,可直接在模板中使用。setup中访问this是undefined。setup函数会......
  • VSCode安装vue3插件
    1.以前的volar已经弃用了。2.最近vue插件 3.安装好插件后,在vscode中创建项目可能会报错。解决方法:1.使用window+r调出cmd,运行node-v,npm-v都没问题。那么尝试以管理员方式运行vscode,如果还是不行,重启一下电脑。2.网络原因,网络波动或者网比较差的时候导致下载丢包,把node......
  • 基于uniapp+vue3自定义增强版table表格组件「兼容H5+小程序+App端」
    vue3+uniapp多端自定义table组件|uniapp加强版综合表格组件uv3-table:一款基于uniapp+vue3跨端自定义手机端增强版表格组件。支持固定表头/列、边框、斑马纹、单选/多选,自定义表头/表体插槽、左右固定列阴影高亮显示。支持编译兼容H5+小程序端+App端。如下图:H5+小程序+App端,多端......