c***@guiyun.com
c***@guiyun.com
  • 发布:2022-03-10 18:37
  • 更新:2022-03-10 20:35
  • 阅读:741

【报Bug】plus.runtime.arguments获取小程序参数存在延迟

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.1 (21C52)

HBuilderX类型: 正式

HBuilderX版本号: 3.4.1

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone xs max

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
        onShow: function() {  
            console.log("onShow start")  

            console.log("参数111",plus.runtime.arguments)  

            setTimeout(function(){  
                // 延迟之后才能打印出小程序传递给app的参数  
                console.log("参数222",plus.runtime.arguments)  
            },1000)  
        }

操作步骤:

必须是第一次获取plus.runtime.arguments才能复现。第二次获取app启动参数能获取到,因为那是错误的参数,是第一次遗留下来没被覆盖的参数。

  1. 杀掉app进程。确保没有历史参数
  2. 启动app并跳转小程序
  3. 小程序返回app,并传递参数给app,结果就会发现plus.runtime.arguments为空

预期结果:

onshow中能即时获取plus.runtime.arguments

实际结果:

onshow中,只能延迟能获取plus.runtime.arguments

bug描述:

如图所示,直接在onshow中打印plus.runtime.arguments,不加延迟是获取不到的。

加延迟的话,逻辑不好判断,我不清楚到底该加多少延迟才能兼容所有机型。

2022-03-10 18:37 负责人:无 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

plus.runtime.arguments 获取参数存在延时是系统差异,暂时解决不了,加上 setTimeout 就对了

该问题目前已经被锁定, 无法添加新回复