API
my.navigateToMiniService(Object)
打开插件。说明:支持同一主体小程序下的不同插件互相跳转,客户端10.1.35版本 appx 1.11 开始支持
Object 入参说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
serviceId | String | 是 | 已订购的插件appid |
servicePage | String | 否 | 目标插件的页面,默认为首页 |
extraData | Object | 否 | 需要传递给目标插件的数据,插件可在 App.onLaunch(options),App.onShow(options) 中获取到这份数据 |
success | Function | 否 | 调用成功的回调函数 |
fail | Function | 否 | 调用失败的回调函数 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
代码示例
my.navigateToMiniService({
serviceId: 'service-id',
servicePage: 'pages/todos/todos',
extraData,
success: (res) => {
// 数据结构
{
action: 'complete', // 根据用户返回小程序的两种方式,值分别是`cancel`和`complete`
data: { // 用户通过my.navigateBackFromMiniService传递的数据
orderId: `xxx`,
}
} = res;
},
fail: (res) => {},
complete: (res) => {},
});
my.navigateBackFromMiniService(Object)
插件返回小程序
Object 入参说明
入参是插件运行完毕后,需要回传给小程序的数据。
代码示例
my.navigateBackFromMiniService({
orderId: '22222'
});
补充说明
插件的referrerInfo
插件启动时,能够在App.js的onLaunch、onShow取到通过小程序my.navigateToMiniService传入的数据。
// 插件 App.js
App({
onLaunch(options) {
// referrerInfo 为 {data, appId } 结构,其中appId是宿主小程序的
console.log(options.referrerInfo);
},
onShow(options) {
console.log(options.referrerInfo);
},
});
从插件返回主体小程序
用户有两种途径从插件返回小程序
用户直接点击插件第一个页面的返回按钮关闭插件,并向小程序发送消息,此时小程序接收到的数据为空,且
action
值为cancel
。调用
my.navigateBackFromMiniService
插件操作完毕后,调用my.navigateBackFromMiniService()
向小程序发送消息并关闭插件,此时的action
为complete
。