1.1 接口声明
{"name": "system.fetch"}
1.2 导入模块
import fetch from ´@system.fetch´ 或 var fetch = require("@system.fetch")
1.3 fetch.fetch(OBJECT)
获取网络数据。
参数
| 参数 | 类型 | 必填 | 说明 |
| url | String | 是 | 资源url |
| data | String/Object | 否 | 请求的参数,可以是字符串,或者是json对象。 ● 如果是字符串,其值作为请求的body,请求的Content-Type默认会被设置为text/plain。 ● 如果是json对象,会将其所有属性使用urlencode编码,组成一个字符串作为请求的body,请求的Content-Type默认会被设置为application/x-www-form-urlencoded。示例:{"name": "abc","count": 2} ● 假如通过header明确设置了Content-Type,则以header中设置的Content-Type为准 |
| 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 | 否 | 成功返回的回调函数,其返回值如表1-1所示。 |
| fail | Function | 否 | 失败的回调函数,可能会因为权限失败。 |
| complete | Function | 否 | 结束的回调函数(调用成功、失败都会执行)。 |
表1-1 success返回值
| 参数名 | 类型 | 说明 |
| code | Number | 服务器状态code。 |
| data | String | 如果服务器返回的header中type是text/*或application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的uri临时文件如果是图片或者视频内容,可以将图片设置到image或video控件上显示。 |
| headers | Object | 服务器response的所有header。 |
示例
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);
}
})
1.4 安全要求
对于HTTPS请求,对证书要求如下:
● HTTPS证书必须有效。
证书必须被系统信任,不支持自签名证书,部署SSL证书的网站域名必须与证书颁发的域名一致,证书必须在有效期内。
● TLS必须支持1.1及以上版本。
部分旧Android机型(4.4以下)还未支持TLS 1.1,请确保HTTPS服务器的TLS版本能够同时支持TLS 1.1及以下版本,从安全性考虑,建议也支持TLS1.2,在配置加密套件时排除不安全算法:DES/3DES(除密钥K1≠K2≠K3外的场景)/SKIPJACK/RC2/RC4/MD2/MD4/SHA1/MD5/ANON/。
部分CA可能不被操作系统信任,请开发者在选择证书时注意Android系统的相关通告。
2 上传下载
2.1 接口声明
{"name": "system.request"}
2.2 导入模块
import request from ´@system.request´ 或 var request = require("@system.request")
2.3 request.upload(OBJECT)
上传文件。
参数
| 参数 | 类型 | 必填 | 说明 |
| url | String | 是 | 资源url |
| header | Object | 否 | 请求的header,会将其所有属性设置到请求的header部分。useragent设置无效。 |
| method | String | 否 | 默认为POST,可以是: POST,PUT |
| files | Array | 是 | 需要上传的文件列表,使用multipart/form-data方式提交。 files参数是一个file对象的数组,file对象的结构如表2-1所示。 |
| data | Array | 否 | HTTP请求中其他额外的form data。 |
| success | Function | 否 | 成功返回的回调函数,其返回值如表2-3所示。 |
| fail | Function | 否 | 失败的回调函数。 |
| complete | Function | 否 | 结束的回调函数(调用成功、失败都会执行)。 |
表2-1 files参数说明
| 参数 | 类型 | 必填 | 说明 |
| filename | String | 否 | multipart提交时,header中的文件名。如果文件名未填,默认从uri中获取文件名上传。 |
| name | String | 否 | multipart提交时,表单的项目名,默认file。 |
| uri | String | 是 | 文件的本地地址。 |
| type | String | 否 | 文件的Content-Type格式,不填则会根据filename或uri的后缀从系统的映射表中查询对应的content-type,假如获取失败则报参数非法异常。 |
表2-2 data说明
| 参数 | 类型 | 必填 | 说明 |
| name | String | 是 | form元素的名称。 |
| value | String | 是 | form元素的值。 |
表2-3 success返回值
| 参数名 | 类型 | 说明 |
| code | Number | 服务器状态code。 |
| data | String | 如果服务器返回的header中type是text/*或application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的uri临时文件,如果是图片或者视频内容,可以将图片设置到image或video控件上显示。 |
| headers | Object | 服务器response的所有header。 |
示例
request.upload({
"url": "http://www.example.com",
"files": [
{
"uri": "internal://xxx/xxx/test",
"name": "file1",
"filename": "test.png"
}
],
"data": [
{
"name": "key1",
"value": "value1"
}
],
success:function(data){console.log("handling success");}
fail: function(data, code) {
console.log("handling fail, code=" + code);
}
})
2.4 request.download(OBJECT)
下载文件。
参数
| 参数 | 类型 | 必填 | 说明 |
| url | String | 是 | 资源url |
| header | Object | 否 | 请求的header,会将其所有属性设置到请求的header部分。useragent设置无效。 |
| success | Function | 否 | 成功返回的回调函数,其返回值如表2-4所示。 |
| fail | Function | 否 | 失败的回调函数。 |
| complete | Function | 否 | 结束的回调函数(调用成功、失败都会执行)。 |
表2-4 success返回值
| 参数名 | 类型 | 说明 |
| token | String | 下载的token,根据此token获取下载状态。 |
示例
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);
}
})
2.5 request.onDownloadComplete(OBJECT)
监听下载任务。
参数
| 参数 | 类型 | 必填 | 说明 |
| token | String | 是 | download接口返回的token。 |
| success | Function | 否 | 成功返回的回调函数,其返回值如表2-5所示。 |
| fail | Function | 否 | 失败的回调函数,其返回错误码如表2-6所示。 |
| complete | Function | 否 | 结束的回调函数(调用成功、失败都会执行)。 |
表2-5 success返回值
| 参数名 | 类型 | 说明 |
| uri | String | 下载文件的Uri,会存储在文件组织的mass分区下。 |
表2-6 fail返回错误码
| 错误码 | 说明 |
| 1000 | 下载失败。 |
| 1001 | 下载任务不存在。 |
示例
request.onDownloadComplete({
"token": "123",
success:function(data){
console.log("handling success" + data.uri);
}
fail: function(data, code) {
console.log("handling fail, code=" + code);
}
})





































苏公安网备 32011402010933号