Compare commits
35 Commits
7716bba906
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 5b594b471f | |||
| c6a42fa9bb | |||
| d19a49da0d | |||
| 1ea9a8bf11 | |||
| 019850148f | |||
| 740af2a459 | |||
| 0c07b6ba37 | |||
| d8e4cfdaf9 | |||
| d2e7d8f0af | |||
| 378303a8ef | |||
| 24dc8c5778 | |||
| 922be46a26 | |||
| 14c081c0e3 | |||
| d4644e00e6 | |||
| 96313fa03d | |||
| b329b3394d | |||
| 3e2f011463 | |||
| ff3c7402a9 | |||
| 70e7fe99af | |||
| 1b3d25ef39 | |||
| 1aa3eb38f1 | |||
| 6beb008489 | |||
| 76e45db37d | |||
| 5befd4d1c8 | |||
| eadf95609d | |||
| 682308d93c | |||
| 11d2bd02ff | |||
| aaae40ae02 | |||
| 4ab9a5ad18 | |||
| b086c5c5c9 | |||
| f2ab06e4bb | |||
| 13d5a31197 | |||
| f0f8d9ef69 | |||
| 74f412886c | |||
| 94a356994e |
@@ -1,6 +1,12 @@
|
||||
{
|
||||
"configVersion": 2,
|
||||
"packages": [
|
||||
{
|
||||
"name": "archive",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "args",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0",
|
||||
@@ -9,34 +15,64 @@
|
||||
},
|
||||
{
|
||||
"name": "async",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/async-2.11.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/async-2.13.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "boolean_selector",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "cached_network_image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-3.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "cached_network_image_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image_platform_interface-4.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "cached_network_image_web",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image_web-1.3.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "characters",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/characters-1.3.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/characters-1.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "clock",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "code_assets",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/code_assets-1.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "collection",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "colorfilter_generator",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.15"
|
||||
},
|
||||
{
|
||||
"name": "common_utils",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0",
|
||||
@@ -51,13 +87,13 @@
|
||||
},
|
||||
{
|
||||
"name": "cross_file",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/cross_file-0.3.4+2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/cross_file-0.3.5+1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "crypto",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/crypto-3.0.6",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/crypto-3.0.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
@@ -81,15 +117,15 @@
|
||||
},
|
||||
{
|
||||
"name": "device_info_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus-11.3.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus-11.5.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "device_info_plus_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus_platform_interface-7.0.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus_platform_interface-7.0.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "dio",
|
||||
@@ -104,17 +140,35 @@
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "fake_async",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1",
|
||||
"name": "easy_debounce",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/easy_debounce-2.0.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "ffi",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/ffi-2.1.3",
|
||||
"name": "extended_image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "extended_image_library",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "fake_async",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "ffi",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/ffi-2.1.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "file",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file-7.0.1",
|
||||
@@ -123,27 +177,45 @@
|
||||
},
|
||||
{
|
||||
"name": "file_selector_linux",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_linux-0.9.3+2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_linux-0.9.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "file_selector_macos",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_macos-0.9.4+3",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_macos-0.9.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "file_selector_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_platform_interface-2.7.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "file_selector_windows",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "fixnum",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fixnum-1.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "flex_color_picker",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.8.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "file_selector_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_platform_interface-2.6.2",
|
||||
"name": "flex_seed_scheme",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-4.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "file_selector_windows",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "flustars_flutter3",
|
||||
@@ -155,7 +227,13 @@
|
||||
"name": "flutter",
|
||||
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "flutter_cache_manager",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-3.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "flutter_easyloading",
|
||||
@@ -219,9 +297,9 @@
|
||||
},
|
||||
{
|
||||
"name": "flutter_plugin_android_lifecycle",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.29",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.33",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "flutter_screenutil",
|
||||
@@ -245,13 +323,13 @@
|
||||
"name": "flutter_test",
|
||||
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_test",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "flutter_web_plugins",
|
||||
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_web_plugins",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "flutter_widget_from_html_core",
|
||||
@@ -259,12 +337,42 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "font_awesome_flutter",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.12.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "freezed_annotation",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/freezed_annotation-3.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "get",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.15"
|
||||
},
|
||||
{
|
||||
"name": "glob",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/glob-2.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "hand_signature",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hand_signature-3.1.0+2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "hooks",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hooks-1.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "html",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6",
|
||||
@@ -273,16 +381,34 @@
|
||||
},
|
||||
{
|
||||
"name": "http",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.6.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "http_client_helper",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "http_parser",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.7.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "image_editor_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "image_gallery_saver_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1",
|
||||
@@ -291,27 +417,27 @@
|
||||
},
|
||||
{
|
||||
"name": "image_picker",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker-1.2.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker-1.2.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_android-0.8.13",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_android-0.8.13+12",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_for_web",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_for_web-3.1.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_for_web-3.1.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_ios",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_ios-0.8.13",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_ios-0.8.13+3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_linux",
|
||||
@@ -321,15 +447,15 @@
|
||||
},
|
||||
{
|
||||
"name": "image_picker_macos",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_macos-0.2.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_macos-0.2.2+1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-2.11.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-2.11.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "image_picker_windows",
|
||||
@@ -343,21 +469,33 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "js",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "json_annotation",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/json_annotation-4.9.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-11.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker_flutter_testing-3.0.8",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker_flutter_testing-3.0.10",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker_testing",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker_testing-3.0.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker_testing-3.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
@@ -375,9 +513,9 @@
|
||||
},
|
||||
{
|
||||
"name": "matcher",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.16+1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.17",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "material_color_utilities",
|
||||
@@ -386,23 +524,53 @@
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "meta",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0",
|
||||
"name": "matrix2d",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "meta",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.17.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "mime",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/mime-2.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "native_toolchain_c",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/native_toolchain_c-0.17.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "nested",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/nested-1.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "objective_c",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/objective_c-9.2.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.10"
|
||||
},
|
||||
{
|
||||
"name": "octo_image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/octo_image-2.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "omni_video_player",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/omni_video_player-3.7.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "package_info_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/package_info_plus-9.0.0",
|
||||
@@ -417,9 +585,9 @@
|
||||
},
|
||||
{
|
||||
"name": "path",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path-1.9.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path-1.9.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "path_provider",
|
||||
@@ -429,15 +597,15 @@
|
||||
},
|
||||
{
|
||||
"name": "path_provider_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.2.17",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.2.22",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_foundation",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.4.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.6.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.10"
|
||||
},
|
||||
{
|
||||
"name": "path_provider_linux",
|
||||
@@ -495,9 +663,9 @@
|
||||
},
|
||||
{
|
||||
"name": "petitparser",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/petitparser-6.0.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/petitparser-7.0.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "photo_view",
|
||||
@@ -517,12 +685,24 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "posix",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "provider",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "pub_semver",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/pub_semver-2.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "pull_to_refresh",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-2.0.0",
|
||||
@@ -535,6 +715,18 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.14"
|
||||
},
|
||||
{
|
||||
"name": "reorderables",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "rxdart",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.28.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "screen_brightness",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7",
|
||||
@@ -578,22 +770,28 @@
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3",
|
||||
"name": "screenshot",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.11",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.18",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences_foundation",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.4",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences_linux",
|
||||
@@ -619,17 +817,23 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "simple_sparse_list",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/simple_sparse_list-0.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "sky_engine",
|
||||
"rootUri": "file:///Users/wxl/Desktop/flutter/bin/cache/pkg/sky_engine",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "source_span",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.10.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.10.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "sp_util",
|
||||
@@ -637,9 +841,39 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "sqflite",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/sqflite-2.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "sqflite_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/sqflite_android-2.4.2+2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "sqflite_common",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-2.5.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "sqflite_darwin",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/sqflite_darwin-2.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "sqflite_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/sqflite_platform_interface-2.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "stack_trace",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.12.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.12.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
@@ -651,33 +885,33 @@
|
||||
},
|
||||
{
|
||||
"name": "stream_channel",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.19"
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "string_scanner",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.3.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "synchronized",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/synchronized-3.3.0+3",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/synchronized-3.4.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "term_glyph",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "test_api",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.7.3",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.7.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "transparent_image",
|
||||
@@ -691,6 +925,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "unicode",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/unicode-1.1.9",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-6.3.2",
|
||||
@@ -699,27 +939,27 @@
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_android-6.3.17",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_android-6.3.28",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_ios",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_ios-6.3.3",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_ios-6.3.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_linux",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_macos",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-3.2.2",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-3.2.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_platform_interface",
|
||||
@@ -729,45 +969,51 @@
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_web",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.10"
|
||||
},
|
||||
{
|
||||
"name": "url_launcher_windows",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.4",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "uuid",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/uuid-4.5.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "vector_math",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.4",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.2.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.14"
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "video_player",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player-2.10.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player-2.10.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "video_player_android",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_android-2.8.4",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_android-2.9.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.9"
|
||||
},
|
||||
{
|
||||
"name": "video_player_avfoundation",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_avfoundation-2.8.4",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_avfoundation-2.9.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.10"
|
||||
},
|
||||
{
|
||||
"name": "video_player_platform_interface",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_platform_interface-6.4.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_platform_interface-6.6.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.6"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "video_player_web",
|
||||
@@ -776,10 +1022,22 @@
|
||||
"languageVersion": "3.6"
|
||||
},
|
||||
{
|
||||
"name": "vm_service",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/vm_service-14.3.0",
|
||||
"name": "visibility_detector",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/visibility_detector-0.4.0+2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "vm_service",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/vm_service-15.0.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
},
|
||||
{
|
||||
"name": "volume_controller",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/volume_controller-3.4.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "wakelock_plus",
|
||||
@@ -801,15 +1059,15 @@
|
||||
},
|
||||
{
|
||||
"name": "win32",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/win32-5.10.1",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/win32-5.15.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.5"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "win32_registry",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/win32_registry-1.1.5",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/win32_registry-2.1.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
"languageVersion": "3.7"
|
||||
},
|
||||
{
|
||||
"name": "xdg_directories",
|
||||
@@ -819,9 +1077,21 @@
|
||||
},
|
||||
{
|
||||
"name": "xml",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/xml-6.5.0",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/xml-6.6.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
"languageVersion": "3.8"
|
||||
},
|
||||
{
|
||||
"name": "yaml",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/yaml-3.1.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "youtube_explode_dart",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/youtube_explode_dart-3.0.5",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "flutter_common",
|
||||
@@ -830,10 +1100,9 @@
|
||||
"languageVersion": "3.6"
|
||||
}
|
||||
],
|
||||
"generated": "2025-11-10T09:10:29.853637Z",
|
||||
"generator": "pub",
|
||||
"generatorVersion": "3.6.2",
|
||||
"generatorVersion": "3.10.4",
|
||||
"flutterRoot": "file:///Users/wxl/Desktop/flutter",
|
||||
"flutterVersion": "3.27.4",
|
||||
"flutterVersion": "3.38.5",
|
||||
"pubCache": "file:///Users/wxl/.pub-cache"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
archive
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7/lib/
|
||||
args
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0/
|
||||
@@ -22,6 +26,10 @@ collection
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0/lib/
|
||||
colorfilter_generator
|
||||
2.15
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8/lib/
|
||||
common_utils
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0/
|
||||
@@ -66,6 +74,14 @@ dio_web_adapter
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/dio_web_adapter-2.1.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/dio_web_adapter-2.1.1/lib/
|
||||
extended_image
|
||||
2.18
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1/lib/
|
||||
extended_image_library
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6/lib/
|
||||
fake_async
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1/
|
||||
@@ -94,6 +110,14 @@ file_selector_windows
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/lib/
|
||||
flex_color_picker
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.7.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.7.1/lib/
|
||||
flex_seed_scheme
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-3.5.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-3.5.1/lib/
|
||||
flustars_flutter3
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flustars_flutter3-3.0.0/
|
||||
@@ -158,10 +182,18 @@ flutter_widget_from_html_core
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_widget_from_html_core-0.16.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_widget_from_html_core-0.16.1/lib/
|
||||
font_awesome_flutter
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.9.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.9.1/lib/
|
||||
get
|
||||
2.15
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2/lib/
|
||||
hand_signature
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hand_signature-3.1.0+2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hand_signature-3.1.0+2/lib/
|
||||
html
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6/
|
||||
@@ -170,10 +202,22 @@ http
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0/lib/
|
||||
http_client_helper
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0/lib/
|
||||
http_parser
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2/lib/
|
||||
image
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.5.4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.5.4/lib/
|
||||
image_editor_plus
|
||||
2.17
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6/lib/
|
||||
image_gallery_saver_plus
|
||||
3.5
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1/
|
||||
@@ -214,6 +258,10 @@ intl
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/intl-0.20.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/intl-0.20.2/lib/
|
||||
js
|
||||
3.1
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.1/lib/
|
||||
leak_tracker
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7/
|
||||
@@ -242,6 +290,10 @@ material_color_utilities
|
||||
2.17
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.11.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.11.1/lib/
|
||||
matrix2d
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4/lib/
|
||||
meta
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0/
|
||||
@@ -330,6 +382,10 @@ plugin_platform_interface
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.8/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.8/lib/
|
||||
posix
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3/lib/
|
||||
provider
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1/
|
||||
@@ -342,6 +398,10 @@ rational
|
||||
2.14
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rational-2.2.3/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rational-2.2.3/lib/
|
||||
reorderables
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0/lib/
|
||||
screen_brightness
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7/
|
||||
@@ -370,6 +430,10 @@ screen_brightness_windows
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/lib/
|
||||
screenshot
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0/lib/
|
||||
shared_preferences
|
||||
3.5
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3/
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.27.4
|
||||
3.38.5
|
||||
55
.flutter-plugins
Normal file
55
.flutter-plugins
Normal file
@@ -0,0 +1,55 @@
|
||||
# This is a generated file; do not edit or check into version control.
|
||||
device_info_plus=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus-11.3.0/
|
||||
file_selector_linux=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_linux-0.9.3+2/
|
||||
file_selector_macos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_macos-0.9.4+3/
|
||||
file_selector_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/
|
||||
flutter_inappwebview=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview-6.1.5/
|
||||
flutter_inappwebview_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_android-1.1.3/
|
||||
flutter_inappwebview_ios=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_ios-1.1.2/
|
||||
flutter_inappwebview_macos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_macos-1.1.2/
|
||||
flutter_inappwebview_web=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_web-1.1.2/
|
||||
flutter_inappwebview_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_windows-0.6.0/
|
||||
flutter_plugin_android_lifecycle=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.29/
|
||||
image_gallery_saver_plus=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1/
|
||||
image_picker=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker-1.2.0/
|
||||
image_picker_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_android-0.8.13/
|
||||
image_picker_for_web=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_for_web-3.1.0/
|
||||
image_picker_ios=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_ios-0.8.13/
|
||||
image_picker_linux=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_linux-0.2.2/
|
||||
image_picker_macos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_macos-0.2.2/
|
||||
image_picker_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_picker_windows-0.2.2/
|
||||
package_info_plus=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/package_info_plus-9.0.0/
|
||||
path_provider=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider-2.1.5/
|
||||
path_provider_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.2.17/
|
||||
path_provider_foundation=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.4.1/
|
||||
path_provider_linux=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/
|
||||
path_provider_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-2.3.0/
|
||||
permission_handler=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/permission_handler-11.4.0/
|
||||
permission_handler_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_android-12.1.0/
|
||||
permission_handler_apple=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_apple-9.4.7/
|
||||
permission_handler_html=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_html-0.1.3+5/
|
||||
permission_handler_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_windows-0.2.1/
|
||||
screen_brightness=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7/
|
||||
screen_brightness_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_android-2.1.3/
|
||||
screen_brightness_ios=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_ios-2.1.2/
|
||||
screen_brightness_macos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_macos-2.1.1/
|
||||
screen_brightness_ohos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_ohos-2.1.2/
|
||||
screen_brightness_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/
|
||||
shared_preferences=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3/
|
||||
shared_preferences_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.11/
|
||||
shared_preferences_foundation=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.4/
|
||||
shared_preferences_linux=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-2.4.1/
|
||||
shared_preferences_web=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-2.4.3/
|
||||
shared_preferences_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-2.4.1/
|
||||
url_launcher=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-6.3.2/
|
||||
url_launcher_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_android-6.3.17/
|
||||
url_launcher_ios=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_ios-6.3.3/
|
||||
url_launcher_linux=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.1/
|
||||
url_launcher_macos=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-3.2.2/
|
||||
url_launcher_web=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.1/
|
||||
url_launcher_windows=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.4/
|
||||
video_player=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player-2.10.0/
|
||||
video_player_android=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_android-2.8.4/
|
||||
video_player_avfoundation=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_avfoundation-2.8.4/
|
||||
video_player_web=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/video_player_web-2.4.0/
|
||||
wakelock_plus=/Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/wakelock_plus-1.4.0/
|
||||
1
.flutter-plugins-dependencies
Normal file
1
.flutter-plugins-dependencies
Normal file
File diff suppressed because one or more lines are too long
6
.idea/MarsCodeWorkspaceAppSettings.xml
generated
Normal file
6
.idea/MarsCodeWorkspaceAppSettings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
|
||||
<option name="progress" value="1.0" />
|
||||
</component>
|
||||
</project>
|
||||
57
.idea/flutter_common.iml
generated
57
.idea/flutter_common.iml
generated
@@ -6,6 +6,63 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/device_info_plus/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/file_selector_linux/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/image_picker_linux/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/package_info_plus/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/shared_preferences_linux/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/wakelock_plus/example/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/linux/flutter/ephemeral/.plugin_symlinks/volume_controller/example/build" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
|
||||
1476
.idea/libraries/Dart_Packages.xml
generated
Normal file
1476
.idea/libraries/Dart_Packages.xml
generated
Normal file
File diff suppressed because it is too large
Load Diff
52
.idea/libraries/Flutter_Plugins.xml
generated
52
.idea/libraries/Flutter_Plugins.xml
generated
@@ -3,49 +3,53 @@
|
||||
<CLASSES>
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider-2.1.5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_windows-0.2.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.4.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-3.2.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player_web-2.4.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_macos-0.2.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_android-0.8.13" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_android-6.3.17" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_html-0.1.3+5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview-6.1.5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_ios-1.1.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_for_web-3.1.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_macos-0.9.4+3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-6.3.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-2.4.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.2.17" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/package_info_plus-9.0.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_ios-0.8.13" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-2.4.3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.11" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_linux-0.9.3+2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player-2.10.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-2.4.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/wakelock_plus-1.4.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_ios-6.3.3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_linux-0.2.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker-1.2.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus-11.3.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player_avfoundation-2.8.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/permission_handler-11.4.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_windows-0.6.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-2.3.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_macos-1.1.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_android-1.1.3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/flutter_inappwebview_web-1.1.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player_android-2.8.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/permission_handler-11.4.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player-2.10.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/volume_controller-3.4.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player_android-2.9.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-3.2.5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_macos-0.9.5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_for_web-3.1.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.18" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_macos-0.2.2+1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+5" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/device_info_plus-11.5.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_ios-6.3.6" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker-1.2.1" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_ios-0.8.13+3" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_android-6.3.28" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/file_selector_linux-0.9.4" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.6" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.2.22" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/sqflite-2.4.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/sqflite_android-2.4.2+2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/sqflite_darwin-2.4.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/image_picker_android-0.8.13+12" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.2" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.6.0" />
|
||||
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.flutter-io.cn/video_player_avfoundation-2.9.0" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
||||
@@ -19,7 +19,7 @@ pluginManagement {
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version "8.1.0" apply false
|
||||
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.2.21" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
|
||||
@@ -2,6 +2,9 @@ import 'package:dio/dio.dart';
|
||||
import 'package:example/exif/customer_exif_Page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_common/upload_image/look_images_widget.dart';
|
||||
import 'package:flutter_common/upload_image/upload_images_tool.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_editor_plus/image_editor_plus.dart';
|
||||
|
||||
void main() {
|
||||
@@ -14,34 +17,21 @@ class MyApp extends StatelessWidget {
|
||||
// This widget is the root of your application.
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
title: 'Flutter Demo',
|
||||
return GetMaterialApp(
|
||||
title: '熊猫文旅通',
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: ThemeData(
|
||||
// This is the theme of your application.
|
||||
//
|
||||
// TRY THIS: Try running your application with "flutter run". You'll see
|
||||
// the application has a purple toolbar. Then, without quitting the app,
|
||||
// try changing the seedColor in the colorScheme below to Colors.green
|
||||
// and then invoke "hot reload" (save your changes or press the "hot
|
||||
// reload" button in a Flutter-supported IDE, or press "r" if you used
|
||||
// the command line to start the app).
|
||||
//
|
||||
// Notice that the counter didn't reset back to zero; the application
|
||||
// state is not lost during the reload. To reset the state, use hot
|
||||
// restart instead.
|
||||
//
|
||||
// This works for code too, not just values: Most code changes can be
|
||||
// tested with just a hot reload.
|
||||
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
|
||||
useMaterial3: true,
|
||||
appBarTheme: AppBarTheme(surfaceTintColor: Colors.transparent),
|
||||
scaffoldBackgroundColor: const Color(0xffF5F5F5),
|
||||
// useMaterial3: true,
|
||||
// colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)
|
||||
// .copyWith(background: const Color(0xffF5F5F5)),
|
||||
),
|
||||
// home: const MyHomePage(title: 'Flutter Demo Home Page'),
|
||||
home: CustomerExifPage(),
|
||||
home: const MyHomePage(title: '编辑图片'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Dio 最简版:网络图片转 Uint8List
|
||||
Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
final dio = Dio(); // 初始化 Dio 实例
|
||||
@@ -52,16 +42,13 @@ Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
// 响应成功且数据非空时,直接转为 Uint8List
|
||||
return response.statusCode == 200 && response.data != null
|
||||
? Uint8List.fromList(response.data!)
|
||||
: null;
|
||||
return response.statusCode == 200 && response.data != null ? Uint8List.fromList(response.data!) : null;
|
||||
} catch (e) {
|
||||
print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MyHomePage extends StatefulWidget {
|
||||
const MyHomePage({super.key, required this.title});
|
||||
|
||||
@@ -83,16 +70,15 @@ class MyHomePage extends StatefulWidget {
|
||||
class _MyHomePageState extends State<MyHomePage> {
|
||||
final int _counter = 0;
|
||||
|
||||
Future<void> _incrementCounter()async {
|
||||
String imageUrl = 'https://static.cop.jingheyijia.com/wxapp-map2/upload/moment/20251029/app-bpItvFOQufCL.jpg';
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(imageUrl);
|
||||
Future<Uint8List?> editImage({required String url})async{
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(url);
|
||||
ImageEditor.setI18n({
|
||||
'crop': '裁剪',
|
||||
'rotate left': '左旋转',
|
||||
'rotate right': '右旋转',
|
||||
'flip': '水平翻转',
|
||||
'brush': '涂抹',
|
||||
'link':'链接',
|
||||
'link': '链接',
|
||||
'save': '保存',
|
||||
'text': '文本',
|
||||
'blur': '模糊',
|
||||
@@ -109,8 +95,8 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
'color opacity': '透明度',
|
||||
'blur radius': '模糊半径',
|
||||
});
|
||||
if(mounted){
|
||||
final editedImage = await Navigator.push(
|
||||
if (mounted) {
|
||||
Uint8List? editedImage = await Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ImageEditor(
|
||||
@@ -123,11 +109,16 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
),
|
||||
),
|
||||
);
|
||||
print(editedImage);
|
||||
return editedImage;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Future<void> _incrementCounter() async {
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// This method is rerun every time setState is called, for instance as done
|
||||
@@ -182,4 +173,4 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
), // This trailing comma makes auto-formatting nicer for build methods.
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,9 +7,17 @@
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <file_selector_linux/file_selector_plugin.h>
|
||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||
#include <volume_controller/volume_controller_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
||||
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
||||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
||||
g_autoptr(FlPluginRegistrar) volume_controller_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "VolumeControllerPlugin");
|
||||
volume_controller_plugin_register_with_registrar(volume_controller_registrar);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
file_selector_linux
|
||||
url_launcher_linux
|
||||
volume_controller
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,6 +28,8 @@ environment:
|
||||
# the latest version available on pub.dev. To see which dependencies have newer
|
||||
# versions available, run `flutter pub outdated`.
|
||||
dependencies:
|
||||
flutter_common:
|
||||
path: ../
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
@@ -35,15 +37,12 @@ dependencies:
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.8
|
||||
image_editor_plus: ^1.0.6
|
||||
get: ^4.6.5
|
||||
dio: ^5.9.0
|
||||
image_picker: ^1.1.0 #相册单选
|
||||
# native_exif: ^0.6.2
|
||||
# exif: ^3.3.0
|
||||
|
||||
flutter_common:
|
||||
git:
|
||||
url: https://code.keplerjai.com/wangliankun/flutter_common.git
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
@@ -9,7 +9,7 @@ import 'package:flutter/services.dart';
|
||||
///日期弹窗显示
|
||||
class CustomDatePicker extends StatefulWidget {
|
||||
CustomDatePicker(
|
||||
{Key? key,
|
||||
{super.key,
|
||||
required DateTime initialDate,
|
||||
required DateTime firstDate,
|
||||
required DateTime lastDate,
|
||||
@@ -31,8 +31,7 @@ class CustomDatePicker extends StatefulWidget {
|
||||
lastDate = DateUtils.dateOnly(lastDate),
|
||||
currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()),
|
||||
assert(onDateChanged != null),
|
||||
assert(initialCalendarMode != null),
|
||||
super(key: key) {
|
||||
assert(initialCalendarMode != null) {
|
||||
assert(
|
||||
!this.lastDate.isBefore(this.firstDate),
|
||||
'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.',
|
||||
|
||||
@@ -216,6 +216,7 @@ class HttpUtils {
|
||||
* Dio库error统一处理
|
||||
*/
|
||||
static void _formatError(DioException error) {
|
||||
EasyLoading.dismiss();
|
||||
switch (error.type) {
|
||||
case DioExceptionType.cancel:
|
||||
break;
|
||||
|
||||
@@ -1,21 +1,43 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_common/upload_image/ossUtil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:photo_view/photo_view.dart';
|
||||
import 'package:image_editor_plus/image_editor_plus.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:photo_view/photo_view_gallery.dart';
|
||||
|
||||
class LookImagesTool {
|
||||
static lookImages({
|
||||
required List<String> listData,
|
||||
int? currentPage,
|
||||
void Function(String)? onCallBack,
|
||||
String? oSSAccessKeyId,
|
||||
Function? callBack,
|
||||
bool? isShowEdit,
|
||||
String? policy,
|
||||
String? callback,
|
||||
String? signature,
|
||||
String? ossDirectory,
|
||||
String? ossHost,
|
||||
}) async {
|
||||
showDialog(
|
||||
context: Get.context!,
|
||||
useSafeArea: false,
|
||||
builder: (_) {
|
||||
return LookImagesWidget(
|
||||
listData: listData,
|
||||
currentPage: currentPage,
|
||||
);
|
||||
listData: listData,
|
||||
currentPage: currentPage,
|
||||
onCallBack: onCallBack,
|
||||
oSSAccessKeyId: oSSAccessKeyId,
|
||||
policy: policy,
|
||||
callback: callback,
|
||||
isShowEdit: isShowEdit,
|
||||
signature: signature,
|
||||
ossDirectory: ossDirectory,
|
||||
ossHost: ossHost);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -23,11 +45,27 @@ class LookImagesTool {
|
||||
class LookImagesWidget extends StatefulWidget {
|
||||
final List<String> listData;
|
||||
final int? currentPage;
|
||||
final String? oSSAccessKeyId;
|
||||
final String? policy;
|
||||
final String? callback;
|
||||
final String? signature;
|
||||
final String? ossDirectory;
|
||||
final String? ossHost;
|
||||
final void Function(String)? onCallBack;
|
||||
final bool? isShowEdit;
|
||||
|
||||
const LookImagesWidget({
|
||||
super.key,
|
||||
required this.listData,
|
||||
this.currentPage,
|
||||
this.oSSAccessKeyId,
|
||||
this.policy,
|
||||
this.callback,
|
||||
this.signature,
|
||||
this.ossDirectory,
|
||||
this.ossHost,
|
||||
this.onCallBack,
|
||||
this.isShowEdit,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -39,6 +77,132 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
|
||||
late int currentPage;
|
||||
late int initialPage = 0;
|
||||
|
||||
/// Dio 最简版:网络图片转 Uint8List
|
||||
Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
final dio = Dio(); // 初始化 Dio 实例
|
||||
try {
|
||||
// 发起 GET 请求,响应类型设为字节数组(关键)
|
||||
final response = await dio.get<List<int>>(
|
||||
imageUrl,
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
// 响应成功且数据非空时,直接转为 Uint8List
|
||||
return response.statusCode == 200 && response.data != null ? Uint8List.fromList(response.data!) : null;
|
||||
} catch (e) {
|
||||
print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Future<Uint8List?> editImage({required String url}) async {
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(url);
|
||||
ImageEditor.setI18n({
|
||||
'crop': '裁剪',
|
||||
'rotate left': '左旋转',
|
||||
'rotate right': '右旋转',
|
||||
'flip': '水平翻转',
|
||||
'brush': '涂抹',
|
||||
'link': '链接',
|
||||
'save': '保存',
|
||||
'text': '文本',
|
||||
'blur': '模糊',
|
||||
'filter': '滤镜',
|
||||
'size': '大小',
|
||||
'color': '颜色',
|
||||
'background color': '背景颜色',
|
||||
'background opacity': '背景透明度',
|
||||
'reset': '重置',
|
||||
'freeform': '自由裁剪',
|
||||
'remove': '移除',
|
||||
'emoji': '表情',
|
||||
'slider color': '滑块颜色',
|
||||
'color opacity': '透明度',
|
||||
'blur radius': '模糊半径',
|
||||
});
|
||||
if (mounted) {
|
||||
Uint8List? editedImage = await Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ImageEditor(
|
||||
image: imageBytes,
|
||||
blurOption: null,
|
||||
filtersOption: null,
|
||||
brushOption: null,
|
||||
textOption: null,
|
||||
emojiOption: null,
|
||||
),
|
||||
),
|
||||
);
|
||||
return editedImage;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// 可选:根据字节头自动识别文件后缀(如图片、视频)
|
||||
String getExtension(Uint8List uint8List) {
|
||||
if (uint8List.length < 4) return "bin"; // 无法识别时返回二进制后缀
|
||||
|
||||
// PNG 头:89 50 4E 47
|
||||
if (uint8List[0] == 0x89 && uint8List[1] == 0x50 && uint8List[2] == 0x4E && uint8List[3] == 0x47) {
|
||||
return "png";
|
||||
}
|
||||
// JPG 头:FF D8 FF
|
||||
else if (uint8List[0] == 0xFF && uint8List[1] == 0xD8 && uint8List[2] == 0xFF) {
|
||||
return "jpg";
|
||||
}
|
||||
// MP4 头:00 00 00 18 66 74 79 70
|
||||
else if (uint8List.length >= 8 &&
|
||||
uint8List[0] == 0x00 &&
|
||||
uint8List[1] == 0x00 &&
|
||||
uint8List[2] == 0x00 &&
|
||||
uint8List[3] == 0x18 &&
|
||||
uint8List[4] == 0x66 &&
|
||||
uint8List[5] == 0x74 &&
|
||||
uint8List[6] == 0x79 &&
|
||||
uint8List[7] == 0x70) {
|
||||
return "mp4";
|
||||
}
|
||||
// 其他格式可自行扩展(如 GIF、PDF 等)
|
||||
else {
|
||||
return "bin";
|
||||
}
|
||||
}
|
||||
|
||||
/// Uint8List 转临时 File 并且上传到oss并返回访问路径
|
||||
Future<String?> uint8ListToTempFile(Uint8List uint8List, {String fileName = "temp_file"}) async {
|
||||
if (uint8List.isEmpty) return null;
|
||||
try {
|
||||
// 1. 获取临时存储目录(跨平台兼容)
|
||||
Directory tempDir = await getTemporaryDirectory();
|
||||
|
||||
String tempPath = tempDir.path;
|
||||
|
||||
// 2. 拼接文件路径(可自定义后缀,如 .png、.mp4 等)
|
||||
File tempFile = File("$tempPath/$fileName.${getExtension(uint8List)}"); // 自动识别后缀(可选)
|
||||
|
||||
// 3. 将 Uint8List 写入文件
|
||||
await tempFile.writeAsBytes(uint8List);
|
||||
|
||||
// print("临时文件路径:${tempFile.path}");
|
||||
|
||||
String imageUrl = await UploadOss.upload(
|
||||
tempFile.path,
|
||||
fileType: getExtension(uint8List),
|
||||
oSSAccessKeyId: widget.oSSAccessKeyId ?? '',
|
||||
ossHost: widget.ossHost ?? '',
|
||||
ossDirectory: widget.ossDirectory ?? '',
|
||||
policy: widget.policy ?? '',
|
||||
callback: widget.callback ?? '',
|
||||
signature: widget.signature ?? '',
|
||||
);
|
||||
// print("上传后的访问路径:$imageUrl");
|
||||
return imageUrl;
|
||||
} catch (e) {
|
||||
print("转换临时文件失败:$e");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
listData = widget.listData;
|
||||
@@ -46,7 +210,6 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
|
||||
initialPage = 0;
|
||||
currentPage = 0;
|
||||
} else {
|
||||
// initialPage = 0;
|
||||
currentPage = widget.currentPage ?? 0;
|
||||
}
|
||||
super.initState();
|
||||
@@ -77,6 +240,20 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
|
||||
left: 15,
|
||||
top: 50,
|
||||
child: GestureDetector(onTap: () => Get.back(), child: Icon(Icons.arrow_back_ios, color: Colors.white))),
|
||||
Positioned(
|
||||
right: 15,
|
||||
top: 50,
|
||||
child: GestureDetector(
|
||||
onTap: () async {
|
||||
Uint8List? imageFile = await editImage(url: listData[currentPage]);
|
||||
String? url = await uint8ListToTempFile(imageFile ?? Uint8List(0));
|
||||
if(widget.onCallBack != null){
|
||||
widget.onCallBack!(url??'');
|
||||
}
|
||||
},
|
||||
child: Visibility(
|
||||
visible: widget.isShowEdit??false,
|
||||
child: Icon(Icons.edit, color: Colors.white)))),
|
||||
//图片张数指示器
|
||||
Positioned(
|
||||
left: 0,
|
||||
|
||||
@@ -26,7 +26,7 @@ class UploadImagesTool {
|
||||
}) async {
|
||||
await chooseCamera(
|
||||
context: context,
|
||||
max: max ?? 9,
|
||||
max: max??9,
|
||||
oSSAccessKeyId: oSSAccessKeyId ?? '',
|
||||
ossHost: ossHost ?? '',
|
||||
ossDirectory: ossDirectory ?? '',
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:easy_debounce/easy_debounce.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
|
||||
// import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
|
||||
import 'package:transparent_image/transparent_image.dart';
|
||||
|
||||
|
||||
|
||||
|
||||
///字体样式
|
||||
class CustomerTextStyle extends TextStyle {
|
||||
final Color? customerColor;
|
||||
@@ -97,13 +96,12 @@ class CustomerImagesNetworking extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Image.network(
|
||||
key: Key(imageUrl),
|
||||
imageUrl,
|
||||
return CachedNetworkImage(
|
||||
imageUrl: imageUrl,
|
||||
width: width,
|
||||
height: height,
|
||||
fit: fit,
|
||||
errorBuilder: (_, object, s) {
|
||||
errorWidget: (_, object, s) {
|
||||
return Container(
|
||||
width: width,
|
||||
height: height,
|
||||
@@ -119,22 +117,44 @@ class CustomerImagesNetworking extends StatelessWidget {
|
||||
);
|
||||
},
|
||||
);
|
||||
return imageUrl.contains('http') == true
|
||||
? FadeInImage.memoryNetwork(
|
||||
placeholder: kTransparentImage,
|
||||
width: width,
|
||||
height: height,
|
||||
image: imageUrl,
|
||||
fit: fit,
|
||||
placeholderErrorBuilder:
|
||||
(_, Object object, StackTrace? stackTrace) {
|
||||
return errorWidget ?? const SizedBox();
|
||||
},
|
||||
imageErrorBuilder: (_, Object object, StackTrace? stackTrace) {
|
||||
return errorWidget ?? const SizedBox();
|
||||
},
|
||||
)
|
||||
: errorWidget ?? const SizedBox();
|
||||
// return Image.network(
|
||||
// key: Key(imageUrl),
|
||||
// imageUrl,
|
||||
// width: width,
|
||||
// height: height,
|
||||
// fit: fit,
|
||||
// errorBuilder: (_, object, s) {
|
||||
// return Container(
|
||||
// width: width,
|
||||
// height: height,
|
||||
// padding: EdgeInsets.all((width ?? 0) / 2),
|
||||
// child: Center(
|
||||
// child: Image.asset(
|
||||
// 'assets/images/noContainer.png',
|
||||
// // width: width /2,
|
||||
// // height: width /2,
|
||||
// fit: fit ?? BoxFit.contain,
|
||||
// ),
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// return imageUrl.contains('http') == true
|
||||
// ? FadeInImage.memoryNetwork(
|
||||
// placeholder: kTransparentImage,
|
||||
// width: width,
|
||||
// height: height,
|
||||
// image: imageUrl,
|
||||
// fit: fit,
|
||||
// placeholderErrorBuilder:
|
||||
// (_, Object object, StackTrace? stackTrace) {
|
||||
// return errorWidget ?? const SizedBox();
|
||||
// },
|
||||
// imageErrorBuilder: (_, Object object, StackTrace? stackTrace) {
|
||||
// return errorWidget ?? const SizedBox();
|
||||
// },
|
||||
// )
|
||||
// : errorWidget ?? const SizedBox();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_common/utils/file/video/lib/chewie.dart';
|
||||
import 'package:video_player/video_player.dart';
|
||||
|
||||
|
||||
|
||||
|
||||
class VideoPlayPage extends StatefulWidget {
|
||||
final String? videoUrl;
|
||||
const VideoPlayPage({super.key, this.videoUrl});
|
||||
|
||||
@@ -40,96 +40,99 @@ class _CustomerWebViewState extends State<CustomerWebView> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
|
||||
overlays: [SystemUiOverlay.bottom]);
|
||||
// SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
|
||||
// overlays: [SystemUiOverlay.bottom]);
|
||||
return Stack(
|
||||
alignment: Alignment.topLeft,
|
||||
children: [
|
||||
InAppWebView(
|
||||
key: webViewKey,
|
||||
// webViewEnvironment: webViewEnvironment,
|
||||
initialUrlRequest: URLRequest(url: WebUri(widget.url)),
|
||||
// initialUrlRequest:
|
||||
// URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')),
|
||||
// initialFile: "assets/index.html",
|
||||
initialUserScripts: UnmodifiableListView<UserScript>([]),
|
||||
initialSettings: settings,
|
||||
// contextMenu: contextMenu,
|
||||
// pullToRefreshController: pullToRefreshController,
|
||||
onWebViewCreated: (controller) async {
|
||||
webViewController = controller;
|
||||
},
|
||||
onLoadStart: (controller, url) {
|
||||
setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
});
|
||||
},
|
||||
// onPermissionRequest: (controller, request) {
|
||||
// return PermissionResponse(
|
||||
// resources: request.resources,
|
||||
// action: PermissionResponseAction.GRANT);
|
||||
// },
|
||||
// shouldOverrideUrlLoading:
|
||||
// (controller, navigationAction) async {
|
||||
// var uri = navigationAction.request.url!;
|
||||
//
|
||||
// if (![
|
||||
// "http",
|
||||
// "https",
|
||||
// "file",
|
||||
// "chrome",
|
||||
// "data",
|
||||
// "javascript",
|
||||
// "about"
|
||||
// ].contains(uri.scheme)) {
|
||||
// if (await canLaunchUrl(uri)) {
|
||||
// // Launch the App
|
||||
// await launchUrl(
|
||||
// uri,
|
||||
// );
|
||||
// // and cancel the request
|
||||
// return NavigationActionPolicy.CANCEL;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return NavigationActionPolicy.ALLOW;
|
||||
// },
|
||||
// onLoadStop: (controller, url) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
// onReceivedError: (controller, request, error) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// },
|
||||
// onProgressChanged: (controller, progress) {
|
||||
// if (progress == 100) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// }
|
||||
// setState(() {
|
||||
// this.progress = progress / 100;
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
// onUpdateVisitedHistory: (controller, url, isReload) {
|
||||
// setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
onConsoleMessage: (controller, consoleMessage) {
|
||||
print(consoleMessage);
|
||||
},
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 16,bottom: 16),
|
||||
child: InAppWebView(
|
||||
key: webViewKey,
|
||||
// webViewEnvironment: webViewEnvironment,
|
||||
initialUrlRequest: URLRequest(url: WebUri(widget.url)),
|
||||
// initialUrlRequest:
|
||||
// URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')),
|
||||
// initialFile: "assets/index.html",
|
||||
initialUserScripts: UnmodifiableListView<UserScript>([]),
|
||||
initialSettings: settings,
|
||||
// contextMenu: contextMenu,
|
||||
// pullToRefreshController: pullToRefreshController,
|
||||
onWebViewCreated: (controller) async {
|
||||
webViewController = controller;
|
||||
},
|
||||
onLoadStart: (controller, url) {
|
||||
setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
});
|
||||
},
|
||||
// onPermissionRequest: (controller, request) {
|
||||
// return PermissionResponse(
|
||||
// resources: request.resources,
|
||||
// action: PermissionResponseAction.GRANT);
|
||||
// },
|
||||
// shouldOverrideUrlLoading:
|
||||
// (controller, navigationAction) async {
|
||||
// var uri = navigationAction.request.url!;
|
||||
//
|
||||
// if (![
|
||||
// "http",
|
||||
// "https",
|
||||
// "file",
|
||||
// "chrome",
|
||||
// "data",
|
||||
// "javascript",
|
||||
// "about"
|
||||
// ].contains(uri.scheme)) {
|
||||
// if (await canLaunchUrl(uri)) {
|
||||
// // Launch the App
|
||||
// await launchUrl(
|
||||
// uri,
|
||||
// );
|
||||
// // and cancel the request
|
||||
// return NavigationActionPolicy.CANCEL;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return NavigationActionPolicy.ALLOW;
|
||||
// },
|
||||
// onLoadStop: (controller, url) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
// onReceivedError: (controller, request, error) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// },
|
||||
// onProgressChanged: (controller, progress) {
|
||||
// if (progress == 100) {
|
||||
// pullToRefreshController?.endRefreshing();
|
||||
// }
|
||||
// setState(() {
|
||||
// this.progress = progress / 100;
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
// onUpdateVisitedHistory: (controller, url, isReload) {
|
||||
// setState(() {
|
||||
// this.url = url.toString();
|
||||
// urlController.text = this.url;
|
||||
// });
|
||||
// },
|
||||
onConsoleMessage: (controller, consoleMessage) {
|
||||
print(consoleMessage);
|
||||
},
|
||||
),
|
||||
),
|
||||
Visibility(
|
||||
visible: widget.hideBack != true,
|
||||
child: GestureDetector(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
margin: const EdgeInsets.only(left: 16, top: 16),
|
||||
margin: const EdgeInsets.only(left: 16, top: 28),
|
||||
width: 44,
|
||||
height: 44,
|
||||
decoration: BoxDecoration(
|
||||
|
||||
65
lib/utils/play_video.dart
Normal file
65
lib/utils/play_video.dart
Normal file
@@ -0,0 +1,65 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:omni_video_player/omni_video_player.dart';
|
||||
|
||||
class PlayVideoPage extends StatefulWidget {
|
||||
|
||||
final String videoUrl;
|
||||
|
||||
const PlayVideoPage({super.key, required this.videoUrl});
|
||||
|
||||
@override
|
||||
State<PlayVideoPage> createState() => _PlayVideoPageState();
|
||||
}
|
||||
|
||||
class _PlayVideoPageState extends State<PlayVideoPage> {
|
||||
OmniPlaybackController? _controller;
|
||||
@override
|
||||
void initState() {
|
||||
// TODO: implement initState
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
// TODO: implement dispose
|
||||
super.dispose();
|
||||
_controller?.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Stack(
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(bottom: 50.h,top: 150.h),
|
||||
color: Colors.black,
|
||||
child: OmniVideoPlayer(
|
||||
configuration: VideoPlayerConfiguration(
|
||||
videoSourceConfiguration: VideoSourceConfiguration.network(
|
||||
videoUrl: Uri.parse(widget.videoUrl),
|
||||
preferredQualities: [OmniVideoQuality.high1080],
|
||||
),
|
||||
), callbacks: VideoPlayerCallbacks(
|
||||
onControllerCreated: (controller) {
|
||||
setState(() {
|
||||
controller.play();
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
top: 60.h,
|
||||
left: 20.w,
|
||||
child: IconButton(
|
||||
icon: Icon(Icons.arrow_back_ios, color: Colors.white,),
|
||||
onPressed: () => Navigator.of(context).pop(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -65,7 +65,7 @@ class PullRefreshListWidget extends StatelessWidget {
|
||||
footer: footer ??
|
||||
ClassicFooter(
|
||||
loadingText: '正在加载...',
|
||||
noDataText: '没有更多数据',
|
||||
noDataText: '暂无更多数据~',
|
||||
idleText: '加载更多',
|
||||
failedText: '加载失败',
|
||||
canLoadingText: '松开加载更多',
|
||||
|
||||
@@ -59,9 +59,11 @@ class ToastUtils {
|
||||
bool isShowConfirm = false,
|
||||
Color? barrierColor,
|
||||
EdgeInsetsGeometry? padding,
|
||||
bool useSafeArea = true,
|
||||
}) {
|
||||
cancelToast();
|
||||
return showDialog(
|
||||
useSafeArea: useSafeArea,
|
||||
context: context,
|
||||
builder: (BuildContext ctx) {
|
||||
return Container(
|
||||
|
||||
598
pubspec.lock
598
pubspec.lock
File diff suppressed because it is too large
Load Diff
@@ -15,6 +15,7 @@ dependencies:
|
||||
flutter_easyloading: ^3.0.0
|
||||
sticky_headers: ^0.3.0+2 #日历需要
|
||||
get: ^4.6.5
|
||||
easy_debounce: ^2.0.3
|
||||
flutter_screenutil: ^5.9.0
|
||||
flustars_flutter3: ^3.0.0 #工具类 SpUtil,ScreenUtil, DirectoryUtil等等。
|
||||
pull_to_refresh: ^2.0.0
|
||||
@@ -29,7 +30,7 @@ dependencies:
|
||||
transparent_image: ^2.0.1 #图片懒加载
|
||||
# flutter_cached_pdfview: ^0.4.3 #pdf文件
|
||||
# webview_flutter: ^4.8.0
|
||||
video_player: ^2.6.1 #视频
|
||||
video_player: ^2.10.0 #视频
|
||||
# perfect_volume_control: ^1.0.5 #声音
|
||||
screen_brightness: ^2.1.7 #亮度
|
||||
provider: ^6.0.3
|
||||
@@ -38,6 +39,10 @@ dependencies:
|
||||
url_launcher: ^6.1.10
|
||||
flutter_inappwebview: ^6.1.5
|
||||
device_info_plus: ^11.3.0
|
||||
image_editor_plus: ^1.0.6
|
||||
path_provider: ^2.1.5
|
||||
omni_video_player: ^3.5.3
|
||||
cached_network_image: ^3.4.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Reference in New Issue
Block a user