diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
new file mode 100644
index 0000000..2ee5143
--- /dev/null
+++ b/.dart_tool/package_config.json
@@ -0,0 +1,722 @@
+{
+ "configVersion": 2,
+ "packages": [
+ {
+ "name": "ali_auth_wbq",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "archive",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "args",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.3"
+ },
+ {
+ "name": "async",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "bloc",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "boolean_selector",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "cached_network_image",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "characters",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "charcode",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "clock",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "collection",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "connectivity",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.9+5",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "connectivity_for_web",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+4",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "connectivity_macos",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+7",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "connectivity_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_platform_interface-1.0.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "convert",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1",
+ "packageUri": "lib/",
+ "languageVersion": "1.17"
+ },
+ {
+ "name": "cookie_jar",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "1.20"
+ },
+ {
+ "name": "crypto",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5",
+ "packageUri": "lib/",
+ "languageVersion": "2.3"
+ },
+ {
+ "name": "device_info",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "device_info_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "dio",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10",
+ "packageUri": "lib/",
+ "languageVersion": "2.4"
+ },
+ {
+ "name": "dio_cookie_manager",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.4"
+ },
+ {
+ "name": "equatable",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "event_bus",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "fake_async",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "ffi",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "file",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.2"
+ },
+ {
+ "name": "flutter",
+ "rootUri": "file:///D:/flutter/flutter/packages/flutter",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "flutter_alibc",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-9786cccfb44cd4b38f2ca3f1ff1dc139c4e09d61/",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "flutter_bloc",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "flutter_blurhash",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.4"
+ },
+ {
+ "name": "flutter_cache_manager",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "flutter_cupertino_date_picker",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cupertino_date_picker-1.0.26+2",
+ "packageUri": "lib/",
+ "languageVersion": "1.19"
+ },
+ {
+ "name": "flutter_native_image",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3",
+ "packageUri": "lib/",
+ "languageVersion": "1.19"
+ },
+ {
+ "name": "flutter_page_indicator",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "flutter_plugin_android_lifecycle",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "flutter_screenutil",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "flutter_slidable",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7",
+ "packageUri": "lib/",
+ "languageVersion": "1.19"
+ },
+ {
+ "name": "flutter_swiper",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "flutter_test",
+ "rootUri": "file:///D:/flutter/flutter/packages/flutter_test",
+ "packageUri": "lib/",
+ "languageVersion": "2.2"
+ },
+ {
+ "name": "flutter_update_dialog",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "flutter_web_plugins",
+ "rootUri": "file:///D:/flutter/flutter/packages/flutter_web_plugins",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "flutter_xupdate",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "fluttertoast",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "http",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.4"
+ },
+ {
+ "name": "http_parser",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.3"
+ },
+ {
+ "name": "image",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "image_cropper",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/",
+ "packageUri": "lib/",
+ "languageVersion": "1.20"
+ },
+ {
+ "name": "image_picker",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "image_picker_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.5"
+ },
+ {
+ "name": "imei_plugin",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "intl",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.5"
+ },
+ {
+ "name": "jdsdk",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "loading_indicator",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "matcher",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "meta",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "moblink",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "mobpush_plugin",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "mobsms",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "nested",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.2"
+ },
+ {
+ "name": "octo_image",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "package_info",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "path",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "path_provider",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.27",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "path_provider_linux",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "path_provider_macos",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "path_provider_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "path_provider_windows",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "pedantic",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "permission_handler",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "permission_handler_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "petitparser",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "photo_view",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "platform",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1",
+ "packageUri": "lib/",
+ "languageVersion": "1.24"
+ },
+ {
+ "name": "plugin_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "process",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "provider",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "pull_to_refresh",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-1.6.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "rxdart",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
+ "name": "save_image",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/save_image-1.0.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "secverify",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/secverify-1.0.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "share_extend",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "shared_preferences",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shared_preferences_linux",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shared_preferences_macos",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shared_preferences_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shared_preferences_web",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shared_preferences_windows",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "sharesdk_plugin",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sharesdk_plugin-1.2.9",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "shimmer",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2",
+ "packageUri": "lib/",
+ "languageVersion": "1.20"
+ },
+ {
+ "name": "sky_engine",
+ "rootUri": "file:///D:/flutter/flutter/bin/cache/pkg/sky_engine",
+ "packageUri": "lib/",
+ "languageVersion": "1.11"
+ },
+ {
+ "name": "source_span",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "sqflite",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "sqflite_common",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+1",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "stack_trace",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "stream_channel",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "string_scanner",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "string_validator",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "synchronized",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2",
+ "packageUri": "lib/",
+ "languageVersion": "2.8"
+ },
+ {
+ "name": "tab_indicator_styler",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "term_glyph",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "test_api",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "tobias",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "transformer_page_view",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6",
+ "packageUri": "lib/",
+ "languageVersion": "2.0"
+ },
+ {
+ "name": "typed_data",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "url_launcher",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "url_launcher_linux",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "url_launcher_macos",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "url_launcher_platform_interface",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "url_launcher_web",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3",
+ "packageUri": "lib/",
+ "languageVersion": "2.2"
+ },
+ {
+ "name": "url_launcher_windows",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "uuid",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.2"
+ },
+ {
+ "name": "vector_math",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3",
+ "packageUri": "lib/",
+ "languageVersion": "2.10"
+ },
+ {
+ "name": "webview_flutter",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-0.3.24",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "win32",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "xdg_directories",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2",
+ "packageUri": "lib/",
+ "languageVersion": "2.3"
+ },
+ {
+ "name": "xml",
+ "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1",
+ "packageUri": "lib/",
+ "languageVersion": "2.7"
+ },
+ {
+ "name": "zhiying_comm",
+ "rootUri": "../../zhiying_comm",
+ "packageUri": "lib/",
+ "languageVersion": "2.1"
+ },
+ {
+ "name": "zhiying_base_widget",
+ "rootUri": "../",
+ "packageUri": "lib/",
+ "languageVersion": "2.8"
+ }
+ ],
+ "generated": "2021-02-20T07:51:19.208457Z",
+ "generator": "pub",
+ "generatorVersion": "2.10.1"
+}
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
index b001aef..efafb51 100644
--- a/example/android/app/build.gradle
+++ b/example/android/app/build.gradle
@@ -109,33 +109,33 @@ android {
// // 应用信息配置
- productFlavors {
- // 智夜生活
- zhiying {
- applicationId "cn.zhios.zhiying"
- versionCode 46
- dimension "app"
- versionName '1.3.4'
- // 签名信息
- signingConfig signingConfigs.zhiying
- }
- }
+// productFlavors {
+// // 智夜生活
+// zhiying {
+// applicationId "cn.zhios.zhiying"
+// versionCode 46
+// dimension "app"
+// versionName '1.3.4'
+// // 签名信息
+// signingConfig signingConfigs.zhiying
+// }
+// }
// 打包脚本
- android.applicationVariants.all { variant ->
- if (variant.buildType.name != "debug") {
- variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk")
- }
-
- variant.outputs.all { output ->
- def outputFile = output.outputFile
- if (outputFile != null && outputFile.name.endsWith('.apk')) {
- //这里修改apk文件名
- def fileName = "${variant.productFlavors[0].name}_${releaseTime()}01_&V${variant.productFlavors[0].versionCode}.apk"
- outputFileName = fileName
- }
- }
- }
+// android.applicationVariants.all { variant ->
+// if (variant.buildType.name != "debug") {
+// variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk")
+// }
+//
+// variant.outputs.all { output ->
+// def outputFile = output.outputFile
+// if (outputFile != null && outputFile.name.endsWith('.apk')) {
+// //这里修改apk文件名
+// def fileName = "${variant.productFlavors[0].name}_${releaseTime()}01_&V${variant.productFlavors[0].versionCode}.apk"
+// outputFileName = fileName
+// }
+// }
+// }
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
diff --git a/example/android/tmpmob/ShareSDK/assets/ShareSDK.xml b/example/android/tmpmob/ShareSDK/assets/ShareSDK.xml
index fac275b..5cca3e4 100644
--- a/example/android/tmpmob/ShareSDK/assets/ShareSDK.xml
+++ b/example/android/tmpmob/ShareSDK/assets/ShareSDK.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 042618e..491d1b5 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -38,7 +38,7 @@ dev_dependencies:
zhiying_moments:
#path: ../zhiying_moments
git:
- ref: 0.1.6
+ ref: 0.1.8
url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_moments.git
#会员升级
zhiying_member_upgrade:
diff --git a/lib/widgets/goods_details/store/model/store_model.dart b/lib/widgets/goods_details/store/model/store_model.dart
index c8de870..138e2cf 100644
--- a/lib/widgets/goods_details/store/model/store_model.dart
+++ b/lib/widgets/goods_details/store/model/store_model.dart
@@ -33,6 +33,7 @@ class StoreModel {
String heightPointIcon;
String publicPointIcon;
String lowPointIcon;
+ String shop_url;
StoreModel({
this.description,
@@ -65,7 +66,8 @@ class StoreModel {
this.moreIcon,
this.heightPointIcon,
this.publicPointIcon,
- this.lowPointIcon
+ this.lowPointIcon,
+ this.shop_url
});
@@ -101,6 +103,7 @@ class StoreModel {
heightPointIcon = json['height_point_icon'];
publicPointIcon = json['public_point_icon'];
lowPointIcon = json['low_point_icon'];
+ shop_url = json['shop_url'];
}
@@ -137,6 +140,7 @@ class StoreModel {
data['height_point_icon'] = this.heightPointIcon;
data['public_point_icon'] = this.publicPointIcon;
data['low_point_icon'] = this.lowPointIcon;
+ data['shop_url'] = this.shop_url;
return data;
}
diff --git a/lib/widgets/goods_details/store/store_widget.dart b/lib/widgets/goods_details/store/store_widget.dart
index 7b5d33c..236d72b 100644
--- a/lib/widgets/goods_details/store/store_widget.dart
+++ b/lib/widgets/goods_details/store/store_widget.dart
@@ -20,7 +20,8 @@ class StoreWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocProvider(
- create: (_) => StoreBloc(repository: StoreRepository()), //..add(StoreInitEvent(model: model)),
+ create: (_) => StoreBloc(repository: StoreRepository()),
+ //..add(StoreInitEvent(model: model)),
child: StoreContainer(
model,
key: UniqueKey(),
@@ -49,12 +50,13 @@ class _StoreContainerState extends State {
void _onMoreClick() {}
/// 点击商家
- void _onStoreClick() {
- print("点击了_onStoreClick");
+ void _onStoreClick(StoreModel model) {
+ print("点击商家_onStoreClick");
Logger.log(widget.model['data']);
-
- // RouterUtil.openWebview(url, context);
-
+ Logger.log("店铺:" + model.shop_url);
+ if (!EmptyUtil.isEmpty(model.shop_url)) {
+ RouterUtil.openWebview(model.shop_url, context);
+ }
}
@override
@@ -80,22 +82,27 @@ class _StoreContainerState extends State {
Widget _getMianWidget(StoreModel model) {
return GestureDetector(
onTap: () {
- _onStoreClick();
+ _onStoreClick(model);
},
child: Container(
width: double.infinity,
height: 50 + 20.0 + 18,
padding: const EdgeInsets.only(left: 12.5, right: 12.5, top: 20, bottom: 18),
- margin: EdgeInsets.only(top: ParseUtil.stringParseDouble(model?.topMargin), left: ParseUtil.stringParseDouble(model?.leftRightMargin), right: ParseUtil.stringParseDouble(model?.leftRightMargin)),
+ margin: EdgeInsets.only(
+ top: ParseUtil.stringParseDouble(model?.topMargin),
+ left: ParseUtil.stringParseDouble(model?.leftRightMargin),
+ right: ParseUtil.stringParseDouble(model?.leftRightMargin)),
decoration: BoxDecoration(
- color: HexColor.fromHex(model?.bgColor),
- borderRadius: BorderRadius.only(
- topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)),
- topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)),
- bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)),
- bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)),
- )
- ),
+ color: HexColor.fromHex(model?.bgColor),
+ borderRadius: BorderRadius.only(
+ topRight:
+ Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)),
+ topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)),
+ bottomRight:
+ Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)),
+ bottomLeft:
+ Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)),
+ )),
child: Row(
children: [
/// 商家图片
@@ -149,7 +156,8 @@ class _StoreContainerState extends State {
/// 更多 TODO 暂时隐藏,等后台有数据后再打开
Visibility(
visible: false,
- child: Text(model?.moreText ?? '更多店铺优惠', style: TextStyle(color: HexColor.fromHex('#FF4242'), fontSize: 11))),
+ child: Text(model?.moreText ?? '更多店铺优惠',
+ style: TextStyle(color: HexColor.fromHex('#FF4242'), fontSize: 11))),
],
);
}
@@ -160,13 +168,16 @@ class _StoreContainerState extends State {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
/// 宝贝描述 5.0
- _getCoustomWidet(model?.description ?? '宝贝描述 5.0', model?.descTextColor1 ?? '#999999', model?.heightPointIcon ?? ''),
+ _getCoustomWidet(model?.description ?? '宝贝描述 5.0',
+ model?.descTextColor1 ?? '#999999', model?.heightPointIcon ?? ''),
/// 物流服务 5.0
- _getCoustomWidet(model?.logistics ?? '宝贝描述 5.0', model?.descTextColor2 ?? '#999999', model?.publicPointIcon ?? ''),
+ _getCoustomWidet(model?.logistics ?? '宝贝描述 5.0',
+ model?.descTextColor2 ?? '#999999', model?.publicPointIcon ?? ''),
/// 服务态度 1.0
- _getCoustomWidet(model?.service ?? '宝贝描述 5.0', model?.descTextColor3 ?? '#999999', model?.lowPointIcon ?? ''),
+ _getCoustomWidet(model?.service ?? '宝贝描述 5.0', model?.descTextColor3 ?? '#999999',
+ model?.lowPointIcon ?? ''),
],
);
}
diff --git a/lib/widgets/share/share_alert_select.dart b/lib/widgets/share/share_alert_select.dart
index 770d685..beffe8a 100644
--- a/lib/widgets/share/share_alert_select.dart
+++ b/lib/widgets/share/share_alert_select.dart
@@ -99,11 +99,13 @@ class _ShareAlertSelectState extends State {
EventUtil.instance.fire(model);
}
+ ///截图保存
Future _updateModel(GlobalKey _globalKey) async {
ShareDataModel _shareModel = ShareDataModel();
BuildContext buildContext = _globalKey.currentContext;
if (null != buildContext) {
RenderRepaintBoundary boundary = buildContext.findRenderObject();
+ ///pixelRatio是放大倍数
ui.Image image = await boundary.toImage(pixelRatio: 1);
// 注意:png是压缩后格式,如果需要图片的原始像素数据,请使用rawRgba
ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);