小程序启动参数相关问题

2020-09-04  本文已影响0人  越前君

一、支付宝小程序

相关链接:

// 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 的 onLaunchonShow 进行获取启动参数。

如果冷启动,则会在 onLaunch(options) 中获得参数; 如果为热启动,则会在 onShow(options) 中获得参数。建议冷启动中获取不了的时候,再尝试在 onShow 中获取,若还是获取不了,则可判定为没有拿到该参数。

4. 其他

my.switchTab()、my.navigateBack() 不支持带参跳转。

二、微信小程序

大同小异,后续补上...

上一篇下一篇

猜你喜欢

热点阅读