APICloud 的一些常用方法

 

 

在APICloud创建了应用之后,应用的包结构如下图所示:

APICloud 的一些常用方法_第1张图片

其中“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

你可能感兴趣的:(APP开发)