Compare commits

..

35 Commits

Author SHA1 Message Date
5b594b471f feat:新增防抖工具类 2026-01-23 15:49:55 +08:00
c6a42fa9bb feat:新增防抖工具类 2026-01-23 15:41:31 +08:00
d19a49da0d fix:时间组件底部显示异常 2026-01-23 15:27:24 +08:00
1ea9a8bf11 no message 2026-01-20 18:05:38 +08:00
019850148f fix:图片使用图片缓存组件 2026-01-20 18:01:43 +08:00
740af2a459 fix:时间组件底部显示异常 2026-01-07 14:35:51 +08:00
0c07b6ba37 fix:时间组件底部显示异常 2026-01-07 14:11:19 +08:00
d8e4cfdaf9 fix:时间组件底部显示异常 2026-01-07 14:09:00 +08:00
d2e7d8f0af fix:播放插件切换名字 2026-01-06 15:34:32 +08:00
378303a8ef fix:播放插件切换名字 2026-01-06 15:27:05 +08:00
24dc8c5778 fix:视频播放组件rename 2026-01-05 17:49:02 +08:00
922be46a26 feat:新增视频播放组件 2026-01-05 17:43:34 +08:00
14c081c0e3 fix:优化上传图片组件数量限制 2025-12-26 17:37:01 +08:00
d4644e00e6 no message 2025-12-26 17:33:57 +08:00
96313fa03d Merge remote-tracking branch 'origin/main' 2025-12-26 17:33:43 +08:00
b329b3394d fix:优化上传图片组件数量限制 2025-12-26 17:33:21 +08:00
3e2f011463 feat(http):http webview top 2025-12-22 11:26:28 +08:00
ff3c7402a9 feat(http):http webview top 2025-12-19 18:06:05 +08:00
70e7fe99af feat(http):http webview 2025-12-19 17:43:20 +08:00
1b3d25ef39 feat(http):http webview 2025-12-19 17:36:03 +08:00
1aa3eb38f1 Merge remote-tracking branch 'origin/main' 2025-12-08 14:04:19 +08:00
6beb008489 feat(http):http webview 2025-12-08 14:04:04 +08:00
76e45db37d feat:优化加载提示文案 2025-12-03 10:16:27 +08:00
5befd4d1c8 feat(http):http webview 2025-11-21 16:26:08 +08:00
eadf95609d Merge remote-tracking branch 'origin/main' 2025-11-20 14:38:37 +08:00
682308d93c feat(http):http 取消转圈 2025-11-20 14:38:25 +08:00
11d2bd02ff no message 2025-11-17 17:47:26 +08:00
aaae40ae02 feat:增加图片编辑显示参数 2025-11-17 16:01:13 +08:00
4ab9a5ad18 feat:暴露出编辑图片功能是否显示 2025-11-17 15:54:21 +08:00
b086c5c5c9 fix:增加非空调试 2025-11-14 14:12:47 +08:00
f2ab06e4bb no message 2025-11-14 13:55:55 +08:00
13d5a31197 feat:调整上传逻辑 2025-11-14 13:43:24 +08:00
f0f8d9ef69 feat:增加参数 2025-11-14 11:35:45 +08:00
74f412886c Merge branch 'main' of code.keplerjai.com:wangliankun/flutter_common 2025-11-14 09:51:23 +08:00
94a356994e feat:预览图片组件新增编辑按钮及事件 2025-11-14 09:51:16 +08:00
27 changed files with 3873 additions and 514 deletions

View File

