# iView-DynamicRouter

iView-DynamicRouter 基于 iview-admin(branch:template),由“后端动态提供路由数据,经前端处理后生成动态路由和菜单”的【后端动态路由模板】,内置“权限管理”业务模型,可任意调整左侧菜单栏、修改其相关权限、监听当前路由和菜单,是一套更安全、更智能的后台管理系统模板。

该文档为 配置文档,如果您想快速使用,专注于该文档 并 配置好相关数据回文 即可运行 ~ 如果想和我一起,从 iview-admin 的原始框架一步步实现 iView-DynamicRouter,请看 开发指南 →

Mock Data

为方便开发和演示,当前项目由 mockjs 模拟接口并返回模拟路由数据

# 功能特点

登录后,不同权限的用户监听到不同的动态路由动态菜单

菜单自由选择上级、自由增删改

自由选择菜单的层级,大屏路由亦可在子菜单挂载:

修改“角色-菜单”关联,控制菜单权限

功能汇总:

- 动态路由数据
  - 路由改造(静态路由+动态路由)
  - 路由数据处理
  - 手动添加路由
  - 路由清空
  - 路由监听

- 动态菜单渲染
  - 菜单数据处理(大屏路由在二级/多级菜单)
  - 菜单监听

- 动态模拟数据mockData
  - 用户列表、角色列表、路由列表、路由层级

- 权限管理
  - 用户管理(增删改查、用户1对多绑定角色)
  - 角色管理(增删改查、角色1对多绑定菜单)
  - 菜单管理(增删改查、修改层级、修改上级目录)
  - 纯前端也可控制路由权限

# 目录结构

整体目录结构 iview-admin 原架构相同,部分内容有改动:

- config  开发相关配置
- public  打包所需静态资源
- src
  - api  AJAX请求   -> 追加:动态获取路由方法
  - assets  项目静态资源
  - icons  自定义图标资源
  - images  图片资源
  - components  业务组件
  - config  项目运行配置
  - directive  自定义指令
  - libs  封装工具函数   -> 追加:若干路由数据处理函数
  - locale  多语言文件
  - mock  mock模拟数据   -> 追加:路由列表、路由层级、角色列表 等数据
  - router  路由配置   -> 有较多改动,路由改造
  - store  Vuex配置   -> 有较多改动,菜单渲染改造
  - view  页面文件   -> 追加:template.vue 和 screent.vue 页面模板
  - tests  测试相关

# 安装使用

# 克隆项目
git clone https://github.com/simon9124/iview-dynamicRouter

# 进入项目目录
cd vue-element-admin

# 安装依赖
npm install

# 本地开发 启动项目
npm run dev

启动完成后,在控制台可监听【当前路由】和【左侧菜单】:

权限管理 - 菜单管理,可任意新增/更新菜单、修改层级、修改上级目录:

权限管理 - 角色管理,可任意新增/更新角色、修改角色关联的菜单:

权限管理 - 用户管理,可任意新增/更新用户、修改用户关联的角色:

实现路由权限控制:

上次更新: 6/29/2020, 1:17:28 PM