在APICloud创建了应用之后,应用的包结构如下图所示:
其中“config.xml”和 “index.html” 必须包含,其它均为可选。“config.xml”是配置文件,“index.html”是启动页面,“icon”为图标文件目录,“launch”为启动图片目录
actionSheet底部弹出框:
api.actionSheet({
title: '底部弹出框测试',
cancelTitle: '这里是取消按钮',
destructiveTitle: '红色警告按钮',
buttons: ['1','2','3']
},function(ret,err){
api.alert({
msg: '你刚点击了'+ret.buttonIndex
});
});
confirm对话框:
api.confirm({
title: 'testtitle',
msg: 'testmsg',
buttons:[ '确定', '取消']
},function(ret,err){
if(ret.buttonIndex == 1){
api.alert({msg: '点击了确定'});
}
});
alert对话框:
api.alert({
title: 'testtitle',
msg: 'testmsg',
buttons:[ '确定']
},function(ret,err){
if(ret.buttonIndex == 1){
api.alert({msg: '点击了确定'});
}
});
prompt带输入框的对话框
api.prompt({
buttons:['确定', '取消']
},function(ret,err){
if(ret.buttonIndex == 1){
api.alert({msg:ret.text});
}
});
ajax:异步请求
api.ajax({
url: 'http://192.168.1.101:3101/upLoad',
method: 'post',
cache: false,
timeout: 30,
dataType: 'json',
returnAll:false,
data:{
values: {name: 'haha'},
files: {file: 'fs://a.gif'}
}
},function(ret,err){
if (ret) {
var urlJson = JSON.stringify(ret);
api.alert({msg: urlJson});
}else {
api.alert({
msg:('错误码:'+err.code+';错误信息:'+err.msg+'网络状态码:'+err.statusCode)
});
};
});
animation动画:
api.animation ({
name: 'page1',//子窗口名称
delay: 1000,
duration: 3000,
curve: 'easeIn',//动画曲线类型
repeatCount: 2,
autoreverse: true,//一次动画结束后是否自动反转动画
alpha: 0.6,
translation:{//平移参数
x: 0,//x轴上的平移距离
y: 100,
z: 0
},
scale:{
x: 1.2,//x轴上的放大倍率
y: 1,
z: 1
},
rotation:{
degree:45,//旋转角度
x: 0,
y: 0,
z: 1
}
}, function() {
api.alert({msg: '动画结束'});
});
bringFrameToFront:调整子窗口到前面、
api.bringFrameToFront({
from:'page1',
to:'page2'
});
call:拨打电话
api.call({
type: 'tel_prompt',
number: '10086'
});
cancelDownload:取消文件下载
var url = 'http://file05.daimg.com/2013/photo/1401/DAimG_2014011335974260TA24.rar';
api.cancelDownload ({
url: url
});
closeFrame:关闭子窗口
api.closeFrame({
name: 'page2'
});
closeFrameGroup:关闭窗口组
api.closeFrameGroup({
name: 'group1'
});
download文件下载:
var url = 'http://file05.daimg.com/2013/photo/1401/DAimG_2014011335974260TA24.rar';
api.download({
url: url,
savePath: 'fs://test.rar',//下载后的保存路径,如果为空会自动创建保存路径
report: true,//是否上报
cache: true,//是否缓存
allowResume:true//是否支持断点续传
},function(ret,err){
if (ret) {
var value = ('文件大小:'+ret.fileSize+';下载进度:'+ret.percent+';下载状态'+ret.state+'存储路径: '+ret.savePath);
} else{
var value = err.msg;
};
});
execScript在指定窗口中执行脚本:
api.execScript({
name: 'page1',
script: 'exec();'//执行的JS方法
});
getLocation获取位置信息
api.getLocation(
function(ret, err){
if(ret.status){
var lat = ret.latitude;//纬度
var lon = ret.longitude;//经度
var t = ret.timestamp; //更新时间
var str = '经度:'+ lon +'
';
str += '纬度:'+ lat +'
';
str += '更新时间:'+ t +'
';
} else{
api.alert({msg:err.msg});
}
}
);
getPicture获取图片:
api.getPicture({
sourceType: 'library',//图片源类型
encodingType: 'png',//编码格式
mediaValue: 'pic',//媒体类型
destinationType: 'url',//返回数据类型
allowEdit: true,//是否可以编辑
quality: 50,//图片质量
targetWidth:100,//压缩后的图片宽度
targetHeight:100,//压缩后的图片高度
saveToPhotoAlbum: false//是否保存到相册
}, function(ret, err){
if (ret) {
api.alert({msg:ret.data});
} else{
api.alert({msg:err.msg});
};
});
mail发送邮件:
var recip = '[email protected]';
var sub = '邮件测试';
var body = '这是一封测试用的邮件';
var attach = 'widget://a.txt';
api.mail({
recipients: [recip],//收件人
subject: sub,//邮件主题
body: body,//邮件内容
attachments: [attach]//附件地址
}, function(ret, err){
if(ret.status){
api.alert({
msg: '发送成功'
});
} else{
api.alert({
msg: '发送失败'
});
}
});
openApp打开手机上的其他应用:
api.openApp({//此方法只使用与Android应用
androidPkg: 'android.intent.action.VIEW',//目标应用的包名或action(Android平台使用)
mimeType: 'text/html',//指定目标应用的响应数据类型
uri: 'http://www.baidu.com'//指定目标应用响应的uri
},function(ret,err){
var msg = JSON.stringify(ret);
api.alert({
title: 'openApp',
msg: msg,
buttons: ['确定']
});
});
openFrame打开子窗口:
api.openFrame({
name: 'page2',//窗口名字
url: './page2.html',//请求地址
rect:{//窗口区域
x:0,
y:0,
w:320,
h:480
},
pageParam: {name: 'test'},//页面参数
bounces: true,//页面是否弹动
opaque: false,//页面是否不透明
bgColor: 'rgba(0,0,0,0)',//背景色
vScrollBarEnabled:true,//是否显示垂直滚动条
hScrollBarEnabled:true//是否显示水平滚动条
});
openFrameGroup打开窗口组:
api.openFrameGroup ({
name: 'group1',
background:'#fff',
scrollEnabled:false,
rect:{x:0, y:0, w:320, h:240},
index:0,//默认显示的页面索引
frames://子窗口数组
[{
name: 'frame1',
url: 'frame1.html',
pageParam:{},
bounces:true,
opaque:true,
bgColor: '#fff',
vScrollBarEnabled:true,
hScrollBarEnabled:false
},{
name: 'frame2',
url: 'frame2.html',
pageParam:{},
bounces:true,
opaque:true,
bgColor: '#fff',
vScrollBarEnabled:true,
hScrollBarEnabled:false
}]
}, function(ret, err){
var name = ret.name;
var index = ret.index;
});
openPicker打开时间选择器:
api.openPicker({
type: 'date_time',//拾取器类型
date: '2014-05-01 12:30',//时间格式化字符串,格式yyyy-MM-dd HH:mm
title:'选择时间'//标题
},function(ret,err){
var year = ret.year;
var month = ret.month;
var day = ret.day;
var hour = ret.hour;
var minute = ret.minute;
if (type == 'date') {
var value = year+'年'+month+'月'+day+'日';
} else if (type == 'time') {
var value = hour+'时'+minute+'分';
} else if (type == 'date_time') {
var value = year+'年'+month+'月'+day+'日'+hour+'时'+minute+'分';
}
});
openSlidLayout打开侧滑式布局:
api.openSlidLayout ({
type: 'all',//侧滑类型(left:左侧滑、right:右侧滑、all:左右侧滑)
leftEdge:80,//左侧滑时,侧滑window停留时露出的宽度
rightEdge:60,
fixedPane: {//底部固定层window
name: 'frame1',
url: 'frame1.html',
bgColor: '#fff',
bounces:true,
opaque:true,
vScrollBarEnabled:true,
hScrollBarEnabled:false
},
slidPane: {
name: 'frame1',
url: 'frame1.html',
bgColor: '#fff',
bounces:true,
opaque:true,
vScrollBarEnabled:true,
hScrollBarEnabled:false
}
}, function(ret){
var type = ret.type;
if (type == 'left') {
} else {
}
});
openSlidPane侧滑:
api.openSlidPane ({
type: 'left'//侧滑类型,left或right,不能为空
});
openWidget打开Widget:
api.openWidget({
id: 'UZ00000001',
animation: {
type: 'flip',
subType: 'from_bottom',
duration: 500
}
}, function(ret, err){
if(ret){
} else{
api.alert({msg:err.msg});
}
});
openWin打开窗口,如果窗口已存在,则会把窗口显示到最前面:
api.openWin({
name: 'page1',
url: './page1.html',
pageParam: {name: 'test'},
bounces: true,
opaque: false,
bgColor: 'rgba(0,0,0,0)',
vScrollBarEnabled:true,
hScrollBarEnabled:true,
animation: {
type: 'flip',
subType: 'from_bottom',
duration: 500
}
});
parseTapmode解析元素tapmode属性,优化点击事件处理
api.parseTapmode();
readFile读取文本文件:
api.readFile({
path:'fs://a.txt'
}, function(ret, err){
if(ret.status){
api.alert({msg:ret.data});//data文件内容
} else{
api.alert({
msg: '错误码: '+err.code+'错误信息'+err.msg//msg:错误描述
});
}
});
refreshHeaderLoadDone通知顶部刷新数据加载完毕
api.refreshHeaderLoadDone();
removeEventListener删除事件:
api.removeEventListener({
name: 'online'
});
sendFrameToBack调整子窗口到后面:
api.sendFrameToBack ({//调整page1到page2的后面即将page2放在最page1上
from: 'page1',
to: 'page2'//窗口名字,指定时调整窗口到此窗口后面,否则调整到最后面
});
setFrameAttr设置子窗口属性:
api.setFrameAttr({
name: 'page2',
rect:{
x:0,
y:0,
w:320,
h:480
},
bounces: true,
opaque: true,
bgColor: '#fff',
vScrollBarEnabled:true,
hScrollBarEnabled:true
});
setFrameGroupAttr设置窗口组属性:
api.setFrameGroupAttr({
name: 'group1',
hidden:true
});
setFrameGroupIndex设置窗口组当前可见子窗口:
api.setFrameGroupIndex ({
name: 'group1',
index:2,//子窗口索引
scroll:true//是否平滑滚动至目标窗口
});
setFullScreen设置是否全屏:
api.setFullScreen({fullScreen:true});
setRefreshHeaderInfo显示顶部刷新:
api.setRefreshHeaderInfo({
visible: true,
loadingImg: 'widget://image/refresh.png',//刷新图片地址
bgColor: '#ccc',
textColor: '#fff',
textDown: '下拉刷新...',//下拉文字描述
textUp: '松开刷新...',//松开时文字描述
showTime: true//是否显示更新时间
}, function(ret, err){
});
showFloatBox展示一个悬浮框,浮动在屏幕上,点击时关闭当前widget:
api.showFloatBox ({
iconPath: 'widget://image/icon.png',//展示在悬浮框中的图片地址
duration: 3000//自动消隐时长。在该时长内不发生触摸悬浮框行为,悬浮框自动消隐至半透状态
});
showProgress显示进度提示框:
api.showProgress({
style: 'default',
animationType: 'fade',
title: '努力加载中...',
text: '先喝杯茶...',
modal: false//是否模态
});
writeFile写入文件:
api.writeFile({
path: 'fs://a.txt',
data: 'writeFile测试内容'
}, function(ret, err){
var status = ret.status;
if(status){
api.alert({msg:'写入文件成功'});
} else{
api.alert({msg:err.msg});
}
});
removeLaunchView移除启动图。若config.xml里面配置autoLaunch为false,则启动图不会自动消失,直到调用此方法移除。
api.removeLaunchView();
--------------------- 作者:王英_晨晨 来源:CSDN 原文:https://blog.csdn.net/u010035154/article/details/41820169