|
@@ -0,0 +1,38 @@
|
|
|
+import axios from 'axios'
|
|
|
+import { wxAuth } from './wx'
|
|
|
+
|
|
|
+const request = axios.create({
|
|
|
+ withCredentials: true,
|
|
|
+ baseURL: process.env.API_DOMAIN,
|
|
|
+ timeout: 50000,
|
|
|
+ headers: {
|
|
|
+ 'Content-Type': 'application/json;charset=UTF-8'
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+// Add a request interceptor
|
|
|
+request.interceptors.request.use(request => {
|
|
|
+ // Do something before request is sent
|
|
|
+ return request
|
|
|
+}, error => {
|
|
|
+ // Do something with request error
|
|
|
+ return Promise.reject(error)
|
|
|
+})
|
|
|
+
|
|
|
+// Add a response interceptor
|
|
|
+request.interceptors.response.use(response => {
|
|
|
+ // Do something with response data
|
|
|
+ return response.data
|
|
|
+}, (error) => {
|
|
|
+ // Do something with response error
|
|
|
+ if (error.response && error.response.status === 403) {
|
|
|
+ wxAuth().then((response) => {
|
|
|
+ if (response['is_login'] === 0) {
|
|
|
+ location.replace(response['authorize_url'])
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return Promise.reject(error)
|
|
|
+})
|
|
|
+
|
|
|
+export default request
|