┍src
┝━permission.js //导航守卫(路由守卫),权限控制
┝━settings.js //配置项,如:设置左侧菜单是否显示logo
┝━router //路由目录
┝━store // vuex 目录
┝━modules
┝━user.js // 存储 token、name、avatar
┝━api
┝━table.js
┝━user.js //封装 登录、获取用户信息、退出函数
┝━utils
┝━request.js //封装axios。增加请求,响应拦截器
┝━auth.js //封装cookie操作
┝━views //该文件夹下是页面组件
┝━layout //布局组件
┝━components //首页相关的组件
┝━Sidebar // 该目录下是 左侧菜单栏组件
┝━index.vue //左侧菜单
┝━Logo.vue //左侧菜单上面的logo,默认不显示
┝━AppMain.vue // 首页内容区域的组件
┝━index.js // 引用其他组件
┝━Navbar.vue // 首页顶部条组件
┝━index.vue //首页布局,用到 component 目录下的组件
┝━.env.development // 开发环境配置文件
┝━.env.production // 生成环境配置文件
request.js
vue-admin-template request.js-封装axios
auth.js
封装cookie操作:
- 将token放入到cookie中
- 从cookie取出token
- 从cookie移除token
permission.js
每次执行 路由跳转时,从 cookie
中取出 token
(需要引入 utils/auth.js
)
如果 token 存在,执行下面判断:
- 如果访问
/login
,就跳转到/
- 如果访问其他页面,就触发
store
中的user/getInfo
,发请求,获取用户信息
- 如果访问
如果 token 不存在,就跳转到 登录页面
user.js
封装 登录、获取用户信息、退出函数
调用 utils/request.js
发请求
在 store\modules\user.js
中使用