111
This commit is contained in:
@@ -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: () {
|
||||
|
||||
Reference in New Issue
Block a user