首页 > 其他分享 >Vue3引入滑块验证组件-2分钟搞定

Vue3引入滑块验证组件-2分钟搞定

时间:2023-09-20 22:07:18浏览次数:38  
标签:搞定 50% const 滑块 Vue3 loginUser msg 跳转 data

手把手视频地址:https://www.bilibili.com/video/BV1Nu4y1r7Wr/

安装

npm install --save vue3-slide-verify

登录页面引入

template 下

<template>
  <div class="login">
	<el-card class="cover" v-if="loginUser.data.user">
	      <slide-verify
	          ref="block"
	          slider-text="向右滑动->"
	          accuracy=1
	          @again="onAgain"
	          @success="onSuccess"
	          @fail="onFail"
	          @refresh="onRefresh"
	        ></slide-verify>
	        <div>{{ msg }}</div>
    </el-card>
   。。。。以下是登陆的表单

   </div>
 </template>

script 中引入

import { defineComponent, ref } from "vue";
// 局部注册组件,需要单独引用组件样式
// 只提供局部引用的方式,不再采用插件形式,方便按需加载,减少主包大小
import SlideVerify, { SlideVerifyInstance } from "vue3-slide-verify";
import "vue3-slide-verify/dist/style.css";

const msg = ref("");
const block = ref<SlideVerifyInstance>();

let loginUser = reactive({
  data:{}
})

登陆方法()=>{
   	  loginUser.data = ok.data.result;
}

const onSuccess=()=>{
    //TODO: 根据权限跳转
    if(loginUser.data.user.roleName==='admin'){
      router.push("/postList"); //跳转到后台管理
    }else{
      router.push("/"); //跳转到前台首页
    }
    ElMessage.success("登陆成功");
    //登陆成功之后设置token和用户信息
    const userJson = JSON.stringify(loginUser.data.user);
    localStorage.setItem("user",userJson);
    localStorage.setItem("Authorization",loginUser.data.token);
    localStorage.setItem("logined","true");
    store.commit("SET_Logined_BOOL"); //设置登录状态
}

const onFail=()=>{
  msg.value = "验证不通过";
}

const onRefresh=()=>{
  // console.log("");
}
const onAgain = () => {
  msg.value = "请重试!";
  // 刷新
  block.value?.refresh();
};

style中

.login {
  position: relative;
  overflow: hidden;
  background-color: #5fd05d;
  min-height: 100vh; /* 设置最小高度为视口高度的100% */
  .cover{
    width: fit-content;
    background-color: aliceblue;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1000;
  }
}

视频地址:

Vue3引入滑块验证组件-2分钟搞定_ide

gitee

标签:搞定,50%,const,滑块,Vue3,loginUser,msg,跳转,data
From: https://blog.51cto.com/u_13794952/7542880

相关文章

  • 我不知道的vue3
    代替Vue.delete  vue3中可以使用deleteobj.xxx 就可以实现去删除obj的xxx属性!!!    第二种:借助于del  import{del}from'vue'del(obj,propertyName) 也可删除属性!!!   每个vue页面因为scoped这个属性的原因,可以使得不同vue页面间的css......
  • Vue学习八:vue3
    一、vue3创建项目与介绍vue3创建项目与vue2使用vue-cli(基于webpack)脚手架不同,vue3使用create-vue(基于vite,更快)。创建项目的指令如下,首先看一下node的版本(node-v),16以上才支持。第一次创建项目会去下载create-vue比较慢,等一会就好了。npminitvue@latest然后关掉命令行,重新......
  • Vue3 watch揭秘:基本用法与原理深度解析
    Vue3中的watch函数用于监听数据的变化,当数据发生变化时,可以执行一些操作。watch函数的基本用法如下:import{ref,watch}from'vue';exportdefault{setup(){constcount=ref(0);watch(count,(newValue,oldValue)=>{console.log(`count的新值为:${......
  • 安装node、npm和vue3
    1.首先安装node和npmnode.js安装地址https://nodejs.org/en/download/2.下载完安装好后,打开终端命令验证是否安装成功node-vnpm-v3.安装vue3npminstall-g@vue/cli4.创建vue3项目npmcreate【your-project-name】这一指令将会安装并执行create-vue,它是......
  • CentOS7装浏览器:安装配置一步搞定
    CentOS7是一款开源的操作系统,它广泛应用于服务器和工作站。然而linuxqq,由于它的默认安装没有包含任何图形界面centos装浏览器,因此很难在上面使用Web浏览器。本文将向您展示如何在CentOS7上安装和配置浏览器。1.安装桌面环境要在CentOS上使用浏览器,您需要先安装桌面环境。这......
  • vue3版的uniapp在路由这块有好的方案吗?
    在Vue3版本的uni-app中,你可以使用VueRouter进行路由管理。VueRouter是Vue.js官方提供的路由解决方案,可以方便地实现单页面应用的路由功能。以下是一些在Vue3版的uni-app中使用VueRouter的好的方案:安装VueRouter:首先,在你的uni-app项目中安装VueRouter。可以使用npm或yarn来安......
  • Vue3+vite路由配置优化(自动化导入)
    今天在维护优化公司中台项目时,发现路由的文件配置非常多非常乱,只要只中大型项目,都会进入很多的路由页面,规范一点的公司还会吧路由进行模块化导入,但是依然存在很多文件夹的和手动导入的问题。于是我想到了我之前使用vuex时进行的模块化自动导入js文件,能不能使用到自动导入.vue文件......
  • 少年,该升级 Vue3 了!
    你好,我是Kagol。前言根据Vue官网文档的说明,Vue2的终止支持时间是2023年12月31日,这意味着从明年开始:Vue2将不再更新和升级新版本,不再增加新特性,不再修复缺陷虽然Vue3正式版本已经发布快3年了,但据我了解,现在依然还有很多业务在使用Vue2,迟迟没有升级Vue3。为......
  • Vue3深度解析:reactive和ref的区别你真的了解吗?
    Vue3中引入了CompositionAPI,其中包含了reactive和ref两个核心函数。这两个函数都是用于创建响应式数据的,但它们之间有一些区别。首先,让我们来看一下reactive函数。reactive函数接受一个普通对象作为参数,并返回一个新的响应式对象。这个响应式对象会跟踪所有属性的变化,并在属性发......
  • vue3 computed属性
    该随笔是根据b站小满zs的Vue3+vite+Ts+pinia+实战+源码+electron的视频学习写的,Vue3+vite+Ts+pinia+实战+源码+electron......