From 6875ded842a917278d42e4a4b2e75a93a6755487 Mon Sep 17 00:00:00 2001 From: fengshengxiong Date: Fri, 31 May 2024 17:37:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0firebase=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Runner.xcodeproj/project.pbxproj | 38 +++++++++---------- lib/modules/discover/discover_controller.dart | 23 ++++++++--- pubspec.yaml | 9 +++-- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 3a233b3..cc16291 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -202,7 +202,7 @@ 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 39CCEDF39CF579238AE308F0 /* [CP] Embed Pods Frameworks */, 405E88F0300BCE9602B4DA07 /* [CP] Copy Pods Resources */, - 456CF4E894A8BC296C35D84E /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, + 11551C2B5E159DE061202726 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, ); buildRules = ( ); @@ -275,6 +275,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 11551C2B5E159DE061202726 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; + }; 34C811B39ECD78862B33AD2D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -347,24 +365,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 456CF4E894A8BC296C35D84E /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; - }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; diff --git a/lib/modules/discover/discover_controller.dart b/lib/modules/discover/discover_controller.dart index 0d32baa..f669e1e 100644 --- a/lib/modules/discover/discover_controller.dart +++ b/lib/modules/discover/discover_controller.dart @@ -1,3 +1,6 @@ +import 'dart:async'; + +import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:easy_refresh/easy_refresh.dart'; import 'package:get/get.dart'; import 'package:hello_wallpaper/common/components/view_state_widget.dart'; @@ -8,6 +11,7 @@ import 'package:hello_wallpaper/routes/app_pages.dart'; class DiscoverController extends GetxController { static DiscoverController get to => Get.find(); + late StreamSubscription> _connectivitySubscription; late final EasyRefreshController refreshController; late ViewState viewState; var allWallpaper = []; @@ -25,24 +29,31 @@ class DiscoverController extends GetxController { @override void onInit() { super.onInit(); + _connectivitySubscription = Connectivity().onConnectivityChanged.listen((List result) { + if (result.contains(ConnectivityResult.none)) { + getData(); + } + }); refreshController = EasyRefreshController(controlFinishLoad: true); getData(); } + @override + void onClose() { + _connectivitySubscription.cancel(); + super.onClose(); + } + void getData() { todayNewestData = HomeController.to.getRandomCls(); - if (todayNewestData != null && - todayNewestData!.data != null && - todayNewestData!.data!.length >= 3) { + if (todayNewestData != null && todayNewestData!.data != null && todayNewestData!.data!.length >= 3) { clsName = ObjUtil.getStr(todayNewestData!.name); var flatList = todayNewestData!.data!.map((e) => e).toList(); // 随机打乱此列表中的元素,再取前3个元素 todayNewestList = (flatList..shuffle()).take(3).toList(); } viewState = HomeController.to.viewState; - allWallpaper = HomeController.to.wallpaperModelList - .expand((element) => element.data ?? []) - .toList(); + allWallpaper = HomeController.to.wallpaperModelList.expand((element) => element.data ?? []).toList(); // 打乱List顺序 allWallpaper.shuffle(); _getDataToShow(); diff --git a/pubspec.yaml b/pubspec.yaml index 96ef478..78f5d58 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -95,10 +95,13 @@ dependencies: # AppLovin applovin_max: ^3.10.0 + # 网络状态监听 + connectivity_plus: ^6.0.3 + # Firebase - firebase_core: ^2.31.1 - firebase_analytics: ^10.10.6 - firebase_crashlytics: ^3.5.6 + firebase_core: ^2.32.0 + firebase_analytics: ^10.10.7 + firebase_crashlytics: ^3.5.7 flutter_launcher_icons: android: "launcher_icon"