axios.js 751 B

12345678910111213141516171819202122232425262728
  1. import Vue from 'vue'
  2. import axios from 'axios'
  3. import store from '~store'
  4. const service = axios.create({
  5. baseURL: process.env.proxyUrl || process.env.baseUrl
  6. })
  7. service.interceptors.request.use(config => {
  8. // is server render, use ${baseUrl} directly rather than ${proxyUrl}
  9. if (process.env.proxyUrl && typeof window === 'undefined') {
  10. config.url = process.env.baseUrl + config.url
  11. config.headers.cookie = store.state.option.cookies
  12. config.headers['User-Agent'] = store.state.option.userAgent
  13. }
  14. return config
  15. }, error => {
  16. return Promise.reject(error)
  17. })
  18. service.interceptors.response.use(response => {
  19. return response
  20. }, error => {
  21. return Promise.reject(error)
  22. })
  23. Vue.prototype.$http = service
  24. export default service