ி 背景
今天在阅读 uni-app
文档时,注意到有个小程序跳转的知识点,发现比较实用
但是,注意到 uni-app
与微信小程序
的代码要求还是有些差别的
所以前来测试一番,整理经验
-
首先,在阅读小程序的 全局配置 时,注意到在
app.json
文件中有一个navigateToMiniProgramAppIdList
配置项
-
通过文档解释,可以知道,在进行另一个小程序的跳转时,需要调用 wx.navigateToMiniProgram(Object object) API
同时注意,需要进行
navigateToMiniProgramAppIdList
的配置
✎ 代码示例
微信小程序端的示例代码为:
wx.navigateToMiniProgram({
appId: 'wxxxxxxxxxxxxxxxxxx0',
path: 'page/index/index?id=123',
extraData: {
foo: 'bar'
},
envVersion: 'develop',
success(res) {
// 打开成功
}
})
但是,因为最近在学习
uni-app
的知识,所以对应的uni-app
的示例代码为:
uni.navigateToMiniProgram({
appId: 'wxxxxxxxxxxxxxxxxxx0',
path: 'pages/index/index?id=123',
extraData: {
'data1': 'test'
},
success(res) {
// 打开成功
console.log('upToTap',res);
}
})
- 实现的效果(微信开发者工具)为:
因为测试工具的局限性,并不能进行真正的跳转,但是扫描后在手机端可以顺利跳转
☈ 附录:
注意
- 针对
uni-app
的代码编写:
本人在编写时发现,即便在 app.json 文件中配置了navigateToMiniProgramAppIdList 列表,但是在微信小程序运行时依然会报错:
“fail appId wxxxxxxxxxxxxxxxxxx0 is not in navigateToMiniProgramAppIdList”
- 解决方案就是,在微信开发者工具内,直接编辑对应的 app.json 文件,再补充一下 navigateToMiniProgramAppIdList 配置项即可
- 分析原因,应该是uni-app 的自动化文件生成不能实现对 app.json 文件的即时对应
- 针对 单纯微信小程序的代码编写:
只需 编辑对应的 app.json 文件,补充一下 navigateToMiniProgramAppIdList 配置项