文章目录
- 相关链接
- 前言
- 效果
- 登录页
- 首页
- 管理员的首页
- xiaoxiao的首页
- 用户管理
- 总结
- 项目搭建
- 左侧:CommonAside
- 上侧:CommonHeader和CommonTag
- 首页:Home.vue
- 用户管理:User.vue
- 登录页:Login.vue
- 总代码(已开源)
前言
这个项目做了半个月,这半个月里我从一个只了解vue相关语法规则的小白变成了稍微熟悉vue的小白,在写项目的时候熟悉了(包括但不限于):组件化思想、axios、mock、cookie、vue-router、ElementUI。
在写项目过程中,以前只是匆匆掠过或了解的知识通过项目的实际运用变得生动了起来,很多知识知其然更知其所以然了。从p1-p47,我们是从项目的每个小部分开始,慢慢拼成一个项目。接下来我们将从上到下地纵览这个项目。
效果
我们先看看项目长成啥样:
登录页
首页
我们有两个用户:admin和xiaoxiao
admin:
username:admin
password:admin
xiaoxiao:
username:xiaoxiao
password:xiaoxiao
管理员的首页
导航栏收起:
xiaoxiao的首页
左侧菜单只有两个选项。
用户管理
页面:
点击新增:
点击编辑:
总结
项目搭建
整个项目的依赖:
"dependencies": {
"axios": "^1.1.3",
"core-js": "^3.8.3",
"echarts": "^5.1.2",
"element-ui": "^2.15.10",
"js-cookie": "^3.0.1",
"less": "^4.1.3",
"less-loader": "^11.1.0",
"mockjs": "^1.1.0",
"vue": "^2.6.14",
"vue-router": "^3.6.5",
"vuex": "^3.6.2"
}
我们要搭建一个通用后台管理系统,它会有以下的页面:
- 首页
- 商品管理
- 用户管理
- 其他
- 页面1
- 页面2
点击导航栏会显示不同的页面:
- 点击首页
- 点击商品管理
显然,变化的页面不包括左侧导航栏和上侧头部部分。于是:
- 把左侧和上侧单独写在一个组件,放入Main中,这样它们就会一直存在
- 点击左侧导航栏显示不同页面:
router-view
与路由跳转 - 项目搭建好之后,在不同组件中添加想要的效果即可
左侧:CommonAside
这里写的是导航栏:
- 点击菜单跳转至对应页面:点击久路由跳转
- 用Element UI:把导航栏展开收起,点击悬停效果完成
上侧:CommonHeader和CommonTag
这里写的是Header和tag:
- 导航栏收起按钮:vuex
- 用户退出按钮:vuex、cookie
- 面包屑:Element UI
- tag:Element UI
首页:Home.vue
- 六个卡片:Element UI
- 三个图表:Echarts
- mock模拟数据
用户管理:User.vue
- mock模拟用户数据
- table表格
- Form表单
- Dialog对话框
- Message消息提示
- Pagination分页
- 数据增删查改
登录页:Login.vue
- Form表单
- 导航守卫、不同用户的权限、动态添加路由
- token、cookie、mock