手把手前端入门笔记之vue-element-admin-01

2023-10-31

前言:

本文主要为vue-element-admin框架的入门教程,本人2年后端开发经验,想自学前端转全栈工程师(听着就好酷),直接上手实战应该是入门前端最快的方式了,在此记录下学习过程,希望可以对初学者有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

第一期 手把手前端入门笔记之vue-element-admin-01

第二期 手把手前端入门笔记之vue-element-admin-02

第三期 手把手前端入门笔记之vue-element-admin-03

第四期 手把手前端入门笔记之vue-element-admin-04

环境(配置):win11操作系统,vs code编辑器

内容大纲:vue-element-admin实现登入/获取信息/登出功能(包含token等数据本地存储)

介绍

vue-element-admin是一个后台前端解决方案,它基于vueelement-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。

目录结构

一上来就看到那么多文件夹确实头疼,咱先不管别的,主要先了解标注部分文件

├── build                      # 构建相关
├── mock                       # 项目mock 模拟数据
├── plop-templates             # 基本模板
├── public                     # 静态资源
│   │── favicon.ico            # favicon图标
│   └── index.html             # html模板
├── src                        # 源代码
│   ├── api                    # 所有请求
│   ├── assets                 # 主题 字体等静态资源
│   ├── components             # 全局公用组件
│   ├── directive              # 全局指令
│   ├── filters                # 全局 filter
│   ├── icons                  # 项目所有 svg icons
│   ├── lang                   # 国际化 language
│   ├── layout                 # 全局 layout
│   ├── router                 # 路由
│   ├── store                  # 全局 store管理
│   ├── styles                 # 全局样式
│   ├── utils                  # 全局公用方法
│   ├── vendor                 # 公用vendor
│   ├── views                  # views 所有页面
│   ├── App.vue                # 入口页面
│   ├── main.js                # 入口文件 加载组件 初始化等
│   └── permission.js          # 权限管理
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置项
├── .babelrc                   # babel-loader 配置
├── .travis.yml                # 自动化CI配置
├── vue.config.js              # vue-cli 配置
├── postcss.config.js          # postcss 配置
└── package.json               # package.json

上手安装

# 克隆项目
git clone https://github.com/PanJiaChen/vue-element-admin.git

# 进入项目目录
cd vue-element-admin

# 安装依赖
npm install

# 建议不要用 cnpm 安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 本地开发 启动项目
npm run dev

启动后会自动打开以下页面

具体步骤

从上文的目录结构中可以得知所有页面相关的文件在 src/views 文件夹中,既然是登入页面,所以就在login文件夹中

哇,一下子多了好多看不懂的东西怎么办,那就把不认识的都注释掉,保存,访问页面,不报错就行!

我们稍微简化一下,只留账号密码登入功能,(vue的基础语法官网需要自己稍微了解一下)

接着,找到登入按钮

<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">登入 </el-button>

@click.native.prevent="handleLogin",找到点击后触发的“handleLogin”函数,来看一下都做了哪些事

​出现this.$store,我们去找到该目录(src/store/modules/)下user.js文件

再可以看到它引用了login这个函数,Ctrl+鼠标左键跳转过去看看,(路径src/api/user.js)

(本文使用的后端接口都是套用以前开发其他项目时写的接口,大家可以随便写几个,返回假数据就好了。如果实在不了解后端接口是什么可以d我给你发几个案例)

这里的return request({}),我们也可以ctrl+鼠标左键跳转过去(或者看图片上路径)

所以request是封装好的axios,主要用于发送网络请求

修改配置

重点看着一段,定义了code为20000时请求算成功,根据我们自己的后端接口可以重新定义,比如我的接口返回code为0是正确的

我们可以发现目前项目并没有后端却可以发送数据,是因为配置文件里,返回了mock文件夹中的假数据,我们把他注释掉

本地开发环境中替换成我们自己后端服务地址(修改配置文件后需要npm run dev 重启服务,不然不会生效!!)

​然后可以回到登入页面,发起请求。

我们可以右键-审查元素,查看自己发送的请求情况

​如上图,可以看到自己发送请求的路由与接口返回的信息(具体详细的自己百度一下哈)

如果返回是错误的,应该是后端url错了或者是接口路由不存在,根据错误码进行排查

实现登入

例如:我后端登入接口返回数据为

