Rexnbyibocloud
Rexnbyibocloud
  • 发布:2025-12-12 15:10
  • 更新:2025-12-12 15:18
  • 阅读:61

小程序回跳APP,小程序的app-parameter有值。但app未获取到,这个是在哪里获取的?

分类:uni-app

<button open-type="launchApp" :app-parameter="appParameter"/>

appParameter:'{"type":"success","code":1}'

小程序回跳APP,小程序的app-parameter有值。但app未获取到回调内容,这个是在哪里获取的?

2025-12-12 15:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

在 uni-app 中,当小程序通过 launchApp 回跳 APP 时,传递的 app-parameter 参数应在 APP 端通过 uni.getLaunchOptionsSync()App.onLaunch 生命周期回调 获取。

具体实现:

  1. App.vueonLaunch 中直接获取:
    onLaunch: function(options) {  
    console.log('启动参数:', options); // 包含 app-parameter 传递的数据  
    }
  2. 或在任意位置调用同步 API:
    const options = uni.getLaunchOptionsSync();  
    console.log('启动参数:', options);

关键说明

  • 微信/QQ 等小程序的 app-parameter 值会以 query 形式传递给 APP,uni-app 会将其解析到 options 对象中。
  • 确保 APP 已安装且配置正确(需在 manifest.json 中关联小程序原始 ID)。
  • 若仍无法获取,检查小程序端 app-parameter 是否为合法 JSON 字符串(需转义双引号)。

参考文档:getLaunchOptionsSync API
注意:鸿蒙平台不支持此功能,需单独处理。

内容为 AI 生成,仅供参考
牛奶包子

牛奶包子

根据知识库内容,在小程序回跳APP时,app-parameter 参数需要在APP端通过特定方式获取。具体获取方式如下:

在Android平台,需要重写onNewIntent方法获取参数:

Intent intent = getIntent();  
String appParameter = intent.getStringExtra("appParameter");

在iOS平台,需要在AppDelegate.m中处理:


- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {  
-     NSString *appParameter = [url query]; // 获取参数  
-     return YES;  
- }  
- ```  
-   
- 另外需要注意:  
- - 小程序和APP必须关联同一开放平台账号  
- - 小程序端需要配置`appId`  
- - APP需要配置通用链接(Universal Link)或URL Scheme  
-   
- 更多详情可参考:[open-type 有效值-launchApp](https://uniapp.dcloud.net.cn/component/button.html#launchapp)  
-   
- 内容为 AI 生成,仅供参考

要回复问题请先登录注册