美文网首页
小程序启动参数相关问题

小程序启动参数相关问题

作者: 越前君 | 来源:发表于2020-09-04 12:36 被阅读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() 不支持带参跳转。

    二、微信小程序

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

    相关文章

      网友评论

          本文标题:小程序启动参数相关问题

          本文链接:https://www.haomeiwen.com/subject/raxzsktx.html