소스 검색

axios 配置

panyong 4 년 전
부모
커밋
290b32b1d5
2개의 변경된 파일54개의 추가작업 그리고 0개의 파일을 삭제
  1. 38 0
      htmldev/loan/src/api/request.js
  2. 16 0
      htmldev/loan/src/api/wx.js

+ 38 - 0
htmldev/loan/src/api/request.js

@@ -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

+ 16 - 0
htmldev/loan/src/api/wx.js

@@ -0,0 +1,16 @@
+/*
+ * 接口
+ * */
+import request from './request'
+/*
+ * 微信
+ */
+
+// 微信授权
+export const wxAuth = (url = location.href) => request({
+  method: 'GET',
+  url: '/api/customer/auth',
+  params: {
+    next: encodeURIComponent(url)
+  }
+})