跳转到内容

页面栈管理

{ "name": "blueos.app.appmanager.pageStack" }
import pagestack from '@blueos.app.appmanager.pageStack' const pagestack = require('@blueos.app.appmanager.pageStack')

获取应用页面栈信息

参数名类型必填说明
packageArrayString
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。
参数名类型说明
appStackPagesArray<Object>返回调用方页面栈信息

所有应用 appStackPages 数据格式示例:

Section titled “所有应用 appStackPages 数据格式示例:”
appStackPages[
{
appInfo:{zIndex:1,package:'com.vivo.app'},
pages:[{pageId:1,path:'pages/index/index'}]
},
null,
null
]
根据传入应用包名的顺序返回页面栈信息
Section titled “根据传入应用包名的顺序返回页面栈信息”
参数名类型说明
appInfoObject应用信息
pagesArray<Object>应用页面栈信息

某个应用 appInfo 参数详细说明

参数名类型说明
zIndexNumber所属应用的层级
packageString应用包名

某个应用 pages 参数详细说明

参数名类型说明
pageIdNumber页面的 id
pathString页面的路径
pagestack.getAppStacks({
package: ['com.vivo.app1', 'com.vivo.app2'],
success: function (data) {
const [app1, app2] = data.appStackPages
//获取某个应用页面栈里面的某个页面id
let paths1 = [app1 && app1.pages[0].path, app1 && app1.pages[1].path]
let paths2 = [app2 && app2.pages[0].path, app2 && app2.pages[1].path]
let pageIds1 = [app1 && app1.pages[0].pageId, app1 && app1.pages[1].pageId]
let pageIds2 = [app2 && app2.pages[0].pageId, app2 && app2.pages[1].pageId]
let package1 = app1 && app1.appInfo.package
let package2 = app2 && app2.appInfo.package
//根据页面id或页面路径关闭指定页面
pagestack.close({
pageList: [
{
package: package1, //是
pageIds: pageIds1, //否
paths: paths1, //否
},
{
package: package2,
pageIds: pageIds2,
paths: paths2,
},
],
success: function () {},
fail: function (data, code) {
console.log(`handling fail,code = ${code}`)
},
complete: function () {
console.log(`handling complete`)
},
})
console.log(`handling success, pages = ${pages}`)
},
fail: function (data, code) {
console.log(`handling fail,code = ${code}`)
},
complete: function () {
console.log(`handling complete`)
},
})

关闭页面

参数名类型必填说明
pageListArray<Object>关闭应用的配置项
successFunction接口调用成功的回调函数。
failFunction接口调用失败的回调函数。
completeFunction接口调用结束的回调函数。
参数名类型必填说明
packageString应用包名
pageIdsArray页面 id
pathsArray页面路径
pagestack.close({
pageList: [
{
package: 'com.vivo.app',
pageIds: [1],
paths: ['/pages/index/index'],
},
],
success: function () {},
fail: function (data, code) {
console.log(`handling fail,code = ${code}`)
},
complete: function () {
console.log(`handling complete`)
},
})