form-data form 发送格式可以配置 qsOptions

This commit is contained in:
liaoxuezhi 2019-10-29 19:04:53 +08:00
parent 94abcc9728
commit 27ab5825a5
2 changed files with 2 additions and 1 deletions

View File

@ -61,6 +61,7 @@ Api 类型可以是字符串或者对象。API 中可以直接设置数据发送
- `method` 可以是:`get`、`post`、`put`或者`delete`
- `data` 数据体, 数据对象。
- `dataType` 数据体格式,默认为 `json` 可以配置成 `form` 或者 `form-data`。当 data 中包含文件时,自动会采用 `form-data`multipart/form-data 格式。当配置为 `form` 时为 `application/x-www-form-urlencoded` 格式。
- `qsOptions` 当 dataType 为 `form` 或者 `form-data` 的时候有用。具体参数请参考这: https://github.com/ljharb/qs 默认设置为 `{arrayFormat: 'indices', encodeValuesOnly: true}`
- `headers` 头部,配置方式和 data 配置一样,下面不详讲。如果要使用,请前往群组系统配置中,添加允许。
- `sendOn` 可以配置发送条件比如: `this.id` 表示当存在 id 值时才发送这个请求。
- `cache` 通过配置此属性开启缓存,单位是 ms比如设置 3000 的话当前接口在3s内请求只要传参一致就会走缓存。

View File

@ -146,7 +146,7 @@ export function wrapFetcher(
if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {
api.data = object2formData(api.data, api.qsOptions);
} else if (api.data && api.dataType === 'form') {
api.data = qsstringify(api.data) as any;
api.data = qsstringify(api.data, api.qsOptions) as any;
api.headers = api.headers || (api.headers = {});
api.headers['Content-Type'] = 'application/x-www-form-urlencoded';
}