一、简介
在开发者主体小程序页面中,以半屏形式唤起需要接入的小程序。 此时开发者主体小程序无需额外申请微信组件(如live-player等)的使用资质权限,直接复用该小程序的资质。
半屏小程序优势
- 无需申请组件资质,节省对接周期及人力;
- 一行代码实现设备运维功能,快速对接;
- 在开发者小程序中,以半屏形式直接使用需要接入的小程序 ,并使用小程序里面的功能,无需跳转切换;
- 接入的小程序功能更新或问题修复皆可直接复用。
微信官方文档:打开半屏小程序
二、接入流程
1、提交设备需要接入的半屏小程序的调用申请。开发者可在小程序管理后台「设置」-「第三方设置」-「半屏小程序管理」板块发起申请,待后台审批;
2、调用微信接口wx.openEmbeddedMiniProgram(Object object)按照接口要求输入参数:
wx.openEmbeddedMiniProgram({
appId: 'wx******496d',
path: '/device/pages/login/index',
extraData: {
sn: '12345678-87654321',
}
})
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
appId | string | 是 | 要打开的小程序 appId | ||
path | string | 否 | 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 App.onLaunch 、App.onShow 和 Page.onLoad 的回调函数或小游戏的 wx.onShow 回调函数、wx.getLaunchOptionsSync 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 | ||
extraData | object | 否 | 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch ,App.onShow 中获取到这份数据。如果跳转的是小游戏,可以在 wx.onShow、wx.getLaunchOptionsSync 中可以获取到这份数据数据。 | ||
envVersion | string | release | 否 | 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 | |
shortLink | string | 否 | 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 | ||
verify | string | binding | 否 | 校验方式。 | 2.24.3 |
noRelaunchIfPathUnchanged | boolean | false | 否 | 不reLaunch目标小程序,直接打开目标跳转的小程序退后台时的页面,需满足以下条件:1. 目标跳转的小程序生命周期未被销毁;2. 且目标当次启动的path、query与上次启动相同,apiCategory以wx.getApiCategory接口的返回结果为准。 | 2.24.0 |
allowFullScreen | boolean | false | 否 | 打开的小程序是否支持全屏 | 2.33.0 |
success | function | 否 | 接口调用成功的回调函数 | ||
fail | function | 否 | 接口调用失败的回调函数 | ||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |