接口错误拦截设置

接口错误拦截设置

一.
错误怎么提示,取决于后台的架构,后台分底层和业务层,后台把底层的错误抛出来,给业务层,业务层把开发者编写的错误,封装成用户能看懂得错误。
前端负责把错误展示给用户

二.接口错误拦截得种类:

  1. 统一报错
  2. 未登录同意拦截(在未登陆前,不允许加订单,购物车)
  3. 请求值,返回值统一处理

三.axios一个小知识点:
同时发送多个请求:axios.all 或者 promise.all

四.代码设置:
在main.js中:

import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)//把axios对象挂载上去
//只使用axios时,每个页面都得导入,很麻烦,而vue-axios把作用域对象挂载到
//vue实例上面去,方便用this调用

interceptor为拦截器
接口规范:

{
      status:0,
      data:[ ],
      msg:' '
}
//接口错误拦截
axios.interceptors.response.use(function(response) {
    let res = response.data; //获取接口的整个信息(包括status,data,msg)
    if (res.status == 0) { //登陆成功的状态码为0
        return res.data; //获取接口信息的data
    } else if (res.status == 10) { //未登录的状态码为10(自己设定)
        window.location.href = '/#/login'; //直接跳转页面到login登陆页面,
        //不能用路由的方式,因为这是main.js文件不是vue
    } else {
        alert(res.msg); //否则报错,输出错误msg信息
    }
})
//根据前端跨域做调整,我们先暂时采取代理的方式
axios.defaults.baseURL = '/api';
axios.defaults.timeout = 8000;

你可能感兴趣的:(vue仿小米商城项目笔记)