swan.openBdboxWebview

基础库 3.240.2 版本开始支持。仅百度 App 支持。在工具和真机中的实现有区别,详见 API 实现差异

解释:小程序跳转百度 App 内特定页面。接入本 API 的开发者,需要了解跳转页面的 scheme,并根据文档调用 API 完成跳转。可在百度 App 中,通过将跳转页面 scheme 生成对应二维码,并使用百度 APP 相机扫描二维码调起的方式,来确保 scheme 是否正确。

Web 态说明: Web 态暂不支持 openBdboxWebview API 功能。在 Web 态会做 打开对应小程序页面 的降级处理。

方法参数

object 参数说明

属性名类型必填默认值说明
moduleString跳转百度 App 特定页面的 scheme 的 module
actionString跳转百度 App 特定页面的 scheme 的 action
pathString跳转百度 App 特定页面的 scheme 的 path
authorityString跳转百度 App 特定页面的 scheme 的 authority
parametersObject跳转百度 App 特定页面的 scheme 的参数
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

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
  1. swan.openBdboxWebview({
  2. module: 'appTab',
  3. action: 'select',
  4. parameters: {
  5. item: 'home'
  6. }
  7. });

示例

目前本接口支持调起跳转的页面 / 动作如下:

页面/动作moduleaction
调起直播间liveenterRoom
打开动漫频道comicopen
打开底部 tab 对应页appTabselect

包含在以下具体页面示例中的可跳转页面,都可以通过传参 module 和 action 进行跳转,不需要关注 scheme 中的版本号。

综合示例

  • SWAN
  • CSS
  • JS
  1. <view class="wrap">
  2. <button type="primary" bindtap="openRoom">调起直播间</button>
  3. <button type="primary" bindtap="openComic">动漫频道</button>
  4. <button type="primary" bindtap="openTab">底部 tab</button>
  5. </view>
  1. .wrap {
  2. padding: 50rpx 30rpx;
  3. }
  4. .title {
  5. margin-bottom: 20rpx;
  6. }
  7. .wrap button {
  8. height: 80rpx;
  9. line-height: 80rpx;
  10. margin-bottom: 30rpx;
  11. }
  1. Page({
  2. openRoom() {
  3. swan.openBdboxWebview({
  4. module: 'live',
  5. action: 'enterRoom',
  6. parameters: {
  7. params: {"roomId": "339973753", screen: 0, source: {livefrom: "share", livesource: "sharemp", liveinvoke: "0"}}
  8. },
  9. success: res => {
  10. console.log('openBdboxWebview success', res);
  11. },
  12. fail: err => {
  13. console.log('openBdboxWebview fail', err);
  14. }
  15. });
  16. },
  17. openComic() {
  18. swan.openBdboxWebview({
  19. module: 'comic',
  20. action: 'open',
  21. parameters: {
  22. params: {
  23. showsearch: '1',
  24. tab: 'recommend',
  25. source: 'feedtab'
  26. }
  27. },
  28. success: res => {
  29. console.log('openBdboxWebview success', res);
  30. },
  31. fail: err => {
  32. console.log('openBdboxWebview fail', err);
  33. }
  34. });
  35. },
  36. openTab() {
  37. swan.openBdboxWebview({
  38. module: 'appTab',
  39. action: 'select',
  40. parameters: {
  41. item: 'personal'
  42. },
  43. success: res => {
  44. console.log('openBdboxWebview success', res);
  45. },
  46. fail: err => {
  47. console.log('openBdboxWebview fail', err);
  48. }
  49. });
  50. }
  51. });

具体页面示例 1:调起直播间

属性名取值
modulelive
actionenterRoom

parameters 值说明

属性名类型说明取值
paramsObject直播房间信息params = {“roomId”:”339973753”, screen:0,source:{livefrom: “share”,livesource: “sharemp”,liveinvoke: “0” }}

示例代码

  • JS
  1. swan.openBdboxWebview({
  2. module: 'live',
  3. action: 'enterRoom'
  4. });

具体页面示例 2:打开动漫频道

属性名取值
modulecomic
actionopen:打开动漫

parameters 值说明

属性名类型说明取值
paramsObject频道设置

params 值说明

属性名类型说明取值
showsearchNumber是否显示搜索[可选参数],0:不显示,1:显示;默认显示
tabString首页跳转进入指定 tab书架:shelf
推荐:recommend
人气:hot
分类:category
sourceString统计参数来源导航:comicchannel
Feed:feedtab

示例代码

  • JS
  1. swan.openBdboxWebview({
  2. module: 'comic',
  3. action: 'open'
  4. });

具体页面示例 3 :打开底部 tab 对应页

包含百度 App 首页,个人中心页等底部 tab 对应页面。
注:底部 tab 对应页的 module/action 有极小概率更改调整的风险,修改后可能会导致跳转失效。

属性名取值
moduleappTab
actionselect

parameters 值说明

属性名类型说明取值
itemString底 tab 项如 home:首页,video:视频页,follow:关注页,personal:个人中心页

示例代码

  • JS
  1. swan.openBdboxWebview({
  2. module: 'appTab',
  3. action: 'select',
  4. parameters: {
  5. item: 'home'
  6. }
  7. });