http.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import axios from 'axios'
  2. const TIME_OUT_MS = 60 * 1000 // 默认请求超时时间
  3. axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
  4. // // 请求拦截器
  5. // axios.interceptors.request.use(function (config) {
  6. // console.log('正确拦截')
  7. // console.log(config)
  8. // return config
  9. // }, function (error) {
  10. // console.log('错误拦截')
  11. // return Promise.reject(error)
  12. // })
  13. // // 响应拦截器
  14. // axios.interceptors.response.use(function (response) {
  15. // return response
  16. // }, function (error) {
  17. // return Promise.reject(error)
  18. // })
  19. /*
  20. * @param response 返回数据列表
  21. */
  22. function handleResults (response) {
  23. let remoteResponse = response.data
  24. var result = {
  25. success: false,
  26. message: '',
  27. status: [],
  28. errorCode: '',
  29. data: {
  30. total: 0,
  31. results: []
  32. }
  33. }
  34. if (remoteResponse.success) {
  35. result.data.results = remoteResponse.data
  36. result.data.total = remoteResponse.total
  37. result.success = true
  38. }
  39. if (!remoteResponse.success) {
  40. let code = remoteResponse.errorCode
  41. if (code === 400) {
  42. console.log('传参错误')
  43. }
  44. result.errorCode = remoteResponse.errorCode
  45. result.message = remoteResponse.message
  46. }
  47. return result
  48. }
  49. function handleUrl (url) {
  50. //url = 'http://crowd.mooctest.net' + url
  51. return url
  52. }
  53. /*
  54. * @param data 参数列表
  55. * @return
  56. */
  57. function handleParams (data) {
  58. return JSON.parse(JSON.stringify(data))
  59. }
  60. export default {
  61. post (url, data) {
  62. return new Promise((resolve, reject) => {
  63. axios.post(url, handleParams(data)).then(
  64. (result) => {
  65. resolve(result)
  66. }
  67. ).catch(
  68. (error) => {
  69. reject(error.response)
  70. }
  71. )
  72. })
  73. },
  74. get (url) {
  75. return new Promise((resolve, reject) => {
  76. axios.get(handleUrl(url))
  77. .then(response => {
  78. resolve(response.data)
  79. }).catch(error => {
  80. reject(error.response)
  81. })
  82. })
  83. },
  84. put (url, data) {
  85. return new Promise((resolve, reject) => {
  86. axios.put(url, JSON.parse(JSON.stringify(data))).then(
  87. (result) => {
  88. resolve(result)
  89. }
  90. ).catch(
  91. (error) => {
  92. reject(error)
  93. }
  94. )
  95. })
  96. },
  97. delete (url, data) {
  98. return new Promise((resolve, reject) => {
  99. axios.delete(url, {data: handleParams(data)}).then(
  100. (result) => {
  101. resolve(result)
  102. }
  103. ).catch(
  104. (error) => {
  105. reject(error)
  106. }
  107. )
  108. })
  109. },
  110. upload (url, data, config) {
  111. return new Promise((resolve, reject) => {
  112. axios.post(url, data, config).then(
  113. (result) => {
  114. resolve(result)
  115. }
  116. ).catch(
  117. (error) => {
  118. reject(error)
  119. }
  120. )
  121. })
  122. },
  123. }