This commit is contained in:
sion
2026-04-07 01:05:05 +08:00
parent edad10ff06
commit 5ca1274607
83 changed files with 1561 additions and 1241 deletions

View File

@@ -27,17 +27,17 @@ import 'ui/pages/main/main_page.dart';
import 'ui/pages/onboarding/onboarding_page.dart';
void main() async {
// 保 Flutter 定初始化
// 保 Flutter 定初始化
WidgetsFlutterBinding.ensureInitialized();
// 全局错误处理 - Flutter 框架错误
// 全局錯誤處理 - Flutter 框架錯誤
FlutterError.onError = (FlutterErrorDetails details) {
FlutterError.presentError(details);
debugPrint('Flutter Error: ${details.exception}');
debugPrint('Stack trace: ${details.stack}');
};
// 全局错误处理 - 步未捕获错误
// 全局錯誤處理 - 步未捕獲錯誤
PlatformDispatcher.instance.onError = (error, stack) {
debugPrint('Uncaught error: $error');
debugPrint('Stack: $stack');
@@ -88,7 +88,7 @@ class MyApp extends StatelessWidget {
final dioClient = DioClient();
return [
// Theme Provider (必放在最前面)
// Theme Provider (必放在最前面)
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider()..init(),
),
@@ -105,7 +105,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<AuthProvider>(
create: (ctx) {
final authProvider = AuthProvider(ctx.read<UserService>());
// token 过期时DioClient 回 AuthProvider 制登出
// token 過期時DioClient 回調 AuthProvider 制登出
dioClient.onUnauthorized = authProvider.forceLogout;
return authProvider;
},
@@ -137,7 +137,7 @@ class MyApp extends StatelessWidget {
],
builder: (context, child) {
child = ShadAppBuilder(child: child!);
// 配置 BotToast 确保显示在所有容之上
// 配置 BotToast 確保顯示在所有容之上
final botToastBuilder = BotToastInit();
child = botToastBuilder(context, child);
return child;
@@ -153,13 +153,13 @@ class MyApp extends StatelessWidget {
}
}
/// 根面 - 决定显示引导页还是主
/// 根面 - 決定顯示引導頁還是主
class RootPage extends StatelessWidget {
const RootPage({super.key});
@override
Widget build(BuildContext context) {
// 查是否需要示引导页
// 查是否需要示引導頁
if (!LocalStorage.isOnboardingCompleted) {
return OnboardingPage(
onComplete: () {