@@ -1,6 +1,12 @@
{ {
"configVersion": 2, "configVersion": 2,
"packages": [ "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", "name": "args",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0",
@@ -9,34 +15,64 @@
}, },
{ {
"name": "async", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "3.4"
}, },
{ {
"name": "boolean_selector", "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/", "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", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "3.4"
}, },
{ {
"name": "clock", "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/", "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", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "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", "name": "common_utils",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0",
@@ -51,13 +87,13 @@
}, },
{ {
"name": "cross_file", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.8"
}, },
{ {
"name": "crypto", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.4"
}, },
@@ -81,15 +117,15 @@
}, },
{ {
"name": "device_info_plus", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.7"
}, },
{ {
"name": "device_info_plus_platform_interface", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "3.7"
}, },
{ {
"name": "dio", "name": "dio",
@@ -104,17 +140,35 @@
"languageVersion": "3.3" "languageVersion": "3.3"
}, },
{ {
"name": "fake_async", "name": "easy_debounce",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/easy_debounce-2.0.3",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "ffi", "name": "extended_image",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/ffi-2.1.3", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "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", "name": "file",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file-7.0.1", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file-7.0.1",
@@ -123,27 +177,45 @@
}, },
{ {
"name": "file_selector_linux", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.8"
}, },
{ {
"name": "file_selector_macos", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.6"
}, },
{ {
"name": "file_selector_platform_interface", "name": "flex_seed_scheme",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_platform_interface-2.6.2", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-4.0.1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.0" "languageVersion": "3.6"
},
{
"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"
}, },
{ {
"name": "flustars_flutter3", "name": "flustars_flutter3",
@@ -155,7 +227,13 @@
"name": "flutter", "name": "flutter",
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter", "rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter",
"packageUri": "lib/", "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", "name": "flutter_easyloading",
@@ -219,9 +297,9 @@
}, },
{ {
"name": "flutter_plugin_android_lifecycle", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "flutter_screenutil", "name": "flutter_screenutil",
@@ -245,13 +323,13 @@
"name": "flutter_test", "name": "flutter_test",
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_test", "rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_test",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.8"
}, },
{ {
"name": "flutter_web_plugins", "name": "flutter_web_plugins",
"rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_web_plugins", "rootUri": "file:///Users/wxl/Desktop/flutter/packages/flutter_web_plugins",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.8"
}, },
{ {
"name": "flutter_widget_from_html_core", "name": "flutter_widget_from_html_core",
@@ -259,12 +337,42 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.4" "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", "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/", "packageUri": "lib/",
"languageVersion": "2.15" "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", "name": "html",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6",
@@ -273,16 +381,34 @@
}, },
{ {
"name": "http", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "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", "name": "http_parser",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.4" "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", "name": "image_gallery_saver_plus",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1", "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", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.7"
}, },
{ {
"name": "image_picker_android", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "image_picker_for_web", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.8"
}, },
{ {
"name": "image_picker_ios", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "image_picker_linux", "name": "image_picker_linux",
@@ -321,15 +447,15 @@
}, },
{ {
"name": "image_picker_macos", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "image_picker_platform_interface", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.7"
}, },
{ {
"name": "image_picker_windows", "name": "image_picker_windows",
@@ -343,21 +469,33 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.3" "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", "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/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{ {
"name": "leak_tracker_flutter_testing", "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/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
{ {
"name": "leak_tracker_testing", "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/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.2"
}, },
@@ -375,9 +513,9 @@
}, },
{ {
"name": "matcher", "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/", "packageUri": "lib/",
"languageVersion": "3.0" "languageVersion": "3.4"
}, },
{ {
"name": "material_color_utilities", "name": "material_color_utilities",
@@ -386,23 +524,53 @@
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "meta", "name": "matrix2d",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "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", "name": "mime",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/mime-2.0.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/mime-2.0.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "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", "name": "nested",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/nested-1.0.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/nested-1.0.0",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "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", "name": "package_info_plus",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/package_info_plus-9.0.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/package_info_plus-9.0.0",
@@ -417,9 +585,9 @@
}, },
{ {
"name": "path", "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/", "packageUri": "lib/",
"languageVersion": "3.0" "languageVersion": "3.4"
}, },
{ {
"name": "path_provider", "name": "path_provider",
@@ -429,15 +597,15 @@
}, },
{ {
"name": "path_provider_android", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "path_provider_foundation", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.10"
}, },
{ {
"name": "path_provider_linux", "name": "path_provider_linux",
@@ -495,9 +663,9 @@
}, },
{ {
"name": "petitparser", "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/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.8"
}, },
{ {
"name": "photo_view", "name": "photo_view",
@@ -517,12 +685,24 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.0" "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", "name": "provider",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "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", "name": "pull_to_refresh",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-2.0.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-2.0.0",
@@ -535,6 +715,18 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.14" "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", "name": "screen_brightness",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7",
@@ -578,22 +770,28 @@
"languageVersion": "3.0" "languageVersion": "3.0"
}, },
{ {
"name": "shared_preferences", "name": "screenshot",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0",
"packageUri": "lib/", "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", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "shared_preferences_foundation", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.9"
}, },
{ {
"name": "shared_preferences_linux", "name": "shared_preferences_linux",
@@ -619,17 +817,23 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.3" "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", "name": "sky_engine",
"rootUri": "file:///Users/wxl/Desktop/flutter/bin/cache/pkg/sky_engine", "rootUri": "file:///Users/wxl/Desktop/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.2" "languageVersion": "3.8"
}, },
{ {
"name": "source_span", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "3.1"
}, },
{ {
"name": "sp_util", "name": "sp_util",
@@ -637,9 +841,39 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.12" "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", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.4"
}, },
@@ -651,33 +885,33 @@
}, },
{ {
"name": "stream_channel", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "3.3"
}, },
{ {
"name": "string_scanner", "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/", "packageUri": "lib/",
"languageVersion": "3.1" "languageVersion": "3.1"
}, },
{ {
"name": "synchronized", "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/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.8"
}, },
{ {
"name": "term_glyph", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "3.1"
}, },
{ {
"name": "test_api", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.5"
}, },
{ {
"name": "transparent_image", "name": "transparent_image",
@@ -691,6 +925,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.5" "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", "name": "url_launcher",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-6.3.2", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-6.3.2",
@@ -699,27 +939,27 @@
}, },
{ {
"name": "url_launcher_android", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "url_launcher_ios", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.9"
}, },
{ {
"name": "url_launcher_linux", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.8"
}, },
{ {
"name": "url_launcher_macos", "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/", "packageUri": "lib/",
"languageVersion": "3.3" "languageVersion": "3.9"
}, },
{ {
"name": "url_launcher_platform_interface", "name": "url_launcher_platform_interface",
@@ -729,45 +969,51 @@
}, },
{ {
"name": "url_launcher_web", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.10"
}, },
{ {
"name": "url_launcher_windows", "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/", "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", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "3.1"
}, },
{ {
"name": "video_player", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.7"
}, },
{ {
"name": "video_player_android", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.9"
}, },
{ {
"name": "video_player_avfoundation", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.10"
}, },
{ {
"name": "video_player_platform_interface", "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/", "packageUri": "lib/",
"languageVersion": "3.6" "languageVersion": "3.7"
}, },
{ {
"name": "video_player_web", "name": "video_player_web",
@@ -776,10 +1022,22 @@
"languageVersion": "3.6" "languageVersion": "3.6"
}, },
{ {
"name": "vm_service", "name": "visibility_detector",
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/vm_service-14.3.0", "rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/visibility_detector-0.4.0+2",
"packageUri": "lib/", "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", "name": "wakelock_plus",
@@ -801,15 +1059,15 @@
}, },
{ {
"name": "win32", "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/", "packageUri": "lib/",
"languageVersion": "3.5" "languageVersion": "3.8"
}, },
{ {
"name": "win32_registry", "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/", "packageUri": "lib/",
"languageVersion": "3.4" "languageVersion": "3.7"
}, },
{ {
"name": "xdg_directories", "name": "xdg_directories",
@@ -819,9 +1077,21 @@
}, },
{ {
"name": "xml", "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/", "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", "name": "flutter_common",
@@ -830,10 +1100,9 @@
"languageVersion": "3.6" "languageVersion": "3.6"
} }
], ],
"generated": "2025-11-10T09:10:29.853637Z",
"generator": "pub", "generator": "pub",
"generatorVersion": "3.6.2", "generatorVersion": "3.10.4",
"flutterRoot": "file:///Users/wxl/Desktop/flutter", "flutterRoot": "file:///Users/wxl/Desktop/flutter",
"flutterVersion": "3.27.4", "flutterVersion": "3.38.5",
"pubCache": "file:///Users/wxl/.pub-cache" "pubCache": "file:///Users/wxl/.pub-cache"
} }

