WINDOWS-7IFQK7E\EDY 2 jaren geleden
bovenliggende
commit
451bcab74f
1 gewijzigde bestanden met toevoegingen van 106 en 31 verwijderingen
  1. 106 31
      src/utils/request.js

+ 106 - 31
src/utils/request.js

@@ -1,8 +1,8 @@
 import axios from 'axios'
 import { Message } from 'element-ui'
 
-import { userInfo } from '@/stores/user'
-const { token } = userInfo
+import { user } from '@/stores/user'
+const { token } = user
 
 const service = axios.create({
   baseURL: window.globalVariables.api,
@@ -49,41 +49,83 @@ service.interceptors.request.use(
           },
           config.data ?? {}
         )
+        if (config.method === 'get') {
+          config.params = Object.assign(
+            {
+              token,
+            },
+            config.params || {}
+          )
+        }
+        // 短时间多个请求会冲突
+        // console.groupCollapsed('axios: ' + config.url)
+        // console.log('request', config.data)
+        return config
       }
+      (error) => {
+        // do something with request error
+        console.log(error) // for debug
+        return Promise.reject(error)
+      }
+      if (config.$type === 'import') {
+        config.timeout = 1000 * 60 * 20
+        config.transformRequest = [function (data, headers) {
+          const formData = new FormData()
+          Object.keys(data).forEach(key => formData.append(key, data[key]))
+          return formData;
+        }]
+      }
+      if (config.$type === 'upload') {
+        config.timeout = 1000 * 60 * 2
+        config.transformRequest = [function (data, headers) {
+          const formData = new FormData()
+          Object.keys(data).forEach(key => formData.append(key, data[key]))
+          return formData;
+        }]
+      }
+      // 短时间多个请求会冲突
+      // console.groupCollapsed('axios: ' + config.url)
+      // console.log('request', config.data)
+      return config
+    },
+    (error) => {
+      // do something with request error
+      console.log(error) // for debug
+      return Promise.reject(error)
     }
-    if (config.$type === 'import') {
-      config.timeout = 1000 * 60 * 20
-      config.transformRequest = [function (data, headers) {
-        const formData = new FormData()
-        Object.keys(data).forEach(key => formData.append(key, data[key]))
-        return formData;
-      }]
-    }
-    if (config.$type === 'upload') {
-      config.timeout = 1000 * 60 * 2
-      config.transformRequest = [function (data, headers) {
-        const formData = new FormData()
-        Object.keys(data).forEach(key => formData.append(key, data[key]))
-        return formData;
-      }]
-    }
-    // 短时间多个请求会冲突
-    // console.groupCollapsed('axios: ' + config.url)
-    // console.log('request', config.data)
-    return config
-  },
-  (error) => {
-    // do something with request error
-    console.log(error) // for debug
-    return Promise.reject(error)
-  }
 )
 
 // response interceptor
+let isRelogin = false
 service.interceptors.response.use(
+  // <<<<<<< HEAD
+  //   (response, c) => {
+  //     const { code, msg } = response.data
+  //     if (code !== '1' && code !== 1) {
+  //       Message.error(msg)
+  // =======
   (response, c) => {
-    const { code, msg } = response.data
-    if (code !== '1' && code !== 1) {
+    const { code, msg, data } = response.data
+    if (code === '10001') {
+      if (!isRelogin) {
+        isRelogin = true
+        Message.error(msg)
+        request({
+          url: '/user/main/login',
+          data: {
+            token: data.token
+          }
+        }).then(res => {
+          if (res.code == 1) {
+            localStorage.setItem('userInfo', JSON.stringify(res.data));
+            isRelogin = false
+            // 视情况打开
+            location.reload()
+          }
+        })
+      }
+
+    } else if (code !== '1') {
       Message.error(msg)
     }
     // console.log('response', response.data)
@@ -93,7 +135,16 @@ service.interceptors.response.use(
   (error) => {
     console.error('err' + error) // for debug
     return Promise.reject(error)
+>>>>>>> master
   }
+    // console.log('response', response.data)
+    // console.groupEnd()
+    return response.data
+  },
+(error) => {
+  console.error('err' + error) // for debug
+  return Promise.reject(error)
+}
 )
 
 // 上传
@@ -119,6 +170,7 @@ request.interceptors.response.use(
   }
 )
 
+<<<<<<< HEAD
 export function download(url, data) {
   const params = Object.assign({ token, limit: 10000, page: 1, api: 'xls' }, data)
   const paramsStr = Object.entries(params).map(([k, v]) => `${k}=${v}`).join('&')
@@ -126,6 +178,29 @@ export function download(url, data) {
   const href = `${window.globalVariables.api}${url}?${paramsStr}`
   el.setAttribute('href', href)
   el.click()
+=======
+export function download(url, data, name) {
+    const params = Object.assign({ token, limit: 10000, page: 1, api: 'xls' }, data)
+    const paramsStr = Object.entries(params).map(([k, v]) => `${k}=${v}`).join('&')
+    const el = document.createElement('a')
+    const href = `${window.globalVariables.api}${url}?${paramsStr}`
+    el.setAttribute('href', href)
+    name && el.setAttribute('download', name)
+    el.click()
+>>>>>>> master
 }
 
-export default service
+export function download2(url, data, name) {
+  const el = document.createElement('a')
+  const href = `${window.globalVariables.api}/openapi/download.php?path=${url}&name=${name}`
+  el.setAttribute('href', href)
+  name && el.setAttribute('download', name)
+  el.click()
+}
+
+export default (...args) => {
+  if (!isRelogin)
+    return service(...args)
+  else
+    return Promise.reject({})
+}