小程序之间互相跳转


一.背景:

在小程序里可以打开另一个小程序,让小程序之间可以互相连接跳转,类似于网页之间通过 URL 链接互相跳转。不仅可以打开另一个小程序的首页,还可以打开另一个小程序的任何一个页面,这让小程序之间的功能连接更自由。

二.解决方案:

小程序之间互相跳转,使用 *wx.navigateToMiniProgram *来实现。
不同主体的小程序可以相互跳转,不需要关联小程序(重点)。
官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html

三.使用限制

1.需要用户触发跳转

从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。

2.需要用户确认跳转

从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。

3.无需声明跳转名单,不限跳转数量(众测中)
  1. 从 2020 年 4 月 24 日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
  2. 从 2020 年 4 月 24 日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。

四.运营规范

平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守《微信小程序平台运营规范》,若发现小程序违反运营规范将被下架处理。

五.关于调试

  • 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。详情
  • 开发者工具上支持被跳转的小程序处理接收参数的调试。详情

六.代码示例

envVersion 的 合法值 说明(要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。)
develop 开发版
trial 体验版
release 正式版(默认值)

示例代码:

<!-- 方法一 事件跳转-->
<button bindtap="toNavigate">Leader755博客</button>

toNavigate(){
    wx.navigateToMiniProgram({
    appId: 'wx106ee470bb6fff70',
    path: 'pages/index/index',
    extraData: {
      foo: 'bar'
    },
    envVersion: 'develop',
    success(res) {
      console.log('跳转小程序成功')
    },
    fail(err){
      console.log('跳转小程序失败')
    }
  })
}


<!-- 方法二 -->
<navigator target="miniProgram" open-type='navigate' app-id="wx106ee470bb6fff70" version="release">Leader755博客</navigator>

be2ee931cba2b28c321e1881cfa0478.jpg


文章作者:   leader755
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 leader755 !
评论
 上一篇
微前端乾坤 微前端乾坤
1.什么是微前端?微前端(Micro-Frontends)是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。微前
2022-02-16
下一篇 
vuePress vuePress
VuePress 由两部分组成:第一部分是一个极简静态网站生成器(opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文
2022-02-04
  目录