手把手教你用vue-clic3搭建vue-element-admin项目
- 下载element-admin框架
点击该地址:https://github.com/PanJiaChen/vue-element-admin
用git clone https://github.com/PanJiaChen/vue-element-admin或者直接下载压缩包都可以




2.安装依赖
打开项目根目录,在根目录下使用npm install 安装依赖,这种方式可能耗时较长,可采用镜像安装npm install --registry=https://registry.npm.taobao.org。在这里我用webstorm做开发工具演示。

安装完成后,会在此生成一个依赖文件夹

3.修改配置
最新版本生成的项目的配置文件没有了config文件夹,配置文件主要放在了vue.config.js里面,简单介绍一下重点的配置:


现在打开vue.config.js修改里面的配置

现在后台接口修改完成,那么如何登陆成功呢?接下来找到view->login->index.vue找到登录方法,可以看到在该方法里调用了store里面的login方法,

再来,找到store->modules->user.js文件,找到login方法,可以看到在方法里面调用了login接口,按住ctrl键点击login会跳转到该接口的文件


在这里可以看到请求登录接口是用的一个封装好的request请求,该文件里面包含了请求拦截和响应拦截,现在我们打开这个request文件看一下里面的逻辑。

拦截请求,先判断store里面是否有token,如果没有直接返回原config对象,login接口请求拦截解除,继续调接口,接口请求成功后,回到store的login方法里面走then,将获取到的response展开处理,给store的state设置token值(以便后期请求拦截时从store中直接获取token进而来判断是否要在header中添加‘X-Token’验证。为什么不直接用cookie中的token呢?这个问题在官网中有讲解过,在这顺便简单介绍一下:如果在A台电脑上登录了,在B台电脑上也登陆,同时,在B台电脑上修改了个人信息,此时A台电脑的用户信息是从缓存中取出来的,所以仍然是修改之前的信息,除非退出登录),同时给cookie中的'Admin-Token’设值。紧接着store的login方法结束之后回到index.vue的登录方法,然后开始路由跳转。路由跳转也添加了拦截,在该拦截里,会根据缓存中的token去判断,如果有token且路由是/login,直接放行,如果没有token,在白名单里直接跳,不在白名单里调到登录页,如果有token且不是/login则去store里获得角色信息




回到路由拦截的permission.js文件,拿到用户角色roles,将其传递给store的生成路由配置的方法(生成左侧菜单栏)

判断角色是否是admin如果是,会将常量路由和权限路由全部添加并返回,如果是其他权限,会根据权限筛选返回

4.给新添加的页面配置权限


以上就是一个基本的流程逻辑,结束喽~
手把手教你用vue-clic3搭建vue-element-admin项目的更多相关文章
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- 手把手教你如何安装使用webpack vue cli
1.安装node.js:https://nodejs.org/en/download/(看电脑的系统是多少位下载相应版本) 我下载的是Windows Installer(.msi) x64 2.打开c ...
- ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...
- 史上最全最详细的环境搭建教程,行百里者手把手教你在windows下搭建Anaconda+pycharm+库文件(TensorFlow,numpy)环境搭建
我是在搭建TensorFlow开发环境的道路上走了很多弯路 掉了很多头发,为了让广大同学们不在受苦受累 下面我将手把手教你学习如特快速搭建python环境 快速导入numpy,PIL,pillow,等 ...
- 使用@vue/cli搭建vue项目开发环境
当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...
- 手把手教你用 Spring Boot搭建一个在线文件预览系统!支持ppt、doc等多种类型文件预览
昨晚搭建环境都花了好一会时间,主要在浪费在了安装 openoffice 这个依赖环境上(Mac 需要手动安装). 然后,又一步一步功能演示,记录,调试项目,并且简单研究了一下核心代码之后才把这篇文章写 ...
- 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...
- 利用脚手架vue cli搭建vue项目
vue.js https://vuejs.org/ 基础: http://cn.vuejs.org/v2/guide/installation.html 1.安装需要利用npm包管理器,所以首先安装n ...
- 手把手教你在Windows下搭建React Native Android开发环境
最近看到React Native好像好厉害的样子,好奇心驱使之下体验了一下并将在Window下搭建React Natvie Android环境的步骤记录下来,并有需要的朋友参考.(我都是参考官方文档的 ...
- 手把手教你在Windows端搭建Redmine项目管理软件
1.Redmine介绍 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的 ...
随机推荐
- php+文件分块上传
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...
- Java进阶知识11 Hibernate多对多单向关联(Annotation+XML实现)
1.Annotation 注解版 1.1.应用场景(Student-Teacher):当学生知道有哪些老师教,但是老师不知道自己教哪些学生时,可用单向关联 1.2.创建Teacher类和Student ...
- [Luogu] 引水入城
https://www.luogu.org/problemnew/show/P1514 bfs + 线段覆盖 #include<bits/stdc++.h> using namespace ...
- HDU3501 Calculation 2 [欧拉函数]
题目传送门 Calculation 2 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- Codevs 2482 宝库通道 2007年省队选拔赛安徽
2482 宝库通道 2007年省队选拔赛安徽 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 探宝的旅程仍然继续中,由于你的帮助 ...
- Go中&和*的区别
& 返回变量的内存地址 * 返回变量的值, * 只能作用在指针上 package main import "fmt" func main() { var a = 5 var ...
- vue-element-admin登录逻辑,以及动态添加路由,显示侧边栏
这段时间在研究element-admin,感觉这个库有许多值得学习的地方,我学习这个库的方法是,先看它的路由,顺着路由,摸清它的逻辑,有点像顺藤摸瓜. 这个库分的模块非常清晰,适合多人合作开发项目,但 ...
- 通过python的urllib.request库来爬取一只猫
我们实验的网站很简单,就是一个关于猫的图片的网站:http://placekitten.com 代码如下: import urllib.request respond = urllib.request ...
- 9.Spring Cloud Config统一管理微服务配置
Spring Cloud Config统一管理微服务配置 9.1. 为什么要统一管理微服务配置 9.2. Spring Cloud Config简介 Spring Cloud Config为分布式系统 ...
- 【Docker】docker 的常用命令&操作
一.在linux虚拟机上安装docker XShell1:检查内核版本,必须是3.10及以上 uname -r2:安装docker yum install docker3:输入y确认安装4:启动doc ...