Browse Source

1、test add image components

bakamaka.guan 2 years ago
parent
commit
e3dfe4cfb5
7 changed files with 495 additions and 21 deletions
  1. 51 3
      .dart_tool/package_config.json
  2. 36 4
      .dart_tool/package_config_subset
  3. 1 1
      .flutter-plugins-dependencies
  4. 11 3
      .packages
  5. 316 5
      lib/main.dart
  6. 62 4
      pubspec.lock
  7. 18 1
      pubspec.yaml

+ 51 - 3
.dart_tool/package_config.json

@@ -7,6 +7,18 @@
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
+    {
+      "name": "args",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/args-2.3.1",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
+    {
+      "name": "asn1lib",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/asn1lib-1.1.0",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "async",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/async-2.8.2",
@@ -43,6 +55,12 @@
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
+    {
+      "name": "convert",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/convert-3.0.2",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "crypto",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/crypto-3.0.2",
@@ -55,6 +73,12 @@
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
+    {
+      "name": "encrypt",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/encrypt-5.0.1",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "fake_async",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/fake_async-1.2.0",
@@ -75,13 +99,19 @@
     },
     {
       "name": "fis_common",
-      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-5414cdaf5f6747dec9a093e3b2579965efb2e83a/",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-63dcf7002695b4d6709dad2161666542bf4fc0e2/",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
+    {
+      "name": "fis_i18n",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_i18n-da760eb50d6fdf59eb2defab634b2194b9f08025/",
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
     {
       "name": "fis_jsonrpc",
-      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-eaf6fe995b5499a05c7b192f1f37632a965ec54f/",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-e8d0cc7f909b311f12b345f372f4ae4bbabcffb8/",
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
@@ -97,6 +127,12 @@
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
+    {
+      "name": "get",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/get-4.6.1",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "http",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/http-0.13.4",
@@ -199,6 +235,12 @@
       "packageUri": "lib/",
       "languageVersion": "2.12"
     },
+    {
+      "name": "pointycastle",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/pointycastle-3.6.1",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "process",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/process-4.2.4",
@@ -265,6 +307,12 @@
       "packageUri": "lib/",
       "languageVersion": "2.14"
     },
+    {
+      "name": "web_socket_channel",
+      "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/web_socket_channel-2.2.0",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
+    },
     {
       "name": "win32",
       "rootUri": "file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/win32-2.5.2",
@@ -284,7 +332,7 @@
       "languageVersion": "2.12"
     }
   ],
-  "generated": "2022-07-22T02:39:22.460800Z",
+  "generated": "2022-07-22T03:42:26.662352Z",
   "generator": "pub",
   "generatorVersion": "2.16.2"
 }

+ 36 - 4
.dart_tool/package_config_subset

@@ -1,15 +1,27 @@
 fis_common
 2.12
-file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-5414cdaf5f6747dec9a093e3b2579965efb2e83a/
-file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-5414cdaf5f6747dec9a093e3b2579965efb2e83a/lib/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-63dcf7002695b4d6709dad2161666542bf4fc0e2/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-63dcf7002695b4d6709dad2161666542bf4fc0e2/lib/
+fis_i18n
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_i18n-da760eb50d6fdf59eb2defab634b2194b9f08025/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_i18n-da760eb50d6fdf59eb2defab634b2194b9f08025/lib/
 fis_jsonrpc
 2.12
-file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-eaf6fe995b5499a05c7b192f1f37632a965ec54f/
-file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-eaf6fe995b5499a05c7b192f1f37632a965ec54f/lib/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-e8d0cc7f909b311f12b345f372f4ae4bbabcffb8/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-e8d0cc7f909b311f12b345f372f4ae4bbabcffb8/lib/
 archive
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/archive-3.3.1/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/archive-3.3.1/lib/
+args
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/args-2.3.1/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/args-2.3.1/lib/
+asn1lib
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/asn1lib-1.1.0/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/asn1lib-1.1.0/lib/
 async
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/async-2.8.2/
@@ -34,6 +46,10 @@ collection
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/collection-1.15.0/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/
+convert
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/convert-3.0.2/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/convert-3.0.2/lib/
 crypto
 2.14
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/crypto-3.0.2/
@@ -42,6 +58,10 @@ dio
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/dio-4.0.6/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/dio-4.0.6/lib/
+encrypt
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/encrypt-5.0.1/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/encrypt-5.0.1/lib/
 fake_async
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/
@@ -54,6 +74,10 @@ file
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/file-6.1.2/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/file-6.1.2/lib/
+get
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/get-4.6.1/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/get-4.6.1/lib/
 http
 2.14
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/http-0.13.4/
@@ -122,6 +146,10 @@ plugin_platform_interface
 2.12
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.2/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.2/lib/
+pointycastle
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/pointycastle-3.6.1/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/pointycastle-3.6.1/lib/
 process
 2.14
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/process-4.2.4/
@@ -162,6 +190,10 @@ vector_math
 2.14
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/
+web_socket_channel
+2.12
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/web_socket_channel-2.2.0/
+file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/web_socket_channel-2.2.0/lib/
 win32
 2.15
 file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/win32-2.5.2/

+ 1 - 1
.flutter-plugins-dependencies

@@ -1 +1 @@
-{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_ios","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_ios-2.0.9\\\\","dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.14\\\\","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-2.0.6\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.7\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.0.7\\\\","dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2022-07-22 10:39:22.621370","version":"2.10.4"}
+{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_ios","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_ios-2.0.9\\\\","dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.14\\\\","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-2.0.6\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.7\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\VINNO\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.0.7\\\\","dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2022-07-22 11:42:26.787524","version":"2.10.4"}

+ 11 - 3
.packages

@@ -3,23 +3,29 @@
 # 
 # For more info see: https://dart.dev/go/dot-packages-deprecation
 # 
-# Generated by pub on 2022-07-22 10:39:22.450827.
+# Generated by pub on 2022-07-22 11:42:26.653377.
 archive:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/archive-3.3.1/lib/
+args:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/args-2.3.1/lib/
+asn1lib:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/asn1lib-1.1.0/lib/
 async:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/async-2.8.2/lib/
 boolean_selector:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/
 characters:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/characters-1.2.0/lib/
 charcode:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/charcode-1.3.1/lib/
 clock:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/clock-1.1.0/lib/
 collection:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/
+convert:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/convert-3.0.2/lib/
 crypto:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/crypto-3.0.2/lib/
 dio:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/dio-4.0.6/lib/
+encrypt:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/encrypt-5.0.1/lib/
 fake_async:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/fake_async-1.2.0/lib/
 ffi:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/ffi-1.2.1/lib/
 file:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/file-6.1.2/lib/
-fis_common:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-5414cdaf5f6747dec9a093e3b2579965efb2e83a/lib/
-fis_jsonrpc:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-eaf6fe995b5499a05c7b192f1f37632a965ec54f/lib/
+fis_common:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_common-63dcf7002695b4d6709dad2161666542bf4fc0e2/lib/
+fis_i18n:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_i18n-da760eb50d6fdf59eb2defab634b2194b9f08025/lib/
+fis_jsonrpc:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/git/fis_lib_jsonrpc-e8d0cc7f909b311f12b345f372f4ae4bbabcffb8/lib/
 flutter:file:///F:/flutter/packages/flutter/lib/
 flutter_test:file:///F:/flutter/packages/flutter_test/lib/
+get:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/get-4.6.1/lib/
 http:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/http-0.13.4/lib/
 http_parser:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/http_parser-4.0.1/lib/
 intl:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/intl-0.17.0/lib/
@@ -37,6 +43,7 @@ path_provider_platform_interface:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/
 path_provider_windows:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_windows-2.0.7/lib/
 platform:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/platform-3.1.0/lib/
 plugin_platform_interface:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/plugin_platform_interface-2.1.2/lib/
+pointycastle:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/pointycastle-3.6.1/lib/
 process:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/process-4.2.4/lib/
 sky_engine:file:///F:/flutter/bin/cache/pkg/sky_engine/lib/
 source_span:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/
@@ -48,6 +55,7 @@ term_glyph:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.
 test_api:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/test_api-0.4.8/lib/
 typed_data:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/
 vector_math:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/vector_math-2.1.1/lib/
+web_socket_channel:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/web_socket_channel-2.2.0/lib/
 win32:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/win32-2.5.2/lib/
 xdg_directories:file:///C:/Users/VINNO/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/xdg_directories-0.2.0+1/lib/
 fis_components:lib/

+ 316 - 5
lib/main.dart

@@ -1,13 +1,324 @@
+import 'package:fis_i18n/i18n.dart';
+import 'package:fis_jsonrpc/rpc.dart';
 import 'package:flutter/material.dart';
 
-/// TODO 测试用到的
-class name extends StatelessWidget {
-  const name({Key? key}) : super(key: key);
+// import 'package:flyinsono/pages/remedical/consultation/controller.dart';
+/// 带数据回调
+typedef void ValueCallback<T>(T value);
+
+/// 所有图片的入口
+class ImageStatus extends StatelessWidget {
+  /// 图片类型
+  final RemedicalFileDataTypeEnum fileDataType;
+
+  /// 图片地址
+  final TerminalImageDTO terminalImage;
+
+  /// AI 良恶性
+  final DiagnosisConclusionEnum? diagnosisConclusion;
+
+  /// 是否是测量页面
+  final bool? isMeasure;
+
+  /// 改变图片地址
+  final VoidCallback? onChangeImage;
+
+  /// AI测量的器官
+  final List<DiagnosisOrganEnum>? diagnosisOrgans;
+
+  /// 打开测量页面的方法
+  final ValueCallback? onOpenMeasure;
+
+  ImageStatus({
+    Key? key,
+    required this.fileDataType,
+    required this.terminalImage,
+    this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired,
+    this.diagnosisOrgans = const [DiagnosisOrganEnum.Null],
+    this.isMeasure = false,
+    this.onChangeImage,
+    this.onOpenMeasure,
+  }) : super(key: key);
 
   @override
   Widget build(BuildContext context) {
-    return Container(
-      child: Text('sssddd'),
+    Map<
+        Enum,
+        Widget Function(
+      TerminalImageDTO imageUrlMap,
+    )> buildItem = {
+      RemedicalFileDataTypeEnum.Image: (
+        imageUrlMap,
+      ) =>
+          _buildImageCard(
+            imageUrlMap,
+          ),
+      RemedicalFileDataTypeEnum.ThirdVidSingle: (
+        imageUrlMap,
+      ) =>
+          _buildImageCard(
+            imageUrlMap,
+          ),
+      RemedicalFileDataTypeEnum.ThirdVidMovie: (
+        imageUrlMap,
+      ) =>
+          _buildVidMovieCard(
+            imageUrlMap,
+          ),
+      RemedicalFileDataTypeEnum.VinnoVidSingle: (
+        imageUrlMap,
+      ) =>
+          _buildImageCard(
+            imageUrlMap,
+          ),
+      RemedicalFileDataTypeEnum.VinnoVidMovie: (
+        imageUrlMap,
+      ) =>
+          _buildVidMovieCard(
+            imageUrlMap,
+          ),
+    };
+    return buildItem[fileDataType]!(terminalImage);
+  }
+
+  Widget _buildVidMovieCard(
+    TerminalImageDTO imageUrlMap,
+  ) {
+    return Listener(
+      child: Container(
+        width: 190,
+        height: 160,
+        color: Colors.black,
+        child: Stack(
+          children: [
+            Center(
+              child: Image.network(
+                imageUrlMap.previewUrl!,
+                errorBuilder: ((context, error, stackTrace) {
+                  return Container(
+                    child: Text('error'),
+                  );
+                }),
+              ),
+            ),
+            Positioned(
+              bottom: 5,
+              left: 5,
+              child: _buildAIDiagnosticOrgans(),
+            ),
+            InkWell(
+              onTap: () {
+                !isMeasure!
+                    ? onOpenMeasure!.call(imageUrlMap.imageUrl!)
+                    : onChangeImage!.call();
+              },
+              child: Center(
+                child: Container(
+                  child: Icon(
+                    Icons.play_circle_outline_rounded,
+                    color: Colors.white,
+                    size: 50,
+                  ),
+                ),
+              ),
+            ),
+            Positioned(
+              bottom: 5,
+              right: 5,
+              child: Tooltip(
+                textStyle: TextStyle(
+                  fontSize: 16,
+                  color: Colors.white,
+                ),
+                message: _buildAIText(diagnosisConclusion!),
+                child: Text(
+                  'AI',
+                  style: TextStyle(
+                    color: _buildAITextColor(
+                      diagnosisConclusion!,
+                    ),
+                    fontSize: 20,
+                  ),
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
     );
   }
+
+  Widget _buildImageCard(
+    TerminalImageDTO imageUrlMap,
+  ) {
+    return Listener(
+      child: InkWell(
+        onTap: () {
+          !isMeasure!
+              ? onOpenMeasure!.call(imageUrlMap.imageUrl!)
+              : onChangeImage!.call();
+        },
+        child: Container(
+          width: 190,
+          height: 160,
+          color: Colors.black,
+          child: Stack(
+            children: [
+              Center(
+                child: Image.network(
+                  imageUrlMap.previewUrl!,
+                  errorBuilder: ((context, error, stackTrace) {
+                    return Container(
+                      child: Text('error'),
+                    );
+                  }),
+                ),
+              ),
+              Positioned(
+                bottom: 5,
+                left: 5,
+                child: _buildAIDiagnosticOrgans(),
+              ),
+              Positioned(
+                bottom: 5,
+                right: 5,
+                child: Tooltip(
+                  textStyle: TextStyle(
+                    fontSize: 16,
+                    color: Colors.white,
+                  ),
+                  message: _buildAIText(diagnosisConclusion!),
+                  child: Text(
+                    'AI',
+                    style: TextStyle(
+                      color: _buildAITextColor(
+                        diagnosisConclusion!,
+                      ),
+                      fontSize: 20,
+                    ),
+                  ),
+                ),
+              ),
+            ],
+          ),
+        ),
+      ),
+    );
+  }
+
+  String _buildAIText(DiagnosisConclusionEnum diagnosisConclusion) {
+    switch (diagnosisConclusion) {
+      case DiagnosisConclusionEnum.NotRequired:
+        return i18nBook.remedical.noNeedAIYet.t;
+      case DiagnosisConclusionEnum.InProcess:
+        return i18nBook.remedical.didNotHandle.t;
+      case DiagnosisConclusionEnum.Unrecognized:
+        return i18nBook.remedical.didNotIdentify.t;
+      case DiagnosisConclusionEnum.NoObviousLesion:
+        return i18nBook.remedical.noAbnormal.t;
+      case DiagnosisConclusionEnum.Benign:
+        return i18nBook.remedical.benign.t;
+      case DiagnosisConclusionEnum.Malignant:
+        return i18nBook.remedical.malignant.t;
+      case DiagnosisConclusionEnum.BenignAndMalignant:
+        return i18nBook.remedical.benignWithMalignant.t;
+      default:
+        return i18nBook.remedical.didNotIdentify.t;
+    }
+  }
+
+  dynamic _buildAITextColor(DiagnosisConclusionEnum diagnosisConclusion) {
+    switch (diagnosisConclusion) {
+      case DiagnosisConclusionEnum.NotRequired:
+        return Colors.transparent;
+      case DiagnosisConclusionEnum.InProcess:
+        return Colors.lightBlue;
+      case DiagnosisConclusionEnum.Unrecognized:
+        return Colors.lightBlue;
+      case DiagnosisConclusionEnum.NoObviousLesion:
+        return Colors.lightBlue;
+      case DiagnosisConclusionEnum.Benign:
+        return Colors.greenAccent;
+      case DiagnosisConclusionEnum.Malignant:
+        return Colors.redAccent;
+      case DiagnosisConclusionEnum.BenignAndMalignant:
+        return Colors.redAccent;
+      default:
+        return Colors.transparent;
+    }
+  }
+
+  Widget _buildAIDiagnosticOrgans() {
+    switch (diagnosisOrgans?.length == 0
+        ? DiagnosisOrganEnum.Null
+        : diagnosisOrgans?[0]) {
+      case DiagnosisOrganEnum.Null:
+        return const SizedBox();
+      case DiagnosisOrganEnum.placeHolder_1:
+        return const SizedBox();
+      case DiagnosisOrganEnum.Breast:
+        return Text(
+          i18nBook.remedical.breast.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+      case DiagnosisOrganEnum.Abdomen:
+        return Text(
+          i18nBook.bodyParts.abdomen.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+      case DiagnosisOrganEnum.Liver:
+        return Text(
+          i18nBook.remedical.liver.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+      case DiagnosisOrganEnum.Cholecyst:
+        return Text(
+          i18nBook.remedical.cholecyst.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+      case DiagnosisOrganEnum.Kidney:
+        return Text(
+          i18nBook.remedical.kidney.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+      case DiagnosisOrganEnum.Spleen:
+        return Text(
+          i18nBook.remedical.spleen.t,
+          style: TextStyle(
+            color: _buildAITextColor(
+              diagnosisConclusion!,
+            ),
+            fontSize: 18,
+          ),
+        );
+
+      default:
+        return Container();
+    }
+  }
 }

+ 62 - 4
pubspec.lock

@@ -8,6 +8,20 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.3.1"
+  args:
+    dependency: transitive
+    description:
+      name: args
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "2.3.1"
+  asn1lib:
+    dependency: transitive
+    description:
+      name: asn1lib
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "1.1.0"
   async:
     dependency: transitive
     description:
@@ -50,6 +64,13 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.15.0"
+  convert:
+    dependency: transitive
+    description:
+      name: convert
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "3.0.2"
   crypto:
     dependency: transitive
     description:
@@ -64,6 +85,13 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.0.6"
+  encrypt:
+    dependency: transitive
+    description:
+      name: encrypt
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "5.0.1"
   fake_async:
     dependency: transitive
     description:
@@ -89,17 +117,26 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: "^1.0.0"
-      resolved-ref: "5414cdaf5f6747dec9a093e3b2579965efb2e83a"
+      ref: "63dcf70026"
+      resolved-ref: "63dcf7002695b4d6709dad2161666542bf4fc0e2"
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_common.git"
     source: git
     version: "0.0.2"
+  fis_i18n:
+    dependency: "direct main"
+    description:
+      path: "."
+      ref: da760eb50d
+      resolved-ref: da760eb50d6fdf59eb2defab634b2194b9f08025
+      url: "http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git"
+    source: git
+    version: "0.0.1"
   fis_jsonrpc:
     dependency: "direct main"
     description:
       path: "."
-      ref: "^1.0.0"
-      resolved-ref: eaf6fe995b5499a05c7b192f1f37632a965ec54f
+      ref: e8d0cc7f90
+      resolved-ref: e8d0cc7f909b311f12b345f372f4ae4bbabcffb8
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git"
     source: git
     version: "0.0.1"
@@ -113,6 +150,13 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  get:
+    dependency: "direct main"
+    description:
+      name: get
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "4.6.1"
   http:
     dependency: transitive
     description:
@@ -232,6 +276,13 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.2"
+  pointycastle:
+    dependency: transitive
+    description:
+      name: pointycastle
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "3.6.1"
   process:
     dependency: transitive
     description:
@@ -307,6 +358,13 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.1"
+  web_socket_channel:
+    dependency: transitive
+    description:
+      name: web_socket_channel
+      url: "https://pub.flutter-io.cn"
+    source: hosted
+    version: "2.2.0"
   win32:
     dependency: transitive
     description:

+ 18 - 1
pubspec.yaml

@@ -13,7 +13,7 @@ environment:
 dependencies:
   flutter:
     sdk: flutter
-
+  get: 4.6.1
   fis_common:
       git:
           url: http://git.ius.plus:88/Project-Wing/fis_lib_common.git
@@ -22,6 +22,10 @@ dependencies:
       git:
           url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
           ref: ^1.0.0
+  fis_i18n:
+      git:
+        url: http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git
+        ref: ^1.0.0        
   path_provider: ^2.0.2
   dio: ^4.0.0
   archive: ^3.1.2
@@ -30,6 +34,19 @@ dev_dependencies:
   flutter_test:
     sdk: flutter
 
+dependency_overrides:
+  fis_common:
+    git:
+      url: http://git.ius.plus:88/Project-Wing/fis_lib_common.git
+      ref: 63dcf70026
+  fis_jsonrpc:
+    git:
+      url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
+      ref: e8d0cc7f90
+  fis_i18n:
+    git:
+      url: http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git
+      ref: da760eb50d    
 # For information on the generic Dart part of this file, see the
 # following page: https://dart.dev/tools/pub/pubspec