• vue3中使用 vue3-slide-verify 滑块验证登录


    前言 

    在vue3中引用 vue3-slide-verify组件去做滑块

    gitee地址:vue3-slide-verify

    在线demo: 在线查看demo地址

    目录

     一、安装npm依赖

    二、使用方法

    argument

    callBack

    description

     三、新建组件slideVerify

    四、父组件调用

    五、展示示例 


     一、安装npm依赖

    npm install --save vue3-slide-verify

    二、使用方法

    argument

    ParamTypeDescribeVersion
    lNumberblock length
    rNumberblock circle radius
    wNumbercanvas width
    hNumbercanvas height
    sliderTextStringSlide filled right
    imgsArraypicture array 背景图数组,默认值 []
    accuracyNumber滑动验证的误差范围,默认值 5
    showBoolean是否显示刷新按钮,默认值 true
    intervalNumber节流函数的时间间隔,默认值 501.1.2

    callBack

    EventTypeDescribeVersion
    successFunctionsuccess callback返回时间参数,单位为毫秒
    failFunctionfail callback
    refreshFunction点击刷新按钮后的回调函数
    againFunction检测到非人为操作滑动时触发的回调函数

    description

    • accuracy 精度设置

    判断滑块与凹槽位置的误差范围值,默认取值范围为 [1, 10]。若取值不为 -1,则会开启检测非人为操作。人为操作也有可能会触发哦!

    判断依据是:滑块的一系列移动坐标的平均值和方差是否相等。若相等则人为是非人为操作。

    accuracy为 -1,则表示关闭检测非人为操作,默认开启。开启之后,若检测到为非人为操作,则会触发 again 回调函数

    • props 中 imgs设置:
      • imgs不传或者传空数组时,图片库默认使用第三方api提供的图片路径。可能加载缓慢;
      • imgs传本地路径时,确保图片路径是否正确。建设传oss上的图片地址。
      • 详情可参考APP.vue上的写法。

     三、新建组件slideVerify

    1. <template>
    2. <div class="silde_box">
    3. <slide-verify
    4. class="silde_box"
    5. ref="block"
    6. :slider-text="text"
    7. :accuracy="accuracy"
    8. @again="onAgain"
    9. @success="onSuccess"
    10. @fail="onFail"
    11. @refresh="onRefresh"
    12. >slide-verify>
    13. <button class="btn" @click="handleClick">在父组件可以点我刷新哦button>
    14. <div>{{ msg }}div>
    15. div>
    16. template>
    17. <script lang="ts">
    18. import { defineComponent, ref } from "vue";
    19. // 局部注册组件,需要单独引用组件样式
    20. // 只提供局部引用的方式,不再采用插件形式,方便按需加载,减少主包大小
    21. import SlideVerify, { SlideVerifyInstance } from "vue3-slide-verify";
    22. import "vue3-slide-verify/dist/style.css";
    23. export default defineComponent({
    24. components: { SlideVerify },
    25. setup() {
    26. const msg = ref("");
    27. const block = ref<SlideVerifyInstance>();
    28. const onAgain = () => {
    29. msg.value = "检测到非人为操作的哦! try again";
    30. // 刷新
    31. block.value?.refresh();
    32. };
    33. const onSuccess = (times: number) => {
    34. msg.value = `login success, 耗时${(times / 1000).toFixed(1)}s`;
    35. };
    36. const onFail = () => {
    37. msg.value = "验证不通过";
    38. };
    39. const onRefresh = () => {
    40. msg.value = "点击了刷新小图标";
    41. };
    42. const handleClick = () => {
    43. // 刷新
    44. block.value?.refresh();
    45. msg.value = "";
    46. };
    47. return {
    48. block,
    49. msg,
    50. text: "向右滑动->",
    51. accuracy: 1,
    52. onAgain,
    53. onSuccess,
    54. onFail,
    55. onRefresh,
    56. handleClick,
    57. };
    58. },
    59. });
    60. script>
    61. <style scoped>
    62. .silde_box{
    63. margin:0 auto;
    64. }
    65. style>

    四、父组件调用

    1. <template>
    2. <v-verify >v-verify>
    3. template>
    4. <script lang="ts">
    5. import { defineComponent, onMounted, reactive, ref } from 'vue'
    6. import slideVerify from "./components/slideVerify.vue";
    7. export default defineComponent({
    8. components: {
    9. 'v-verify':slideVerify
    10. }
    11. })
    12. script>

    五、展示示例 

     

     

     

     

  • 相关阅读:
    Vuex基础知识
    LineRenderer屏幕绘制
    基于Nodejs和mysql的工具市场客户信息管理系统
    关于栈迁移的那些事儿
    html5 语义化标签实用指南
    vue-7-vuex
    python 异常
    Qt注册类对象单例与单类型区别
    Ps:套索工具
    python初级学习
  • 原文地址:https://blog.csdn.net/m0_55969466/article/details/126126225