APICloud之常用的API方法

1.openWin

api.openWin({
    name: 'page1',
    url: './page1.html',
    pageParam: {
        name: 'test'
    }
});

2.closeWin

//關閉當前window,使用默認動畫
api.closeWin();

//關閉指定window,若待關閉的window不在最上面,則無動畫
api.closeWin({
    name: 'page1'
});

3.closeToWin

關閉到指定 window,最上面顯示的 window 到指定 name 的 window 間的所有 window 都會被關閉。

api.closeToWin({
    name: "receipt_options",
});

4.setWinAttr

設置 window 屬性

// 不允許左滑移出,避免在支付過程中退出
api.setWinAttr({
    slidBackEnabled: false,
});
//設置頁面可以彈動
api.setWinAttr({
    bounces: true,
});

5.openFrame

打開 frame

若 frame 已存在,則會把該窗口顯示到最前面並顯示,如果 url 和之前的 url 有變化,或者 reload 爲 true 時,頁面會刷新

此方法對 frameGroup 裏面的 frame 不起作用

api.openFrame({
    name: 'page2',
    url: './page2.html',
    rect: {
        x: 0,  //左上角x座標,數字類型
        y: 0, //左上角y座標,數字類型
        w: 'auto',  //寬度,若傳'auto',頁面從x位置開始自動充滿父頁面寬度,數字或固定值'auto'
        h: 'auto'  //高度,若傳'auto',頁面從y位置開始自動充滿父頁面高度,數字或固定值'auto'
    },

    pageParam: {
        name: 'test'
    }
});

6.closeFrame

關閉frame

api.closeFrame({
    name: 'page2'
});

7.setFrameAttr

設置frame屬性

api.setFrameAttr({
    name: 'page2',
    bounces: true,
    rect: {
        x:0,
        y:0,
    },
});

8.bringFrameToFront

調整 frame 到前面

api.bringFrameToFront({
    from: 'page1', //待調整顯示順序的 frame 名字
    to: 'page2' //(可選項)frame 名字,不傳時調整 from 對應 frame 到最前面,否則調整 from 對應 frame 到此 frame 前面
});

9.api.animation

frame 動畫,支持平移,縮放,旋轉和透明度變化

僅支持 frame,不支持 window 以及 frameGroup 裏面的 frame

api.animation({
    name: 'page1',
    delay: 1000, //(可選項)動畫延遲時間,單位毫秒,默認立即開始
    duration: 3000, //(可選項)動畫過渡時間,單位毫秒
    curve: 'ease_in', //(可選項)動畫曲線類型,指定動畫開始和結束時的快慢,ease_in_out  開始和結束時慢 ease_in 開始時慢,ease_out 結束時慢,linear整個動畫過程速率一樣
    repeatCount: 2, //(可選項)動畫次數,默認不重複,爲-1時無限重複
    autoreverse: true, //(可選項)一次動畫結束後是否自動反轉動畫
    alpha: 0.6, //(可選項)整個頁面的透明度,介於0 1之間,Android 不支持
    translation: { //(可選項)位置平移參數
        x: 0, //x軸方向上的平移距離,默認爲0
        y: 100,
        z: 0
    },
    scale: {  //(可選項)頁面縮放參數,Android 不支持
        x: 1.2,  ////x軸方向上的放大倍率,默認爲1
        y: 1,
        z: 1
    },
    rotation: { //(可選項)頁面旋轉參數,Android 不支持
        degree: 45,  //旋轉角度,默認0
        x: 0,   //繞x軸旋轉,默認爲0
        y: 0,
        z: 1
    }
}, function(ret, err) {
    alert('動畫結束');
});

10.openFrameGroup

打開frame組

若frame組已存在,則會把該frame組顯示到最前面。frame組打開後,當前頁面加載完成後,頁面會預加載後面指定個數頁面

