mirror of
https://github.com/gskinnerTeam/flutter-wonderous-app.git
synced 2025-06-17 17:21:10 +08:00
Initial public commit
This commit is contained in:
.github
.gitignore.metadata.vscode
LICENSEREADME.mdanalysis_options.yamlandroid
.gitignore
app
build.gradle
build.gradlegradle.propertiessrc
debug
main
AndroidManifest.xmlic_launcher-playstore.png
kotlin/com/gskinner/wonders
res
drawable-hdpi
drawable-mdpi
drawable-v21
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi
drawable
mipmap-hdpi
mipmap-mdpi
mipmap-xhdpi
mipmap-xxhdpi
mipmap-xxxhdpi
values-night
values-v31
values
profile
gradle/wrapper
settings.gradleassets
fonts
B612Mono-Regular.ttfCinzelDecorative-Black.ttfCinzelDecorative-Bold.ttfCinzelDecorative-Regular.ttfMaShanZheng-Regular.ttfRaleway-Bold.ttfRaleway-BoldItalic.ttfRaleway-ExtraBold.ttfRaleway-ExtraBoldItalic.ttfRaleway-Italic.ttfRaleway-Medium.ttfRaleway-MediumItalic.ttfRaleway-Regular.ttfTenorSans-Regular.ttfYesevaOne-Regular.ttf
images
_common
2.0x
adjust-search.pngarrow-indicator.pngcloud-white.pngconstruction.pnggeography.pnghistory.pngintro-camel.jpgintro-mask-1.pngintro-mask-2.pngintro-mask-3.pngintro-petra.jpgintro-statue.jpglocation-pin.pngribbon-end.pngsearch-map.pngtab-artifacts-active.pngtab-artifacts.pngtab-bubble-bar.pngtab-bubble.pngtab-editorial-active.pngtab-editorial.pngtab-photos-active.pngtab-photos.pngtab-timeline-active.pngtab-timeline.png
3.0x
adjust-search.pngconstruction.pnggeography.pnghistory.pngintro-camel.jpgintro-mask-1.pngintro-mask-2.pngintro-mask-3.pngintro-petra.jpgintro-statue.jpgribbon-end.pngsearch-map.pngtab-artifacts-active.pngtab-artifacts.pngtab-editorial-active.pngtab-editorial.pngtab-photos-active.pngtab-photos.pngtab-timeline-active.pngtab-timeline.png
adjust-search.pngapp-logo-plain.pngapp-logo.pngarrow-indicator.pngcloud-white.pngcloud-white.svgcompass-full.svgcompass-simple.svgconstruction.pnggeography.pnghistory.pngicons
2.0x
icon-back.pngicon-close-large.pngicon-close.pngicon-collection.pngicon-download.pngicon-expand.pngicon-fullscreen-exit.pngicon-fullscreen.pngicon-info.pngicon-menu.pngicon-next-large.pngicon-north.pngicon-prev.pngicon-reset-location.pngicon-search.pngicon-share-android.pngicon-share-ios.pngicon-timeline.pngicon-wallpaper.pngicon-zoom-in.pngicon-zoom-out.png
3.0x
icon-back.pngicon-close-large.pngicon-close.pngicon-collection.pngicon-download.pngicon-expand.pngicon-fullscreen-exit.pngicon-fullscreen.pngicon-info.pngicon-menu.pngicon-next-large.pngicon-north.pngicon-prev.pngicon-reset-location.pngicon-search.pngicon-share-android.pngicon-share-ios.pngicon-timeline.pngicon-wallpaper.pngicon-zoom-in.pngicon-zoom-out.png
icon-close-large.pngicon-close.pngicon-collection.pngicon-download.pngicon-expand.pngicon-fullscreen-exit.pngicon-fullscreen.pngicon-info.pngicon-menu.pngicon-next-large.pngicon-north.pngicon-prev.pngicon-reset-location.pngicon-search.pngicon-share-android.pngicon-share-ios.pngicon-timeline.pngicon-wallpaper.pngicon-zoom-in.pngicon-zoom-out.pngtexture
chichen_itza
2.0x
chichen.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngtop-left.pngtop-right.pngwonder-button.png
3.0x
chichen.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngtop-left.pngtop-right.pngwonder-button.png
chichen.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngtop-left.pngtop-right.pngwonder-button.pngchrist_the_redeemer
2.0x
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgredeemer.pngsun.pngwonder-button.png
3.0x
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgredeemer.pngsun.pngwonder-button.png
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgredeemer.pngsun.pngwonder-button.pngcollectibles
colosseum
2.0x
colosseum.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
3.0x
colosseum.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
colosseum.pngflattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.pnggreat_wall_of_china
2.0x
flattened.jpgforeground-left.pngforeground-right.pnggreat-wall.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
3.0x
flattened.jpgforeground-left.pngforeground-right.pnggreat-wall.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
flattened.jpgforeground-left.pngforeground-right.pnggreat-wall.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.pngmachu_picchu
2.0x
flattened.jpgforeground-back.pngforeground-front.pngmachu-picchu.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
3.0x
flattened.jpgforeground-back.pngforeground-front.pngmachu-picchu.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.png
flattened.jpgforeground-back.pngforeground-front.pngmachu-picchu.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgsun.pngwonder-button.pngpetra
2.0x
candles.pngflattened.jpgforeground-left.pngforeground-right.pngmoon.pngpetra.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgwonder-button.png
3.0x
candles.pngflattened.jpgforeground-left.pngforeground-right.pngmoon.pngpetra.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgwonder-button.png
candles.pngflattened.jpgforeground-left.pngforeground-right.pngmoon.pngpetra.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgwonder-button.pngpyramids
2.0x
flattened.jpgforeground-back.pngforeground-front.pngmoon.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpyramids.pngwonder-button.png
3.0x
flattened.jpgforeground-back.pngforeground-front.pngmoon.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpyramids.pngwonder-button.png
flattened.jpgforeground-back.pngforeground-front.pngmoon.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpyramids.pngwonder-button.pngtaj_mahal
2.0x
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpool.pngsun.pngtaj-mahal.pngwonder-button.png
3.0x
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpool.pngsun.pngtaj-mahal.pngwonder-button.png
flattened.jpgforeground-left.pngforeground-right.pngphoto-1.jpgphoto-2.jpgphoto-3.jpgphoto-4.jpgpool.pngsun.pngtaj-mahal.pngwonder-button.pngmarketing
ios
.gitignore.ruby-version
l10n.yamlFlutter
PodfilePodfile.lockRunner.xcodeproj
Runner.xcworkspace
Runner
AppDelegate.swift
Assets.xcassets
AppIcon.appiconset
Contents.jsonIcon-App-1024x1024@1x.pngIcon-App-20x20@1x.pngIcon-App-20x20@2x.pngIcon-App-20x20@3x.pngIcon-App-29x29@1x.pngIcon-App-29x29@2x.pngIcon-App-29x29@3x.pngIcon-App-40x40@1x.pngIcon-App-40x40@2x.pngIcon-App-40x40@3x.pngIcon-App-50x50@1x.pngIcon-App-50x50@2x.pngIcon-App-57x57@1x.pngIcon-App-57x57@2x.pngIcon-App-60x60@2x.pngIcon-App-60x60@3x.pngIcon-App-72x72@1x.pngIcon-App-72x72@2x.pngIcon-App-76x76@1x.pngIcon-App-76x76@2x.pngIcon-App-83.5x83.5@2x.png
LaunchBackground.imageset
LaunchImage.imageset
Base.lproj
Info.plistRunner-Bridging-Header.hRunner.entitlementslib
_tools
assets.dartcommon_libs.dartl10n
logic
app_logic.dartcollectibles_logic.dart
main.dartrouter.dartcommon
color_utils.dartdebouncer.darthttp_client.dartjson_prefs_file.dartplatform_info.dartrest_utils.dartretry_image.dartsave_load_mixin.dartstring_utils.dartthrottler.dart
data
artifact_data.dartcollectible_data.darthighlight_data.darttimeline_data.dartunsplash_photo_data.dartwonder_data.dartwonder_type.dart
locale_logic.dartmet_api_logic.dartmet_api_service.dartsettings_logic.darttimeline_logic.dartunsplash_logic.dartunsplash_service.dartwallpaper_logic.dartwonders_logic.dartwonders_data
chichen_itza_data.dartchrist_redeemer_data.dartcolosseum_data.dartgreat_wall_data.dartmachu_picchu_data.dartpetra_data.dartpyramids_giza_data.dart
search
chichen_itza_search_data.dartchrist_redeemer_search_data.dartcolosseum_search_data.dartgreat_wall_search_data.dartmachu_picchu_search_data.dartpetra_search_data.dartpyramids_giza_search_data.dartsearch_data.darttaj_mahal_search_data.dart
taj_mahal_data.dartstyles
ui
app_scaffold.dart
common
app_backdrop.dartapp_icons.dartapp_scroll_behavior.dartblend_mask.dart
cards
collectible_item.dartcompass_divider.dartcontrols
app_image.dartapp_loading_indicator.dartapp_page_indicator.dartbuttons.dartcheckbox.dartcircle_buttons.dartdiagonal_text_page_indicator.darteight_way_swipe_detector.dartscroll_decorator.dartsimple_header.dart
curved_clippers.dartdashed_line.dartfade_color_transition.dartgoogle_maps_marker.dartgradient_container.darthidden_collectible.dartlazy_indexed_stack.dartlist_gradient.dartmeasurable_widget.dartmodals
app_modals.dartfullscreen_maps_viewer.dartfullscreen_url_img_viewer.dartfullscreen_video_viewer.dartfullscreen_web_view.dart
scaling_list_item.dartstacked_page_view_builder.dartthemed_text.darttimeline_event_card.dartunsplash_photo.dartutils
wonders_timeline_builder.dartscreens
artifact
artifact_carousel
artifact_details
artifact_search
collectible_found
collection
collection_screen.dart
widgets
editorial
editorial_screen.dart
widgets
home
home_menu
intro
photo_gallery
timeline
timeline_screen.dart
widgets
wallpaper_photo
wonder_details
wonder_events
wonder_illustrations
chichen_itza_illustration.dartchrist_redeemer_illustration.dartcolosseum_illustration.dart
common
animated_clouds.dartpaint_textures.dartwonder_hero.dartwonder_illustration.dartwonder_illustration_builder.dartwonder_illustration_config.dartwonder_title_text.dart
great_wall_illustration.dartmachu_picchu_illustration.dartpetra_illustration.dartpyramids_giza_illustration.darttaj_mahal_illustration.dartpy
release_notes.txttools
23
lib/logic/met_api_logic.dart
Normal file
23
lib/logic/met_api_logic.dart
Normal file
@ -0,0 +1,23 @@
|
||||
import 'dart:collection';
|
||||
|
||||
import 'package:wonders/common_libs.dart';
|
||||
import 'package:wonders/logic/common/string_utils.dart';
|
||||
import 'package:wonders/logic/data/artifact_data.dart';
|
||||
import 'package:wonders/logic/met_api_service.dart';
|
||||
|
||||
import 'package:wonders/logic/common/http_client.dart';
|
||||
|
||||
class MetAPILogic {
|
||||
final HashMap<String, ArtifactData?> _artifactCache = HashMap();
|
||||
|
||||
MetAPIService get service => GetIt.I.get<MetAPIService>();
|
||||
|
||||
/// Returns artifact data by ID. Returns null if artifact cannot be found. */
|
||||
Future<ArtifactData?> getArtifactByID(String id) async {
|
||||
if (_artifactCache.containsKey(id)) return _artifactCache[id];
|
||||
ServiceResult<ArtifactData?> result = (await service.getObjectByID(id));
|
||||
if (!result.success) throw StringUtils.supplant($strings.artifactDetailsErrorNotFound, {'{artifactId}': id});
|
||||
ArtifactData? artifact = result.content;
|
||||
return _artifactCache[id] = artifact;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user