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

44 lines
1.0 KiB

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