Prechádzať zdrojové kódy

无网络状态提醒改用统一封装的组件。

PC\19500 2 týždňov pred
rodič
commit
892856ad7b

+ 10 - 0
android/app/build.gradle.kts

@@ -15,6 +15,11 @@ android {
         targetCompatibility = JavaVersion.VERSION_17
     }
 
+    // 抑制 Java 版本过时警告(来自依赖库)
+    tasks.withType<JavaCompile> {
+        options.compilerArgs.add("-Xlint:-options")
+    }
+
     kotlinOptions {
         jvmTarget = JavaVersion.VERSION_17.toString()
     }
@@ -28,6 +33,11 @@ android {
         targetSdk = flutter.targetSdkVersion
         versionCode = flutter.versionCode
         versionName = flutter.versionName
+
+        // JPush 配置占位符
+        // TODO: 请替换为实际的 JPush AppKey 和 Channel
+        manifestPlaceholders["JPUSH_APPKEY"] = "your_jpush_appkey_here"
+        manifestPlaceholders["JPUSH_CHANNEL"] = "developer-default"
     }
 
     buildTypes {

+ 16 - 11
lib/core/network/pages/no_network_page.dart

@@ -1,22 +1,27 @@
 import 'package:flutter/material.dart';
+import 'package:flutter_riverpod/flutter_riverpod.dart';
 import 'package:sino_med_cloud/l10n/app_localizations.dart';
+import 'package:sino_med_cloud/shared/widgets/error_view.dart';
+import '../network_provider.dart';
 
-class NoNetworkPage extends StatelessWidget {
+class NoNetworkPage extends ConsumerWidget {
   const NoNetworkPage({super.key});
 
   @override
-  Widget build(BuildContext context) {
+  Widget build(BuildContext context, WidgetRef ref) {
     final l10n = AppLocalizations.of(context)!;
+
+    // 重试:刷新网络状态检查
+    void onRetry() {
+      ref.invalidate(networkStatusProvider);
+    }
+
     return Scaffold(
-      body: Center(
-          child: Column(
-              mainAxisAlignment: MainAxisAlignment.center,
-              children: [
-                Icon(Icons.wifi_off, size: 64),
-                SizedBox(height: 16),
-                Text(l10n.noNetworkConnection),
-              ]
-          )
+      body: ErrorView(
+        icon: Icons.wifi_off,
+        message: l10n.noNetworkConnection,
+        error: l10n.networkErrorCheckSettings,
+        onRetry: onRetry,
       ),
     );
   }

+ 4 - 3
pubspec.yaml

@@ -88,9 +88,10 @@ flutter:
   uses-material-design: true
 
   # To add assets to your application, add an assets section, like this:
-  # assets:
-  #   - images/a_dot_burr.jpeg
-  #   - images/a_dot_ham.jpeg
+  # 资源文件
+  assets:
+    - assets/images/
+    - assets/icons/
 
   # An image asset can refer to one or more resolution-specific "variants", see
   # https://flutter.dev/to/resolution-aware-images