优化订阅逻辑-未绑定账号的必须登录才可以购买套餐

This commit is contained in:
2025-10-17 21:42:48 +08:00
parent de9cf751f3
commit 135d60aaa6
6 changed files with 57 additions and 7 deletions
@@ -5,6 +5,7 @@ import 'package:kaer_with_panels/app/localization/app_translations.dart';
import 'package:kaer_with_panels/app/widgets/kr_app_text_style.dart';
import 'package:kaer_with_panels/app/widgets/kr_local_image.dart';
import 'package:kaer_with_panels/app/routes/app_pages.dart';
import 'package:kaer_with_panels/app/utils/kr_subscribe_navigation_util.dart';
import '../controllers/kr_home_controller.dart';
import '../models/kr_home_views_status.dart';
@@ -43,8 +44,8 @@ class KRHomeConnectionOptionsView extends GetView<KRHomeController> {
return GestureDetector(
onTap: () {
if (controller.kr_subscribeService.kr_currentSubscribe.value == null) {
// 未订阅状态下跳转到购买会员页面
Get.toNamed(Routes.KR_PURCHASE_MEMBERSHIP);
// 未订阅状态下,使用统一的订阅导航工具
KRSubscribeNavigationUtil.navigateToPurchase(tag: 'ConnectionOptions');
} else {
// 已订阅状态下执行原有的点击事件
onTap?.call();
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:kaer_with_panels/app/localization/app_translations.dart';
import 'package:kaer_with_panels/app/widgets/kr_app_text_style.dart';
import '../../../routes/app_pages.dart';
import '../../../utils/kr_subscribe_navigation_util.dart';
import '../controllers/kr_home_controller.dart';
@@ -40,7 +41,7 @@ class KRHomeLastDayCard extends GetView<KRHomeController> {
),
),
GestureDetector(
onTap: () => Get.toNamed(Routes.KR_PURCHASE_MEMBERSHIP),
onTap: () => KRSubscribeNavigationUtil.navigateToPurchase(tag: 'LastDayCard'),
child: Row(
children: [
Text(
@@ -6,6 +6,7 @@ import 'package:kaer_with_panels/app/widgets/kr_app_text_style.dart';
import '../../../routes/app_pages.dart';
import '../../../services/kr_subscribe_service.dart';
import '../../../utils/kr_log_util.dart';
import '../../../utils/kr_subscribe_navigation_util.dart';
import '../controllers/kr_home_controller.dart';
/// 试用卡片组件
@@ -41,7 +42,7 @@ class KRHomeTrialCard extends GetView<KRHomeController> {
),
),
GestureDetector(
onTap: () => Get.toNamed(Routes.KR_PURCHASE_MEMBERSHIP),
onTap: () => KRSubscribeNavigationUtil.navigateToPurchase(tag: 'TrialCard'),
child: Row(
children: [
Text(