收藏
回答

小程序支付后页面的onshow执行了两次

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug Android Android 8.1.0 vivo x20A 7.0.0

-小程序支付不管是取消支付还是完成支付,跳转页面后,onshow执行了两次,iOS版本的和开发工具上没有这个问题,安卓最新版本存在这个问题,不知道怎么回事


最后一次编辑于  01-24  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 黎😄
    黎😄
    01-24

    第一次,付钱的时候,输入密码,这时有一层密码框,当密码框消失后,会调用onShow,支付完之后,跳到一个功能页,返回之后,调用onShow~~是这样吗

    01-24
    赞同
    回复
  • Circle张
    Circle张
    01-24

    不是,是支付在B页面,支付完后(或支付取消)跳转到A页面,A页面的onshow执行了两次

    01-24
    赞同
    回复
  • 飘落的叶
    飘落的叶
    01-24

    如果是微信的问题的话,在A页面设置一个flag=true,方法执行前判断一下if(flag){},执行后flag=false;执行完成后flag=true;

    感觉不太像微信的问题,是不是你onReady里面也调用了

    01-24
    赞同
    回复 4
    • Circle张
      Circle张
      01-24

      没有,只在onshow里面调用了,在onshow里面console一下,在手机上看出现了两次,并且是iOS和安卓微信6.7.3是好的,最新的7.0.0有这个问题,onshow执行了两次,页面也渲染了两遍

      01-24
      回复
    • 飘落的叶
      飘落的叶
      01-24回复Circle张

      那应该是微信的问题,设置flag可以解决吗

      01-24
      回复
    • Circle张
      Circle张
      01-24回复飘落的叶

      没有用

      01-24
      回复
    • 飘落的叶
      飘落的叶
      01-25回复Circle张

      支付或取消操作使用wx.navigateBack()试试

      使用getCurrentPages()看一下你页面栈结构

      提供代码片段


      01-25
      回复
  • nickname
    nickname
    01-24

    微信支付相关问题麻烦移步微信支付专区提问,感谢配合

    01-24
    赞同
    回复
  • SeaSonS
    SeaSonS
    09-02

    确实有这个问题,跳转的时候做个setTimeout 100ms,让onShow落到原来的页面

    09-02
    赞同
    回复