123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import Vue from 'vue'
- import axios from 'axios'
- const service = axios.create({
- withCredentials: true,
- baseUrl: '/'
- })
- let reqCount = 0
- service.interceptors.request.use(config => {
-
- config.url = config.url || '/'
- reqCount++
- if (process.server) {
- if (config.url.indexOf('/inquiry') === 0) {
- config.url = process.env.commonUrl + config.url
- } else if (config.url.indexOf('/productsuer') === 0) {
- config.url = process.env.materialUrl + config.url
- } else if (config.url.indexOf('/messages') === 0) {
- config.url = process.env.messageUrl + config.url
- } else if (config.url.indexOf('/cmsApi') === 0) {
- config.url = process.env.cmsUrl + config.url
- } else if (config.url.indexOf('/sso') === 0) {
- config.url = process.env.ssoUrl + config.url
- } else {
- config.url = process.env.baseUrl + config.url
- }
-
-
-
-
-
-
-
-
-
-
-
- } else {
- document.getElementById('loading').setAttribute('class', 'loading in')
- }
- return config
- }, error => {
- return Promise.reject(error)
- })
- service.interceptors.response.use(response => {
-
-
-
-
-
-
-
-
-
-
-
-
- if (--reqCount <= 0 && !process.server) {
- document.getElementById('loading').setAttribute('class', 'loading')
- }
- return response
- }, error => {
- if (!process.server) {
- if (--reqCount <= 0) {
- document.getElementById('loading').setAttribute('class', 'loading')
- }
-
- if (error.response.status === 401 &&
-
- !/\/store-service\/stores$/g.test(error.response.config.url) &&
-
- !/\/trade\/storeFocus\/ifFocus/g.test(error.response.config.url) &&
-
- !/\/trade\/collection\/list/g.test(error.response.config.url)) {
- window.location.href = `/auth/login?returnUrl=${window.location.href}`
- return
- }
- }
- return Promise.reject(error)
- })
- Vue.prototype.$http = service
- export default service
|