Taro 支付宝小程序Page页获取小程序启动时的参数
支付宝扫码直接跳转到小程序指定的页面时,支付宝将其二维码链接转成小程序的启动参数query来传递。此时在Taro中Page页面获取这些参数
支付宝如何获取各种场景的启动参数 参考文档
在页面层面(page.js中),通过 my.getLaunchOptionsSync 获取启动参数
// 这里是支付宝小程序原生的代码
Page({ onLoad: function() { let options = my.getLaunchOptionsSync(); console.log(options) } })
/*** -------------------------------------------------------------------------------------------------------------- ***/
// 在Taro框架中,通过生命周期 componentDidMount 中获取,此时如果项目兼容支付宝、微信,要先判断是否是支付宝环境
import Taro, { getCurrentInstance } from '@tarojs/taro';
componentDidMount () {
let routerParams = getCurrentInstance().router.params; // 获取url参数,此时支付宝小程序的启动参数是无法获取
if (process.env.TARO_ENV === 'alipay') {
// 获取支付宝小程序的启动参数,格式如下: {"path":"pages/index/index","query":{"qrCode":"https://xxxx"},"scene":"1011","apiCategory":"default"}
let {query}= my.getLaunchOptionsSync(); // 获取支付宝小程序的启动参数
routerParams = query;
}
}