技术栈:
1.登录(axios实例和拦截器)
2.动态侧边栏和面包屑(this.$router.options.routes,meta路由元的使用)
3.iconfont的使用
4.页面布局和可复用组件
5.element-ui一些工具方法的使用
6.vuex模块化
项目思路分析
登录:获取用户表单信息,提交后给后端接口验证,如果匹配则返回一个token,使用cookie存储,再根据token去拉取用户信息接口获取信息,这里的具体操作主要看后端接口如何书写,登录成功后,跳转至主页面。
这里使用自定义配置创建axios实例:axios.create([config]),指定的配置将与实例配置合并:axios#get(url [,config]),这里会配置基本路径和超时时间。还使用了axios拦截器,这里使用request拦截器是为了在每个请求头塞入token,好让后端对请求进行权限验证(根据业务而定),response拦截器,当服务端返回特殊的状态码,做统一处理
axios配置
//1. 导入axios对象
import axios from "axios";
//2. 创建对象实例,create方法
const Server = axios.create({
//请求接口的基础地址
baseURL: 'https://www.liulongbin.top:8888/api/private/v1/',
//设置超时时间
timeout: 5000 // 请求超时