vue+ElementUI后台管理系统

一、登录/退出功能

若前端与后台存在跨域问题,则使用token

否则,使用cookie/session方式

token:(本地 + vuex)

编程式导航,顾名思义,就是在业务逻辑代码中实现导航。

this.$router.push(/home);

3.3路由导航守卫(路由的钩子函数)控制访问权限

如果用户没有登录,但是直接通过URL访问特定页面,需要重新导航到登陆页面

// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
  // to:将要访问的路径
  // from:代表从哪个路径跳转而来
  // next:是一个函数,表示放行
  //     next() 放行    next(/login)强制放行
  if (to.path == "/login") {
    return next();
  }
  // 获取token
  const tokenStr = window.sessionStorage.getItem("token");
  if (!tokenStr) {
    return next("/login");
  }
  next();
});

路由的钩子函数

我们可以直接在路由配置文件(/src/router/index.js)中写钩子函数。但是在路由文件中我们只能写一个beforeEnter,就是在进入此路由配置时。先来看一段具体的代码:

{
      path:/params/:newsId(\d+)/:newsTitle,
      component:Params,
      beforeEnter:(to,from,next)=>{
        console.log(我进入了params模板);
        console.log(to);
        console.log(from);
        next();
},

在配置文件中的钩子函数,只有一个钩子-beforeEnter

如果我们写在模板中就可以有两个钩子函数可以使用:

    beforeRouteEnter:在路由进入前的钩子函数。 beforeRouteLeave:在路由离开前的钩子函数。
export default {
  name: params,
  data () {
    return {
      msg: params page
    }
  },
  beforeRouteEnter:(to,from,next)=>{
    console.log("准备进入路由模板");
    next();
  },
  beforeRouteLeave: (to, from, next) => {
    console.log("准备离开路由模板");
    next();
  }
}
</script>

(1) 进度条:

/

(2) 三级分类表格(vue-table-with-tree-grid)见项目vueAdmin

(3) 富文本编辑器(Vue-Quill-Editor)

(4)loadsh的两种用法:

一、提交时,本来是数组,出来成了字符串,但是表单需要的是数组:(loadsh)

安装:

$ npm i -g npm
$ npm i --save lodash

引用:

import _ from loadsh

二、echarts options合并

可以添加角色

点击分配权限按钮,获取权限树型结构,加载当前角色已有的权限,

权限

概念

(1)动态导航--获取导航数据

(2)不同角色用户登录,显示对应权限

(3)导航守卫

重点:

步骤:

(1)router文件夹下建立permission.js

(2)router文件夹下建立dynamic-router.js(全部的路由地址)

(3)utils文件夹下建立recursion-router.js

修改:caches.children[0].name改为v..children[0].name

(4)store文件夹下modules下建立permission.js

经验分享 程序员 微信小程序 职场和发展