TIP
此部分封装的API针对多模块开发时,适用于多模块开发时模块间跳转,打开,关闭等场景,除此之外,同一模块间路由使用规则同vue-router (opens new window)官方路由插件使用规则一致。
# 页面路由注册配置参数项
路由注册时,在
/src/router/模块名/router.conf.js
中路由注册配置属性如下:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 必填 | 路由跳转路径,同vue-router path参数值 (opens new window) |
name | string | 可选 | 路由名称,同vue-router name参数值 (opens new window) |
component | string | 可选 | 路由页面vue-router component参数值 (opens new window) |
meta | Object | 可选 | 路由注册参数,详情如下表 |
meta详细属性如下:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
checkLogin | bool | 可选 | 路由跳转时是否,验证会话状态,未登录且校验会话时,默认跳转登录页面 |
title | string | 可选 | 页面导航栏标题 |
pushType | string | 可选 | 页面跳转方式,可选 navigateTo , launchH5App , redirectTo ,参数含义参考路由跳转API, 优先级低于调用路由API时传入的pushType |
# 路由跳转 launchH5App
打开新模块中新页面窗口
平台支持性
宇信外壳YUMP | tmf外壳 | mpaas外壳 |
---|---|---|
√ | × | × |
示例
this.$router.push({
name: 'login',
path: '/',
moduleName: 'login',
pushType: 'launchH5App'
});
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
name | String | 否 | 页面路由名称,同vue-router name 参数 |
path | String | 是 | 页面路由路径,同vue-router path参数 |
moduleName | String | 是 | 跳转的模块名称 |
params | Object | 否 | 自定义的跳转参数 |
styleJson | Object | 否 | 控制页面行为及展现参数 |
pushType | String | 是 | 此API固定传 launchH5App |
styleJson内容参数说明
参数名 类型 必填 说明 defaultTitle string 可选 导航栏标题 titleBarColor string 可选 导航栏背景色 #ff0000 titleColor string 可选 导航栏文字颜色 #0000ff transparentTitle string 可选 导航栏样式: always:永远显示,auto滑动显示,none不显示 showsContainerTitle bool 可选 是否展示页面标题 closeCurrentApp bool 可选 是否关闭当前容器,默认false
# 路由跳转 navigateTo
打开当前模块中的新页面窗口
示例
this.$router.push({
name: 'yuCustomCom', // params传参必须使用name路由,否则参数无法获取,vue-router的规则
path: '/yuCustomCom',
params: {
key: '这是参数'
},
pushType: 'navigateTo'
})
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
name | String | 否 | 页面路由名称,同vue-router name 参数 |
path | String | 是 | 页面路由路径,同vue-router path参数 |
params | Object | 否 | 自定义的跳转参数,同vue-router |
query | Object | 否 | 自定义的跳转参数,同vue-router |
pushType | String | 是 | 此API固定传 navigateTo |
# 路由跳转 redirectTo
关闭当前模块中当前页面并打开新页面窗口
示例
this.$router.push({
name: 'transfer',
path: '/',
moduleName: 'transfer',
pushType: 'redirectTo',
params: { key: '这是参数' },
styleJson: {
defaultTitle: '标题title',
titleColor: '#0000ff',
closeCurrentApp: true
}
});
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
name | String | 否 | 页面路由名称,同vue-router name 参数 |
path | String | 是 | 页面路由路径,同vue-router path参数 |
moduleName | String | 是 | 跳转的模块名称 |
params | Object | 否 | 自定义的跳转参数 |
styleJson | Object | 否 | 控制页面行为及展现参数 |
pushType | String | 是 | 此API固定传 redirectTo |
styleJson内容参数说明
参数名 类型 必填 说明 defaultTitle string 可选 导航栏标题 titleBarColor string 可选 导航栏背景色 #ff0000 titleColor string 可选 导航栏文字颜色 #0000ff transparentTitle string 可选 导航栏样式: always:永远显示,auto滑动显示,none不显示 showsContainerTitle bool 可选 是否展示页面标题 closeCurrentApp bool 可选 是否关闭当前容器,默认false
# 路由跳转 switchTab
返回到指定的Tab容器
示例
this.$app.switchTab(index)
OBJECT参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
index | string | 是 | 0:tab第一个页面,1:tab第二个页面 |
# 路由跳转 navigateBack
关闭当前容器.
示例
this.$app.navigateBack(index)
OBJECT参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
index | string | 是 | 0,-1退出当前容器,-2后退2次,-3后退3次..... ,参数针对launchH5App方法打开的容器有效 |
# 路由跳转 exitApp
退出当前容器
示例
this.$app.exitApp()
# 路由跳转 popWindow
退到根容器
示例
this.$app.popWindow()
# 路由跳转 openWindow
打开一个新的webview页面(仅用于在线文档显示)
示例
this.$app.openWindow(url,params,stytleJson)
OBJECT参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
url | string | 必填 | 页面路径需要使用http/https开头 |
params | obj | 可选 | 页面传参 |
styleJson | obj | 必选 | 控制页面行为参数 |
styleJson内容参数说明
参数名 类型 必填 说明 defaultTitle string 可选 导航栏标题 titleBarColor string 可选 导航栏背景色 #ff0000 titleColor string 可选 导航栏文字颜色 #0000ff transparentTitle string 可选 导航栏样式: always:永远显示,auto滑动显示,none不显示 showsContainerTitle bool 可选 是否展示页面标题 closeCurrentApp bool 可选 是否关闭当前容器,默认false 为统一和兼容路由传参和容器之间的传参(或webview页面间传参), 新增了生命周期钩子函数
onLoad
所有页面获取参数方式统一调用:
onLoad (data) {
this.$data.xxx = data.xxx; // 数据准备
}
# getContainerStack(OBJECT)
获取导航栏容器栈信息
示例
this.$app.getContainerStack().then(res => {
console.log(res);
});
success 返回参数说明:
参数名 | 类型 | 说明 |
---|---|---|
containerStack | Array[ContainerObj] | 容器对象数组 |
- 返回ContainerObj参数说明
参数名 | 类型 | 说明 |
---|---|---|
url | string | 为h5容器时,当前加载的地址 |
index | string | 处于导航栏栈的位置 |
containerId | string | 容器ID |
# getStartupParams()
获取容器启动参数
示例
this.$app.getStartupParams().then(res => {
console.log('app/getStartupParams====' + JSON.stringify(res));
});
success 返回参数说明:
参数名 | 类型 | 说明 |
---|---|---|
defaultTitle | string | 导航栏标题 launchH5App参数styleJson传入时返回 |
titleBarColor | string | 导航栏背景色 launchH5App参数styleJson传入时返回 |
titleColor | string | 导航栏文字颜色 launchH5App参数styleJson传入时返回 |
transparentTitle | string | 导航栏样式: always:永远显示,auto滑动显示,none不显示 launchH5App参数styleJson传入时返回 |
showsContainerTitle | string | 是否展示页面标题 launchH5App参数styleJson传入时返回 |
closeCurrentApp | string | 是否关闭当前容器,默认false launchH5App参数styleJson传入时返回 |
# getAppCustomParams()
获取容器启动业务参数
示例
this.$app.getAppCustomParams().then(res => {
console.log('app/getAppCustomParams====' + JSON.stringify(res));
});
success 返回参数说明:
参数名 | 类型 | 说明 |
---|---|---|
defaultTitle | string | 导航栏标题 launchH5App参数styleJson传入时返回 |
titleBarColor | string | 导航栏背景色 launchH5App参数styleJson传入时返回 |
titleColor | string | 导航栏文字颜色 launchH5App参数styleJson传入时返回 |
transparentTitle | string | 导航栏样式: always:永远显示,auto滑动显示,none不显示 launchH5App参数styleJson传入时返回 |
showsContainerTitle | string | 是否展示页面标题 launchH5App参数styleJson传入时返回 |
closeCurrentApp | string | 是否关闭当前容器,默认false launchH5App参数styleJson传入时返回 |