当前位置: 移动技术网 > 移动技术>移动开发>IOS > axios封装使用

axios封装使用

2020年09月21日  | 移动技术网移动技术  | 我要评论
//下载 axios && qs// 导出axios模块import axios from 'axios'// 导入qs模块import qs from 'qs'// 设置开发环境(生产环境)switch (process.env.NODE_ENV) { case 'production': axios.defaults.baseURL = 'http://tealseaproduction:80';// 开发环境 break; c
//下载 axios && qs
// 导出axios模块
import axios from 'axios'
// 导入qs模块
import qs from 'qs'
// 设置开发环境(生产环境)
switch (process.env.NODE_ENV) {
    case 'production':
        axios.defaults.baseURL = 'http://tealseaproduction:80';// 开发环境
        break;
    case 'test':
        axios.defaults.baseURL = 'http://tealseatest:3000';// 测试环境
        break;
    default:
        axios.defaults.baseURL = 'http://tealseadevelop:3000';// 开发环境
};
// 设置超时时间(十秒)
axios.defaults.timeou = 10000;
// 设置跨域请求携带凭证(是)
axios.defaults.withCredentials = true;
//设置请求参数格式(x-www-form-urlencoded)
axios.defaults.headers['Content-Type'] = "application/x-www-form-urlencoded";// 格式xxx=xxx&&xxx=xxx
//将json格式转换为x-www-form-urlencoded格式[ tranformRequest只对post请求起作用, data是传递的参数 ]
axios.defaults.transformRequest = data => qs.stringify(data);//将{name=xxx,age=xx}=>name=xxx&&age=xx
// 请求拦截器
axios.interceptors.request.use(config => {
    // 携带本地存储的token
    let token = localStorage.getItem('token');
    token && (config.headers.Authorization = token);
    return config;
}, error => {
    // 将失败信息返回
    return Promise.reject(error);
});
// 相应拦截器
axios.interceptors.response.use(response => {
    // 直接返回数据
    return response.data;
}, error => {
    let { response } = error;
    // 判断是否有数据返回
    if (response) {
        // 判断返回状态码,来判断错误问题
        switch (response.status) {
            case 401://一般是未登录
                break;
            case 403://一般为token
                break;
            case 404: //找不到页面地址
                break;
        };
        // 服务器什么都没返回
    } else {
        // 断网状态
        if (!window.navigator.onLine) {
            console.log('没有网络');
            return
        };
        // 服务器有问题
        return Promise.reject(error);
    };
});
// 将axios暴露出去
export default axios;

本文地址:https://blog.csdn.net/Teal__/article/details/108716128

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网