http.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import axios from 'axios';
  2. import {
  3. Message
  4. } from 'element-ui';
  5. axios.defaults.timeout = 5000;
  6. axios.defaults.baseURL = 'https://readertest.lingjiao.cn/';
  7. /***
  8. *
  9. * 复制于 https://www.cnblogs.com/ldlx-mars/p/7908950.html
  10. *
  11. */
  12. //http request 拦截器
  13. axios.interceptors.request.use(
  14. config => {
  15. // const token = getCookie('名称');注意使用的时候需要引入cookie方法,推荐js-cookie
  16. config.data = JSON.stringify(config.data);
  17. config.headers = {
  18. 'Content-Type': 'application/x-www-form-urlencoded'
  19. }
  20. // if(token){
  21. // config.params = {'token':token}
  22. // }
  23. return config;
  24. },
  25. error => {
  26. return Promise.reject(err);
  27. }
  28. );
  29. //http response 拦截器 暂时不用
  30. /* axios.interceptors.response.use(
  31. response => {
  32. if (response.data.errCode == 2) {
  33. router.push({
  34. path: "/login",
  35. querry: {
  36. redirect: router.currentRoute.fullPath
  37. } //从哪个页面跳转
  38. })
  39. }
  40. return response;
  41. },
  42. error => {
  43. return Promise.reject(error)
  44. }
  45. ) */
  46. /**
  47. * 封装get方法
  48. * @param url
  49. * @param data
  50. * @returns {Promise}
  51. */
  52. export function fetch(url, params = {}) {
  53. return new Promise((resolve, reject) => {
  54. axios.get(url, {
  55. params: params
  56. })
  57. .then(response => {
  58. resolve(response.data);
  59. })
  60. .catch(err => {
  61. reject(err)
  62. })
  63. })
  64. }
  65. /**
  66. * 封装post请求
  67. * @param url
  68. * @param data
  69. * @returns {Promise}
  70. */
  71. export function post(url, data = {}) {
  72. return new Promise((resolve, reject) => {
  73. axios.post(url, data)
  74. .then(response => {
  75. resolve(response.data);
  76. }, err => {
  77. reject(err)
  78. })
  79. })
  80. }
  81. /**
  82. * 封装patch请求
  83. * @param url
  84. * @param data
  85. * @returns {Promise}
  86. */
  87. export function patch(url, data = {}) {
  88. return new Promise((resolve, reject) => {
  89. axios.patch(url, data)
  90. .then(response => {
  91. resolve(response.data);
  92. }, err => {
  93. reject(err)
  94. })
  95. })
  96. }
  97. /**
  98. * 封装put请求
  99. * @param url
  100. * @param data
  101. * @returns {Promise}
  102. */
  103. export function put(url, data = {}) {
  104. return new Promise((resolve, reject) => {
  105. axios.put(url, data)
  106. .then(response => {
  107. resolve(response.data);
  108. }, err => {
  109. reject(err)
  110. })
  111. })
  112. }