{ code:0, data:{uid: "10001",token:"eyJhbGc····MilbCjgrE" msg:"success" }

我想把返回的uid字段也存储到本地,方便以后调用,就可以用localStorage.setItem(key, value)函数

登入算是请求成功了,并且存储了token与uid,我们可以看到同时他还请求了用户信息接口

获取个人信息

同样找到获取个人信息接口,替换成我们自己的接口地址,请求传参写法参考axios官方文档 ,我这里token是放在headers中的所以写成上图形式,返回的参数可以参考mock中原先的示例

发现返回的info内容,继续往上找users[token]是在哪里定义的 ( ctrl+鼠标左键 跳转)

所以它默认的就是根据登入的用户roles字段,返回这几个内容(我们自己的后端服务接口直接return这些内容就可以了),修改后点击登入成功进入了主页

我们此时发现一个报错的请求,看这边的url,是因为请求当前页面数据并没有找到这个接口,我们可以先忽略

登出功能

再来看我们的登出(退出)的功能

​我们可以全局搜索该按钮的名字 “Log Out”

​我们会发现单机后它请求了这个函数

他请求了这个登出的接口,不过一般浏览器的登入前端就能完成,所以我们可以随便百度一下vue如何实现登出,

const storage = window.localStorage storage.clear() window.location.href = `/login?redirect=${this.$route.fullPath}`

清除本地存储的数据(根据自己token存储的位置用对应的清除方法即可)

好了!简单登入登出已经完成了!

下一篇准备学习权限菜单控制与列表展示!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手前端入门笔记之vue-element-admin-01 的相关文章

随机推荐

  • Mitmproxy 新版配置上游(二级)代理

    Mitmproxy 最新新版配置上游代理 由于在 4 0版本之后flow live change upstream proxy server proxy 方法已经弃用 会引发 AttributeError NoneType object h
  • UGUI之Image、RawImage使用说明

    UGUI之Image RawImage使用说明 Image说明 基本属性 图片切割 九宫格 图集 RawImage可以做什么 用途一 小地图 用途二 帧动画 动图 小常识 Image说明 Image是UGUI中最常见的控件 用于图片的显示
  • golang安装步骤

    1 首先找到资源下载地址 https studygolang com dl 2 下载完毕后 下图是下载好的文件 新建一个文件夹install path 当作安装目录 此处的install file 是下载的资源文件 install path
  • 2021/2/26 单链表应用------一元多项式

    单链表应用 一元多项式 学习时间 2021 2 26 题目名称 单链表应用 一元多项式 问题描述 编写一个程序用单链表存储多项式 并实现两个一元多项式A与B相加的函数 A B刚开始是升序的 A与B之和按降序排列 例如 多项式A 1 2X 0
  • 随机高斯分布的100个2D点

    import numpy as np import matplotlib pyplot as plt 生成随机的10个点 分布在300x300的区域内 num nodes 1000 mean 150 150 高斯分布的均值 cov 500
  • 程序员必读书籍一览表

    书籍推荐 按角色划分 一 软件工程师 Clean Code 代码整洁之道 Implementation Patterns 实现模式 Code Complete 代码大全 Refactoring Improving the Design of
  • 内联函数使用注意事项

    class TableClass private int I j public int add return I j inline int dec return I j int GetNum inline int tableclass Ge
  • uinapp发送和处理二进制数据流

    uinapp发送和处理二进制数据流 将二进制数据流转为json param Object buffer export function buffer to json buffer return JSON parse base64 decod
  • github学习记录目录

    说明 很久没有更新过CSDN了 一方面是因为图片上传和排版过于麻烦 另一方面是因为没有另一方面 懒狗一只 其实是放在GitHub了 CSDN里的东西也不想搬过去 权当重新开始学习啦 平时的学习记录均会不定时的上传到GitHub上 希望走过路
  • 【数据集】——SBD数据集下载链接

    简介 SBD Dataset 是一个语义边界数据集 其包含来自 PASCAL VOC 2011 数据集中 11355 张图片的注释 这些图片均基于 Amazon Mechanical Turk 其中分割之间的冲突均为手动解决 此外 每张图像
  • hadoop之hello world

    初学hadoop 这是第一个例子wordCount import java io IOException import java util StringTokenizer import org apach hadoop conf impor
  • 2022十三届蓝桥杯省赛赛时代码

    1478 14 应该就是取模问题 include
  • 刻章不要钱 5个在线印章制作工具

    俺的博客里的图片 还有网生代上俺写的文章很多都是用印章当作图片水印的 奇怪的是 怎么没人眼馋 有了现代科技 刻章其实很简单了 本文就介绍几个在线印章制作工具 一 MakePic印章生成器 允许输入2 4个汉字 可选择的字体有 经典繁印篆 经
  • 算法导论 学习笔记 第三章 函数的增长

    当输入规模足够大 要研究算法的渐近效率 即我们关心当输入规模无限增加时 在极限中 算法的运行时间如何随着输入规模的变大而增加 主要使用以下渐近记号描述算法的运行时间 1 记号 给定一个函数g n 用 g n 表示以下函数的集合 若存在正常量
  • python之路-untitest单元测试框架组件使用详细介绍

    文章目录 unittest xmind思维导图 UnitTest介绍 TestCase TestSuite TextTestRunner TestLoader TestSuite和TestLoader的使用区别 小结 Fixture 方法级
  • 北京政府占股扶持机构

    1 北京中关村发展集团股份有限公司 2 北京中海投资管理有限公司 http www zhtzgl cn 3 北京首都科技集团有限责任公司 4 亦庄国际 http www etowncapital com zjtz columnsId 40
  • Linux线程知识总结

    1 编程头文件
  • react-实现页面跳转

    Link a标签 需设置path属性 值为路径 点击后会跳转到指定的路径 Router 用来包裹整个组件 Route 指定对应路径所展示的组件 Route写在哪里组件就展示在哪里 路由会给组件提供history属性 在this props里
  • Transformers训练预处理datasets出现Socket Timeout

    原因 ddp的时候默认等待时间是1800s 如果超出这个时间程序就会退出 解决方法 更新transformers库 低版本不支持如下方式 并添加参数 ddp timeout 3600 这里3600s只是demo 具体根据自身程序来设置
  • 手把手前端入门笔记之vue-element-admin-01

    前言 本文主要为vue element admin框架的入门教程 本人2年后端开发经验 想自学前端转全栈工程师 听着就好酷 直接上手实战应该是入门前端最快的方式了 在此记录下学习过程 希望可以对初学者有所帮助 如有错误或未考虑完全的地方 望