request.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import axios from 'axios'
  2. import { Message } from 'element-ui'
  3. import { useUserStore } from '@/stores/user'
  4. const { token } = useUserStore()
  5. const service = axios.create({
  6. baseURL: window.globalVariables.api,
  7. method: 'post',
  8. timeout: 5000,
  9. headers: {
  10. 'Content-Type': 'application/x-www-form-urlencoded',
  11. },
  12. })
  13. service.interceptors.request.use(
  14. (config) => {
  15. // do something before request is sent
  16. config.data = Object.assign(
  17. {
  18. token,
  19. site: 'qqyxt',
  20. client: 'web',
  21. api: 'json',
  22. },
  23. config.data || {}
  24. )
  25. if (config.method === 'get') {
  26. config.params = Object.assign(
  27. {
  28. token,
  29. },
  30. config.params || {}
  31. )
  32. }
  33. console.dir(config.data)
  34. return config
  35. },
  36. (error) => {
  37. // do something with request error
  38. console.log(error) // for debug
  39. return Promise.reject(error)
  40. }
  41. )
  42. // response interceptor
  43. service.interceptors.response.use(
  44. (response) => {
  45. const { code, msg } = response.data
  46. if (code !== '1') {
  47. Message.error(msg)
  48. }
  49. return response.data
  50. },
  51. (error) => {
  52. console.log('err' + error) // for debug
  53. return Promise.reject(error)
  54. }
  55. )
  56. export default service