网络

httpGet

对地址url进行一次HTTP GET请求,同步支持,直接返回结果。
参数:
参数名 类型 默认值 说明
url string 必填 目标地址
headers object 选填 请求头
返回值(对象):
属性名 类型 说明
state string 成功为success,失败为failed
data string 成功时返回的数据,失败时表示失败原因
例子:
var ret = httpGet('https://xxx.com?a=12&b=afb', {Accept: 'text/plain'});
console.log('ret:' + ret);

httpPost

对地址url进行一次HTTP POST请求,同步支持,直接返回结果。支持multipart。
参数:
参数名 类型 默认值 说明
url string 必填 目标地址
data object/string 必填 数据,键值对
headers string/object 选填 如果为string表示contentType:支持x-www-form-urlencoded,json,text, 默认为x-www-form-urlencoded。如果为object则表示http请求头
返回值(对象):
属性名 类型 说明
state string 成功为success,失败为failed
data string 成功时返回的数据,失败时表示失败原因
例子:
// 以下两个请求效果完全一样
var ret = httpPost('https://xxx.com?a=12&b=afb', {name: 'abc', value: 'ddd'}, {'Content-Type': 'json'});
console.log('ret:' + ret);
ret = httpPost('https://xxx.com?a=12&b=afb', {name: 'abc', value: 'ddd'}, 'json');
console.log('ret:' + ret);

// post上传文件
var file = new File('/sdcard/xx.jpg');
var data = {file: file, filename: 'xx'};
var ret = httpPost('http://test.com/upload_file', data, 'multipart');
console.log('ret:' + ret);

downloadFile

下载文件,支持断点续传,返回string(下载后存在手机中的文件全路径),如果下载图片,并且希望图片在相册中可以访问,必须下载后调用更新相册函数。在下载文件过程中系统会自动发送消息:msg_download_start,msg_download_progress, msg_download_success,msg_download_failed,这些消息可以在系统回调函数cbMessage中处理(仅用于移动端脚本)
属性:
属性名 类型 必填 说明
url string 必填 url
destFilePath string 选填 下载后存储文件的路径,支持相对路径和绝对路径,默认为空,表示存储在手机外部存储目录下
destFileName string 选填 文件名,默认为空,如果为空则自动去url最后一个“\”之后的内容为文件名
timeout integer 选填 过期时间(毫秒),默认值:1000000
retryCount integer 选填 下载重试次数,默认值:1
例子:
function main() {
    var filePath = downloadFile('https://downsc.chinaz.net/Files/DownLoad/sound1/202303/y1687.wav', '/sdcard/path', 'b.wav');
    console.log('end:', filePath);
}

// 回调函数,系统会自动调用
function cbMessage(msgId, p1, p2) {
    if (msgId == 'msg_download_start') {
        Toast.show('开始下载中...');
    } else if (msgId == 'msg_download_progress') {
        Toast.show('下载进度:' + p1 + '%');
    } else if (msgId == 'msg_download_success') {
        Toast.show('下载成功');
    } else if (msgId == 'msg_download_failed') {
        Toast.show('下载失败');
    }
}

callMicroService

调用自定义的微服务,返回微服务的运行结果。(仅用于移动端脚本)
属性:
属性名 类型 必填 说明
interfaceName string 必填 接口名
params json array 选填 接口参数,参数透传给接口对应的脚本
timeout integer 选填 超时毫秒数,默认为10000
例子:
var ret = callMicroService('data', [12, 'aaa']);
console.log('ret:' + ret);

callWebService

调用第三方的服务。以pos方式请求,注意:body参数为json数据,返回结果结果为json数据,目标url不能有权限限制。(仅用于移动端脚本)
属性:
属性名 类型 必填 说明
url string 必填 服务url
params json object 选填 body参数
timeout integer 选填 超时毫秒数,默认为10000
例子:
var ret = callWebService('https://add.com', {name: 'jack'});
console.log('ret:' + ret);

encodeURI

使用utf-8,encode uri,返回string
参数:
参数名 类型 必填 说明
data string 必填 待编码的数据
例子:
var ret = encodeURI(data);
console.log('ret:' + ret);

decodeURI

decode uri,返回string
参数:
参数名 类型 必填 说明
data string 必填 待解码的数据
例子:
var ret = decodeURI(data);
console.log('ret:' + ret);