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");