前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue3引入滑块验证组件-2分钟搞定

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

作者头像
知识浅谈
发布2023-09-18 10:32:30
1.8K0
发布2023-09-18 10:32:30
举报
文章被收录于专栏:分享学习

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

安装

代码语言:javascript
复制
npm install --save vue3-slide-verify

登录页面引入

template 下

代码语言:javascript
复制
<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 中引入

代码语言:javascript
复制
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中

代码语言:javascript
复制
.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;
  }
}

视频地址:

在这里插入图片描述
在这里插入图片描述

gitee

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 登录页面引入
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档