index.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import axios from 'axios';
  2. import NProgress from 'NProgress'
  3. import { ElMessage } from 'element-plus'
  4. // 创建axios实例
  5. const service = axios.create({
  6. baseURL: window.baseUrl, // api的base_url
  7. timeout: 5000*3 // 请求超时时间
  8. });
  9. // 请求拦截器
  10. // localStorage.setItem('access_token',res.data.access_token)
  11. service.interceptors.request.use(
  12. config => {
  13. // 可以在这里添加请求头,例如:'Authorization'
  14. // if (!store.getters.token) {
  15. // config.headers['Authorization'] = `Bearer ${store.getters.token}`;
  16. // }else{
  17. // config.headers['Authorization'] = `Bearer 2f68dbbf-519d-4f01-9636-e2421b68f379`;
  18. // }
  19. let Authorization=localStorage.getItem('access_token')
  20. config.headers['clientId'] = 'e5cd7e4891bf95d1d19206ce24a7b32e';
  21. if(Authorization){
  22. config.headers['Authorization'] = 'Bearer'+` ${Authorization}`;
  23. }
  24. NProgress.start();
  25. return config;
  26. },
  27. error => {
  28. // 请求错误处理
  29. console.log(error); // for debug
  30. Promise.reject(error);
  31. }
  32. );
  33. // 响应拦截器
  34. service.interceptors.response.use(
  35. response => {
  36. // console.log('g350488F')
  37. // 可以在这里对响应数据进行处理,例如:对返回的状态码进行判断
  38. const res = response.data;
  39. NProgress.done(true); // 强制完成
  40. switch(res.code){
  41. case 200:
  42. break;
  43. case 401:
  44. ElMessage({
  45. grouping: true,
  46. message: '登录失效,请重新登陆',
  47. type: 'error',
  48. duration: 5 * 1000
  49. });
  50. setTimeout(function(){
  51. window.location.replace(loginPageUrl)
  52. //window.Location.href=loginPageUrl
  53. },2000)
  54. break;
  55. case 500:
  56. ElMessage({
  57. message: '服务器错误'+res.msg,
  58. type: 'error',
  59. duration: 5 * 1000
  60. });
  61. break;
  62. }
  63. return res
  64. //return response.data;
  65. },
  66. error => {
  67. console.log('err' + error); // for debug
  68. ElMessage({
  69. message: error.message,
  70. type: 'error',
  71. duration: 5 * 1000
  72. });
  73. NProgress.done(true); // 强制完成
  74. return Promise.reject(error);
  75. }
  76. );
  77. export default service;