金币系统前端
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.

46 lines
1.1 KiB

1 month ago
3 weeks ago
1 month ago
3 weeks ago
1 month ago
  1. import axios from 'axios'
  2. // 创建axios实例
  3. const service = axios.create({
  4. baseURL: import.meta.env.VITE_API_BASE,
  5. timeout: 10000,
  6. headers: {
  7. 'Content-Type': 'application/json'
  8. },
  9. // 设置请求头,指定请求体的格式为 JSON
  10. // 设置默认请求方法为 POST 这行对应的代码搁哪呢?
  11. })
  12. // 请求拦截器
  13. service.interceptors.request.use(config => {
  14. const token = localStorage.getItem('token')
  15. if (token) {
  16. if (config.data) {
  17. config.data.token = token;
  18. } else {
  19. config.data = { token };
  20. }
  21. // config.headers.Authorization = `${token}`
  22. }
  23. return config
  24. }, error => {
  25. return Promise.reject(error)
  26. })
  27. // 响应拦截器
  28. service.interceptors.response.use(
  29. response => {
  30. return response
  31. },
  32. error => {
  33. // const { response } = error
  34. // if (response && response.status === 401) {
  35. // const machineId = localStorage.getItem('machineId')
  36. // localStorage.removeItem('token')
  37. // window.location.href = `/login?machineId=${machineId}`
  38. // return Promise.resolve({ needsLogin: true })
  39. // }
  40. return Promise.reject(error)
  41. }
  42. )
  43. export default service