更新睡眠报告页面和控制页面无设备的显示
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:flutter_svg/svg.dart';
|
||||
import 'package:flutter_switch/flutter_switch.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||
|
||||
class MattressControlPage extends StatefulWidget {
|
||||
@@ -18,50 +19,56 @@ class MattressControlPage extends StatefulWidget {
|
||||
class _MattressControlPageState extends State<MattressControlPage> {
|
||||
final controller = Get.put(ControlCardController());
|
||||
UserInfoController userInfoController = Get.find();
|
||||
MHTHomeController deviceController = Get.find();
|
||||
|
||||
int selectedIndex = 1; // 当前选中的tab索引
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final isLoggedIn = userInfoController.model.login == 1;
|
||||
final backgroundImage = isLoggedIn
|
||||
? 'assets/images/new_background.png'
|
||||
: 'assets/images/noLoginControl.png';
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
child: Stack(
|
||||
children: [
|
||||
// Background Image
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(backgroundImage),
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: Obx(() {
|
||||
final isLoggedIn = userInfoController.model.login == 1;
|
||||
final hasDevice = deviceController.deviceList.values.isNotEmpty;
|
||||
|
||||
// Blur overlay when not logged in
|
||||
if (!isLoggedIn)
|
||||
Positioned.fill(
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0),
|
||||
child: Container(
|
||||
color: Colors.black.withOpacity(0.5),
|
||||
final showNoLoginView = !isLoggedIn || !hasDevice;
|
||||
|
||||
final backgroundImage = showNoLoginView
|
||||
? 'assets/images/noLoginControl.png'
|
||||
: 'assets/images/new_background.png';
|
||||
|
||||
return Stack(
|
||||
children: [
|
||||
// 背景图片
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(backgroundImage),
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
),
|
||||
// 遮罩层:未登录或无设备时显示
|
||||
if (showNoLoginView)
|
||||
Positioned.fill(
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0),
|
||||
child: Container(
|
||||
color: Colors.black.withOpacity(0.5),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
// Main Content
|
||||
Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
body: SafeArea(
|
||||
child: WebviewTestView(),
|
||||
// 主内容
|
||||
Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
body: SafeArea(
|
||||
child: WebviewTestView(),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user