小程序启动参数相关问题

简介: 小程序启动参数相关问题

正文


一、支付宝小程序


相关链接:


// 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() 不支持带参跳转。


二、微信小程序


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


目录
相关文章
|
3月前
|
C# 开发者
C# 9.0中的模块初始化器:程序启动的新控制点
【1月更文挑战第14天】本文介绍了C# 9.0中引入的新特性——模块初始化器(Module initializers)。模块初始化器允许开发者在程序集加载时执行特定代码,为类型初始化提供了更细粒度的控制。文章详细阐述了模块初始化器的语法、用途以及与传统类型初始化器的区别,并通过示例代码展示了如何在实际项目中应用这一新特性。
|
9月前
|
存储 缓存 监控
常用的JVM参数选项
常用的JVM参数选项
|
10月前
|
存储 Java
在jvm启动时获取和设置系统属性
获取系统属性需要用到Properties类,但是由于此类没有提供构造方法,所以不可以new对象,只能用System类里面的getProperties方法获得本类对象。
|
11月前
|
Java
JVM - 列出JVM默认参数及运行时生效参数
JVM - 列出JVM默认参数及运行时生效参数
81 0
|
安全 Java 编译器
JVM 的 noverify 启动参数
警告的原因为: 你的 JDK 使用了高于 13 的版本,但是你还是使用了-noverify 运行参数。
266 0
IIS加载uslresol.dll模块失败导致应用程序启动异常
IIS加载uslresol.dll模块失败导致应用程序启动异常
|
存储 小程序 Android开发
技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数
以传递 name 和 pwd 参数为例,分别介绍此场景在 Android 小程序和 iOS 小程序中的实现过程。
9078 0
技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数