前端框架使用vue-cli( 第四层:业务源码层--登陆页相关)

前端框架使用 Vue-CLI

第四层:业务源码层 ------ 登录页相关

简介

前面的章节,我们已经分析了:

  • 环境依赖层
  • 工程配置层
  • 插件配置层

从这一章节开始:

我们正式进入:

Vue-CLI 工程中的业务源码层。

这一层开始,项目已经不再是:

  • webpack 配置
  • vue.config.js
  • 插件安装

而是真正开始进入:

"页面业务开发"。

而登录页:

通常就是一个后台管理系统的第一个业务页面。

因此:

登录页非常适合作为:

理解 Vue 企业级开发的入门案例。


一、登录页在整个系统中的作用

登录页本质上承担几个核心职责:

text 复制代码
1. 用户输入账号密码
2. 前端进行表单校验
3. 调用后端登录接口
4. 获取 token
5. 保存用户状态
6. 跳转首页
7. 初始化权限菜单

因此:

登录页实际上会涉及:

  • Vue 页面开发
  • ElementUI 表单
  • Vue 数据绑定
  • axios 请求
  • Vuex 状态管理
  • Router 页面跳转
  • Token 持久化
  • 权限初始化

所以:

登录页几乎是 Vue 企业级项目的缩影。


二、登录页所在的位置

一般 Vue-CLI 后台项目:

登录页通常位于:

text 复制代码
src/views/login/index.vue

例如:

text 复制代码
src
 ├── views
 │    ├── login
 │    │     └── index.vue

这里:

  • views → 页面级组件
  • login → 登录模块
  • index.vue → 登录页面

这里体现了:

Vue 项目模块化的目录思想。


三、登录页本质上仍然是 Vue 组件

例如:

vue 复制代码
<template>
  <div class="login-container">

  </div>
</template>

<script>
export default {

}
</script>

<style scoped>

</style>

登录页虽然是"业务页面"。

但本质上:

它仍然是一个 Vue 组件。

因此:

它依然遵循:

  • template
  • script
  • style

三层结构。


四、登录页面结构分析

通常登录页会包含:

text 复制代码
LoginPage
 ├── Logo区域
 ├── 登录表单
 │     ├── 用户名
 │     ├── 密码
 │     └── 登录按钮
 └── 背景区域

例如:

vue 复制代码
<template>
  <div class="login-container">

    <div class="login-form">

      <el-input v-model="loginForm.username" />

      <el-input
        v-model="loginForm.password"
        type="password"
      />

      <el-button @click="handleLogin">
        登录
      </el-button>

    </div>

  </div>
</template>

这里涉及:


1. v-model 双向绑定

例如:

vue 复制代码
v-model="loginForm.username"

作用:

text 复制代码
输入框 ←→ Vue数据

用户输入内容时:

Vue 的数据会自动变化。


2. 点击事件

例如:

vue 复制代码
@click="handleLogin"

作用:

text 复制代码
按钮点击 → 调用 methods 方法

五、登录页的数据结构

例如:

javascript 复制代码
data() {
  return {

    loginForm: {
      username: '',
      password: ''
    }

  }
}

这里:

text 复制代码
loginForm
 ├── username
 └── password

本质上:

就是整个登录表单的数据模型。

Vue 会通过响应式机制:

实时同步页面与数据。


六、登录逻辑分析

登录最核心的方法:

javascript 复制代码
methods: {

  handleLogin() {

  }

}

这个函数通常负责:

text 复制代码
1. 校验表单
2. 调用接口
3. 保存token
4. 页面跳转

七、调用后端接口

例如:

javascript 复制代码
import { login } from '@/api/user'

这里:

text 复制代码
@  → src目录

实际对应:

text 复制代码
src/api/user.js

例如:

javascript 复制代码
export function login(data) {

  return request({
    url: '/login',
    method: 'post',
    data
  })

}

这里体现了:

Vue 页面 与 JS 模块协作的思想。


八、Token 保存机制

登录成功后:

后端通常会返回:

json 复制代码
{
  "token": "xxxx"
}

前端会保存:

javascript 复制代码
setToken(token)

通常会保存到:

text 复制代码
Cookie
LocalStorage
SessionStorage

作用:

text 复制代码
后续请求携带用户身份

九、Vuex 状态管理参与

大型项目中:

用户信息通常不会只保存在页面。

而会进入:

text 复制代码
Vuex

例如:

javascript 复制代码
dispatch('user/login')

流程:

text 复制代码
Login.vue
   ↓
Vuex Action
   ↓
API请求
   ↓
保存Token
   ↓
返回结果

这里体现了:

Vue 企业级项目的数据集中管理思想。


十、登录成功后的页面跳转

例如:

javascript 复制代码
this.$router.push('/')

作用:

text 复制代码
登录成功 → 跳转首页

这里:

text 复制代码
$router

就是:

Vue-Router 提供的路由对象。


十一、登录页涉及的核心技术栈

登录页虽然简单。

但其实已经包含:

text 复制代码
Vue
Vue-Router
Vuex
ElementUI
Axios
Cookie
JS模块化
权限体系
接口请求

因此:

学会登录页,实际上已经进入 Vue 企业级开发。


十二、登录页在 Vue-CLI 中的意义

登录页的真正意义:

并不仅仅是:

"输入账号密码"。

而是:

通过登录页,把整个前端工程体系串联起来。

因为:

登录页会同时连接:

text 复制代码
页面层
组件层
路由层
接口层
状态层
权限层
存储层

所以:

登录页是:

Vue 企业级开发最经典的入门案例。

相关推荐
程序员黑豆11 小时前
鸿蒙应用开发之双向绑定实战:从 V1 到 V2 的完整迁移指南
前端·harmonyos
Escape11 小时前
为什么你的 AI 越聊越傻?从 Token 到 Agent,彻底搞懂 AI Agent的秘密㊙️
前端·人工智能·后端
李明卫杭州11 小时前
Vue3 响应式概念 ↔ React 对应方案(类组件与函数组件)对照笔记
前端·vue.js·react.js
windliang11 小时前
Claude Code 源码分析(二):CC 的心脏 queryLoop Agent主循环
前端·ai编程·claude
英勇无比的消炎药11 小时前
拖文件进来会发生什么:TinyRobot DragOverlay 与 v-dropzone 协同指南
vue.js
Revolution6111 小时前
reactive 对象重新赋值后,表单为什么没有恢复默认值
前端·vue.js·面试
米饭同学i12 小时前
微信小程序 input maxlength 遇上输入法拼音被截断?这是最完整的解决方案
前端
董员外12 小时前
RAG 系统进化论(二):Naive RAG,检索增强生成的最小闭环
前端·人工智能·后端
脾气有点小暴12 小时前
ECharts 伪 3D 柱状图完整注释 + 实现原理说明
前端·3d·信息可视化·vue·echarts
掘金一周12 小时前
看看大家每月的成本有多少 | 沸点周刊 7.30
前端·人工智能·后端