开发
服务市场
社区

打开智能小程序

swan.navigateToSmartProgram

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

解释: 打开另一个小程序。

方法参数:Object object

object参数说明

参数名 类型 必填 默认值 说明
appKey String 要打开的小程序App Key(使用线上版appkey和envVersion配合使用)
path String 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 App.onLaunch、App.onShow 和 Page.onLoad 的回调函数中可以获取到 query 数据。
extraData Object 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch(),App.onShow() 中获取到这份数据。
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)
envVersion String release 要打开的小程序版本(develop 开发版,trial 体验版)

示例

在开发者工具中预览效果

  • 在 swan 文件中
1
2
3
<view class="wrap">
<button type="primary" bindtap="navigateToSmartProgram">navigateToSmartProgram</button>
</view>
  • 在 js 文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Page({
navigateToSmartProgram() {
swan.navigateToSmartProgram({
appKey: '4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c', // 要打开的小程序 App Key
path: 'pages/openShare/openShare?k=v', // 打开的页面路径,如果为空则打开首页
extraData: {
foo: 'baidu'
},
success: res => {
console.log('navigateToSmartProgram success', res);
},
fail: err => {
console.log('navigateToSmartProgram fail', err);
}
});
}
});
  • 在 css 文件中
1
2
3
.wrap {
padding: 50rpx 30rpx;
}

错误码

  • Andriod
错误码 说明
201 解析失败,请检查调起协议是否合法
202 解析失败,请检查参数是否正确
402 安全性检查:访问控制校验失败
501 网络错误
1001 执行失败
  • iOS
错误码 说明
202 解析失败,请检查参数是否正确
402 访问控制校验失败

swan.navigateBackSmartProgram

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

解释: 返回到上一个小程序。

方法参数:Object object

object参数说明

参数名 类型 必填 默认值 说明
extraData Object 需要返回给上一个小程序的数据,上一个小程序可在 App.onLaunch(),App.onShow() 中获取到这份数据。
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例
在开发者工具中预览效果

  • 在 swan 文件中
1
2
3
<view class="wrap">
<button type="primary" bindtap="navigateBackSmartProgram">navigateBackSmartProgram</button>
</view>
  • 在 js 文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Page({
navigateBackSmartProgram() {
swan.navigateBackSmartProgram({
extraData: {
foo: 'baidu'
},
success: res => {
console.log('navigateBackSmartProgram success', res);
},
fail: err => {
console.log('navigateBackSmartProgram fail', err);
}
});
}
});
  • 在 css 文件中
1
2
3
.wrap {
padding: 50rpx 30rpx;
}

错误码

  • Andriod
错误码 说明
201 解析失败,请检查调起协议是否合法
1001 执行失败
编 辑文 档 反 馈帮 助 回 到顶 部