《Vue3实战》用路由实现跳转登录、退出登录以及路由全局守护

简介: 《Vue3实战》用路由实现跳转登录、退出登录以及路由全局守护

前言

路由是什么?

    路由是一种将数据包从源节点转发到目标节点的技术或过程。在计算机网络中,路由器是实现路由功能的设备。它通过查看数据包的目标地址,并根据预先配置的路由表选择合适的输出接口,将数据包转发到下一跳节点,直到最终到达目标节点。

通过路由,计算机网络可以实现数据的快速传输和分发,确保数据包能够有效地传递到目标节点。路由器根据网络中的拓扑结构和路由协议,动态地更新和维护路由表,以适应网络拓扑的变化和实现最佳的数据传输路径。

路由技术在互联网和局域网中广泛应用,它是实现网络通信的基础,保证网络的稳定和高效运行。

路由跳转又是什么?

    路由跳转(Hop)是指在数据包从源节点到目标节点的过程中,经过的中间节点数量。每经过一个中间节点,就称为一次路由跳转。

在计算机网络中,路由跳转用于衡量数据包经过的路径长度和传输延迟。一次路由跳转可以被看作是数据包从一个节点到另一个节点的一次传输步骤。每跳一次,数据包都会被转发到下一个节点,直到最终到达目标节点。

路由跳数可以影响数据包传输的时延和网络负载。一般来说,跳数越少,数据包传输的延迟越低,网络负载也相对较小。因此,在设计网络拓扑和优化网络性能时,需要考虑最小化路由跳数,以提高数据传输的效率和可靠性。

除了路由跳数,数据包传输的时延还受其他因素的影响,例如网络带宽、拥塞情况、网络拓扑结构等。因此,在实际应用中,需要综合考虑多个因素来优化数据传输的性能。


一、登录界面的路由跳转

在登录界面中,路由跳转通常用于将用户的登录请求发送到服务器进行验证,并在验证成功后跳转到用户的个人主页或其他特定页面。下面是一种常见的登录界面路由跳转的流程:

  1. 用户打开登录界面。通常用户在浏览器中输入网址或点击登录链接,进入登录页面
  2. 用户输入用户名和密码。在登录界面,用户需要填写用户名和密码等身份验证信息。
  3. 用户点击登录按钮。用户填写完毕后,点击登录按钮触发登录操作。
  4. 路由跳转到服务器。登录按钮点击后,浏览器会将用户名和密码等信息发送到服务器进行验证。这个跳转通常是通过表单提交或Ajax请求来实现。
  5. 服务器验证用户身份。服务器接收到登录请求后,会对用户名和密码进行验证,以确定用户的身份是否合法。这个过程通常包括对用户信息的查询、密码加密和比对等操作。
  6. 身份验证成功。如果服务器验证用户身份成功,表示用户输入的用户名和密码正确,服务器会返回一个身份验证成功的响应。
  7. 路由跳转到用户的个人主页。一旦身份验证成功,服务器会将用户跳转到用户的个人主页或其他特定页面。这个跳转操作通常是通过服务端向浏览器发送跳转指令或返回跳转地址进行实现。

在methods中写入跳转方法jump,并在判断用户名和密码都正确的情况下用this.router.push语句实现路由跳转(注意:括号内填的是路由中的path地址)

登录界面用路由实现跳转的代码如下:

二、主页中退出登录的实现

通过路由和localStorage.removeItem去除localStorage中token的值的可以快速实现退出登录的功能,代码如下:

三、路由全局守护

通过路由全局守护可以实现登录页面浏览器中输入网址也跳转不到主页的效果,只有通过正确输入用户名和密码才能成功跳转到主页。代码如下:

四、最终效果图

五、登录页面全代码

登录页面代码如下:

<template>
<div id="app" style="background: url('/img/background008.png') 0 0 no-repeat;background-size: cover;height: 100%;width: 100%;overflow: hidden;">
  <div style="width: 1600px;height: 700px;">
    <h1 style="margin-left: 680px;margin-top: 30px">登录界面</h1>
<!--    <img src="" style="width: 1500px;height: 650px;margin-top: -50px;">-->
  </div>
<div>
  <el-card class="box-card" style="width: 400px;height:200px;margin-top: -500px;margin-left: 550px;">
 
    <template #header>
      <div style="margin-left: 30px">
        <div>
          <h2 style="font-family: 楷体">用户名<input type="text" v-model="account"></h2>
 
        </div>
        <div>
          <h2 style="margin-top: 35px;font-family: 楷体;text-align: left;padding-left: 22px">密码<input type="text" v-model="password"></h2>
 
        </div>
      </div>
      <div>
        <!--        <el-button  class="button" text>确认登录</el-button>-->
        <input type="button" value="确认登录" @click="jump" style="margin-left: 280px;font-family: 楷体;font-size: 16px;border-radius: 5px">
      </div>
    </template>
  </el-card>
</div>
 
</div>
</template>
 
 
<script>
export default {
  name: `Login`,
  data(){
   return{
     token:"123",
     openA:true,
     account:"",
     password:"",
     TrueAccount:"123456",
     TruePassword:"123456"
   }
  },
  methods:{
  jump:function () {
    if (this.account == this.TrueAccount && this.password == this.TruePassword){
      localStorage.setItem("user-token",this.token)
     this.$router.push("/")
    }else{
      alert("您输入的用户名或者密码有误,请重新输入")
    }
  }
  }
}
 
</script>
 
 
 
<style scoped>
#app{
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 0;
}
</style>

总结

需要注意的是,路由跳转的具体实现方式和技术取决于使用的开发框架和技术栈。常见的方式有后端服务器返回跳转地址或跳转指令、前端使用JavaScript实现页面跳转等。

路由跳转和路由全局守卫都是实现登录页面跳转的好工具好方法,希望这篇博客能给各位朋友们带来帮助,最后请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!

相关文章
|
JavaScript
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
931 0
|
JavaScript 前端开发 数据安全/隐私保护
vue3+ts+elementplus写一个登录页面教程
【6月更文挑战第3天】本文介绍了如何使用 Vue 3 和 TypeScript 创建一个登录页面。首先,需安装 Vue CLI,然后创建新项目并启用 TypeScript 支持。接着,创建 `Login.vue` 组件,设计登录表单,包括用户账号、密码和验证码字段,并实现相关验证规则。页面样式包括背景、登录框和按钮等元素的布局与样式。最后,展示了`&lt;script&gt;`部分的代码,包括表单验证逻辑、生成验证码的函数以及登录提交处理。文章还提供了一个登录页面的截图和完整代码示例。
6419 1
|
前端开发 JavaScript 应用服务中间件
前端跨域问题解决Access to XMLHttpRequest at xxx from has been blocked by CORS policy
跨域问题是前端开发中常见且棘手的问题,但通过理解CORS的工作原理并应用合适的解决方案,如服务器设置CORS头、使用JSONP、代理服务器、Nginx配置和浏览器插件,可以有效地解决这些问题。选择合适的方法可以确保应用的安全性和稳定性,并提升用户体验。
9647 90
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
7895 14
Spring Boot 3 集成 Spring Security + JWT
|
前端开发 JavaScript Java
前端解决axios请求的跨域问题【2步完成】
本文介绍如何通过前端配置解决跨域问题,主要针对Vue项目中的`vite.config.js`文件进行修改。作者在联调过程中遇到跨域报错
1145 1
|
JavaScript
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
4970 0
|
数据处理 算法框架/工具 计算机视觉
手把手教你使用YOLOV5训练自己的目标检测模型
本教程由肆十二(dejahu)撰写,详细介绍了如何使用YOLOV5训练口罩检测模型,涵盖环境配置、数据标注、模型训练、评估与使用等环节,适合大作业及毕业设计参考。提供B站视频、CSDN博客及代码资源链接,便于学习实践。
6418 1
手把手教你使用YOLOV5训练自己的目标检测模型
|
JavaScript
Vue3弹性布局(Flex)
这是一个基于 Vue 的弹性布局组件库,提供了丰富的参数配置,如宽度、方向、换行等,支持自定义对齐方式和间隙设置。在线预览展示了不同布局效果,包括单选、按钮和滑动输入条等组件的使用示例。
823 0
Vue3弹性布局(Flex)
vue 中 axios 的安装及使用
本文介绍了在Vue项目中安装和使用axios的方法。首先通过命令`npm install axios --save-dev`安装axios,然后在组件的`created`生命周期钩子中使用`axios.get`异步获取数据,并将获取的数据更新到组件的`data`中。文中提供了完整的示例代码,包括安装命令、验证安装成功的步骤、Vue组件的模板、脚本和样式。
vue 中 axios 的安装及使用