You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 1 година
пре 1 година
пре 1 година
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import axios from 'axios';
  2. import * as typeHelper from '@/utils/typeHelper';
  3. import { message } from 'ant-design-vue';
  4. import { router } from '@/router';
  5. const instance = axios.create({
  6. // baseURL: 'http://114.132.85.7:8889',
  7. baseURL: 'https://rcsc-test.jcjob.cn/api',
  8. timeout: 30000,
  9. headers: {
  10. 'Content-Type': 'application/json'
  11. },
  12. withCredentials: false,
  13. })
  14. // 请求拦截
  15. // 添加请求拦截器
  16. instance.interceptors.request.use(function (config) {
  17. sessionStorage.getItem('token') ? config.headers.Authorization = sessionStorage.getItem('token') : '';
  18. // 在发送请求之前做些什么
  19. return config;
  20. }, function (error) {
  21. // 对请求错误做些什么
  22. return Promise.reject(error);
  23. });
  24. // 添加响应拦截器
  25. instance.interceptors.response.use(function (response) {
  26. switch (response.data.code) {
  27. case -1:
  28. message.warning(response.data.msg);
  29. break;
  30. case 0:
  31. break;
  32. case 1:
  33. return response;
  34. break;
  35. case 401:
  36. message.warning(response.data.msg);
  37. sessionStorage.clear();
  38. window.location.reload();
  39. router.replace('/login');
  40. case 403:
  41. // message.warning(response.data.msg);
  42. break;
  43. case 600:
  44. if(response.data.errors) {
  45. response.data.errors.forEach((item:String) => {
  46. message.warning(item);
  47. })
  48. } else {
  49. message.warning(response.data.msg);
  50. }
  51. break;
  52. default:
  53. console.log(response)
  54. }
  55. // 2xx 范围内的状态码都会触发该函数。
  56. // 对响应数据做点什么
  57. return response;
  58. }, function (error) {
  59. // 超出 2xx 范围的状态码都会触发该函数。
  60. // 对响应错误做点什么
  61. console.log(error)
  62. return Promise.reject(error);
  63. });
  64. export const httpGet : Function = (url : string, data : object, cb : Function) => {
  65. instance.get(url, {
  66. params: data
  67. }).then(res => {
  68. const resData = res;
  69. typeHelper.isFunction(cb) && cb(resData);
  70. }).catch(err => {
  71. cb(err.response)
  72. })
  73. }
  74. export const httpPost : Function = (url : string, data : object, cb : Function) => {
  75. instance.post(url, data).then(res => {
  76. const resData = res;
  77. typeHelper.isFunction(cb) && cb(resData);
  78. }).catch(err => {
  79. // cb(err.response)
  80. })
  81. }