From d0ded5cd9bf5070a120bad58b5be21fe2ac6a4ff Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期六, 20 十二月 2025 16:41:09 +0800
Subject: [PATCH] test

---
 IDViewer_2D/DownloadData.xaml.cs |  309 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 309 insertions(+), 0 deletions(-)

diff --git a/IDViewer_2D/DownloadData.xaml.cs b/IDViewer_2D/DownloadData.xaml.cs
new file mode 100644
index 0000000..4721cd7
--- /dev/null
+++ b/IDViewer_2D/DownloadData.xaml.cs
@@ -0,0 +1,309 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using SmartScanner.OperateLog;
+using Microsoft.Win32;
+
+namespace SmartScanner
+{
+    /// <summary>
+    /// DownloadData.xaml 鐨勪氦浜掗�昏緫
+    /// </summary>
+    public partial class DownloadData : Window
+    {
+        public static bool ImageSave;//鍥惧儚淇濆瓨
+        public static string ImageSavingPath;//淇濆瓨璺緞
+        public static int ImageCompressionRatio_main;//鍥惧儚鍘嬬缉姣旂巼
+        public static int ImageDeleteData_main;//鍥惧儚瀹氭湡鍒犻櫎
+        public static string ImageFormat_main;//鍥惧儚淇濆瓨鏍煎紡
+        public static bool MemoryAlarm_main;//瀛樺偍绌洪棿鎶ヨ
+        public static int ImageMemoryAlarm_main;//瀛樺偍绌洪棿鎶ヨ
+        private bool isF = false;
+        public static bool isOP = true;
+        public DownloadData()
+        {
+            InitializeComponent();
+            isF = true;
+            Init();
+            // 绐楀彛鍏抽棴鏃朵繚瀛樿缃�
+            this.Closed += (s, e) => Properties.Settings.Default.Save();
+        }
+        public void SetControlsEnabled(bool isEnabled)
+        {
+            // 绂佺敤鎴栧惎鐢ㄦ墍鏈夊彲缂栬緫鐨勬帶浠�
+            //LoadConfig_RJ.IsEnabled = isEnabled;
+            SelectFilePath.IsEnabled = isEnabled;
+            ImageDeleteCheck.IsEnabled = isEnabled;
+            Data_deleteImage.IsEnabled = isEnabled;
+            ImageSaveCheck.IsEnabled = isEnabled;
+            ImageFormat.IsEnabled = isEnabled;
+            ImageCompressionRatio.IsEnabled = isEnabled;
+            MemoryAlarmCheck.IsEnabled = isEnabled;
+            MemoryAlarm.IsEnabled = isEnabled;
+            SetDataSavingRoad.IsEnabled = isEnabled;
+            // ... 鍏朵粬闇�瑕佹帶鍒剁殑鎺т欢
+        }
+        public void Init()
+        {
+            ImageSave = (bool)ImageSaveCheck.IsChecked;
+            MemoryAlarm_main = (bool)MemoryAlarmCheck.IsChecked;
+            ImageMemoryAlarm_main = (int)MemoryAlarm.Value;
+            ImageSavingPath = SetDataSavingRoad.Text;
+            ImageCompressionRatio_main = (int)ImageCompressionRatio.Value;
+            ImageDeleteData_main = (int)Data_deleteImage.Value;
+            switch (ImageFormat.SelectedIndex)
+            {
+                case 0:
+                    ImageFormat_main = ".BMP";
+                    break;
+                case 1:
+                    ImageFormat_main = ".JPG";
+                    break;
+                case 2:
+                    ImageFormat_main = ".PNG";
+                    break;
+                default:
+                    break;
+            }
+            if (ImageFormat.SelectedIndex == 0)
+            {
+                CompressionVisible.Visibility = Visibility.Collapsed;
+            }
+            else
+            {
+                CompressionVisible.Visibility = Visibility.Visible;
+            }
+        }
+        private void SetDataSavingRoad_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+        {
+            var folderDialog = new System.Windows.Forms.FolderBrowserDialog
+            {
+                Description = "閫夋嫨鍥惧儚瀛樺偍璺緞",
+                SelectedPath = Properties.Settings.Default.DataSavingRoad
+            };
+
+            if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+            {
+                Properties.Settings.Default.DataSavingRoad = folderDialog.SelectedPath;
+                SetDataSavingRoad.Text = folderDialog.SelectedPath;
+            }
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥惧儚瀛樺偍璺緞淇敼",
+                $"璺緞淇敼涓�: {folderDialog.SelectedPath}",
+                null);
+        }
+
+        private void SelectFilePath_Click(object sender, RoutedEventArgs e)
+        {
+            var folderDialog = new System.Windows.Forms.FolderBrowserDialog
+            {
+                Description = "閫夋嫨鍥惧儚瀛樺偍璺緞",
+                SelectedPath = Properties.Settings.Default.DataSavingRoad
+            };
+
+            if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+            {
+                Properties.Settings.Default.DataSavingRoad = folderDialog.SelectedPath;
+                SetDataSavingRoad.Text = folderDialog.SelectedPath;
+            }
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥惧儚瀛樺偍璺緞淇敼",
+                $"璺緞淇敼涓�: {folderDialog.SelectedPath}",
+                null); 
+        }
+
+        private void ImageDeleteCheck_Unchecked(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void ImageDeleteCheck_Checked(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void ImageSaveCheck_Unchecked(object sender, RoutedEventArgs e)
+        {
+            ImageSave = false;
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥惧儚鏄惁淇濆瓨淇敼",
+                $"淇敼涓�: 涓嶄繚瀛�",
+                null);
+        }
+
+        private void ImageSaveCheck_Checked(object sender, RoutedEventArgs e)
+        {
+            ImageSave = true;
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥惧儚鏄惁淇濆瓨淇敼",
+                $"淇敼涓�: 淇濆瓨",
+                null);
+        }
+
+        private void Confirm_Btn_Click(object sender, RoutedEventArgs e)
+        {
+            Properties.Settings.Default.Save();
+            MessageBox.Show("璁剧疆鎴愬姛  娉細瀹氭湡娓呭浘鍔熻兘闇�閲嶅惎杞欢鍚庣敓鏁�", "鎴愬姛", MessageBoxButton.OK, MessageBoxImage.Asterisk);
+        }
+
+        private void ImageCompressionRatio_LostFocus(object sender, RoutedEventArgs e)
+        {
+            if (ImageCompressionRatio.Value == null) { return; }
+            ImageCompressionRatio_main = (int)ImageCompressionRatio.Value;
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥惧儚鍘嬬缉姣旂巼淇敼",
+                $"淇敼涓�: {ImageCompressionRatio_main}",
+                null);
+        }
+
+        private void Data_deleteImage_LostFocus(object sender, RoutedEventArgs e)
+        {
+            if (Data_deleteImage.Value == null) { return; }
+            ImageDeleteData_main = (int)Data_deleteImage.Value;
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "娓呭浘鍛ㄦ湡淇敼",
+                $"淇敼涓�: {ImageDeleteData_main}",
+                null);
+        }
+
+        private void ImageFormat_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            if (!isF) return;
+            switch (ImageFormat.SelectedIndex)
+            {
+                case 0:
+                    ImageFormat_main = ".BMP";
+                    break;
+                case 1:
+                    ImageFormat_main = ".JPG";
+                    break;
+                case 2:
+                    ImageFormat_main = ".PNG";
+                    break;
+                default:
+                    break;
+
+            }
+            if (ImageFormat.SelectedIndex == 0)
+            {
+                CompressionVisible.Visibility = Visibility.Collapsed;
+            }
+            else
+            {
+                CompressionVisible.Visibility = Visibility.Visible;
+            }
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥剧墖淇濆瓨鏍煎紡淇敼",
+                $"淇敼涓�: {ImageFormat_main}",
+                null);
+        }
+
+        private void ImageFormat_LostFocus(object sender, RoutedEventArgs e)
+        {
+            if (!isF) return;
+            switch (ImageFormat.SelectedIndex)
+            {
+                case 0:
+                    ImageFormat_main = ".BMP";
+                    break;
+                case 1:
+                    ImageFormat_main = ".JPG";
+                    break;
+                case 2:
+                    ImageFormat_main = ".PNG";
+                    break;
+                default:
+                    break;
+            }
+            if (ImageFormat.SelectedIndex == 0)
+            {
+                CompressionVisible.Visibility = Visibility.Collapsed;
+            }
+            else
+            {
+                CompressionVisible.Visibility = Visibility.Visible;
+            }
+            // 璁板綍鏃ュ織
+            OperateLogService.LogOperation(
+                "鍥剧墖淇濆瓨鏍煎紡淇敼",
+                $"淇敼涓�: {ImageFormat_main}",
+                null);
+        }
+
+        private void MemoryAlarmCheck_Unchecked(object sender, RoutedEventArgs e)
+        {
+            MemoryAlarm_main = false;
+        }
+
+        private void MemoryAlarmCheck_Checked(object sender, RoutedEventArgs e)
+        {
+            MemoryAlarm_main = true;
+        }
+
+        private void MemoryAlarm_LostFocus(object sender, RoutedEventArgs e)
+        {
+            if (MemoryAlarm.Value == null) { return; }
+            ImageMemoryAlarm_main = (int)MemoryAlarm.Value;
+        }
+
+        private (double usedPercentage, string driveName) GetDriveUsage()
+        {
+            // 鑾峰彇绯荤粺鐩�
+            DownloadData downloadData = new DownloadData();
+            DriveInfo drive = new DriveInfo($"{downloadData.SetDataSavingRoad.Text}");
+            double totalSpace = drive.TotalSize;
+            double freeSpace = drive.AvailableFreeSpace;
+            double usedPercentage = 100 - (freeSpace / totalSpace * 100);
+
+            return (usedPercentage, drive.Name);
+        }
+        public async void CheckStorage()
+        {
+            while (isOP)
+            {
+                if (MemoryAlarm_main)
+                {
+                    var (usedPercentage, driveName) = GetDriveUsage();
+                    int threshold = 100 - (int)MemoryAlarm.Value;
+                    Dispatcher.Invoke(() =>
+                    {
+                        if (usedPercentage >= threshold)
+                        {
+                            // 鎶ヨ锛氭樉绀虹孩鑹茶鍛�
+                            MessageBox.Show($"{driveName} 鐩樺凡浣跨敤 {usedPercentage:F1}%锛�", "璀﹀憡", MessageBoxButton.OK, MessageBoxImage.Warning);
+
+                        }
+                        else
+                        {
+                            Console.WriteLine($"{driveName} 鐩樺凡浣跨敤 {usedPercentage:F1}%锛�");
+                        }
+                    });
+                    await Task.Delay(10000);
+                }
+                else
+                {
+                    await Task.Delay(10000);
+                }
+            }
+        }
+    }
+}

--
Gitblit v1.9.3