ajax.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import Vue from 'vue';
  2. import axios from 'axios';
  3. import VueAxios from 'vue-axios';
  4. import config from './config'
  5. import Qs from 'qs';
  6. const { serverAddress } = config
  7. // import DEV from "@/dev_config"; // 导入上线配置
  8. // const { ONLINE_BASE_HREF, SERVER_HREF } = DEV;
  9. Vue.use(VueAxios, axios)
  10. /* 常用ajax封装 */
  11. export const ajax = function (type = "post", url, params) {
  12. let token = localStorage.getItem("token")
  13. if (type.toLowerCase() == 'get') {
  14. return new Promise((resole, reject) => {
  15. axios({
  16. method: type,
  17. url: serverAddress + url,
  18. params,
  19. paramsSerializer(params) {
  20. return Qs.stringify(params, { arrayFormat: 'brackets' })
  21. },
  22. headers: {
  23. 'Content-Type': 'application/x-www-form-urlencoded',
  24. 'x-auth-token': token
  25. }
  26. }).then((res) => {
  27. switch (res.data.errCode) {
  28. case 'request_not_authorize': // 登录过期
  29. let url = window.location.protocol + "//" + window.location.host + "/#/login"
  30. window.location.replace(url)
  31. break;
  32. }
  33. resole(res.data);
  34. }).catch((err) => {
  35. reject(err);
  36. });
  37. });
  38. } else {
  39. return new Promise((resole, reject) => {
  40. axios({
  41. method: type,
  42. url: serverAddress + url,
  43. params,
  44. headers: {
  45. 'Content-Type': 'application/x-www-form-urlencoded',
  46. 'x-auth-token': token
  47. }
  48. }).then((res) => {
  49. switch (res.data.errCode) {
  50. case 'request_not_authorize': // 登录过期
  51. let url = window.location.protocol + "//" + window.location.host + "/#/login"
  52. window.location.replace(url)
  53. break;
  54. }
  55. resole(res.data);
  56. }).catch((err) => {
  57. reject(err);
  58. });
  59. });
  60. }
  61. }
  62. // export const upload = function (url, data) {
  63. // let token = localStorage.getItem("token")
  64. // return new Promise((resole, reject) => {
  65. // axios({
  66. // method: 'POST',
  67. // url: serverAddress + url,
  68. // data,
  69. // headers: {
  70. // 'Content-Type': 'multipart/form-data',
  71. // 'x-auth-token': token
  72. // }
  73. // }).then((res) => {
  74. // switch (res.data.errCode) {
  75. // case 'request_not_authorize': // 登录过期
  76. // let url = window.location.protocol + "//" + window.location.host + "/#/login"
  77. // window.location.replace(url)
  78. // break;
  79. // }
  80. // resole(res.data);
  81. // }).catch((err) => {
  82. // reject(err);
  83. // });
  84. // });
  85. // }