Files
biz_xfj_cloud/lib/sub_screen/page/customer_preview.dart
T
2026-07-24 15:27:20 +08:00

48 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:pj_supermarket_cloud/sub_screen/common/models/customer_display_models.dart';
import 'package:pj_supermarket_cloud/sub_screen/common/utils/customer_display_coordinator.dart';
import 'package:pj_supermarket_cloud/sub_screen/page/customer_display.dart';
/// 主屏调试入口只负责注入演示数据,顾客屏本身与真实副屏共用同一 Widget。
class CustomerDisplayPreviewPage extends StatefulWidget {
const CustomerDisplayPreviewPage({super.key, this.arguments});
final Object? arguments;
@override
State<CustomerDisplayPreviewPage> createState() =>
_CustomerDisplayPreviewPageState();
}
class _CustomerDisplayPreviewPageState
extends State<CustomerDisplayPreviewPage> {
late final CustomerDisplayCoordinator _coordinator;
@override
void initState() {
super.initState();
final arguments = widget.arguments;
final scenarioName =
arguments is Map ? arguments['scenario']?.toString() : null;
final scenario = customerDisplayScenarioFromName(scenarioName);
// 预览也走协调器的本地计时,便于在模拟器检查倒计时和超时切换。
_coordinator = CustomerDisplayCoordinator.demo(scenario);
}
@override
void dispose() {
_coordinator.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return CustomerDisplayPage(
coordinator: _coordinator,
previewMode: true,
onExit: () => Navigator.of(context).maybePop(),
);
}
}