1.什么是半屏小程序
半屏小程序是指,一个小程序在另一个小程序里面以半屏的方式呈现的一种方式。两个小程序可以进行参数交互。
版本要求:小程序基础库需要不低于2.26.2
2. 微信API
1.打开半屏小程序
-
如果版本库在2.23.1以下的话,需要在全局配置的app.json中embeddedAppIdList字段声明所需要跳转的半屏小程序,不配置的话。则会变成普通小程序。
{ "embeddedAppIdList": ["XXXXXXXX"] }
-
通过wx.openEmbeddedMiniProgram跳转小程序
{ appid, //要打开的小程序 appId. 必填项 path, // 打开的页面路径,如果为空则打开首页,后面可以拼接参数,取值从query取值,通过wx.getLaunchOptionsSync可以获取到query数据 extraData:object, // 需要传递给目标小程序的数据 envVersion:string, //要打开的小程序版本,注意:如果当前小程序是正式版,则打开的小程序必定是正式版 }
-
2. 返回上一个小程序
-
只有在当前小程序被其他小程序打开时才可以调用成功(微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持)
wx.navigateBackMiniProgram({ extraData: {}, // 需要返回给上一个小程序的数据,上一个小程序通过App.show获取数据 success(res) {}, // 接口调用成功的回调函数 fail(res) {}, // 接口调用失败的回调函数 complete(res) {}, // 接口调用结束的回调函数(调用成功、失败都会执行) })
3. 退出当前小程序
-
关闭当前小程序,但是只有点击事件才可以触发
wx.exitMiniProgram({ success(res) {}, // 接口调用成功的回调函数 fail(res) {}, // 接口调用失败的回调函数 complete(res) {}, // 接口调用结束的回调函数(调用成功、失败都会执行) })
3. 遇到的问题
- 问题描述:小程序A调用半屏小程序B,若半屏小程序点击右上角的隐藏,包括调用返回上一个小程序的方法(navigateBackMiniProgram),再次从微信打开对应的半屏小程序的时候,该小程序会以半屏小程序样式展示。无放大按钮,需清理后台再次进入。
- 解决方法:使用退出当前小程序方法(exitMiniProgram),但是这个只有点击事件才可以触发
文章引用微信API文档:https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html