蜗牛学苑 Java 智能体学习 Day41|ElementPlus 布局、Vue‑Router 登录、Axios 思维导图复盘

一、思维导图整体知识结构梳理

页面布局

ElementPlus Container 容器布局
  • 组件说明
    • el‑container:外层容器;子元素包含el‑header/el‑footer垂直排列,不包含则水平排列
    • el‑header:顶栏容器
    • el‑aside:侧边栏容器
    • el‑main:主要内容区域容器
    • el‑footer:底栏容器
侧边菜单栏
  • 使用 ElementPlus 菜单组件实现左侧导航;点击菜单切换右侧内容,需要 Vue‑Router 路由实现

Vue Router

介绍
  • 定位:Vue 官方客户端路由解决方案
  • SPA 单页应用路由作用
    • URL 和页面内容绑定
    • 更新浏览器 URL,页面不重新加载服务端资源
    • 根据不同访问路径,展示不同组件
Router 三大核心组成
  1. 路由实例 Router:整个应用路由管理中心,总调度员;维护 URL 路径与组件映射对照表;处理导航、路由守卫
  2. Router‑Link:路由链接组件,最终渲染为 a 标签;不刷新整个页面,实现前端跳转
  3. Router‑View:路由视图,路由匹配的组件渲染放置的位置
实现步骤
  1. 安装:npm install vue‑router
  2. 创建路由实例:src/router/index.js;配置path路径与component组件映射关系;import { createRouter, createWebHistory } from 'vue‑router'
  3. 注册路由组件main.js:createApp(App).use(router).mount('#app')
  4. 使用路由
  • Router‑Link做跳转导航
  • Router‑View放置页面渲染位置
路由进阶‑嵌套路由
  • 适用场景:部分页面不需要公共布局(如登录页)
  • 配置:路由配置中写children数组;父组件内部需要放置Router‑View用于渲染子路由组件

登录模块

ElementPlus 表单校验
  • 核心 API
    • ref:获取表单组件实例
    • rules:校验规则对象
    • validator:自定义校验函数
    • trigger:触发校验时机 blur 失去焦点
    • form.validate():执行全部表单校验
  • 登录表单逻辑:收集用户名、密码表单数据;表单校验通过,发起请求登录
Axios 发送登录请求
  • 安装 axios:npm install axios
  • Vite 跨域处理:修改vite.config.js配置代理解决跨域
本地存储 localStorage
  • 特点:浏览器本地存储,容量约 5MB;key‑value 字符串存储,全部值为字符串
  • API
    • localStorage.setItem(key,value):保存数据
    • localStorage.getItem(key):获取数据
    • localStorage.removeItem(key):删除数据
    • localStorage.clear():清空全部存储
编程式导航
  • 作用:js 代码实现页面跳转,替代Router‑Link点击
  • API:useRouter()获取路由;router.push(路径)
  • 使用场景:页面跳转携带参数,例如登录→详情页
  • 核心口诀
    • Router:用来 "走"(跳转)
    • Route:用来 "看"(读取参数)
路由传参‑query 传参
  • 传参:router.push({path:'xxx',query:{key:value}})
  • 接收参数:import { useRoute } from 'vue‑router';const route = useRoute();route.query获取参数对象

Axios 拦截器

  1. 创建 axios 实例:axios.create({baseURL:'接口基础地址',timeout:超时时间})
  2. 请求拦截器 request.use
  • 执行时机:请求发送到后端之前执行
  • 业务用途:在请求头自动携带 token 令牌
  1. 响应拦截器 response.use
  • 2xx 成功响应:直接返回response.data,简化后续获取数据
  • 非 2xx 错误响应:返回Promise.reject(error)抛出错误给业务捕获
  1. 导出实例,业务组件引入使用

路由守卫 beforeEach

  • 作用:全局前置守卫,访问路由前执行逻辑;控制页面访问权限,拦截未登录访问
  • 参数说明
    • to:将要去往的路由对象
    • from:离开的路由对象
    • next():放行 / 重定向跳转
  • 登录鉴权逻辑
    1. 如果去登录页,直接放行next()
    2. 读取localStorage中的 token
    3. 有 token:放行next();没有 token,强制跳转登录页next('/login')

二、制作意图

  1. 掌握 ElementPlus Container 布局容器,实现后台管理系统经典侧边栏 + 顶部栏 + 主内容页面框架;
  2. 学习 Vue‑Router 前端路由,理解 SPA 单页面原理;掌握路由实例、Router‑Link、Router‑View 三大核心;学会基础路由、嵌套路由、编程式跳转、query 传参;
  3. 使用 ElementPlus 表单校验完成登录页;Axios 发送后端请求;localStorage 保存 token;Axios 请求拦截器统一附加 token;
  4. 使用全局路由守卫beforeEach做登录鉴权,未登录拦截跳转登录页,完成登录整套前端流程。

三、当日学习总结

Day41 学习后台管理系统登录全套前端技术:

  1. ElementPlus Container 容器快速搭建管理系统整体页面布局,搭配菜单组件,依靠 Vue‑Router 实现菜单切换页面。
  2. Vue‑Router 实现 SPA 前端路由,分为声明式导航 Router‑Link 与编程式导航 router.push;支持嵌套路由、query 参数传递。
  3. 登录页面:el‑form 表单校验;axios 发送登录请求;localStorage 持久化存储 token 令牌。
  4. Axios 拦截器:请求拦截统一给请求头带上 token,简化每一次接口调用;响应拦截统一处理返回数据。
  5. 全局路由守卫 beforeEach 做权限控制,访问非登录页面时校验本地 token,无 token 强制跳转登录,完成前端鉴权。
相关推荐
y1su14 分钟前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
X54先生(人文科技)19 分钟前
社会嵌入式终身学习机器与修复时代-ELR架构和技术演化探讨
人工智能·深度学习·学习·架构·开源协议
酷炫码神1 小时前
Day 8|Vue3 响应式:告别手动操作 DOM,让数据驱动界面
javascript·vue.js·ecmascript
电子云与长程纠缠1 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
syagain_zsx1 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼1 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
我命由我123451 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
苜蓿muxu2 小时前
Java 字符串拼接:+、StringBuilder、StringBuffer的区别
java
摇滚侠2 小时前
《Java并发编程之美》第 4 章 Java 并发包中原子操作类原理剖析 阅读笔记 7
java·笔记·python
kkkkkkkkkk_Z2 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习