惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
U
Unit 42
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
L
LangChain Blog
Engineering at Meta
Engineering at Meta
量子位
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
A
About on SuperTechFans
Y
Y Combinator Blog

博客园 - 折翼的飞鸟

React中 state值根据props传入值变化的静态方法 getDerivedStateFromProps 微信小程序分享图片显示自定义内容 Taro4.x 引入 taro-ui 组件库 Taro4.x引入redux报错:TypeError: middleware is not a function uniapp+vue3 微信小程序使用mqtt通信 uniapp+vue3 在App.vue中如何设置全局调用方法 Taro 在页面中import包、组件、样式文件的顺序自定义规则 Taro优化VirtualList虚拟列表组件 Taro 引入moment.js打包过大 Taro 打包体积分析 React:消息订阅(subscribe)-发布(publish)机制 Taro 插件引入 Taro: chooseLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json Taro 主包vendors.js文件过大 Taro自定义Tabbar Taro 微信转支付宝小程序: 问题八 TypeError: Function(...) is not a function Taro微信转支付宝小程序:问题七 引入的文件图片文件名不能有@符号 Taro微信转支付宝小程序:问题六 同时编译微信小程序和支付宝小程序 Taro微信转支付宝小程序:问题五 编译时没有报错,工具中却莫名奇妙的错误提示
Taro 支付宝小程序Page页获取小程序启动时的参数
折翼的飞鸟 · 2022-11-23 · via 博客园 - 折翼的飞鸟

支付宝扫码直接跳转到小程序指定的页面时,支付宝将其二维码链接转成小程序的启动参数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;
}
}