支付宝小程序启动参数相关问题
// scheme 链接
alipays://platformapi/startapp?appId=[appId]&page=[pagePath]&query=[params]
参数 | 描述 | 示例 |
---|---|---|
appId | 要跳转的目标小程序 appId | 20170713077xxxxx |
pagePath | 要跳转到目标小程序的具体 page 页面,该值等于 app.json 里面的配置值;如果不带 page 字段,默认跳转到小程序首页。 注意:如 pagePath 需要带参数,也要进行 UrlEncode 处理。 | pages/index/index |
query | 表示从外部 APP 携带的参数透传到目标小程序;如果不需要携带参数给小程序,可以不带该参数。 query:启动参数,内容按照格式为:参数名=参数值&参数名=参数值。 注意:query 携带的启动参数必须进行 UrlEncode 否则只能获取第一个参数! | xx%3Dxx |
1. 应用逻辑
每次通过 scheme 调用,前端表现是重新触发 onLaunch
和 onShow
,都会传参给 app.js
的 onLaunch
和 onShow
,基础页面会重新触发 onLoad
和 onShow
方法。
在保活期间(5分钟),比如锁屏之后,会重新触发 onShow
方法,但是却没法获取参数,也就是传参 scheme 只会在调用的时候触发一次,再次启动只是触发 onShow
不会传参。只能前端在 onShow
里做相应的业务逻辑。
2. 页面的逻辑
当小程序用 scheme 从后台唤起的时候,其实相当于重新被打开了 onLoad
,还有 onShow
都会被触发。
在保活期间(5分钟)被重新唤起的时候,就只会触发 onShow
。
3. 小程序通过 scheme 跳转如何获取启动参数
在小程序 app.js
的 onLaunch
或 onShow
进行获取启动参数。
如果冷启动,则会在 onLaunch(options)
中获得参数; 如果为热启动,则会在 onShow(options)
中获得参数。建议冷启动中获取不了的时候,再尝试在 onShow
中获取,若还是获取不了,则可判定为没有拿到该参数。
4. 其他
my.switchTab()
、my.navigateBack()
不支持带参跳转。
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论