feat:增加参数
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
{
|
||||
"configVersion": 2,
|
||||
"packages": [
|
||||
{
|
||||
"name": "archive",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "args",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0",
|
||||
@@ -37,6 +43,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "colorfilter_generator",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.15"
|
||||
},
|
||||
{
|
||||
"name": "common_utils",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0",
|
||||
@@ -103,6 +115,18 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "extended_image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.18"
|
||||
},
|
||||
{
|
||||
"name": "extended_image_library",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.2"
|
||||
},
|
||||
{
|
||||
"name": "fake_async",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1",
|
||||
@@ -145,6 +169,18 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "flex_color_picker",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.7.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "flex_seed_scheme",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-3.5.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "flustars_flutter3",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flustars_flutter3-3.0.0",
|
||||
@@ -259,12 +295,24 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "font_awesome_flutter",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.9.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "get",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.15"
|
||||
},
|
||||
{
|
||||
"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": "html",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6",
|
||||
@@ -277,12 +325,30 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "http_client_helper",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "http_parser",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.4"
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.5.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "image_editor_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "image_gallery_saver_plus",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1",
|
||||
@@ -343,6 +409,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.3"
|
||||
},
|
||||
{
|
||||
"name": "js",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.1",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.1"
|
||||
},
|
||||
{
|
||||
"name": "leak_tracker",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7",
|
||||
@@ -385,6 +457,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.17"
|
||||
},
|
||||
{
|
||||
"name": "matrix2d",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "meta",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0",
|
||||
@@ -517,6 +595,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "posix",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "provider",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1",
|
||||
@@ -535,6 +619,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.14"
|
||||
},
|
||||
{
|
||||
"name": "reorderables",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "screen_brightness",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7",
|
||||
@@ -577,6 +667,12 @@
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "3.0"
|
||||
},
|
||||
{
|
||||
"name": "screenshot",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
},
|
||||
{
|
||||
"name": "shared_preferences",
|
||||
"rootUri": "file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3",
|
||||
@@ -830,7 +926,7 @@
|
||||
"languageVersion": "3.6"
|
||||
}
|
||||
],
|
||||
"generated": "2025-11-10T09:10:29.853637Z",
|
||||
"generated": "2025-11-14T03:05:37.015796Z",
|
||||
"generator": "pub",
|
||||
"generatorVersion": "3.6.2",
|
||||
"flutterRoot": "file:///Users/wxl/Desktop/flutter",
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
archive
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/archive-4.0.7/lib/
|
||||
args
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/args-2.7.0/
|
||||
@@ -22,6 +26,10 @@ collection
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/collection-1.19.0/lib/
|
||||
colorfilter_generator
|
||||
2.15
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/colorfilter_generator-0.0.8/lib/
|
||||
common_utils
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/common_utils-2.1.0/
|
||||
@@ -66,6 +74,14 @@ dio_web_adapter
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/dio_web_adapter-2.1.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/dio_web_adapter-2.1.1/lib/
|
||||
extended_image
|
||||
2.18
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image-8.3.1/lib/
|
||||
extended_image_library
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/extended_image_library-4.0.6/lib/
|
||||
fake_async
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.3.1/
|
||||
@@ -94,6 +110,14 @@ file_selector_windows
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/file_selector_windows-0.9.3+4/lib/
|
||||
flex_color_picker
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.7.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_color_picker-3.7.1/lib/
|
||||
flex_seed_scheme
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-3.5.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flex_seed_scheme-3.5.1/lib/
|
||||
flustars_flutter3
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flustars_flutter3-3.0.0/
|
||||
@@ -158,10 +182,18 @@ flutter_widget_from_html_core
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_widget_from_html_core-0.16.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/flutter_widget_from_html_core-0.16.1/lib/
|
||||
font_awesome_flutter
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.9.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/font_awesome_flutter-10.9.1/lib/
|
||||
get
|
||||
2.15
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/get-4.7.2/lib/
|
||||
hand_signature
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hand_signature-3.1.0+2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/hand_signature-3.1.0+2/lib/
|
||||
html
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/html-0.15.6/
|
||||
@@ -170,10 +202,22 @@ http
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http-1.5.0/lib/
|
||||
http_client_helper
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_client_helper-3.0.0/lib/
|
||||
http_parser
|
||||
3.4
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.1.2/lib/
|
||||
image
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.5.4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image-4.5.4/lib/
|
||||
image_editor_plus
|
||||
2.17
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_editor_plus-1.0.6/lib/
|
||||
image_gallery_saver_plus
|
||||
3.5
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/image_gallery_saver_plus-4.0.1/
|
||||
@@ -214,6 +258,10 @@ intl
|
||||
3.3
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/intl-0.20.2/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/intl-0.20.2/lib/
|
||||
js
|
||||
3.1
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/js-0.7.1/lib/
|
||||
leak_tracker
|
||||
3.2
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/leak_tracker-10.0.7/
|
||||
@@ -242,6 +290,10 @@ material_color_utilities
|
||||
2.17
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.11.1/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/material_color_utilities-0.11.1/lib/
|
||||
matrix2d
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/matrix2d-1.0.4/lib/
|
||||
meta
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/meta-1.15.0/
|
||||
@@ -330,6 +382,10 @@ plugin_platform_interface
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.8/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.8/lib/
|
||||
posix
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/posix-6.0.3/lib/
|
||||
provider
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/provider-6.1.5+1/
|
||||
@@ -342,6 +398,10 @@ rational
|
||||
2.14
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rational-2.2.3/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/rational-2.2.3/lib/
|
||||
reorderables
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/reorderables-0.6.0/lib/
|
||||
screen_brightness
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness-2.1.7/
|
||||
@@ -370,6 +430,10 @@ screen_brightness_windows
|
||||
3.0
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screen_brightness_windows-2.1.0/lib/
|
||||
screenshot
|
||||
2.12
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0/
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/screenshot-3.0.0/lib/
|
||||
shared_preferences
|
||||
3.5
|
||||
file:///Users/wxl/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-2.5.3/
|
||||
|
||||
3
.idea/flutter_common.iml
generated
3
.idea/flutter_common.iml
generated
@@ -6,6 +6,9 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/.dart_tool" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/.pub" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/example/build" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
|
||||
@@ -19,7 +19,7 @@ pluginManagement {
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version "8.1.0" apply false
|
||||
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.2.21" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
|
||||
@@ -2,6 +2,9 @@ import 'package:dio/dio.dart';
|
||||
import 'package:example/exif/customer_exif_Page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_common/upload_image/look_images_widget.dart';
|
||||
import 'package:flutter_common/upload_image/upload_images_tool.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_editor_plus/image_editor_plus.dart';
|
||||
|
||||
void main() {
|
||||
@@ -14,34 +17,21 @@ class MyApp extends StatelessWidget {
|
||||
// This widget is the root of your application.
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
title: 'Flutter Demo',
|
||||
return GetMaterialApp(
|
||||
title: '熊猫文旅通',
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: ThemeData(
|
||||
// This is the theme of your application.
|
||||
//
|
||||
// TRY THIS: Try running your application with "flutter run". You'll see
|
||||
// the application has a purple toolbar. Then, without quitting the app,
|
||||
// try changing the seedColor in the colorScheme below to Colors.green
|
||||
// and then invoke "hot reload" (save your changes or press the "hot
|
||||
// reload" button in a Flutter-supported IDE, or press "r" if you used
|
||||
// the command line to start the app).
|
||||
//
|
||||
// Notice that the counter didn't reset back to zero; the application
|
||||
// state is not lost during the reload. To reset the state, use hot
|
||||
// restart instead.
|
||||
//
|
||||
// This works for code too, not just values: Most code changes can be
|
||||
// tested with just a hot reload.
|
||||
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
|
||||
useMaterial3: true,
|
||||
appBarTheme: AppBarTheme(surfaceTintColor: Colors.transparent),
|
||||
scaffoldBackgroundColor: const Color(0xffF5F5F5),
|
||||
// useMaterial3: true,
|
||||
// colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)
|
||||
// .copyWith(background: const Color(0xffF5F5F5)),
|
||||
),
|
||||
// home: const MyHomePage(title: 'Flutter Demo Home Page'),
|
||||
home: CustomerExifPage(),
|
||||
home: const MyHomePage(title: '编辑图片'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Dio 最简版:网络图片转 Uint8List
|
||||
Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
final dio = Dio(); // 初始化 Dio 实例
|
||||
@@ -52,16 +42,13 @@ Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
// 响应成功且数据非空时,直接转为 Uint8List
|
||||
return response.statusCode == 200 && response.data != null
|
||||
? Uint8List.fromList(response.data!)
|
||||
: null;
|
||||
return response.statusCode == 200 && response.data != null ? Uint8List.fromList(response.data!) : null;
|
||||
} catch (e) {
|
||||
print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MyHomePage extends StatefulWidget {
|
||||
const MyHomePage({super.key, required this.title});
|
||||
|
||||
@@ -83,16 +70,15 @@ class MyHomePage extends StatefulWidget {
|
||||
class _MyHomePageState extends State<MyHomePage> {
|
||||
final int _counter = 0;
|
||||
|
||||
Future<void> _incrementCounter()async {
|
||||
String imageUrl = 'https://static.cop.jingheyijia.com/wxapp-map2/upload/moment/20251029/app-bpItvFOQufCL.jpg';
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(imageUrl);
|
||||
Future<Uint8List?> editImage({required String url})async{
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(url);
|
||||
ImageEditor.setI18n({
|
||||
'crop': '裁剪',
|
||||
'rotate left': '左旋转',
|
||||
'rotate right': '右旋转',
|
||||
'flip': '水平翻转',
|
||||
'brush': '涂抹',
|
||||
'link':'链接',
|
||||
'link': '链接',
|
||||
'save': '保存',
|
||||
'text': '文本',
|
||||
'blur': '模糊',
|
||||
@@ -109,8 +95,8 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
'color opacity': '透明度',
|
||||
'blur radius': '模糊半径',
|
||||
});
|
||||
if(mounted){
|
||||
final editedImage = await Navigator.push(
|
||||
if (mounted) {
|
||||
Uint8List? editedImage = await Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ImageEditor(
|
||||
@@ -123,10 +109,16 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
),
|
||||
),
|
||||
);
|
||||
return editedImage;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Future<void> _incrementCounter() async {
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// This method is rerun every time setState is called, for instance as done
|
||||
@@ -181,4 +173,4 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
), // This trailing comma makes auto-formatting nicer for build methods.
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,9 +7,13 @@
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <file_selector_linux/file_selector_plugin.h>
|
||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
||||
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
||||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
file_selector_linux
|
||||
url_launcher_linux
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
|
||||
@@ -9,6 +9,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.0.7"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: args
|
||||
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.7.0"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -57,6 +65,22 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.0.8"
|
||||
common_utils:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: common_utils
|
||||
sha256: c26884339b13ff99b0739e56f4b02090c84054ed9dd3a045435cd24e7b99c2c1
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: convert
|
||||
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -73,6 +97,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.7"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: csslib
|
||||
sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.2"
|
||||
cupertino_icons:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -81,6 +113,38 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.8"
|
||||
dbus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dbus
|
||||
sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.7.11"
|
||||
decimal:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: decimal
|
||||
sha256: fc706a5618b81e5b367b01dd62621def37abc096f2b46a9bd9068b64c1fa36d0
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.2.4"
|
||||
device_info_plus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: device_info_plus
|
||||
sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "11.3.0"
|
||||
device_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: device_info_plus_platform_interface
|
||||
sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "7.0.2"
|
||||
dio:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -129,6 +193,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "7.0.1"
|
||||
file_selector_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -177,11 +249,98 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.5.1"
|
||||
flustars_flutter3:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flustars_flutter3
|
||||
sha256: d4f412eeb97e648dfe5cf888aa9066f6c1b1f133ff72dca264c0d23a906e3dab
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_common:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: ".."
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
flutter_easyloading:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_easyloading
|
||||
sha256: ba21a3c883544e582f9cc455a4a0907556714e1e9cf0eababfcb600da191d17c
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.5"
|
||||
flutter_inappwebview:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview
|
||||
sha256: "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.1.5"
|
||||
flutter_inappwebview_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_android
|
||||
sha256: "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.3"
|
||||
flutter_inappwebview_internal_annotations:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_internal_annotations
|
||||
sha256: "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
flutter_inappwebview_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_ios
|
||||
sha256: "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
flutter_inappwebview_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_macos
|
||||
sha256: c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
flutter_inappwebview_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_platform_interface
|
||||
sha256: cf5323e194096b6ede7a1ca808c3e0a078e4b33cc3f6338977d75b4024ba2500
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.3.0+1"
|
||||
flutter_inappwebview_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_web
|
||||
sha256: "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
flutter_inappwebview_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_windows
|
||||
sha256: "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -198,6 +357,30 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.0.29"
|
||||
flutter_screenutil:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_screenutil
|
||||
sha256: "8239210dd68bee6b0577aa4a090890342d04a136ce1c81f98ee513fc0ce891de"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "5.9.3"
|
||||
flutter_spinkit:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_spinkit
|
||||
sha256: "77850df57c00dc218bfe96071d576a8babec24cf58b2ed121c83cca4a2fdce7f"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "5.2.2"
|
||||
flutter_staggered_grid_view:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_staggered_grid_view
|
||||
sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.7.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
@@ -208,6 +391,14 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_widget_from_html_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_widget_from_html_core
|
||||
sha256: "50990ec287434a280ed15d602aa3bf6e8db9c54159762d906057a04e9493b91a"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.16.1"
|
||||
font_awesome_flutter:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -216,6 +407,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "10.9.1"
|
||||
get:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: get
|
||||
sha256: c79eeb4339f1f3deffd9ec912f8a923834bec55f7b49c9e882b8fef2c139d425
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.7.2"
|
||||
hand_signature:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -224,14 +423,22 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.1.0+2"
|
||||
html:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: html
|
||||
sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.15.6"
|
||||
http:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http
|
||||
sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
|
||||
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.5.0"
|
||||
version: "1.6.0"
|
||||
http_client_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -264,8 +471,16 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.6"
|
||||
image_picker:
|
||||
image_gallery_saver_plus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_gallery_saver_plus
|
||||
sha256: "199b9e24f8d85e98f11e3d35571ab68ae50626ad40e2bb85c84383f69a6950ad"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
image_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image_picker
|
||||
sha256: "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041"
|
||||
@@ -328,6 +543,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.2.2"
|
||||
intl:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: intl
|
||||
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.20.2"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -368,6 +591,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "5.1.1"
|
||||
logging:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: logging
|
||||
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -408,6 +639,30 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
nested:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: nested
|
||||
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
package_info_plus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus
|
||||
sha256: f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "9.0.0"
|
||||
package_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_platform_interface
|
||||
sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -520,6 +775,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.0.2"
|
||||
photo_view:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: photo_view
|
||||
sha256: "1fc3d970a91295fbd1364296575f854c9863f225505c28c46e0a03e48960c75e"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.15.0"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -544,6 +807,30 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.0.3"
|
||||
provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: provider
|
||||
sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.1.5+1"
|
||||
pull_to_refresh:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pull_to_refresh
|
||||
sha256: bbadd5a931837b57739cf08736bea63167e284e71fb23b218c8c9a6e042aad12
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
rational:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: rational
|
||||
sha256: cb808fb6f1a839e6fc5f7d8cb3b0a10e1db48b3be102de73938c627f0b636336
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.2.3"
|
||||
reorderables:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -552,6 +839,62 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
screen_brightness:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness
|
||||
sha256: "5f70754028f169f059fdc61112a19dcbee152f8b293c42c848317854d650cba3"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.7"
|
||||
screen_brightness_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_android
|
||||
sha256: d34f5321abd03bc3474f4c381f53d189117eba0b039eac1916aa92cca5fd0a96
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
screen_brightness_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_ios
|
||||
sha256: "2493953340ecfe8f4f13f61db50ce72533a55b0bbd58ba1402893feecf3727f5"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
screen_brightness_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_macos
|
||||
sha256: "4edf330ad21078686d8bfaf89413325fbaf571dcebe1e89254d675a3f288b5b9"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
screen_brightness_ohos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_ohos
|
||||
sha256: a93a263dcd39b5c56e589eb495bcd001ce65cdd96ff12ab1350683559d5c5bb7
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
screen_brightness_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_platform_interface
|
||||
sha256: "737bd47b57746bc4291cab1b8a5843ee881af499514881b0247ec77447ee769c"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
screen_brightness_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_windows
|
||||
sha256: d3518bf0f5d7a884cee2c14449ae0b36803802866de09f7ef74077874b6b2448
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
screenshot:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -560,6 +903,62 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
shared_preferences:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences
|
||||
sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.5.3"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.11"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_foundation
|
||||
sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.5.4"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_linux
|
||||
sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
shared_preferences_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_platform_interface
|
||||
sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
shared_preferences_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_web
|
||||
sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.3"
|
||||
shared_preferences_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_windows
|
||||
sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -573,6 +972,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
sp_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sp_util
|
||||
sha256: "9da43dce5de79c17a787d0626bf01538d63090ca32521200d22a232171c495dc"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -581,6 +988,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.12.0"
|
||||
sticky_headers:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sticky_headers
|
||||
sha256: "9b3dd2cb0fd6a7038170af3261f855660cbb241cb56c501452cb8deed7023ede"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.3.0+2"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -597,6 +1012,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
synchronized:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: synchronized
|
||||
sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.3.0+3"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -613,6 +1036,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.7.3"
|
||||
transparent_image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: transparent_image
|
||||
sha256: e8991d955a2094e197ca24c645efec2faf4285772a4746126ca12875e54ca02f
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -621,6 +1052,70 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.4.0"
|
||||
url_launcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher
|
||||
sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.3.2"
|
||||
url_launcher_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_android
|
||||
sha256: "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.3.17"
|
||||
url_launcher_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_ios
|
||||
sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.3.3"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_linux
|
||||
sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
url_launcher_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.2.2"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_platform_interface
|
||||
sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.3.2"
|
||||
url_launcher_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_windows
|
||||
sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.1.4"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -629,6 +1124,46 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
video_player:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player
|
||||
sha256: "0d55b1f1a31e5ad4c4967bfaa8ade0240b07d20ee4af1dfef5f531056512961a"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.10.0"
|
||||
video_player_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_android
|
||||
sha256: "28dcc4122079f40f93a0965b3679aff1a5f4251cf79611bd8011f937eb6b69de"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.8.4"
|
||||
video_player_avfoundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_avfoundation
|
||||
sha256: f9a780aac57802b2892f93787e5ea53b5f43cc57dc107bee9436458365be71cd
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.8.4"
|
||||
video_player_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_platform_interface
|
||||
sha256: cf2a1d29a284db648fd66cbd18aacc157f9862d77d2cc790f6f9678a46c1db5a
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.4.0"
|
||||
video_player_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_web
|
||||
sha256: "9f3c00be2ef9b76a95d94ac5119fb843dca6f2c69e6c9968f6f2b6c9e7afbdeb"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
vm_service:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -637,14 +1172,46 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "14.3.0"
|
||||
wakelock_plus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: wakelock_plus
|
||||
sha256: "9296d40c9adbedaba95d1e704f4e0b434be446e2792948d0e4aa977048104228"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.4.0"
|
||||
wakelock_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: wakelock_plus_platform_interface
|
||||
sha256: "036deb14cd62f558ca3b73006d52ce049fabcdcb2eddfe0bf0fe4e8a943b5cf2"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web
|
||||
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
|
||||
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.5.1"
|
||||
version: "1.1.1"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32
|
||||
sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "5.10.1"
|
||||
win32_registry:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32_registry
|
||||
sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.1.5"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -28,6 +28,8 @@ environment:
|
||||
# the latest version available on pub.dev. To see which dependencies have newer
|
||||
# versions available, run `flutter pub outdated`.
|
||||
dependencies:
|
||||
flutter_common:
|
||||
path: ../
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
@@ -35,15 +37,12 @@ dependencies:
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.8
|
||||
image_editor_plus: ^1.0.6
|
||||
get: ^4.6.5
|
||||
dio: ^5.9.0
|
||||
image_picker: ^1.1.0 #相册单选
|
||||
# native_exif: ^0.6.2
|
||||
# exif: ^3.3.0
|
||||
|
||||
flutter_common:
|
||||
git:
|
||||
url: https://code.keplerjai.com/wangliankun/flutter_common.git
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
@@ -1,23 +1,38 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_common/upload_image/ossUtil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:photo_view/photo_view.dart';
|
||||
import 'package:image_editor_plus/image_editor_plus.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:photo_view/photo_view_gallery.dart';
|
||||
|
||||
class LookImagesTool {
|
||||
static lookImages({
|
||||
required List<String> listData,
|
||||
int? currentPage,
|
||||
Function? editCallback,
|
||||
String? oSSAccessKeyId,
|
||||
String? policy,
|
||||
String? callback,
|
||||
String? signature,
|
||||
String? ossDirectory,
|
||||
String? ossHost,
|
||||
}) async {
|
||||
showDialog(
|
||||
context: Get.context!,
|
||||
useSafeArea: false,
|
||||
builder: (_) {
|
||||
return LookImagesWidget(
|
||||
listData: listData,
|
||||
currentPage: currentPage,
|
||||
editCallback: editCallback,
|
||||
);
|
||||
listData: listData,
|
||||
currentPage: currentPage,
|
||||
oSSAccessKeyId: oSSAccessKeyId,
|
||||
policy: policy,
|
||||
callback: callback,
|
||||
signature: signature,
|
||||
ossDirectory: ossDirectory,
|
||||
ossHost: ossHost);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -25,13 +40,23 @@ class LookImagesTool {
|
||||
class LookImagesWidget extends StatefulWidget {
|
||||
final List<String> listData;
|
||||
final int? currentPage;
|
||||
final Function? editCallback;
|
||||
final String? oSSAccessKeyId;
|
||||
final String? policy;
|
||||
final String? callback;
|
||||
final String? signature;
|
||||
final String? ossDirectory;
|
||||
final String? ossHost;
|
||||
|
||||
const LookImagesWidget({
|
||||
super.key,
|
||||
required this.listData,
|
||||
this.currentPage,
|
||||
this.editCallback,
|
||||
this.oSSAccessKeyId,
|
||||
this.policy,
|
||||
this.callback,
|
||||
this.signature,
|
||||
this.ossDirectory,
|
||||
this.ossHost,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -43,6 +68,67 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
|
||||
late int currentPage;
|
||||
late int initialPage = 0;
|
||||
|
||||
/// Dio 最简版:网络图片转 Uint8List
|
||||
Future<Uint8List?> networkImageToUint8ListWithDio(String imageUrl) async {
|
||||
final dio = Dio(); // 初始化 Dio 实例
|
||||
try {
|
||||
// 发起 GET 请求,响应类型设为字节数组(关键)
|
||||
final response = await dio.get<List<int>>(
|
||||
imageUrl,
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
// 响应成功且数据非空时,直接转为 Uint8List
|
||||
return response.statusCode == 200 && response.data != null ? Uint8List.fromList(response.data!) : null;
|
||||
} catch (e) {
|
||||
print('图片转换失败:$e'); // 捕获网络错误、URL 非法等异常
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Future<Uint8List?> editImage({required String url}) async {
|
||||
Uint8List? imageBytes = await networkImageToUint8ListWithDio(url);
|
||||
ImageEditor.setI18n({
|
||||
'crop': '裁剪',
|
||||
'rotate left': '左旋转',
|
||||
'rotate right': '右旋转',
|
||||
'flip': '水平翻转',
|
||||
'brush': '涂抹',
|
||||
'link': '链接',
|
||||
'save': '保存',
|
||||
'text': '文本',
|
||||
'blur': '模糊',
|
||||
'filter': '滤镜',
|
||||
'size': '大小',
|
||||
'color': '颜色',
|
||||
'background color': '背景颜色',
|
||||
'background opacity': '背景透明度',
|
||||
'reset': '重置',
|
||||
'freeform': '自由裁剪',
|
||||
'remove': '移除',
|
||||
'emoji': '表情',
|
||||
'slider color': '滑块颜色',
|
||||
'color opacity': '透明度',
|
||||
'blur radius': '模糊半径',
|
||||
});
|
||||
if (mounted) {
|
||||
Uint8List? editedImage = await Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ImageEditor(
|
||||
image: imageBytes,
|
||||
blurOption: null,
|
||||
filtersOption: null,
|
||||
brushOption: null,
|
||||
textOption: null,
|
||||
emojiOption: null,
|
||||
),
|
||||
),
|
||||
);
|
||||
return editedImage;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
listData = widget.listData;
|
||||
@@ -84,7 +170,74 @@ class _LookImagesWidgetState extends State<LookImagesWidget> {
|
||||
Positioned(
|
||||
right: 15,
|
||||
top: 50,
|
||||
child: GestureDetector(onTap: () => widget.editCallback?.call(), child: Icon(Icons.edit, color: Colors.white))),
|
||||
child: GestureDetector(
|
||||
onTap: () async {
|
||||
Uint8List? imageFile = await editImage(url: listData[currentPage]);
|
||||
|
||||
/// 可选:根据字节头自动识别文件后缀(如图片、视频)
|
||||
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
|
||||
Future<File?> uint8ListToTempFile(Uint8List uint8List, {String fileName = "temp_file"}) async {
|
||||
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 string = 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 ?? '',
|
||||
);
|
||||
return tempFile;
|
||||
} catch (e) {
|
||||
print("转换临时文件失败:$e");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
child: Icon(Icons.edit, color: Colors.white))),
|
||||
//图片张数指示器
|
||||
Positioned(
|
||||
left: 0,
|
||||
|
||||
130
pubspec.lock
130
pubspec.lock
@@ -1,6 +1,14 @@
|
||||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.0.7"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -49,6 +57,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.19.0"
|
||||
colorfilter_generator:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: colorfilter_generator
|
||||
sha256: ccc2995e440b1d828d55d99150e7cad64624f3cb4a1e235000de3f93cf10d35c
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.0.8"
|
||||
common_utils:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -137,6 +153,22 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
extended_image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: extended_image
|
||||
sha256: "69d4299043334ecece679996e47d0b0891cd8c29d8da0034868443506f1d9a78"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "8.3.1"
|
||||
extended_image_library:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: extended_image_library
|
||||
sha256: e61dafd94400fff6ef7ed1523d445ff3af137f198f3228e4a3107bc5b4bec5d1
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.0.6"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -193,6 +225,22 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.9.3+4"
|
||||
flex_color_picker:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flex_color_picker
|
||||
sha256: "8f753a1a026a13ea5cc5eddbae3ceb886f2537569ab2e5208efb1e3bb5af72ff"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.7.1"
|
||||
flex_seed_scheme:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flex_seed_scheme
|
||||
sha256: b06d8b367b84cbf7ca5c5603c858fa5edae88486c4e4da79ac1044d73b6c62ec
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.5.1"
|
||||
flustars_flutter3:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -336,6 +384,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.16.1"
|
||||
font_awesome_flutter:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: font_awesome_flutter
|
||||
sha256: b738e35f8bb4957896c34957baf922f99c5d415b38ddc8b070d14b7fa95715d4
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "10.9.1"
|
||||
get:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -344,6 +400,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.7.2"
|
||||
hand_signature:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: hand_signature
|
||||
sha256: "05b40d3b2d1885a5dda126f26db386660aa46e497b63c96feb91d3198a667eea"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.1.0+2"
|
||||
html:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -360,6 +424,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.5.0"
|
||||
http_client_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_client_helper
|
||||
sha256: "8a9127650734da86b5c73760de2b404494c968a3fd55602045ffec789dac3cb1"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
http_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -368,6 +440,22 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.1.2"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "4.5.4"
|
||||
image_editor_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image_editor_plus
|
||||
sha256: "0108c24756e7867f9a325c8f1d15ff29ca0a40aae03517e7d55dee6135f9b3e6"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.6"
|
||||
image_gallery_saver_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -448,6 +536,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.20.2"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: js
|
||||
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.7.1"
|
||||
leak_tracker:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -504,6 +600,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.11.1"
|
||||
matrix2d:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matrix2d
|
||||
sha256: "188718dd3bc2a31e372cfd0791b0f77f4f13ea76164147342cc378d9132949e7"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -553,7 +657,7 @@ packages:
|
||||
source: hosted
|
||||
version: "1.9.0"
|
||||
path_provider:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: path_provider
|
||||
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
||||
@@ -680,6 +784,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.8"
|
||||
posix:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: posix
|
||||
sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "6.0.3"
|
||||
provider:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -704,6 +816,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.2.3"
|
||||
reorderables:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: reorderables
|
||||
sha256: "004a886e4878df1ee27321831c838bc1c976311f4ca6a74ce7d561e506540a77"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
screen_brightness:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -760,6 +880,14 @@ packages:
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
screenshot:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screenshot
|
||||
sha256: "63817697a7835e6ce82add4228e15d233b74d42975c143ad8cfe07009fab866b"
|
||||
url: "https://pub.flutter-io.cn"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
shared_preferences:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -38,6 +38,8 @@ dependencies:
|
||||
url_launcher: ^6.1.10
|
||||
flutter_inappwebview: ^6.1.5
|
||||
device_info_plus: ^11.3.0
|
||||
image_editor_plus: ^1.0.6
|
||||
path_provider: ^2.1.5
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Reference in New Issue
Block a user