新增支付方式获取
This commit is contained in:
parent
89c7334caf
commit
040d7d746a
@ -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') {
|
||||
|
||||
@ -95,4 +95,7 @@ abstract class Api {
|
||||
|
||||
/// 解绑用户设备
|
||||
static const String kr_unbindUserDevice = "/v1/public/user/unbind_device";
|
||||
|
||||
/// 获取可用支付方式(公开接口)
|
||||
static const String kr_getPublicPaymentMethods = "/v1/public/payment/methods";
|
||||
}
|
||||
|
||||
@ -271,4 +271,23 @@ class KRSubscribeApi {
|
||||
|
||||
return right(baseResponse.model.kr_bl);
|
||||
}
|
||||
|
||||
/// 获取公开的支付方式列表
|
||||
Future<Either<HttpError, dynamic>> kr_getPublicPaymentMethods() async {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
|
||||
BaseResponse<dynamic> baseResponse =
|
||||
await HttpUtil.getInstance().request<dynamic>(
|
||||
Api.kr_getPublicPaymentMethods,
|
||||
data,
|
||||
method: HttpMethod.GET,
|
||||
isShowLoading: false,
|
||||
);
|
||||
if (!baseResponse.isSuccess) {
|
||||
return left(
|
||||
HttpError(msg: baseResponse.retMsg, code: baseResponse.retCode));
|
||||
}
|
||||
|
||||
return right(baseResponse.model);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user