gitee地址
一、项目初始化
vue create manager-admin // 创建vue项目// 管理员权限安装
cnpm i -S koa@2 // 下载koa2依赖
cnpm install --global koa-generator // 下载框架 koa-generator
koa2 manager-server // 创建项目
cd manager-server // 进入项目
npm install // 安装依赖
npm start // 启动项目cnpm i koa2-cors -S // 解决跨域
二、逻辑梳理
- 登录后,接口返回uid → 请求路由权限API
- 接口返回该用户对应路由权限列表(JSON,非树结构,含pid)
- 前端将JSON树形结构化
- 树形结构化 → vue路由结构
- 路由结构动态 → 静态路由
- 树形结构化数据 → 菜单组件
// 服务端 路由列表{id: 2,pid: 0,path: '/course',name: 'Course',title: '课程管理'},{id: 3,pid: 2,path: 'operate',name: 'CourseOperate',link: '/course/operate',title: '课程操作'},
- 全局的请求数据做在vuex的action里,在main.js里dispatch
- store/index.js 里引入 state.js mutation.js action.js
- libs/utils
- 前端的权限控制:根据后端返回的权限,做成动态路由