View File

@@ -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 args
3.3 3.3
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0/
@@ -22,6 +26,10 @@ collection
3.4 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0/lib/ 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 common_utils
2.12 2.12
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0/
@@ -66,6 +74,14 @@ dio_web_adapter
3.3 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/dio_web_adapter-2.1.1/lib/ 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 fake_async
2.12 2.12
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1/
@@ -94,6 +110,14 @@ file_selector_windows
3.4 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/lib/ 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 flustars_flutter3
2.12 2.12
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flustars_flutter3-3.0.0/ 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 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_widget_from_html_core-0.16.1/lib/ 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 get
2.15 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2/lib/ 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 html
3.2 3.2
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6/
@@ -170,10 +202,22 @@ http
3.4 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0/lib/ 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 http_parser
3.4 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2/lib/ 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 image_gallery_saver_plus
3.5 3.5
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1/
@@ -214,6 +258,10 @@ intl
3.3 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/intl-0.20.2/lib/ 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 leak_tracker
3.2 3.2
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7/
@@ -242,6 +290,10 @@ material_color_utilities
2.17 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.11.1/lib/ 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 meta
2.12 2.12
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0/
@@ -330,6 +382,10 @@ plugin_platform_interface
3.0 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.8/lib/ 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 provider
2.12 2.12
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1/
@@ -342,6 +398,10 @@ rational
2.14 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rational-2.2.3/lib/ 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 screen_brightness
3.0 3.0
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7/
@@ -370,6 +430,10 @@ screen_brightness_windows
3.0 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/
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/lib/ 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 shared_preferences
3.5 3.5
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3/ file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3/

