feat: 增加ios支付&ui修改

This commit is contained in:
speakeloudest 2025-12-09 07:23:26 -08:00
parent ca913eb38f
commit f70b32ec3f
2 changed files with 94 additions and 95 deletions

View File

@ -872,6 +872,7 @@ class KRPurchaseMembershipController extends GetxController {
label: 'Hi快VPN 服务', label: 'Hi快VPN 服务',
amount: kr_getPlanPrice( amount: kr_getPlanPrice(
kr_plans[kr_selectedPlanIndex.value], kr_plans[kr_selectedPlanIndex.value],
discountIndex: kr_selectedDiscountIndex.value
).toStringAsFixed(2), ).toStringAsFixed(2),
), ),
], ],

View File

@ -47,102 +47,100 @@ class KRPurchaseMembershipView extends GetView<KRPurchaseMembershipController>
padding: const EdgeInsets.only(left: 20), padding: const EdgeInsets.only(left: 20),
child: Stack( child: Stack(
children: [ children: [
Padding( Obx(() {
padding: EdgeInsets.only(bottom: 80.0), return Positioned.fill(
child: Obx(() => SingleChildScrollView( bottom: 90.0,
child: Column( child: SingleChildScrollView(
children: [ child: Column(
/*_kr_buildAccountSection(context),*/ children: [
if (controller.kr_isLoading.value) /*_kr_buildAccountSection(context),*/
Container( if (controller.kr_isLoading.value)
height: Container(
MediaQuery.of(context).size.height * 0.5, height: MediaQuery.of(context).size.height * 0.5,
child: Center( child: Center(
child: KRSimpleLoading( child: KRSimpleLoading(
color: Colors.white, color: Colors.white,
size: 50.0, size: 50.0,
),
),
)
else if (controller.kr_plans.isEmpty)
Container(
height:
MediaQuery.of(context).size.height * 0.5,
child: Center(
child: Text(
AppTranslations
.kr_purchaseMembership.noData,
style: KrAppTextStyle(
fontSize: 14,
color: Theme.of(context)
.textTheme
.bodyMedium
?.color,
),
),
),
)
else
Container(
margin: EdgeInsets.only(
left: 40.0 - 20, right: 40.0),
child: Column(
children: [
//
Container(
padding: EdgeInsets.all(0.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Column(
// 使 List.generate
children: List.generate(
controller.kr_getTotalOptionsCount(
controller.kr_plans[controller
.kr_selectedPlanIndex
.value]),
(index) {
final plan = controller
.kr_plans[
controller
.kr_selectedPlanIndex
.value];
final discountIndex =
plan.kr_discount.isEmpty
? null
: index;
// 使 Padding mainAxisSpacing
return Padding(
padding: EdgeInsets.only(
bottom: 8.0),
child: SizedBox(
height: 130.0,
child:
_kr_buildPlanOptionCard(
plan,
controller
.kr_selectedPlanIndex
.value,
discountIndex,
context,
index,
),
),
);
},
),
),
],
),
),
],
), ),
), ),
], )
), else if (controller.kr_plans.isEmpty)
)), Container(
), height: MediaQuery.of(context).size.height * 0.5,
child: Center(
child: Text(
AppTranslations.kr_purchaseMembership.noData,
style: KrAppTextStyle(
fontSize: 14,
color: Theme.of(context)
.textTheme
.bodyMedium
?.color,
),
),
),
)
else
Container(
margin:
EdgeInsets.only(left: 40.0 - 20, right: 40.0),
child: Column(
children: [
//
Container(
padding: EdgeInsets.all(0.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Column(
// 使 List.generate
children: List.generate(
controller.kr_getTotalOptionsCount(
controller.kr_plans[controller
.kr_selectedPlanIndex
.value]),
(index) {
final plan = controller.kr_plans[
controller
.kr_selectedPlanIndex
.value];
final discountIndex =
plan.kr_discount.isEmpty
? null
: index;
// 使 Padding mainAxisSpacing
return Padding(
padding: EdgeInsets.only(
bottom: 8.0),
child: SizedBox(
height: 130.0,
child:
_kr_buildPlanOptionCard(
plan,
controller
.kr_selectedPlanIndex
.value,
discountIndex,
context,
index,
),
),
);
},
),
),
],
),
),
],
),
),
],
),
),
);
}),
Positioned( Positioned(
top: 160.0, // top: 160.0, //
right: 10.0, // 20.w right: 10.0, // 20.w
@ -151,7 +149,7 @@ class KRPurchaseMembershipView extends GetView<KRPurchaseMembershipController>
imageType: ImageType.svg, imageType: ImageType.svg,
), ),
), ),
const HIHelpEntrance(isLight: false) const HIHelpEntrance(isLight: false)
], ],
), ),
), ),