api.openFrameGroup({
    name: 'group1',
    rect: {  //(可選項)設置frameGroup的位置和大小。如果要固定寬高則使用x、y、w、h等參數;如果要自適應狀態欄高度變化、橫豎屏切換等,則需要使用margin相關參數,不能使用w、h固定寬高。推薦使用margin相關參數來佈局。
        x: 0,
        y: 0,
        w: 'auto',
        h: 'auto'
    },
    preload: 4,//(可選項)預加載的 frame 個數,默認加載當前頁後面一個
    scrollEnabled: false, //(可選項)frame 組是否能夠左右滾動
    frames: [{  //frame 數組
        name: 'frame1',
        url: 'frame1.html',
        bgColor: '#fff',
        pageParam: {  //(可選項)頁面參數,頁面中可以通過api.pageParam獲取,JSON對象
            listType: "all",
        },
    }, {
        name: 'frame2',
        url: 'frame2.html',
        bgColor: '#fff'
    }]
}, function(ret, err) {
    var index = ret.index;
});

 

11.addEventListener

監聽事件,支持系統事件和自定義事件

//如監聽網絡連接事件
api.addEventListener({
    name: 'online'
}, function(ret, err) {
    alert('已連接網絡');
});

12.sendEvent

將任意一個自定義事件廣播出去,該事件可在任意頁面通過 addEventListener 監聽收到。

api.sendEvent({
    name: 'myEvent', 
    extra: { //可選項,附帶的參數。在監聽頁面的回調裏面通過 ret.value 獲取。
        key1: 'value1',
        key2: 'value2'
    }
});

//html頁面a:
api.addEventListener({
    name: 'myEvent'
}, function(ret, err) {
    alert(JSON.stringify(ret.value));
});

//html頁面b:
api.addEventListener({
    name: 'myEvent'
}, function(ret, err) {
    alert(JSON.stringify(ret.value));
});

//a、b頁面都將收到 myEvent 事件

13.setStatusBarStyle

設置狀態欄樣式爲白色(適用於深色背景)或黑色(適用於淺色背景),以及設置狀態欄背景顏色

api.setStatusBarStyle({
    style: 'light' //dark -狀態欄字體爲黑色,適用於淺色背景 light-狀態欄字體爲白色,適用於深色背景
});

14.hasPermission

hasPermission提供動態檢測應用是否已取得某個或多個權限

var resultList = api.hasPermission({
    list:['camera','contacts']
});
api.alert({
    msg:JSON.stringify(resultList)
});

15.requestPermission

向系統請求某個或多個權限

api.requestPermission({
    list:['camera','contacts'],
    code:1
}, function(ret, err){
    api.alert({
        msg:JSON.stringify(ret)
    });
});

//實例

reqPermission(perm, callback) {
    api.requestPermission({
        list: perm,
        code: 1,
    }, () => {
        callback();
    });
},

16.alert

彈出帶一個按鈕的對話框,更多按鈕的對話框請使用confirm方法

api.alert({ 
    title: "當前狀態不可編輯",  //(可選項)標題
    msg: `${this.data.editorName} 正在編輯`, //(可選項)內容
    buttons: ["我知道了"], //(可選項)按鈕
});

17.confirm

彈出帶兩個或三個按鈕的confirm對話框

api.confirm({
    title: 'testtitle',
    msg: 'testmsg',
    buttons: ['確定', '取消']
}, function(ret, err) {
    var index = ret.buttonIndex;  //buttonIndex 按鈕點擊序號,從1開始
});

18.showProgress

顯示進度提示框

api.showProgress({
    title: '努力加載中...',
    text: '先喝杯茶...',
    modal: false //(可選項)是否模態,模態時整個頁面將不可交互
});

19.hideProgress

隱藏進度提示框

20.toast

彈出一個定時自動關閉的提示框

api.toast({
    msg: '網絡錯誤',
    duration: 2000, //(可選項)持續時長,單位:毫秒
    location: 'bottom' //(可選項)彈出位置,頂部、中間或底部
});

21.require

引用模塊

var bMap = api.require("bMap");

const wxPayPlus = api.require("wxPayPlus");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章