vue轻量级后台管理系统基础模板

项目地址

vue-admin-template

在线预览vue

更新

2019.10.14 更新

  • 修复窗口宽度太小不会收缩侧边栏的问题
  • 新增:打开页面时,默认展开和路由对应的菜单栏

2019.8.19 修复BUG

components/Index.vue 文件第 31 行代码的 v-show="isShowAsideTitle" 会形成侧边栏收缩时二级菜单隐藏,目前已修复。ios

2019.7.24 更新

增长页面进度条git

在页面跳转时增长进度条github

2019.6.25 更新

修复路由表冲突问题ajax

退出当前用户,换帐号从新登录时,上个帐号和如今的帐号路由表会有冲突的问题,解决办法是在退出登录时重置路由表。vue-router

具体实现请查看 router/index.jsLogin.vueIndex.vue 的退出登录回调方法。vuex

2019.6.18 更新

优化动态添加路由功能npm

之前的动态路由功能并不完善,首先要将全部的路由都添加到路由表里,而后根据后台返回的菜单栏数据来生成菜单。axios

致使的问题就是,虽然有页面在菜单栏上不显示,但因为已经添加到路由表里了,因此能够在地址栏上手动输入在菜单栏上不存在(但在路由表存在)的页面,进而能够越权访问。缓存

如今除了必要的页面须要在一开始添加到路由表里,其余的页面均可以根据后台数据来自动生成。并且菜单栏上没有的页面,在地址栏上输入地址也是访问不了的。

另外,若是在未登录时要访问某一指定页面,会重定向到登录页,登录成功后会自动跳到这个指定页面。

具体实现请看 permission.jsutil 目录下的 index.js 文件

2019.3.14 更新

增长404页面

假如跳转到一个不存在的页面时会重定向到404页面

2019.3.8 更新

增长面包屑功能

用于展现当前页面的路径

增长权限控制功能

若是未登录,访问全部页面都重定向到登录页

2019.3.1 更新

增长动态菜单栏功能

icon使用的是iview组件的icon组件。

数据格式:

// 左侧菜单栏数据
menuItems: [
    {
        name: 'Home', // 要跳转的路由名称 不是路径
        size: 18, // icon大小 非必填
        type: 'md-home', // icon类型 非必填
        text: '主页' // 文本内容
    },
    {
        text: '二级菜单',
        type: 'ios-paper',
        children: [
            {
                type: 'ios-grid',
                name: 'T1',
                text: '表格'
            },
            {
                text: '三级菜单',
                type: 'ios-paper',
                children: [
                    {
                        type: 'ios-notifications-outline',
                        name: 'Msg',
                        text: '查看消息'
                    },
                    {
                        type: 'md-lock',
                        name: 'Password',
                        text: '修改密码'
                    },
                    {
                        type: 'md-person',
                        name: 'UserInfo',
                        text: '基本资料',
                    }
                ]
            }
        ]
    }
]

相关依赖

功能

登陆页

  • 一周七天自动切换不一样的壁纸(建议本身配置)

标签栏

  • 点击标签切换页面
  • 刷新当前标签页
  • 关闭其余标签/关闭全部标签

注意: 组件的名称和路由的名称必定要一致,例如 Home.vue 组件名称 name: home,则在路由文件中也要给它设置为 name: home,不然页面内容不能缓存

// 在router文件中
{
    path: 'home',
    name: 'home',
    component: () => import('../views/Home.vue')
}

// 在Home.vue中
export default {
    name: 'home'
}

侧边栏

  • 伸展/收缩
  • 页面宽度太小自动收缩
  • 多级菜单(利用iView组件)

用户相关

  • 消息通知
  • 用户头像
  • 基本资料

动态菜单栏

  • 根据数据动态生成菜单

面包屑

  • 展现当前页面的路径

权限控制

  • 若是在未登录的状况下访问指定页面 将会重定向到登录页

其它

  • 利用axios拦截器 实现了ajax请求前展现loading 请求结束关闭loading

注意

  • 源码可见 而且添加了必要的注释 能够自行更改

Index组件通常状况下只须要传数据就行 其余不用关注

市面上有大量的vue后台管理系统模板 可是功能都太丰富了 并且有不少组件用不上 因此写了这么一个最基础的 只有必要功能的模板
UI库使用的是iView 有大量的组件可用

子组件跳转到子组件

// xxx为你想跳转的子组件name
this.$parent.gotoPage('xxx')

路由传参

this.gotoPage('userinfo', {
    id: id,
})
// 在userinfo组件里取参
this.$route.params.id

使用

下载

git clone git@github.com:woai3c/vue-admin-template.git

cd vue-admin-template

npm i

开发

npm run serve

打包

npm run build

若是对你有帮助,请给个Star

相关文章
相关标签/搜索