View File

@@ -1 +1 @@
3.27.4 3.38.5

55
.flutter-plugins Normal file
View 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/

File diff suppressed because one or more lines are too long

6
.idea/MarsCodeWorkspaceAppSettings.xml generated Normal file
View 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>

View File

@@ -6,6 +6,63 @@
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" /> <excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/.pub" /> <excludeFolder url="file://$MODULE_DIR$/.pub" />
<excludeFolder url="file://$MODULE_DIR$/build" /> <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> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />

1476
.idea/libraries/Dart_Packages.xml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,49 +3,53 @@
<CLASSES> <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/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/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/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/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/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/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-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/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-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/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/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/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_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/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/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_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/permission_handler-11.4.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/flutter_inappwebview_windows-0.6.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/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_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_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/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/video_player-2.10.1" />
<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/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> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES /> <SOURCES />

View File

@@ -19,7 +19,7 @@ pluginManagement {
plugins { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.1.0" apply false 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" include ":app"

View File

@@ -2,6 +2,9 @@ import 'package:dio/dio.dart';
import 'package:example/exif/customer_exif_Page.dart'; import 'package:example/exif/customer_exif_Page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.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'; import 'package:image_editor_plus/image_editor_plus.dart';
void main() { void main() {
@@ -14,34 +17,21 @@ class MyApp extends StatelessWidget {
// This widget is the root of your application. // This widget is the root of your application.
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return GetMaterialApp(
title: 'Flutter Demo', title: '熊猫文旅通',
debugShowCheckedModeBanner: false,
theme: ThemeData( theme: ThemeData(
// This is the theme of your application. appBarTheme: AppBarTheme(surfaceTintColor: Colors.transparent),
// scaffoldBackgroundColor: const Color(0xffF5F5F5),
// TRY THIS: Try running your application with "flutter run". You'll see // useMaterial3: true,
// the application has a purple toolbar. Then, without quitting the app, // colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)
// try changing the seedColor in the colorScheme below to Colors.green // .copyWith(background: const Color(0xffF5F5F5)),
// 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,
), ),
// home: const MyHomePage(title: 'Flutter Demo Home Page'), home: const MyHomePage(title: '编辑图片'),
home: CustomerExifPage(),
); );
} }
} }
/// Dio 最简版:网络图片转 Uint8List /// Dio 最简版:网络图片转 Uint8List
Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async { Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
final dio = Dio(); // 初始化 Dio 实例 final dio = Dio(); // 初始化 Dio 实例
@@ -52,16 +42,13 @@ Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
options: Options(responseType: ResponseType.bytes), options: Options(responseType: ResponseType.bytes),
); );
// 响应成功且数据非空时,直接转为 Uint8List // 响应成功且数据非空时,直接转为 Uint8List
return response.statusCode == 200 && response.data != null return response.statusCode == 200 && response.data != null ? Uint8List.fromList(response.data!) : null;
? Uint8List.fromList(response.data!)
: null;
} catch (e) { } catch (e) {
print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常 print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常
return null; return null;
} }
} }
class MyHomePage extends StatefulWidget { class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title}); const MyHomePage({super.key, required this.title});
@@ -83,16 +70,15 @@ class MyHomePage extends StatefulWidget {
class _MyHomePageState extends State<MyHomePage> { class _MyHomePageState extends State<MyHomePage> {
final int _counter = 0; final int _counter = 0;
Future<void> _incrementCounter()async { Future<Uint8List?> editImage({required String url})async{
String imageUrl = 'https://static.cop.jingheyijia.com/wxapp-map2/upload/moment/20251029/app-bpItvFOQufCL.jpg'; Uint8List? imageBytes = await networkImageToUint8ListWithDio(url);
Uint8List? imageBytes = await networkImageToUint8ListWithDio(imageUrl);
ImageEditor.setI18n({ ImageEditor.setI18n({
'crop': '裁剪', 'crop': '裁剪',
'rotate left': '左旋转', 'rotate left': '左旋转',
'rotate right': '右旋转', 'rotate right': '右旋转',
'flip': '水平翻转', 'flip': '水平翻转',
'brush': '涂抹', 'brush': '涂抹',
'link':'链接', 'link': '链接',
'save': '保存', 'save': '保存',
'text': '文本', 'text': '文本',
'blur': '模糊', 'blur': '模糊',
@@ -109,8 +95,8 @@ class _MyHomePageState extends State<MyHomePage> {
'color opacity': '透明度', 'color opacity': '透明度',
'blur radius': '模糊半径', 'blur radius': '模糊半径',
}); });
if(mounted){ if (mounted) {
final editedImage = await Navigator.push( Uint8List? editedImage = await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => ImageEditor( builder: (context) => ImageEditor(
@@ -123,11 +109,16 @@ class _MyHomePageState extends State<MyHomePage> {
), ),
), ),
); );
print(editedImage); return editedImage;
} }
return null;
} }
Future<void> _incrementCounter() async {
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// This method is rerun every time setState is called, for instance as done // 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. ), // This trailing comma makes auto-formatting nicer for build methods.
); );
} }
} }

