新增支付方式获取

This commit is contained in:
2025-10-18 16:08:06 +08:00
parent 89c7334caf
commit 040d7d746a
3 changed files with 70 additions and 0 deletions
@@ -102,6 +102,9 @@ class KRPurchaseMembershipController extends GetxController {
await kr_fetchPackages();
// await kr_fetchPaymentMethods(); // ⚠️ 后端暂未实现 /v1/app/payment/methods 接口
// 获取公开的支付方式
await _kr_fetchPublicPaymentMethods();
// 根据套餐数量决定是否显示套餐选择器
kr_showPlanSelector.value = kr_plans.length > 1;
@@ -190,6 +193,51 @@ class KRPurchaseMembershipController extends GetxController {
);
}
/// 获取公开的支付方式列表
Future<void> _kr_fetchPublicPaymentMethods() async {
final either = await _kr_subscribeApi.kr_getPublicPaymentMethods();
either.fold(
(error) {
KRLogUtil.kr_e('获取公开支付方式失败: ${error.msg}', tag: 'PurchaseMembershipController');
},
(responseData) {
KRLogUtil.kr_i('✅ 获取公开支付方式成功', tag: 'PurchaseMembershipController');
try {
// 解析支付方式数据
final paymentMethodsData = KRPaymentMethods.fromJson(responseData);
kr_paymentMethods.value = paymentMethodsData.list;
KRLogUtil.kr_i('📊 支付方式数据已加载,共 ${kr_paymentMethods.length}', tag: 'PurchaseMembershipController');
// 打印支付方式信息
for (var method in kr_paymentMethods) {
KRLogUtil.kr_i(
'💳 支付方式: ${method.name} (ID: ${method.id}, Platform: ${method.platform})',
tag: 'PurchaseMembershipController'
);
}
print('═══════════════════════════════════════');
print('🔗 公开支付方式 API: /v1/public/payment/methods');
print('📊 支付方式列表:');
for (var i = 0; i < kr_paymentMethods.length; i++) {
final method = kr_paymentMethods[i];
print(' [$i] ${method.name} (platform: ${method.platform})');
}
print('═══════════════════════════════════════');
// 如果有支付方式,默认选择第一个
if (kr_paymentMethods.isNotEmpty) {
kr_selectedPaymentMethodIndex.value = 0;
}
} catch (e) {
KRLogUtil.kr_e('解析支付方式失败: $e', tag: 'PurchaseMembershipController');
}
},
);
}
/// 获取支付方式显示标题
String kr_getPaymentMethodTitle(KRPaymentMethod method) {
if (method.platform == 'balance') {