收藏
回答

Android下onShow不会重置referrerInfo, iOS会重置,各位大佬怎么处处理?

Android下onShow不会重置referrerInfo, iOS会自动重置。

业务场景:

比如 wx.navigateBackMiniProgram 回传数据的时候,目标小程序在onShow接收数据,处理相关业务,比如跳转页面。

小程序每触发一次onShow就会多处理一次相关逻辑,尴尬,在安卓上会这样。iOS上不会,因为官方给自动重置了。


屎山:在回传数据的时候,传递 unique 唯一标识

if (!!options?.referrerInfo?.appId && !!options?.referrerInfo?.extraData?.msgType) {
  const unique = options?.referrerInfo?.extraData?.unique;
  // android下onShow不会重置referrerInfo属性
  if (this.lastReferrerInfoUnique != unique) {
    this.lastReferrerInfoUnique = unique
    this.handleEmbeddedBack(options?.referrerInfo || {})
  } else {
    console.log('已经处理过,不再二次处理')
  }
}


回答关注问题邀请回答
收藏
登录 后发表内容