博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装axios
阅读量:5115 次
发布时间:2019-06-13

本文共 2820 字,大约阅读时间需要 9 分钟。

'use strict'import axios from 'axios'import qs from 'qs'import {    Message} from 'element-ui';axios.interceptors.request.use(config => {    // loading    return config}, error => {    return Promise.reject(error)})axios.interceptors.response.use(response => {    return response}, error => {    return Promise.resolve(error.response)})function checkStatus(response) {    // 如果http状态码正常,则直接返回数据    if (response && (response.status === 200 || response.status === 304 || response.status === 400)) {        return response        // 如果不需要除了data之外的数据,可以直接 return response.data    }    // 异常状态下,把错误信息返回去    return {        status: -404,        msg: response.data.message    }}function checkCode(res) {    // 如果code异常(这里已经包括网络错误,服务器错误,后端抛出的错误),可以弹出一个错误提示,告诉用户    if (res.status === -404) {        Message({            message: res.msg,            type: 'error',            duration: 3 * 1000        })    }    // code 200正常返回数据 404暂无数据    if (res.data && (res.data.code != 200) && (res.data.code != 404)) {        Message({            message: res.data.message,            type: 'error',            duration: 3 * 1000        })    }    // 401未登录    if (res.data.code == 401) {        Message({            message: res.data.message,            type: 'error',            duration: 3 * 1000        })    }    return res}export default {    post(url, data) {        return axios({            method: 'post',            // baseURL: 'https://webmaster.q-huan.link/home/index',            url,            data: qs.stringify(data),            timeout: 5000,            headers: {                'X-Requested-With': 'XMLHttpRequest',                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'            }        }).then(            (response) => {                return checkStatus(response)            }        ).then(            (res) => {                return checkCode(res)            }        )    },    get(url, params) {        return axios({            method: 'get',            // baseURL: 'https://webmaster.q-huan.link/home/index',            url,            params, // get 请求时带的参数            timeout: 5000,            headers: {                'X-Requested-With': 'XMLHttpRequest'            }        }).then(            (response) => {                return checkStatus(response)            }        ).then(            (res) => {                return checkCode(res)            }        )    }}
http          .get(api.login, {            code: that.user_text,            pwd: that.psd_text          })          .then(res => {            let respon = res.data;            if (respon.code == 200) {              // 获取数据成功                            }            } else {              that.$message.error(respon.msg);            }          });

 

转载于:https://www.cnblogs.com/chenzeyongjsj/p/9624331.html

你可能感兴趣的文章
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
poj1201 查分约束系统
查看>>
Red and Black(poj-1979)
查看>>