http.js 2.4 KB

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