更新记录

0.1.9(2020-07-14)

feat: update

0.1.8(2020-07-10)

fix: 修复 utils getDownloadUrl getPreviewUrl

查看更多

Rongzer Libs

Api

request(config)

config 参数说明

参数名 类型 必填 默认值 说明 平台差异说明
url String 开发者服务器接口地址
data Object/String/ArrayBuffer 请求的参数 App(自定义组件编译模式)不支持ArrayBuffer类型
header Object 设置请求的 header,header 中不能设置 Referer。 H5端会自动带上cookie不可手动覆盖
method String GET 有效值详见下方说明
timeout Number 30000 超时时间,单位 ms 微信小程序(2.10.0)、支付宝小程序
dataType String json 如果设为 json,会尝试对返回的数据做一次 JSON.parse
responseType String text 设置响应的数据类型。合法值:text、arraybuffer App和支付宝小程序不支持
sslVerify Boolean true 验证 ssl 证书 仅App安卓端支持(HBuilderX 2.3.3+)
withCredentials Boolean false 跨域请求时是否携带凭证(cookies) 仅H5支持(HBuilderX 2.6.15+)
files Array 需要上传的文件列表。使用 files 时,filePath 和 name 不生效。 App、H5( 2.6.15+)
fileType String 见平台差异说明 文件类型,image/video/audio 仅支付宝小程序,且必填。
file File 要上传的文件对象。 仅H5(2.6.15+)支持
filePath String 要上传文件资源的路径。
name String 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
formData Object HTTP 请求中其他额外的 form data

注意:

  • App支持多文件上传,微信小程序只支持单文件上传,传多个文件需要反复调用本API。所以跨端的写法就是循环调用本API。
  • hello uni-app中的客服反馈,支持多图上传。uni-app插件市场中也有多个封装的组件。
  • App平台选择和上传非图像、视频文件,参考https://ask.dcloud.net.cn/article/35547
  • 网络请求的 超时时间 可以统一在 manifest.json 中配置 networkTimeout。

method 有效值

method App H5 微信小程序 支付宝小程序 百度小程序 字节跳动小程序
GET
POST
PUT x
DELETE x x
CONNECT x x x
HEAD x x
OPTIONS x x
TRACE x x x
DOWNLOAD
UPLOAD

data 数据说明

最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String。转换规则如下:

  • 对于 GET 方法,会将数据转换为 query string。例如 { name: 'name', age: 18 } 转换后的结果是 name=name&age=18。
  • 对于 POST 方法且 header['content-type'] 为 application/json 的数据,会进行 JSON 序列化。
  • 对于 POST 方法且 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换为 query string。

files参数说明

files 参数是一个 file 对象的数组,file 对象的结构如下:

参数名 类型 必填 说明
name String multipart 提交时,表单的项目名,默认为 file
file File 要上传的文件对象,仅H5(2.6.15+)支持
uri String 文件的本地地址

返回值为Promise

参数 类型 说明
data Object/String/ArrayBuffer 开发者服务器返回的数据
statusCode Number 开发者服务器返回的 HTTP 状态码
header Object 开发者服务器返回的 HTTP Response Header

interceptors

request.interceptors.request.use(config => config)

request.interceptors.response.use(res => res, err => Promise.reject(err))

methods

  • request.get(url, config)
  • request.post(url, config)
  • request.put(url, config)
  • request.delete(url, config)
  • request.connect(url, config)
  • request.head(url, config)
  • request.options(url, config)
  • request.trace(url, config)
  • request.uploadFile(url, config)
  • request.downloadFile(url, config)

examples

request.get(url, {
    data: {
        foo: 'bar',
    }
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问