View File

@@ -7,9 +7,17 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <file_selector_linux/file_selector_plugin.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) { void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar); 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);
} }

View File

@@ -4,6 +4,8 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
file_selector_linux file_selector_linux
url_launcher_linux
volume_controller
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST

File diff suppressed because it is too large Load Diff

View File

@@ -28,6 +28,8 @@ environment:
# the latest version available on pub.dev. To see which dependencies have newer # the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`. # versions available, run `flutter pub outdated`.
dependencies: dependencies:
flutter_common:
path: ../
flutter: flutter:
sdk: flutter sdk: flutter
@@ -35,15 +37,12 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8 cupertino_icons: ^1.0.8
image_editor_plus: ^1.0.6 image_editor_plus: ^1.0.6
get: ^4.6.5
dio: ^5.9.0 dio: ^5.9.0
image_picker: ^1.1.0 #相册单选 image_picker: ^1.1.0 #相册单选
# native_exif: ^0.6.2 # native_exif: ^0.6.2
# exif: ^3.3.0 # exif: ^3.3.0
flutter_common:
git:
url: https://code.keplerjai.com/wangliankun/flutter_common.git
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter

View File

@@ -9,7 +9,7 @@ import 'package:flutter/services.dart';
///日期弹窗显示 ///日期弹窗显示
class CustomDatePicker extends StatefulWidget { class CustomDatePicker extends StatefulWidget {
CustomDatePicker( CustomDatePicker(
{Key? key, {super.key,
required DateTime initialDate, required DateTime initialDate,
required DateTime firstDate, required DateTime firstDate,
required DateTime lastDate, required DateTime lastDate,
@@ -31,8 +31,7 @@ class CustomDatePicker extends StatefulWidget {
lastDate = DateUtils.dateOnly(lastDate), lastDate = DateUtils.dateOnly(lastDate),
currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()), currentDate = DateUtils.dateOnly(currentDate ?? DateTime.now()),
assert(onDateChanged != null), assert(onDateChanged != null),
assert(initialCalendarMode != null), assert(initialCalendarMode != null) {
super(key: key) {
assert( assert(
!this.lastDate.isBefore(this.firstDate), !this.lastDate.isBefore(this.firstDate),
'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.', 'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.',

View File

@@ -216,6 +216,7 @@ class HttpUtils {
* Dio库error统一处理 * Dio库error统一处理
*/ */
static void _formatError(DioException error) { static void _formatError(DioException error) {
EasyLoading.dismiss();
switch (error.type) { switch (error.type) {
case DioExceptionType.cancel: case DioExceptionType.cancel:
break; break;

View File

@@ -1,21 +1,43 @@
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/material.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: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'; import 'package:photo_view/photo_view_gallery.dart';
class LookImagesTool { class LookImagesTool {
static lookImages({ static lookImages({
required List<String> listData, required List<String> listData,
int? currentPage, int? currentPage,
void Function(String)? onCallBack,
String? oSSAccessKeyId,
Function? callBack,
bool? isShowEdit,
String? policy,
String? callback,
String? signature,
String? ossDirectory,
String? ossHost,
}) async { }) async {
showDialog( showDialog(
context: Get.context!, context: Get.context!,
useSafeArea: false, useSafeArea: false,
builder: (_) { builder: (_) {
return LookImagesWidget( return LookImagesWidget(
listData: listData, listData: listData,
currentPage: currentPage, 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 { class LookImagesWidget extends StatefulWidget {
final List<String> listData; final List<String> listData;
final int? currentPage; 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({ const LookImagesWidget({
super.key, super.key,
required this.listData, required this.listData,
this.currentPage, this.currentPage,
this.oSSAccessKeyId,
this.policy,
this.callback,
this.signature,
this.ossDirectory,
this.ossHost,
this.onCallBack,
this.isShowEdit,
}); });
@override @override
@@ -39,6 +77,132 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
late int currentPage; late int currentPage;
late int initialPage = 0; 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 @override
void initState() { void initState() {
listData = widget.listData; listData = widget.listData;
@@ -46,7 +210,6 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
initialPage = 0; initialPage = 0;
currentPage = 0; currentPage = 0;
} else { } else {
// initialPage = 0;
currentPage = widget.currentPage ?? 0; currentPage = widget.currentPage ?? 0;
} }
super.initState(); super.initState();
@@ -77,6 +240,20 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
left: 15, left: 15,
top: 50, top: 50,
child: GestureDetector(onTap: () => Get.back(), child: Icon(Icons.arrow_back_ios, color: Colors.white))), 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( Positioned(
left: 0, left: 0,

View File

@@ -26,7 +26,7 @@ class UploadImagesTool {
}) async { }) async {
await chooseCamera( await chooseCamera(
context: context, context: context,
max: max ?? 9, max: max??9,
oSSAccessKeyId: oSSAccessKeyId ?? '', oSSAccessKeyId: oSSAccessKeyId ?? '',
ossHost: ossHost ?? '', ossHost: ossHost ?? '',
ossDirectory: ossDirectory ?? '', ossDirectory: ossDirectory ?? '',

View File

@@ -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/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.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: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'; import 'package:transparent_image/transparent_image.dart';
///字体样式 ///字体样式
class CustomerTextStyle extends TextStyle { class CustomerTextStyle extends TextStyle {
final Color? customerColor; final Color? customerColor;
@@ -97,13 +96,12 @@ class CustomerImagesNetworking extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Image.network( return CachedNetworkImage(
key: Key(imageUrl), imageUrl: imageUrl,
imageUrl,
width: width, width: width,
height: height, height: height,
fit: fit, fit: fit,
errorBuilder: (_, object, s) { errorWidget: (_, object, s) {
return Container( return Container(
width: width, width: width,
height: height, height: height,
@@ -119,22 +117,44 @@ class CustomerImagesNetworking extends StatelessWidget {
); );
}, },
); );
return imageUrl.contains('http') == true // return Image.network(
? FadeInImage.memoryNetwork( // key: Key(imageUrl),
placeholder: kTransparentImage, // imageUrl,
width: width, // width: width,
height: height, // height: height,
image: imageUrl, // fit: fit,
fit: fit, // errorBuilder: (_, object, s) {
placeholderErrorBuilder: // return Container(
(_, Object object, StackTrace? stackTrace) { // width: width,
return errorWidget ?? const SizedBox(); // height: height,
}, // padding: EdgeInsets.all((width ?? 0) / 2),
imageErrorBuilder: (_, Object object, StackTrace? stackTrace) { // child: Center(
return errorWidget ?? const SizedBox(); // child: Image.asset(
}, // 'assets/images/noContainer.png',
) // // width: width /2,
: errorWidget ?? const SizedBox(); // // 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();
} }
} }

View File

@@ -1,10 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_common/utils/file/video/lib/chewie.dart'; import 'package:flutter_common/utils/file/video/lib/chewie.dart';
import 'package:video_player/video_player.dart'; import 'package:video_player/video_player.dart';
class VideoPlayPage extends StatefulWidget { class VideoPlayPage extends StatefulWidget {
final String? videoUrl; final String? videoUrl;
const VideoPlayPage({super.key, this.videoUrl}); const VideoPlayPage({super.key, this.videoUrl});

View File

@@ -40,96 +40,99 @@ class _CustomerWebViewState extends State<CustomerWebView> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, // SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: [SystemUiOverlay.bottom]); // overlays: [SystemUiOverlay.bottom]);
return Stack( return Stack(
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
children: [ children: [
InAppWebView( Padding(
key: webViewKey, padding: const EdgeInsets.only(top: 16,bottom: 16),
// webViewEnvironment: webViewEnvironment, child: InAppWebView(
initialUrlRequest: URLRequest(url: WebUri(widget.url)), key: webViewKey,
// initialUrlRequest: // webViewEnvironment: webViewEnvironment,
// URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')), initialUrlRequest: URLRequest(url: WebUri(widget.url)),
// initialFile: "assets/index.html", // initialUrlRequest:
initialUserScripts: UnmodifiableListView<UserScript>([]), // URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')),
initialSettings: settings, // initialFile: "assets/index.html",
// contextMenu: contextMenu, initialUserScripts: UnmodifiableListView<UserScript>([]),
// pullToRefreshController: pullToRefreshController, initialSettings: settings,
onWebViewCreated: (controller) async { // contextMenu: contextMenu,
webViewController = controller; // pullToRefreshController: pullToRefreshController,
}, onWebViewCreated: (controller) async {
onLoadStart: (controller, url) { webViewController = controller;
setState(() { },
// this.url = url.toString(); onLoadStart: (controller, url) {
// urlController.text = this.url; setState(() {
}); // this.url = url.toString();
}, // urlController.text = this.url;
// onPermissionRequest: (controller, request) { });
// return PermissionResponse( },
// resources: request.resources, // onPermissionRequest: (controller, request) {
// action: PermissionResponseAction.GRANT); // return PermissionResponse(
// }, // resources: request.resources,
// shouldOverrideUrlLoading: // action: PermissionResponseAction.GRANT);
// (controller, navigationAction) async { // },
// var uri = navigationAction.request.url!; // shouldOverrideUrlLoading:
// // (controller, navigationAction) async {
// if (![ // var uri = navigationAction.request.url!;
// "http", //
// "https", // if (![
// "file", // "http",
// "chrome", // "https",
// "data", // "file",
// "javascript", // "chrome",
// "about" // "data",
// ].contains(uri.scheme)) { // "javascript",
// if (await canLaunchUrl(uri)) { // "about"
// // Launch the App // ].contains(uri.scheme)) {
// await launchUrl( // if (await canLaunchUrl(uri)) {
// uri, // // Launch the App
// ); // await launchUrl(
// // and cancel the request // uri,
// return NavigationActionPolicy.CANCEL; // );
// } // // and cancel the request
// } // return NavigationActionPolicy.CANCEL;
// // }
// return NavigationActionPolicy.ALLOW; // }
// }, //
// onLoadStop: (controller, url) { // return NavigationActionPolicy.ALLOW;
// pullToRefreshController?.endRefreshing(); // },
// setState(() { // onLoadStop: (controller, url) {
// this.url = url.toString(); // pullToRefreshController?.endRefreshing();
// urlController.text = this.url; // setState(() {
// }); // this.url = url.toString();
// }, // urlController.text = this.url;
// onReceivedError: (controller, request, error) { // });
// pullToRefreshController?.endRefreshing(); // },
// }, // onReceivedError: (controller, request, error) {
// onProgressChanged: (controller, progress) { // pullToRefreshController?.endRefreshing();
// if (progress == 100) { // },
// pullToRefreshController?.endRefreshing(); // onProgressChanged: (controller, progress) {
// } // if (progress == 100) {
// setState(() { // pullToRefreshController?.endRefreshing();
// this.progress = progress / 100; // }
// urlController.text = this.url; // setState(() {
// }); // this.progress = progress / 100;
// }, // urlController.text = this.url;
// onUpdateVisitedHistory: (controller, url, isReload) { // });
// setState(() { // },
// this.url = url.toString(); // onUpdateVisitedHistory: (controller, url, isReload) {
// urlController.text = this.url; // setState(() {
// }); // this.url = url.toString();
// }, // urlController.text = this.url;
onConsoleMessage: (controller, consoleMessage) { // });
print(consoleMessage); // },
}, onConsoleMessage: (controller, consoleMessage) {
print(consoleMessage);
},
),
), ),
Visibility( Visibility(
visible: widget.hideBack != true, visible: widget.hideBack != true,
child: GestureDetector( child: GestureDetector(
onTap: () => Navigator.pop(context), onTap: () => Navigator.pop(context),
child: Container( child: Container(
margin: const EdgeInsets.only(left: 16, top: 16), margin: const EdgeInsets.only(left: 16, top: 28),
width: 44, width: 44,
height: 44, height: 44,
decoration: BoxDecoration( decoration: BoxDecoration(

65
lib/utils/play_video.dart Normal file
View 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(),
),
),
],
),
);
}
}

View File

@@ -65,7 +65,7 @@ class PullRefreshListWidget extends StatelessWidget {
footer: footer ?? footer: footer ??
ClassicFooter( ClassicFooter(
loadingText: '正在加载...', loadingText: '正在加载...',
noDataText: '没有更多数据', noDataText: '暂无更多数据~',
idleText: '加载更多', idleText: '加载更多',
failedText: '加载失败', failedText: '加载失败',
canLoadingText: '松开加载更多', canLoadingText: '松开加载更多',

View File

@@ -59,9 +59,11 @@ class ToastUtils {
bool isShowConfirm = false, bool isShowConfirm = false,
Color? barrierColor, Color? barrierColor,
EdgeInsetsGeometry? padding, EdgeInsetsGeometry? padding,
bool useSafeArea = true,
}) { }) {
cancelToast(); cancelToast();
return showDialog( return showDialog(
useSafeArea: useSafeArea,
context: context, context: context,
builder: (BuildContext ctx) { builder: (BuildContext ctx) {
return Container( return Container(

File diff suppressed because it is too large Load Diff

View File

@@ -15,6 +15,7 @@ dependencies:
flutter_easyloading: ^3.0.0 flutter_easyloading: ^3.0.0
sticky_headers: ^0.3.0+2 #日历需要 sticky_headers: ^0.3.0+2 #日历需要
get: ^4.6.5 get: ^4.6.5
easy_debounce: ^2.0.3
flutter_screenutil: ^5.9.0 flutter_screenutil: ^5.9.0
flustars_flutter3: ^3.0.0 #工具类 SpUtilScreenUtil, DirectoryUtil等等。 flustars_flutter3: ^3.0.0 #工具类 SpUtilScreenUtil, DirectoryUtil等等。
pull_to_refresh: ^2.0.0 pull_to_refresh: ^2.0.0
@@ -29,7 +30,7 @@ dependencies:
transparent_image: ^2.0.1 #图片懒加载 transparent_image: ^2.0.1 #图片懒加载
# flutter_cached_pdfview: ^0.4.3 #pdf文件 # flutter_cached_pdfview: ^0.4.3 #pdf文件
# webview_flutter: ^4.8.0 # webview_flutter: ^4.8.0
video_player: ^2.6.1 #视频 video_player: ^2.10.0 #视频
# perfect_volume_control: ^1.0.5 #声音 # perfect_volume_control: ^1.0.5 #声音
screen_brightness: ^2.1.7 #亮度 screen_brightness: ^2.1.7 #亮度
provider: ^6.0.3 provider: ^6.0.3
@@ -38,6 +39,10 @@ dependencies:
url_launcher: ^6.1.10 url_launcher: ^6.1.10
flutter_inappwebview: ^6.1.5 flutter_inappwebview: ^6.1.5
device_info_plus: ^11.3.0 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: dev_dependencies:
flutter_test: flutter_test: