微信小程序之间跳转
2018-09-30 本文已影响674人
指尖轻敲
前提
微信小程序支持小程序之间进行跳转,但是要实现跳转需要满足几个条件:
1. 要实现跳转的里两个小程序,必须要要绑定在同一个公众号下面

在公众号后台的小程序管理界面,点击关联小程序
通过搜索小程序的appId添加关联小程序。
2. 注意微信基础库的版本,如果低于支持的最小版本则无法跳转。
通过小程序的wx.getSystemInfo
API可以获取基础库版本。
wx.getSystemInfo({
success:(res)=>{
console.log(res.SDKVersion); //基础库版本
}
});
在微信开发者工具上可以设置不同的基础库版本进行调试。

如果小程序要运行在企业微信下,更需要注意基础库问题,企业微信的基础库会比微信的基础库低,不过现在最新版的企业微信基础已经满足条件了。不过在其他方面也需要注意,比如三方库的引用(echars等)。
实现跳转
方法一、wx.navigateToMiniProgram API实现
该API是比较早的实现小程序跳转的方法。具体使用方法请查看官方文档。该方法接收一个object作为参数。包含以下属性:

但是,官方提示:此接口即将废弃,请使用 <navigator> 组件来使用此功能。
方法二、<navigator> 组件实现
该组件支持小程序跳转的最低版本要求是2.0.7
。支持的参数和navigateToMiniProgram
一致。

在开发过程中遇到这样的问题:我们是基于企业微信开发的(微信上没有测试),虽然企业微信支持该组件,而且基础库版本也达到了要求。使用该组件进行跳转时,安卓手机正常跳转,但是ios跳转不了,看控制台有报错<navigator/> should have url attribute when using navigateTo, redirectTo or switchTab
,看样子像是没有识别出我要进行小程序跳转,而是要进行页面跳转,所以提示必须有url属性。
通过百度和微信小程序的社区发现也有其他人有这个问题,但是没有找到解决办法,希望尽快解决(发现问题日期:2018/09/30)。无奈之下只得先暂时选择使用wx.navigateToMiniProgram
方法实现。该方法是没有问题的。