jimmy.jiang@vinno.com 11 сар өмнө
parent
commit
1f0b838699

+ 15 - 0
lib/architecture/storage/text_storage.dart

@@ -5,6 +5,7 @@ import 'package:fis_common/index.dart';
 import 'package:fis_common/logger/logger.dart';
 import 'package:vitalapp/architecture/storage/file_storage_native_and_web.dart';
 import 'package:vitalapp/architecture/values/store_keys.dart';
+import 'package:vitalapp/rpc.dart';
 
 import 'shared_storage.dart';
 
@@ -89,3 +90,17 @@ class TextStoragePureWeb extends TextStorage {
 
   String _getStoreKey() => StoreKeys.STORE_TEXTDATA_GEN.format([this.fileName]);
 }
+
+class TextStorageShellWeb extends TextStorage {
+  TextStorageShellWeb(String fileName) : super(fileName: fileName);
+
+  @override
+  Future<String?> read() async {
+    return await rpc.platform.getText(this.fileName);
+  }
+
+  @override
+  Future<bool> save(String text) async {
+    return await rpc.platform.saveText(this.fileName, text);
+  }
+}

+ 9 - 5
lib/pages/patient/create/widgets/quick_create.dart

@@ -1,3 +1,4 @@
+import 'package:fis_common/env/env.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 import 'package:vitalapp/architecture/utils/advance_debounce.dart';
@@ -136,12 +137,15 @@ class QuickCreatePatientPage extends GetView<CreatePatientController> {
     if (Store.user.hasFeature(FeatureKeys.IDCardReader)) {
       items.add(_buildIDReaderRecord());
     }
-    if (Store.user.hasFeature(FeatureKeys.IdCardPhotoOCR)) {
-      items.add(_buildScanIdCardRecord());
-    }
-    if (Store.user.hasFeature(FeatureKeys.FaceRecognition)) {
-      items.add(_buildFaceIdLogin());
+    if (!FPlatform.isWindows && !FPlatform.isWindows) {
+      if (Store.user.hasFeature(FeatureKeys.IdCardPhotoOCR)) {
+        items.add(_buildScanIdCardRecord());
+      }
+      if (Store.user.hasFeature(FeatureKeys.FaceRecognition)) {
+        items.add(_buildFaceIdLogin());
+      }
     }
+
     return items;
   }
 

+ 9 - 1
lib/store/store.dart

@@ -3,6 +3,7 @@
 import 'dart:convert';
 
 import 'package:fis_common/helpers/encrypt.dart';
+import 'package:fis_common/index.dart';
 import 'package:fis_common/logger/logger.dart';
 import 'package:flutter/foundation.dart';
 import 'package:get/get.dart';
@@ -41,8 +42,14 @@ class Store implements PersistentalbeState {
   Store._() {
     const fileName =
         kDebugMode ? _PERSISTENCE_FILENAME_DEBUG : _PERSISTENCE_FILENAME;
-    if (kIsWeb) {
+
+    if (FPlatform.isWindows) {
+      _persistenceStorage = TextStorageShellWeb(fileName);
+      return;
+    }
+    if (FPlatform.isPureWeb) {
       _persistenceStorage = TextStoragePureWeb(fileName);
+      return;
     } else {
       _persistenceStorage = TextStorage(fileName: fileName);
     }
@@ -56,6 +63,7 @@ class Store implements PersistentalbeState {
 
     // 创建实例
     final instance = Store._();
+
     Get.put(instance);
     await Future.delayed(const Duration(milliseconds: 500));
     // 注册状态模块