axios的修改

位置/api/index.js

置入我们想要的控制场景,比如loading 以及error场景。公用的请求header也可以在这里加上

axios.defaults.headers.post['Content-Type'] =
  'application/x-www-form-urlencoded'
// 请求拦截器
axios.interceptors.request.use(
  function(config) {
    /* 开发环境设置头部 */
     if (process.env.NODE_ENV === 'development') {
       config.headers['x-httpd-moments'] = 'Qbtv7y9xCbQ1rwH5PHbcpnLZ8zNxqQ38'
      /* uid可以随意设置 */
      config.headers['x-tif-uid'] = 'domy'
     }
    if (config.needToast) {
      // needToast:是否需要toast,true:需要,默认不需要
      loading = Vue.$toast({
        type: 'loading',
        message: '请稍候...',
        duration: 0
      })
    }
    return config
  },
  function(error) {
    loading && loading.close()
    return Promise.reject(error)
  }
)
// 响应拦截器
axios.interceptors.response.use(
  function(response) {
    loading && loading.close()
    return response
  },
  function(error) {
    loading && loading.close()
    return Promise.reject(error)
  }
)
/*         公用的api方法            */
/**
 * 获取关注的tweet,按照时间线倒序
 * @param lasttweetId 最后一条tweet的id
 * @param offset 偏移量,取多少条
 */
export function getFollowtweet(lasttweetId = '', offset = 20) {
  return axios.get(
    `/tweet/get/follow?last_tweetid=${lasttweetId}&offset=${offset}`
  )
}

你可能感兴趣的:(axios的修改)