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