|
@@ -1,7 +1,7 @@
|
|
/* eslint-disable no-console */
|
|
/* eslint-disable no-console */
|
|
/* eslint-disable no-param-reassign */
|
|
/* eslint-disable no-param-reassign */
|
|
|
|
|
|
-import { get, isObject, pick } from 'lodash-es'
|
|
|
|
|
|
+import { get, isObject, pick, isArray } from 'lodash-es'
|
|
import Axios from 'axios'
|
|
import Axios from 'axios'
|
|
import { trimData, isNullOrUndefined } from './util-methods'
|
|
import { trimData, isNullOrUndefined } from './util-methods'
|
|
import { ErrorCode } from './error-code'
|
|
import { ErrorCode } from './error-code'
|
|
@@ -40,6 +40,27 @@ export class AxiosWrapper {
|
|
})
|
|
})
|
|
return uri
|
|
return uri
|
|
}
|
|
}
|
|
|
|
+ // 新函数,重新生成url,并且把参数拼进uri中
|
|
|
|
+ static getUriWithQuery(uri, query) {
|
|
|
|
+ if (!uri || !query) return uri
|
|
|
|
+ uri = `${uri}?`
|
|
|
|
+ const arr = []
|
|
|
|
+ for (const i in query) {
|
|
|
|
+ const val = query[i]
|
|
|
|
+ if (isArray(val)) {
|
|
|
|
+ for (const v of val) {
|
|
|
|
+ const str = `${i}=${v}`
|
|
|
|
+ arr.push(str)
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ const str = `${i}=${val}`
|
|
|
|
+ arr.push(str)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ const sign = '&'
|
|
|
|
+ uri = `${uri}${arr.join(sign)}`
|
|
|
|
+ return uri
|
|
|
|
+ }
|
|
|
|
|
|
$get(uri, query, options) {
|
|
$get(uri, query, options) {
|
|
return this.$request(uri, undefined, query, options)
|
|
return this.$request(uri, undefined, query, options)
|
|
@@ -53,26 +74,32 @@ export class AxiosWrapper {
|
|
return this.$request(uri, data, query, options)
|
|
return this.$request(uri, data, query, options)
|
|
}
|
|
}
|
|
async $request(uri, data, query, options) {
|
|
async $request(uri, data, query, options) {
|
|
- if (query && isObject(query)) {
|
|
|
|
- const keys = Object.keys(query)
|
|
|
|
- for (const key of keys) {
|
|
|
|
- const val = get(query, key)
|
|
|
|
- if (val === '') {
|
|
|
|
- delete query[key]
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (isObject(query) && isObject(options)) {
|
|
|
|
- options = { ...options, params: query, method: 'get' }
|
|
|
|
- } else if (isObject(query) && !query.params) {
|
|
|
|
- options = { params: query }
|
|
|
|
- } else if (isObject(query) && query.params) {
|
|
|
|
- options = query
|
|
|
|
- }
|
|
|
|
- if (!options) options = {}
|
|
|
|
- if (options.params) options.params = trimData(options.params, null, null)
|
|
|
|
- const params = get(options, 'params')
|
|
|
|
- const url = AxiosWrapper.merge(uri, params)
|
|
|
|
|
|
+ // if (query && isObject(query)) {
|
|
|
|
+ // const keys = Object.keys(query)
|
|
|
|
+ // for (const key of keys) {
|
|
|
|
+ // const val = get(query, key)
|
|
|
|
+ // if (val === '') {
|
|
|
|
+ // delete query[key]
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // if (isObject(query) && isObject(options)) {
|
|
|
|
+ // options = { ...options, params: query, method: 'get' }
|
|
|
|
+ // } else if (isObject(query) && !query.params) {
|
|
|
|
+ // options = { params: query }
|
|
|
|
+ // } else if (isObject(query) && query.params) {
|
|
|
|
+ // options = query
|
|
|
|
+ // }
|
|
|
|
+ // if (!options) options = {}
|
|
|
|
+ // if (options.params) options.params = trimData(options.params, null, null)
|
|
|
|
+ // const params = get(options, 'params')
|
|
|
|
+ // const url = AxiosWrapper.merge(uri, params)
|
|
|
|
+ /**
|
|
|
|
+ * 需要处理 query,options
|
|
|
|
+ * query: 将值拼入uri中
|
|
|
|
+ * options保持原数据即可,一般不会用
|
|
|
|
+ */
|
|
|
|
+ const url = AxiosWrapper.getUriWithQuery(uri, query)
|
|
currentRequests += 1
|
|
currentRequests += 1
|
|
try {
|
|
try {
|
|
let returnData
|
|
let returnData
|