- C# 文件命名改为 snake_case(28 个文件重命名) - C# 类转换为主构造函数(8 个类) - 空 catch 添加异常类型(2 处) - 新建 GlobalUsings.cs(Health.Infrastructure、Health.WebApi) - Flutter 移除 go_router,改用 Riverpod 路由栈 - Flutter 移除 flutter_secure_storage,改用 sqflite 持久化 - 修复 Flutter 构建路径(Flutter SDK 迁至 D 盘) - 后端端口改为 0.0.0.0:5000,支持局域网访问
40 lines
1023 B
Dart
40 lines
1023 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'core/app_router.dart';
|
|
import 'core/app_theme.dart';
|
|
import 'core/navigation_provider.dart';
|
|
|
|
/// 健康管家 App 根组件
|
|
class HealthApp extends ConsumerWidget {
|
|
const HealthApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
return const MaterialApp(
|
|
title: '健康管家',
|
|
debugShowCheckedModeBanner: false,
|
|
theme: AppTheme.lightTheme,
|
|
home: _RootNavigator(),
|
|
);
|
|
}
|
|
}
|
|
|
|
/// 根导航——根据 Riverpod 路由状态切换页面
|
|
class _RootNavigator extends ConsumerWidget {
|
|
const _RootNavigator();
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final stack = ref.watch(routeStackProvider);
|
|
final current = stack.last;
|
|
|
|
return PopScope(
|
|
canPop: stack.length <= 1,
|
|
onPopInvokedWithResult: (didPop, result) {
|
|
if (!didPop) popRoute(ref);
|
|
},
|
|
child: buildPage(current),
|
|
);
|
|
}
|
|
}
|