蜗牛学苑 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.jscreateApp(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 强制跳转登录,完成前端鉴权。
相关推荐
心中有你02141 小时前
Java Swing实现校园最短路径导航系统(Dijkstra算法完整源码+详细解析)
java·开发语言·算法
志尊宝1 小时前
Vue3 零基础每日笔记(017):事件处理进阶——$event、多事件与事件修饰符全家桶
javascript·vue.js·笔记
重生之小比特1 小时前
【Java SE】数组的定义与使用
java·开发语言
(Charon)1 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
彧azz2 小时前
Git 学习指南:从入门到进阶的完整实践手册
git·学习
摆烂z2 小时前
定时任务同步数据--续跑&重试
java·mybatis·ai编程
CAE虚拟与现实3 小时前
docker desktop中的build功能是要build什么
java·docker·容器
allnlei5 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
彧azz10 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php