swan.navigateToSmartProgram

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

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

方法参数

Object object

object参数说明

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

示例

扫码体验

swan.navigateToSmartProgram - 图2请使用百度APP扫码

图片示例

swan.navigateToSmartProgram - 图3

swan.navigateToSmartProgram - 图4

swan.navigateToSmartProgram - 图5

代码示例1: 打开正式版小程序 :

在开发者工具中预览效果

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

代码示例2: 打开开发版小程序(携带参数) :

在开发者工具中预览效果

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

错误码

Android

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

iOS

错误码说明
202解析失败,请检查参数是否正确
402访问控制校验失败