QR 코드 스캔 QR 코드 업로드
도메인 스토어
링크 차단을 방지할 플랫폼 유형 선택
허용된 플랫폼 유형 선택

如何实现小程序跳转到另外一个小程序

小程序之间互相跳转,在开发中很常见。商品详情页跳到支付小程序,课程介绍页打开视频小程序,都是典型场景。通过跳转,不同小程序可以各司其职,拼成更完整的功能。实现上主要分两部分:先声明要跳转的小程序,再在页面里提供入口或用 API 触发。

配置本身不复杂。在发起跳转的小程序里打开 app.json,加一个 requiredMiniprogramAppid 字段,值填目标小程序的 appid。这样平台就知道当前小程序可以调用谁,避免随意拉起未声明的小程序。配置完成后,目标小程序才有被调用的权限。

页面入口一般用 navigator 组件。可以把它理解成把一个跳转动作封装成可点击元素,设置 open-type 为 navigate,url 指向目标小程序的页面路径。比如:

跳转



用户点击后,就会打开对应小程序的对应页面。如果只需要单纯跳转,到这里已经够用。

真实业务里,往往还要把当前上下文传过去。用户从哪个商品进来、选了哪个规格,这些信息如果不带,目标小程序就只能重新获取。navigator 组件支持 extra-data 属性,传一个对象即可。目标小程序启动后,可以在 onLaunch、onShow、onLoad 等生命周期函数里拿到这个对象,再按参数做初始化。

有些场景不适合用组件,比如要先调用接口校验状态,再决定是否跳转。这时可以用 wx.navigateToMiniProgram。它接收一个对象,appId 填目标小程序 appid,path 填目标页面路径,extraData 填要带过去的数据。path 和 extraData 都可选,按需传入就行。

还要考虑一个边界情况:用户设备上没有目标小程序。如果直接跳,可能毫无反应或报错。可以给跳转配置 fallback 备用链接,当目标小程序未安装时,引导用户到备用页面。这个细节在活动投放或引导到第三方小程序时很有用,能兜住一部分流失。



实际应用里,这类跳转已经很常见。电商小程序会跳到支付、客服、售后等辅助小程序,把交易链路串起来;教育小程序可能跳到视频小程序看课,或者跳到论坛小程序做讨论。跳转本身不难,难的是把参数、备用页和用户体验衔接好。

把配置、组件跳转和 API 跳转这几处打通,大多数互跳需求就能接住。参数传递和备用链接决定了跳转后的体验,值得根据业务实际情况加上。