Sfoglia il codice sorgente

style(utils/request): 修改代码格式
feat(utils/upload): 新增上传文件

wangpx 1 anno fa
parent
commit
26d996d7e3
2 ha cambiato i file con 119 aggiunte e 41 eliminazioni
  1. 41 41
      utils/request.js
  2. 78 0
      utils/upload.js

+ 41 - 41
utils/request.js

@@ -20,47 +20,47 @@ const request = config => {
     url = url.slice(0, -1)
     config.url = url
   }
-	console.log('request.config', config);
+  console.log('request.config', config);
   return new Promise((resolve, reject) => {
     uni.request({
-        method: config.method || 'get',
-        timeout: config.timeout ||  timeout,
-        url: config.baseUrl || baseUrl + config.url,
-        data: config.data,
-        header: config.header,
-        dataType: 'json'
-      }).then(response => {
-        // let [error, res] = response
-        const { statusCode, data } = response
-				const returnCode = data.returnCode
-        const code = statusCode || 200
-        const msg = errorCode[code] || data.returnMsg || errorCode['default']
-				console.log('request.response', response);
-				if (returnCode == -201) {
-				  toast(msg)
-				  reject(returnCode)
-				  return
-				}
-        if (code === 401) {
-          showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
-            // if (res.confirm) {
-              // store.dispatch('LogOut').then(res => {
-              //   uni.reLaunch({ url: '/pages/login' })
-              // })
-            // }
-          })
-          reject('无效的会话,或者会话已过期,请重新登录。')
-        } else if (code === 500) {
-          toast(msg)
-          reject('500')
-        } else if (code !== 200) {
-          toast(msg)
-          reject(code)
-        }
-        resolve(data)
-      })
+      method: config.method || 'get',
+      timeout: config.timeout || timeout,
+      url: config.baseUrl || baseUrl + config.url,
+      data: config.data,
+      header: config.header,
+      dataType: 'json'
+    }).then(response => {
+      // let [error, res] = response
+      const { statusCode, data } = response
+      const returnCode = data.returnCode
+      const code = statusCode || 200
+      const msg = errorCode[code] || data.returnMsg || errorCode['default']
+      console.log('request.response', response);
+      if (returnCode == -201) {
+        toast(msg)
+        reject(returnCode)
+        return
+      }
+      if (code === 401) {
+        showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
+          // if (res.confirm) {
+          // store.dispatch('LogOut').then(res => {
+          //   uni.reLaunch({ url: '/pages/login' })
+          // })
+          // }
+        })
+        reject('无效的会话,或者会话已过期,请重新登录。')
+      } else if (code === 500) {
+        toast(msg)
+        reject('500')
+      } else if (code !== 200) {
+        toast(msg)
+        reject(code)
+      }
+      resolve(data)
+    })
       .catch(error => {
-				console.log('request.error', error);
+        console.log('request.error', error);
         let { errMsg } = error
         if (errMsg === 'Network Error') {
           errMsg = '后端接口连接异常'
@@ -68,9 +68,9 @@ const request = config => {
           errMsg = '系统接口请求超时'
         } else if (errMsg.includes('Request failed with status code')) {
           errMsg = '系统接口' + errMsg.substr(errMsg.length - 3) + '异常'
-        } else if(errMsg.includes('request:fail')){
-			errMsg='网络请求失败'
-		}
+        } else if (errMsg.includes('request:fail')) {
+          errMsg = '网络请求失败'
+        }
         toast(errMsg)
         reject(error)
       })

+ 78 - 0
utils/upload.js

@@ -0,0 +1,78 @@
+import store from '@/store'
+import config from '@/config'
+import { getToken } from '@/utils/auth'
+import errorCode from '@/utils/errorCode'
+import { toast, showConfirm, tansParams } from '@/utils/common'
+
+let timeout = 10000
+const baseUrl = config.baseUrl
+
+const upload = config => {
+  // 是否需要设置 token
+  const isToken = (config.headers || {}).isToken === false
+  config.header = config.header || {}
+  if (getToken() && !isToken) {
+    config.header['Authorization'] = 'Bearer ' + getToken()
+  }
+  // get请求映射params参数
+  if (config.params) {
+    let url = config.url + '?' + tansParams(config.params)
+    url = url.slice(0, -1)
+    config.url = url
+  }
+  return new Promise((resolve, reject) => {
+    uni.uploadFile({
+      timeout: config.timeout || timeout,
+      url: baseUrl + config.url,
+      filePath: config.filePath,
+      name: config.name || 'file',
+      header: config.header,
+      formData: config.formData,
+      success: (res) => {
+        const { statusCode, data } = res
+        let result = JSON.parse(data)
+        const code = statusCode || 200
+        const msg = errorCode[code] || result.returnMsg || errorCode['default']
+        if (returnCode == -201) {
+          toast(msg)
+          reject(returnCode)
+          return
+        }
+        if (code === 200) {
+          resolve(result)
+          // } else if (code == 401) {
+          //   showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
+          //     if (res.confirm) {
+          //       store.dispatch('LogOut').then(res => {
+          //         uni.reLaunch({ url: '/pages/login' })
+          //       })
+          //     }
+          //   })
+          //   reject('无效的会话,或者会话已过期,请重新登录。')
+        } else if (code === 500) {
+          toast(msg)
+          reject('500')
+        } else if (code !== 200) {
+          toast(msg)
+          reject(code)
+        }
+      },
+      fail: (error) => {
+        let { errMsg } = error
+        if (errMsg == 'Network Error') {
+          errMsg = '后端接口连接异常'
+        } else if (errMsg.includes('timeout')) {
+          errMsg = '系统接口请求超时'
+        } else if (errMsg.includes('Request failed with status code')) {
+          errMsg = '系统接口' + errMsg.substr(errMsg.length - 3) + '异常'
+        } else if (errMsg.includes('request:fail')) {
+          errMsg = '网络请求失败'
+        }
+        toast(errMsg)
+        reject(error)
+      }
+    })
+  })
+}
+
+export default upload