trans

论坛示例

为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

trans 是一个数据格式转换工具,可以实现不同格式数据间的转换,如 XML -> JSON、图片 <--> base64 字符串

parse

将xml文件或数据解析成JSON对象

parse({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:(可选项)xml 文件路径,要求本地路径(fs://、widget),与 data 配合使用,data 和 path 不可都不传,若都传则以 data 为准

data:

  • 类型:字符串
  • 描述:(可选项)xml 数据,与 path 配合使用,data 和 path 不可都不传,若都传则以 data 为准

customKey:

  • 类型:字符串
  • 默认值:plainText
  • 描述:所解析的 xml 值无对应的 key 时,需要填充一个自定义 key

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:xml 解析成的 JSON 数据

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg:            //字符串类型;错误信息
}

示例代码

var trans = api.require('trans');
trans.parse({
    path: 'widget://res/file/test.xml'
}, function(ret, err) {
    if (ret) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

补充说明

path和data不能同时为空,如果都不为空,则使用data的值;

如果xml数据中出现类似以下内容:

<author email="'123@api.com'">
    api
</author>
则 author节点被解析成以下格式,其中 plainText 为约定好的字段
{
    email:'123@api.com',
    plainText:'api'
}

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

saveImage

将 base64 字符串保存为图片

saveImage({params}, callback(ret, err))

params

base64Str:

  • 类型:字符串
  • 描述:要转换成为图片的字符串

album:

  • 类型:布尔值
  • 默认值:false
  • 描述:(可选项)转换后的图片是否保存到系统相册

imgPath:

  • 类型:字符串
  • 描述:(可选项)转换后的图片保存路径,若不传则不保存

imgName:

  • 类型:字符串
  • 默认值:apicloud.png
  • 描述:(可选项)转换后的图片保存名字,若imgPath下已存在同名图片则覆盖,若 imgPath 为空则此参数无意义

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:		//布尔类型;是否保存成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg:		   //字符串类型;错误信息
}

示例代码

var trans = api.require('trans');
trans.saveImage({
    base64Str: 'test',
    imgPath:"fs://img/",
    imgName:"ss.png"
}, function(ret, err) {
    if (ret.status) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

decodeImgToBase64

将图片转换为 base64 字符串,暂仅支持 png、jpg 格式的图片

注意:在iOS端非png图片可能会有压缩

decodeImgToBase64({params}, callback(ret, err))

params

imgPath:

  • 类型:字符串
  • 描述:要转换的图片路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:			//布尔类型;是否转换成功,true|false
    base64Str:    	//字符串类型;转换后的base64字符串
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg:            //字符串类型;错误信息
}

示例代码

var trans = api.require('trans');
trans.decodeImgToBase64({
    imgPath: 'widget://res/img/yonbuilder.png'
}, function(ret, err) {
    if (ret.status) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

saveFile

将 base64 字符串保存为文件

saveFile({params}, callback(ret, err))

params

base64Str:

  • 类型:字符串
  • 描述:要转换成为图片的字符串

filePath:

  • 类型:字符串
  • 描述:转换后的文件保存路径,注意iOS端不支持box://协议

fileName:

  • 类型:字符串
  • 描述:转换后的文件保存名字

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:		//布尔类型;是否保存成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg:		   //字符串类型;错误信息
}

示例代码

var trans = api.require('trans');
trans.saveFile({
    base64Str:'',
    filePath:"fs://flie",
    fileName:"abc.pdf"
}, function(ret, err) {
    if (ret.status) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统

可提供的1.0.7及更高版本

decodeFileToBase64

将文件转换为 base64 字符串

decodeFileToBase64({params}, callback(ret, err))

params

filePath:

  • 类型:字符串
  • 描述:要转换的文件路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:			//布尔类型;是否转换成功,true|false
    base64Str:    	//字符串类型;转换后的base64字符串
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    msg:            //字符串类型;错误信息
}

示例代码

var trans = api.require('trans');
trans.decodeFileToBase64({
    filePath: ''
}, function(ret, err) {
    if (ret.status) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统

可提供的1.0.7及更高版本

论坛示例

为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24