当前位置:   article > 正文

vue2从0到1搭建一个后台管理系统(一)_vue2 后台管理

vue2 后台管理

vue2从0到1搭建一个后台管理系统

第一步:创建项目

项目启动:

npm run serve

第二步:配置

ESLint配置

  • 禁用ESLint

vue.config.js 文件 

(process.env.NODE_ENV 配置在后面 )

lintOnSave:process.env.NODE_ENV === 'development',

  • 配置文件

.eslintignore 文件 

        (ESLint配置文件)

.eslintrc.js 文件 

        (ESLint忽略配置)

vue.config.js 文件配置

配置基本信息

代理转发

webpack打包处理

开发 / 测试 / 生产 环境变量配置 

信息包括:

# 页面标题

VUE_APP_TITLE = '标题'

# 开发环境配置

ENV = 'development'

# 开发环境

VUE_APP_BASE_API = 'base地址'

# 路由懒加载

VUE_CLI_BABEL_TRANSPILE_MODULES = true

# 后端接口地址

VUE_APP_SERVER_API_URL = '后端地址'

# Mqtt消息服务器连接地址

VUE_APP_MQTT_SERVER_URL = 'Mqtt消息服务器连接地址'

# 百度地图AK

VUE_APP_BAI_DU_AK = '你的百度地图AK'

路由配置

  • 新建route文件夹以及对应的index.js文件

  •  APP.vue设置嵌套路由并且把空路由重定向到首页

为什么强转到首页而不是登录页?

       假设:用户已经登录然后重新输入网址,这时候应该跳转到登录还是首页?

        当然是首页,那判断用户登录状态这一步怎么实现?

        后续全局设置,利用路由拦截器,在路由跳转前判断用户登录状态(利用token),如果有token就代表用户登录成功并跳转到目标地址,如果没有就强转到登录页面。

  • 注册路由  

第三步:引入ElementUI组件库

第四步:基础页面搭建(登录+首页)

因为是练习项目,所以就不细扣样式问题喽!

写这篇的主要目的还是在于梳理项目搭建的思路 and 整理一个后台管理的基础模板方便以后起项目的时候可以快速使用

登录页

效果:

代码:

关键代码:

  1. watch: {
  2. $route: {
  3. handler: function(route) {
  4. this.redirect = route.query && route.query.redirect
  5. },
  6. immediate: true,
  7. },
  8. },
  9. created() {
  10. this.getCookie()
  11. },
  12. methods: {
  13. getCookie() {
  14. const username = Cookies.get('username')
  15. const password = Cookies.get('password')
  16. const rememberMe = Cookies.get('rememberMe')
  17. this.loginForm = {
  18. username: username === undefined ? this.loginForm.username : username,
  19. password: password === undefined ? this.loginForm.password : decrypt(password),
  20. rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
  21. }
  22. },
  23. //密码icon
  24. changeIcon() {
  25. this.password = !this.password
  26. },
  27. //登录
  28. handleLogin() {
  29. this.$refs.loginForm.validate((valid) => {
  30. if (valid) {
  31. this.loading = true
  32. //记住我
  33. if (this.loginForm.rememberMe) {
  34. Cookies.set('username', this.loginForm.username, {
  35. expires: 30,
  36. })
  37. Cookies.set('password', encrypt(this.loginForm.password), {
  38. expires: 30,
  39. })
  40. Cookies.set('rememberMe', this.loginForm.rememberMe, {
  41. expires: 30,
  42. })
  43. } else {
  44. Cookies.remove('username')
  45. Cookies.remove('password')
  46. Cookies.remove('rememberMe')
  47. }
  48. // 占位(一会用dispatch处理)
  49. }
  50. })
  51. },
  52. }

首页

首页需要和 Layout 结合

开发顺序问题

(个人想先把项目配置,比如请求封装,路由拦截等搞完再进行Layout搭建)

所以后续再操作

第五步:配置vuex 

第六步:请求拦截器和通用下载方式

第七步:请求封装(举个例子)

 

下一篇:vue2从0到1搭建一个后台管理系统(二)

(Layout组件封装、路由拦截器、用户权限)

#占位

写完下一篇更新

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号