前端框架使用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 企业级开发最经典的入门案例。

相关推荐
Pedantic1 小时前
SwiftUI 手势层级(Gesture Hierarchy)详解
前端
飘尘1 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈
一颗烂土豆1 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
浏览器工程师2 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端
雨季mo浅忆2 小时前
VSCode自动格式化三要素
前端
爱勇宝3 小时前
深扒 Anthropic 1680 位工程师简历:应届生几乎没机会,AI 公司最缺的不是博士
前端·后端·程序员
kyriewen4 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
user20585561518136 小时前
Windows 项目安装时报 `node-sass` 错误,如何快速处理
前端
LiaCode6 小时前
Redis 在生产项目的使用
前端·后端