swan.openBdboxWebview
基础库 3.240.2 版本开始支持。仅百度 App 支持。在工具和真机中的实现有区别,详见 API 实现差异。
解释:小程序跳转百度 App 内特定页面。接入本 API 的开发者,需要了解跳转页面的 scheme,并根据文档调用 API 完成跳转。可在百度 App 中,通过将跳转页面 scheme 生成对应二维码,并使用百度 APP 相机扫描二维码调起的方式,来确保 scheme 是否正确。
Web 态说明: Web 态暂不支持 openBdboxWebview API 功能。在 Web 态会做 打开对应小程序页面 的降级处理。
方法参数
object 参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
module | String | 否 | 跳转百度 App 特定页面的 scheme 的 module | |
action | String | 否 | 跳转百度 App 特定页面的 scheme 的 action | |
path | String | 否 | 跳转百度 App 特定页面的 scheme 的 path | |
authority | String | 否 | 跳转百度 App 特定页面的 scheme 的 authority | |
parameters | Object | 否 | 跳转百度 App 特定页面的 scheme 的参数 | |
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
module、action 参数说明
module 指跳转百度 App 的相应模块;action 指相应模块对应的行为。
对应跳转百度 App 特定页面的 scheme 中的 module、action 字段:
baiduboxapp://v11/${module}/${action}?${parameters}
以baiduboxapp://v11/appTab/select?item=home&upgrade=0
为例:appTab
为该跳转 scheme 对应的 module,select
为该跳转 scheme 对应的 action,item=home&upgrade=0
为该跳转 scheme 对应的 parameters。
对应使用 openBdboxWebview 的方式为:
- JS
swan.openBdboxWebview({
module: 'appTab',
action: 'select',
parameters: {
item: 'home'
}
});
示例
目前本接口支持调起跳转的页面 / 动作如下:
页面/动作 | module | action |
---|---|---|
调起直播间 | live | enterRoom |
打开动漫频道 | comic | open |
打开底部 tab 对应页 | appTab | select |
包含在以下具体页面示例中的可跳转页面,都可以通过传参 module 和 action 进行跳转,不需要关注 scheme 中的版本号。
综合示例
- SWAN
- CSS
- JS
<view class="wrap">
<button type="primary" bindtap="openRoom">调起直播间</button>
<button type="primary" bindtap="openComic">动漫频道</button>
<button type="primary" bindtap="openTab">底部 tab</button>
</view>
.wrap {
padding: 50rpx 30rpx;
}
.title {
margin-bottom: 20rpx;
}
.wrap button {
height: 80rpx;
line-height: 80rpx;
margin-bottom: 30rpx;
}
Page({
openRoom() {
swan.openBdboxWebview({
module: 'live',
action: 'enterRoom',
parameters: {
params: {"roomId": "339973753", screen: 0, source: {livefrom: "share", livesource: "sharemp", liveinvoke: "0"}}
},
success: res => {
console.log('openBdboxWebview success', res);
},
fail: err => {
console.log('openBdboxWebview fail', err);
}
});
},
openComic() {
swan.openBdboxWebview({
module: 'comic',
action: 'open',
parameters: {
params: {
showsearch: '1',
tab: 'recommend',
source: 'feedtab'
}
},
success: res => {
console.log('openBdboxWebview success', res);
},
fail: err => {
console.log('openBdboxWebview fail', err);
}
});
},
openTab() {
swan.openBdboxWebview({
module: 'appTab',
action: 'select',
parameters: {
item: 'personal'
},
success: res => {
console.log('openBdboxWebview success', res);
},
fail: err => {
console.log('openBdboxWebview fail', err);
}
});
}
});
具体页面示例 1:调起直播间
属性名 | 取值 |
---|---|
module | live |
action | enterRoom |
parameters 值说明
属性名 | 类型 | 说明 | 取值 |
---|---|---|---|
params | Object | 直播房间信息 | 如params = {“roomId”:”339973753”, screen:0,source:{livefrom: “share”,livesource: “sharemp”,liveinvoke: “0” }} |
示例代码:
- JS
swan.openBdboxWebview({
module: 'live',
action: 'enterRoom'
});
具体页面示例 2:打开动漫频道
属性名 | 取值 |
---|---|
module | comic |
action | open:打开动漫 |
parameters 值说明
属性名 | 类型 | 说明 | 取值 |
---|---|---|---|
params | Object | 频道设置 |
params 值说明
属性名 | 类型 | 说明 | 取值 |
---|---|---|---|
showsearch | Number | 是否显示搜索 | [可选参数],0:不显示,1:显示;默认显示 |
tab | String | 首页跳转进入指定 tab | 书架:shelf 推荐:recommend 人气:hot 分类:category |
source | String | 统计参数来源 | 导航:comicchannel Feed:feedtab |
示例代码:
- JS
swan.openBdboxWebview({
module: 'comic',
action: 'open'
});
具体页面示例 3 :打开底部 tab 对应页
包含百度 App 首页,个人中心页等底部 tab 对应页面。
注:底部 tab 对应页的 module/action 有极小概率更改调整的风险,修改后可能会导致跳转失效。
属性名 | 取值 |
---|---|
module | appTab |
action | select |
parameters 值说明
属性名 | 类型 | 说明 | 取值 |
---|---|---|---|
item | String | 底 tab 项 | 如 home:首页,video:视频页,follow:关注页,personal:个人中心页 |
示例代码:
- JS
swan.openBdboxWebview({
module: 'appTab',
action: 'select',
parameters: {
item: 'home'
}
});