数据请求

接口声明

{"name": "system.fetch"}

uni.fetch.fetch(OBJECT)

获取网络数据。

参数

参数名 类型 必填 说明
url String 是 资源url
data String/Object 否 请求的参数,可以是字符串或者是 json 对象。
header Object 否 请求的 header,会将其所有属性设置到请求的 header 部分。useragent 设置无效。示例:{"Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,en-US;q=0.8,en;q=0.6"}
method String 否 默认为 GET,可以是:OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
success Function 否 成功返回的回调函数
fail Function 否 失败的回调函数,可能会因为权限失败
complete Function 否 结束的回调函数(调用成功、失败都会执行)

data 说明

  • 如果是字符串,其值作为请求的 body,请求的 Content-Type 会被设置为 text/plain。
  • 如果是 json 对象,会将其所有属性使用 urlencode 编码,组成一个字符串作为请求的 body,请求的 Content-Type 会被设置为 application/x-www-form-urlencoded。

success 返回值

参数名 类型 说明
code Number 服务器状态 code
data String 如果服务器返回的 header 中 type 是 text/* 或 application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的 uri。临时文件如果是图片或者视频内容,可以将图片设置到 image 或 video 控件上显示。
headers Object 服务器 response 的所有 header

示例

uni.fetch.fetch({
  url: "http://www.example.com",
  success: function (data) {
    console.log("title: " + JSON.parse(data.data).title);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

安全要求

对于HTTPS请求,对证书要求如下:

  • HTTPS证书必须有效。证书必须被系统信任,不支持自签名证书,部署SSL证书的网站域名必须与证书颁发的域名一致,证书必须在有效期内。
  • TLS必须支持1.1及以上版本。部分旧Android机型(4.4以下)还未支持 TLS1.1,请确保HTTPS服务器的TLS版本能够同时支持 TLS1.1 及以下版本,从安全性考虑,建议也支持TLS1.2,在配置加密套件时排除不安全算法:DES/3DES(除密钥K1≠K2≠K3外的场景)/SKIPJACK/RC2/MD2/MD4/SHA1。

部分CA可能不被操作系统信任,请开发者在选择证书时注意Android系统的相关通告。

上传下载

接口声明

{"name": "system.request"}

uni.request.upload(OBJECT)

上传文件。

参数

参数名 类型 必填 说明
url String 是 资源url
header Object 否 请求的 header,会将其所有属性设置到请求的 header 部分。useragent 设置无效。
method String 否 默认为 GET,可以是:POST,PUT
files Array 是 需要上传的文件列表,使用 multipart/form-data 方式提交。files 参数是一个 file 对象的数组。
success Function 否 成功返回的回调函数
fail Function 否 失败的回调函数,可能会因为权限失败
complete Function 否 结束的回调函数(调用成功、失败都会执行)

files 参数说明

参数名 类型 必填 说明
filename String 否 multipart提交时,header中的文件名。
name String 否 multipart提交时,表单的项目名,默认file。
uri String 是 文件的本地地址。
type String 否 文件的Content-Type格式,不填则会根据filename或uri的后缀从系统的映射表中查询对应的Content-Type,假如获取失败则报参数非法异常

success 返回值

参数名 类型 说明
code Number 服务器状态code
data String 如果服务器返回的header中type是text/*或application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的uri临时文件,如果是图片或者视频内容,可以将图片设置到image或video控件上显示
headers Object 服务器response的所有header

示例

uni.request.upload({
  url: "http://www.example.com",
  files: [{
    uri: "internal://xxx/xxx/test",
    name: "file1",
    filename: "test.png"
  }],
  success: function (data) {
    console.log("handling success");
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

uni.request.download(OBJECT)

下载文件

参数

参数名 类型 必填 说明
url String 是 资源url
header Object 否 请求的header,会将其所有属性设置到请求的header部分。useragent设置无效。
success Function 否 成功返回的回调函数
fail Function 否 失败的回调函数
complete Function 否 结束的回调函数(调用成功、失败都会执行)

success返回值

参数名 类型 说明
token String 下载的token,根据此token获取下载状态

示例

uni.request.download({
  url: "http://www.example.com",
  success: function (data) {
    console.log("handling success" + data.token);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

uni.request.onDownloadComplete(OBJECT)

监听下载任务。

参数

参数名 类型 必填 说明
token String 是 download接口返回的token
success Function 否 成功返回的回调函数
fail Function 否 失败的回调函数
complete Function 否 结束的回调函数(调用成功、失败都会执行)

success 返回值

参数名 类型 说明
uri String 下载文件的uri,会存储在文件组织的mass分区下

fail返回错误码

错误码 说明
1000 下载失败
1001 下载任务不存在

示例

uni.request.onDownloadComplete({
  token: "123",
  success: function (data) {
    console.log("handling success" + data.uri);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

results matching ""

    No results matching ""