封装简单的axios库

1.新建http.js文件,封装axios get post 方法

import axios from 'axios'
import qs from 'qs'
import 'es6-promise'

axios.defaults.baseURL = '/api';

export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, {
      params: params
    }).then(res => {
      resolve(res.data)
    }).catch(err => {
      reject(err)
    })
  })
}

export function post(url, data) {
  return new Promise((resolve, reject) => {
    axios.post(url, qs.stringify(data), {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
        }
      }
    ).then(res => {
      resolve(res.data)
    }).catch(err => {
      reject(err)
    })
  })
}

2.新建api.js文件,封装调用的接口

import {get, post} from './http'

export function getNewPublish() {
  const result = get('/ad/newestPublishAdMaterialInfo1');
  return result;
}

3.在组件中使用

import {getNewPublish} from '../../api/api'

let result = getNewPublish();

result.then(res => {
   console.log(res);
}).catch(err => {
   console.log(err);
})

4.加拦截器的封装

import axios from 'axios'
import qs from 'qs'
import {Toast} from 'antd-mobile'

axios.defaults.baseURL = '/api';

// 拦截请求

axios.interceptors.request.use(function (config) {
  Toast.loading('加载中', 0);
  return config
});

// 拦截相应

axios.interceptors.response.use(function (config) {
  Toast.hide();
  return config
});

export default class Http {
  static get(url, params) {
    return new Promise((resolve, reject) => {
      axios.get(url, {
        params: params
      }).then(res => {
        resolve(res.data)
      }).catch(err => {
        reject(err)
      })
    })
  }

  static post(url, params) {
    return new Promise((resolve, reject) => {
      axios.post(url, qs.stringify(params), {
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
          }
        }
      ).then(res => {
        resolve(res.data)
      }).catch(err => {
        reject(err)
      })
    })
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值