目录结构设置
引入基本插件
cnpm i vue-lazyload element-ui node-sass sass-loader vue-awesome-swiper vue-axios vue-cookie --save-dev
封装路由
Tips
Ctrl+D 可以不停的定位下一个
Storage的封装
面试题
Cookie 、localStorage、sessionStorage三者区别
为什么要封装Storage,本身不是已经有API?
接口错误拦截
- 统一报错
- 未登录统一拦截
- 请求值、返回值统一处理
#在main.js中使用vue-axios
import axios from 'axios'
import VueAxios from 'vue-axios'
#根据前端的跨域方式做调整
axios.defaults.baseURL = '/api';
axios.defaults.timeout = 8000; #超时
axios.interceptors.response.use(function(response){
let res = response.data;#res就是我们后台返回的值
#判断逻辑
if(res.status == 0) {
return res.data;
} else if(res.status == 10) {
window.location.href = '/#/login';
} else {
alert(res.msg);
}
})
Vue.use(VueAxios,axios);
Vue.config.productionTip = false
接口环境设置
下面是针对CORS或者JSONP这种跨域的方式来设置不同接口环境,如果是代理就不用
src下新建一个文件:env.js
Mock设置
- 本地创建json
- easy-mock平台
- 集成Mock API
cnpm i mockjs --save-dev
3FDXh61-1613950628415)]
- 本地创建json
- easy-mock平台
- 集成Mock API
cnpm i mockjs --save-dev