|
@@ -0,0 +1,34 @@
|
|
|
+import axios from 'axios'
|
|
|
+import store from '@/store'
|
|
|
+
|
|
|
+// create an axios instance
|
|
|
+const service = axios.create({
|
|
|
+ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
|
|
|
+ // withCredentials: true, // send cookies when cross-domain requests
|
|
|
+ timeout: 1000 * 60 * 10 // request timeout
|
|
|
+})
|
|
|
+
|
|
|
+// request interceptor
|
|
|
+service.interceptors.request.use(
|
|
|
+ config => {
|
|
|
+ // do something before request is sent
|
|
|
+ if (store.getters.token) {
|
|
|
+ // let each request carry token
|
|
|
+ // ['X-Token'] is a custom headers key
|
|
|
+ // please modify it according to the actual situation
|
|
|
+ const isToken = (config.headers || {}).isToken === false
|
|
|
+ let token = store.getters.access_token
|
|
|
+ if (token && !isToken) {
|
|
|
+ config.headers['Authorization'] = token// token
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return config
|
|
|
+ },
|
|
|
+ error => {
|
|
|
+ // do something with request error
|
|
|
+ console.log(error) // for debug
|
|
|
+ return Promise.reject(error)
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
+export default service
|