优化邀请码在不登录的时候要求客户去登录

This commit is contained in:
2025-10-22 22:17:06 +08:00
parent 17ea51b583
commit f1a8dfe4e7
5 changed files with 110 additions and 17 deletions
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:kaer_with_panels/app/common/app_config.dart';
import 'package:kaer_with_panels/app/common/app_run_data.dart';
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';
@@ -48,16 +49,32 @@ class KRInviteView extends GetView<KRInviteController> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Theme.of(context).primaryColor,
body: EasyRefresh(
controller: controller.refreshController,
onRefresh: controller.kr_onRefresh,
header: DeliveryHeader(
triggerOffset: 50.0,
springRebound: true,
),
child: CustomScrollView(
physics: const BouncingScrollPhysics(),
slivers: [
body: Obx(() {
// 使用 Obx 响应式监听登录状态
final appRunData = KRAppRunData.getInstance();
final isDeviceLogin = appRunData.isDeviceLogin();
final isLoggedIn = appRunData.kr_isLogin.value && !isDeviceLogin;
if (!isLoggedIn) {
// 未登录或设备登录,显示空白页面并触发对话框
// 使用 WidgetsBinding 确保在构建完成后调用
WidgetsBinding.instance.addPostFrameCallback((_) {
controller.kr_onPageEnter();
});
return Container(); // 空白容器
}
// 正常登录用户显示邀请页面内容
return EasyRefresh(
controller: controller.refreshController,
onRefresh: controller.kr_onRefresh,
header: DeliveryHeader(
triggerOffset: 50.0,
springRebound: true,
),
child: CustomScrollView(
physics: const BouncingScrollPhysics(),
slivers: [
SliverAppBar(
expandedHeight: 150.w,
floating: false,
@@ -140,7 +157,8 @@ class KRInviteView extends GetView<KRInviteController> {
),
],
),
),
);
}), // 闭合 Obx
);
}