倖福de菋檤
倖福de菋檤
  • 发布:2022-10-14 17:13
  • 更新:2022-10-17 11:54
  • 阅读:314

开发ios内购时,调用restoreComplateRequest方法,返回值异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22000.1098

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iPhone 13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
IAP_GetChannels() {  
            plus.payment.getChannels(channels => {  
                for (var i in channels) {  
                    var channel = channels[i];  
                    // 获取 id 为 'appleiap' 的 channel  
                    if (channel.id === 'appleiap') {  
                        this.IAP_GetOrders(channel)  
                    }  
                }  
            });  
        },  

        IAP_GetOrders(channel) {  
            channel.restoreComplateRequest(  
                {},  
                function(results){  
                    console.log('restoreComplateRequest-results---', results);  
                },  
                function(e){  
                    console.log('restoreComplateRequest-results ---fail---', e);  
                }  
            );  
        },

操作步骤:

执行IAP_GetChannels()方法

预期结果:

IAP_GetOrders方法只返回一次results

实际结果:

IAP_GetOrders方法返回多次results,且最后返回的results的值才是正确的

bug描述:

IOS内购调用restoreComplateRequest接口时返回多次结果,且每次返回的内容都不相同。
返回结果如下图所示

2022-10-14 17:13 负责人:DCloud_uni-ad_HDX 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

IAP_GetChannels 是否调用了多次?提供个测试工程吧

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