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) {
alert(JSON.stringify(ret));
} else {
alert(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) {
alert(JSON.stringify(ret));
} else {
alert(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/apicloud.png'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(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) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统
可提供的1.0.7及更高版本
saveBase64Image
将图片的 base64 字符串以图片形式存储到本地
saveBase64Image({params}, callback(ret, err))
params
name:
- 类型:字符串
- 描述:图片的名称
base64str:
- 类型:字符串
- 描述:图片的 base64 数据
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;是否成功,true|false
imageData: //字符串类型;转换后的base64字符串
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var trans = api.require('trans');
trans.saveBase64Image({
name:'',
base64str:''
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.9及更高版本
getBase64Image
获取本地的 base64 字符串数据
getBase64Image({params}, callback(ret, err))
params
name:
- 类型:字符串
- 描述:图片的名称
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;是否成功,true|false
imageData: //字符串类型;转换后的base64字符串
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var trans = api.require('trans');
trans.getBase64Image({
name:''
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.9及更高版本
deleteBase64Image
获取本地的 base64 字符串数据
deleteBase64Image({params}, callback(ret, err))
params
name:
- 类型:字符串
- 描述:图片的名称
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否成功,true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var trans = api.require('trans');
trans.deleteBase64Image({
name:''
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.9及更高版本
batchTransPath
将相册图片地址转换为可以直接使用的本地路径地址(临时文件夹的绝对路径),相册图片会被拷贝到临时文件夹,调用 api.clearCache 接口可清除该临时图片文件(仅iOS支持)
batchTransPath({params}, callback(ret,err))
params
paths:
- 类型:数组
- 描述:要转换的图片路径数组(在iOS端为在相册库的ID)
scale:
- 类型:数字
- 描述:(可选项)图片质量
- 默认:1.0
- 取值范围:0~1.0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true , //布尔类型;是否成功,true|false
paths: [] //字符串数组;相册内图片被拷贝到临时文件夹,返回已拷贝图片的绝对路径数组
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var trans = api.require('trans');
trans.batchTransPath({
paths: ['','','']
}, function(ret, err) {
if (ret) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS 系统
可提供的 1.1.0 及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。