收藏
回答

服务区迁移至火山云之后,为什么微信支付成功回调无法获取页面栈?

wx.requestPayment({
        timeStamp: data.timeStamp + "",
        nonceStr: data.nonceStr + "",
        package: data.package + "",
        signType: data.signType || 'MD5',
        paySign: (data.sign || data.paySign) + "",
        success(res) {
          
            setInterval(() => {
              let pages = getCurrentPages(); // 获取加载的页面
              let page = ''
              if (pages.length > 0) {
                page = pages[pages.length - 1] //获取当前页面的对象
              }
              console.log('--------');
              console.log(page);
            }, 100)
            // if (!page) {
            //  wx.navigateBack()
            // }
        },
        fail(res) {
          // reject(res);
        }
      })


代码片段如上所示,很简单,服务端由阿里云迁移至火山云之后,支付成功的页面发生了 改变,在阿里云的环境中,可以获取到page,
但是在火山云的环境中获取的page是undefined

这个是在阿里云环境下支付成功,在succeess中进行的跳转之之后的页面;

这个是在火山云环境下,支付成功的页面,这个页面并不是小程序中的任何一个页面。在success回调中使用wx.navigateTo(), wx.redirectTo()等页面操作的api,都都会报错权限问题,因为getCurrentPages返回的是空数组

前不知道问题出在哪里,使用的是同一个域名,只是域名解析发生了改变;另外,小程序的其他功能都能正常使用

回答关注问题邀请回答
收藏

2 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    04-01

    这是进了点金计划页面和没有开通的页面,这和你迁移没啥关系

    04-01
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    04-01

    真NB啊,后端迁移服务器还能影响客户端api

    04-01
    有用
    回复
登录 后发表内容