http.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import axios from 'axios';
  2. // axios.defaults.baseURL =''
  3. //http request 拦截器
  4. // window._axiosPromiseArr = []
  5. axios.interceptors.request.use(function (config) {
  6. // 在发送请求之前做些什么
  7. // config.cancelToken = new axios.CancelToken(cancel => {
  8. // window._axiosPromiseArr.push({ cancel })
  9. // })
  10. return config;
  11. }, function (error) {
  12. // 对请求错误做些什么
  13. return Promise.reject(error)
  14. });
  15. // 添加响应拦截器
  16. axios.interceptors.response.use(function (response) {
  17. // 对响应数据做点什么
  18. return response;
  19. }, function (error) {
  20. // 对响应错误做点什么
  21. return Promise.reject(error)
  22. });
  23. /**
  24. * 封装get方法
  25. * @param url
  26. * @param data
  27. * @returns {Promise}
  28. */
  29. export function get(url,params={}){
  30. let arr = Object.entries(params).map(([key, value]) => {
  31. if(typeof(value) === "undefined") { // 参数如果值是undefined的时候,传参时会默认无这个字段。现在处理成空字符串
  32. value = ''
  33. }
  34. return [key,value]
  35. })
  36. let newParams = Object.fromEntries(arr)
  37. return new Promise((resolve,reject) => {
  38. axios.get(url,{
  39. params:newParams
  40. })
  41. .then(response => {
  42. resolve(response.data)
  43. })
  44. .catch(err => {
  45. reject(err)
  46. })
  47. })
  48. }
  49. /**
  50. * 封装post请求
  51. * @param url
  52. * @param data
  53. * @returns {Promise}
  54. */
  55. export function post(url,data = {}){
  56. let arr = Object.entries(data).map(([key, value]) => {
  57. if(typeof(value) === "undefined") { // 参数如果值是undefined的时候,传参时会默认无这个字段。现在处理成空字符串
  58. value = ''
  59. }
  60. return [key,value]
  61. })
  62. let newData = Object.fromEntries(arr)
  63. return new Promise((resolve,reject) => {
  64. axios.post(url,newData)
  65. .then(response => {
  66. resolve(response.data)
  67. },err => {
  68. reject(err)
  69. })
  70. })
  71. }
  72. /**
  73. * 封装patch请求
  74. * @param url
  75. * @param data
  76. * @returns {Promise}
  77. */
  78. export function patch(url,data = {}){
  79. return new Promise((resolve,reject) => {
  80. axios.patch(url,data)
  81. .then(response => {
  82. resolve(response.data)
  83. },err => {
  84. reject(err)
  85. })
  86. })
  87. }
  88. /**
  89. * 封装put请求
  90. * @param url
  91. * @param data
  92. * @returns {Promise}
  93. */
  94. export function put(url,data = {}){
  95. return new Promise((resolve,reject) => {
  96. axios.put(url,data)
  97. .then(response => {
  98. resolve(response.data)
  99. },err => {
  100. reject(err)
  101. })
  102. })
  103. }