axios.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. export default function (app) {
  2. let axios = app.$axios;
  3. let options = {}
  4. // 基本配置
  5. axios.defaults.timeout = 10000
  6. axios.defaults.baseURL = `http://${process.env.HOST || '192.168.1.124'}:${process.env.PORT || 3000}/api`
  7. //axios.defaults.baseURL = 'https://gcb.china0001.com.cn/pubdata'
  8. axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
  9. axios.interceptors.request.use(function (config) {
  10. console.log('请求之前做什么')
  11. return config
  12. }, function (error) {
  13. // 请求错误时弹框提示,或做些其他事
  14. return Promise.reject(error)
  15. })
  16. axios.interceptors.response.use(function (response) {
  17. // 对响应数据做点什么,允许在数据返回客户端前,修改响应的数据
  18. // 如果只需要返回体中数据,则如下,如果需要全部,则 return response 即可
  19. console.log('数据返回客户端前')
  20. return response.data
  21. }, function (error) {
  22. // 对响应错误做点什么
  23. return Promise.reject(error)
  24. })
  25. // 封装数据返回失败提示函数---------------------------------------------------------------------------
  26. function errorState (response) {
  27. // 隐藏loading
  28. // 如果http状态码正常,则直接返回数据
  29. if (response && (response.status === 200 || response.status === 304 || response.status === 400)) {
  30. // 如果不需要除了data之外的数据,可以直接 return response.data
  31. return response
  32. } else {
  33. alert('数据获取错误')
  34. }
  35. }
  36. // 封装数据返回成功提示函数---------------------------------------------------------------------------
  37. function successState (res) {
  38. // 隐藏loading
  39. // 统一判断后端返回的错误码(错误码与后台协商而定)
  40. if (res.data.code === '000000') {
  41. alert('success')
  42. return res
  43. }
  44. }
  45. // 封装axios--------------------------------------------------------------------------------------
  46. // 请求回调
  47. axios.onRequest(config => {
  48. console.log('请求回调')
  49. //console.log(config)
  50. })
  51. // 返回回调
  52. axios.onResponse(res => {
  53. console.log('返回回调')
  54. //console.log(res)
  55. })
  56. // 错误回调
  57. axios.onError(error => {
  58. console.log('错误回调')
  59. //console.log(error)
  60. })
  61. }