getValidPurchasedTransactions method

  1. @override
Future<List<Transaction>> getValidPurchasedTransactions()
override

获取有当前有效购买交易信息

Implementation

@override
Future<List<Transaction>> getValidPurchasedTransactions() async {
  safeLog('调用 getValidPurchasedTransactions');
  try {
    final result = await methodChannel.invokeMethod(
      'getValidPurchasedTransactions',
    );
    safeLog(
      'getValidPurchasedTransactions 返回: ${result is List ? result.length : 'null'} 个交易',
    );
    if (result is List) {
      final transactions = result
          .whereType<Map>()
          .map((item) {
            try {
              final map = _deepConvertMap(item);
              return Transaction.fromMap(map);
            } catch (e) {
              safeLog('⚠️ getValidPurchasedTransactions 解析单个交易失败: $e');
              return null;
            }
          })
          .whereType<Transaction>()
          .toList();
      safeLog(
        '✅ getValidPurchasedTransactions 解析成功: ${transactions.length} 个交易',
      );
      return transactions;
    }
    return [];
  } catch (e, stackTrace) {
    safeLog(
      '❌ getValidPurchasedTransactions 失败: $e',
      error: e,
      stackTrace: stackTrace,
    );
    rethrow;
  }
}