收藏
回答

开通会员卡后,onShow中数据重复问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug navigateToMiniProgram 微信iOS客户端 8.0.2 2.16.0

用户通过navigateToMiniProgram方法跳转到开卡小程序完成开卡后,返回我们的小程序,我们在app.onShow中拿到开通结果,做出开卡后的处理。

此时用户再次触发app.onShow方法,该方法会再次携带开卡参数执行一遍。

我们目前可以用其他方法解决这个问题,但是这个坑得填。

最后一次编辑于  2021-04-11
回答关注问题邀请回答
收藏

5 个回答

  • 少侠
    少侠
    2021-04-07

    你可以去了解下小程序的展示机制,跳转到别的小程序,当前小程序会进入后台,返回以后会进入前台,自然会触发onShow。

    你们最好埋个钩子在onShow里面,必要的时候再执行对应逻辑

    2021-04-07
    有用 1
    回复 1
    • 比尔盖雨
      比尔盖雨
      2021-04-11
      麻烦您看下我说的问题。当用户开通会员卡以后,onShow会触发一次(携带开卡回调参数),此时小程序切到后台,再次进入onShow时(开卡回调参数仍然还在),所以开卡后的处理会执行两遍。
      2021-04-11
      回复
  • 爱吃番茄的橘子猫
    爱吃番茄的橘子猫
    2021-07-28

    你们目前用的什么办法处理的呀

    2021-07-28
    有用
    回复
  • Lmmmmc
    Lmmmmc
    2021-04-29

    wx.onAppShow监听一下,完事再用wx.offAppShow关闭监听就行了

    2021-04-29
    有用
    回复
  • Brother斌🎈
    Brother斌🎈
    2021-04-07

    只能说是你自己没弄明白onShow机制导致的坑

    2021-04-07
    有用
    回复 3
    • 比尔盖雨
      比尔盖雨
      2021-04-11
      麻烦您看下我说的问题。当用户开通会员卡以后,onShow会触发一次(携带开卡回调参数),此时小程序切到后台,再次进入onShow时(开卡回调参数仍然还在),所以开卡后的处理会执行两遍。
      2021-04-11
      回复
    • Brother斌🎈
      Brother斌🎈
      2021-04-12回复比尔盖雨
      再看也是一样,18年就有人提出这个问题,官方不理 只能自己兼容
      2021-04-12
      回复
    • 爱吃番茄的橘子猫
      爱吃番茄的橘子猫
      2021-07-28回复比尔盖雨
      请问你解决了吗
      2021-07-28
      回复
  • 撒欢
    撒欢
    2021-04-07

    只要返回当前页 onshow就会启动,更改为onload 或者onshow里进行判断。

    2021-04-07
    有用
    回复 1
    • 比尔盖雨
      比尔盖雨
      2021-04-11
      您说的onShow的触发时机,这个我清楚的
      2021-04-11
      回复
登录 后发表内容
问题标签