| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import Vue from 'vue'
- import Axios from 'axios'
- export function axiosHttp(store) {
- const service = Axios.create({
- withCredentials: true,
- baseUrl: '/'
- })
- service.interceptors.request.use(config => {
- if (process.server) {
- if (config.url.indexOf('.') === -1) {
- config.url = process.env.baseUrl + config.url
- }
- }
- // if (typeof window === 'undefined') {
- // config.headers.cookie = store.state.option.cookies + '; ' + store.state.option.sessionId
- // // config.headers['User-Agent'] = Vue.$store.state.option.userAgent
- // } else {
- // console.log(store)
- // }
- return config
- }, error => {
- return Promise.reject(error)
- })
- service.interceptors.response.use(response => {
- const cookies = response.headers['set-cookie']
- if (cookies && cookies.length) {
- for (let i = 0; i < cookies.length; i++) {
- if (cookies[i].indexOf('JSESSIONID') > -1) {
- const sessionId = cookies[i]
- const first = sessionId.indexOf(';')
- const second = sessionId.lastIndexOf(';')
- const newSessionId = sessionId.replace(sessionId.substring(first, second), '')
- store.commit('option/SET_SESSION_ID', newSessionId)
- break
- }
- }
- }
- return response
- }, error => {
- return Promise.reject(error)
- })
- Vue.prototype.$http = service
- return service
- }
- export default function ({ isServer, store, req }) {
- axiosHttp(store)
- }
|