Browse Source

重启,恢复出厂设置增加二次确认,新增删除自定义配置

felix 1 year ago
parent
commit
784eb83571

+ 7 - 1
Vinno.FIS.Sonopost/Assets/wwwroot/js/index.js

@@ -762,11 +762,17 @@ $(async function () {
                 name: "VCloudLogin",
                 title: "PageTitle4VCloudLogin",
                 path: "vcloudlogin"
-            }, {
+            },
+            {
                 name: "SystemRestart",
                 title: "PageTitle4SystemReboot",
                 path: "restart"
             },
+            {
+                name: "DeleteUserDefinedSetting",
+                title: "PageTitle4DeleteUserDefinedSetting",
+                path: "deletesetting"
+            },
             {
                 name: "SystemRecover",
                 title: "PageTitle4SystemRecover",

+ 15 - 6
Vinno.FIS.Sonopost/Assets/wwwroot/lang/en-us.json

@@ -19,8 +19,8 @@
   "PageTitle4NetworkWifi": "Wifi network setting",
   "PageTitle4NetworkDNS": "Refresh DNS cache",
   "PageTitle4NetworkAdvance": "Advanced setting",
-  "PageTitle4SystemReboot": "Reboot",
-  "PageTitle4SystemRecover": "Recover",
+  "PageTitle4SystemReboot": "Reboot Sonopost",
+  "PageTitle4SystemRecover": "Restore factory settings",
   "PageTitle4SystemOledLang": "Mini oled language setting",
   "PageTitle4SystemLog": "System log",
   "PageTitle4SystemVersion": "Version info",
@@ -110,10 +110,10 @@
   "Disconnected": "Disconnected",
   "StartCheck": "Start check",
   "Checking": "Checking",
-  "RestartSonopost": "Reboot sonopost",
-  "RecoverSonopost": "Recover sonopost",
+  "RestartSonopost": "Reboot Sonopost",
+  "RecoverSonopost": "Restore factory settings",
   "RestartSonopostSuccess": "Rebooting,please refresh the page later.",
-  "RecoverSonopostSuccess": "Recoving,please refresh the page later.",
+  "RecoverSonopostSuccess": "Restoring factory settings,please refresh the page later.",
   "MiniScreenLanguageSelect": "Mini oled language select",
   "Operation": "Operation",
   "Download": "Download",
@@ -231,5 +231,14 @@
   "FootToggleRightKey": "Foot toggle right key",
   "ClearRemedicalCache": "Clear cache",
   "ClearRemedicalCacheSuccess": "Clear cache success",
-  "PageTitle4ClearRemedicalCache": "Clear remedical cache"
+  "PageTitle4ClearRemedicalCache": "Clear remedical cache",
+  "PageTitle4DeleteUserDefinedSetting": "Delete custom configuration",
+  "DeleteUserDefinedSetting": "Delete custom configuration",
+  "DeleteUserDefinedSettingSuccess": "Delete custom configuration success.Rebooting,please refresh the page later.",
+  "Tips": "Tips",
+  "ConfirmRestart": "Please confirm whether you want to restart the sonopost?",
+  "ConfirmReset": "Please confirm whether you want to restore factory settings?",
+  "ConfirmDeleteSetting": "Please confirm whether you want to delete custom configuration?",
+  "Yes": "Yes",
+  "No": "No"
 }

+ 10 - 1
Vinno.FIS.Sonopost/Assets/wwwroot/lang/zh-cn.json

@@ -231,5 +231,14 @@
   "FootToggleRightKey": "脚踏开关右键",
   "ClearRemedicalCache": "清理缓存",
   "ClearRemedicalCacheSuccess": "清理缓存成功",
-  "PageTitle4ClearRemedicalCache": "清理远程影像存储缓存"
+  "PageTitle4ClearRemedicalCache": "清理远程影像存储缓存",
+  "PageTitle4DeleteUserDefinedSetting": "删除自定义配置",
+  "DeleteUserDefinedSetting": "删除自定义配置",
+  "DeleteUserDefinedSettingSuccess": "删除自定义配置文件成功,正在重启,请稍后刷新页面~",
+  "Tips": "提示",
+  "ConfirmRestart": "请确认是否要重启魔盒?",
+  "ConfirmReset": "请确认是否要恢复出厂设置?",
+  "ConfirmDeleteSetting": "请确认是否要删除自定义配置文件?",
+  "Yes": "是",
+  "No": "否"
 }

+ 32 - 0
Vinno.FIS.Sonopost/Assets/wwwroot/pages/system/deletesetting.html

@@ -0,0 +1,32 @@
+<div>
+    <div class="layui-form-item">
+        <button class="layui-btn layui-btn-normal" id="btnDelete" data-content="DeleteUserDefinedSetting"></button>
+    </div>
+</div>
+<script>
+    function Page(app, runtime) {
+        const { $api, $t } = runtime;
+        const { layer } = layui;
+
+        this.onload = function () {
+            $("#btnDelete").on('click', function () {
+                layer.confirm($t('ConfirmDeleteSetting'), {
+                    title: $t('Tips'),
+                    btn: [$t('Yes'), $t('No')]
+                    , btn2: function (index, layero) {
+                        layer.close(index);
+                    }
+                }, function (index) {
+                    layer.close(index);
+                    $api("system", "DeleteUserDefinedSetting").then(res => {
+                        if (res.IsSuccess) {
+                            layer.msg.success($t('DeleteUserDefinedSettingSuccess'));
+                        } else {
+                            layer.msg.error($t(res.Code));
+                        }
+                    })
+                });
+            });
+        }
+    }
+</script>

+ 15 - 6
Vinno.FIS.Sonopost/Assets/wwwroot/pages/system/recover.html

@@ -10,13 +10,22 @@
 
         this.onload = function () {
             $("#btnRecover").on('click', function () {
-                $api("system", "Reset").then(res => {
-                    if (res.IsSuccess) {
-                        layer.msg.success($t('RecoverSonopostSuccess'));
-                    } else {
-                        layer.msg.error($t(res.Code));
+                layer.confirm($t('ConfirmReset'), {
+                    title: $t('Tips'),
+                    btn: [$t('Yes'), $t('No')]
+                    , btn2: function (index, layero) {
+                        layer.close(index);
                     }
-                })
+                }, function (index) {
+                    layer.close(index);
+                    $api("system", "Reset").then(res => {
+                        if (res.IsSuccess) {
+                            layer.msg.success($t('RecoverSonopostSuccess'));
+                        } else {
+                            layer.msg.error($t(res.Code));
+                        }
+                    })
+                });
             });
         }
     }

+ 15 - 6
Vinno.FIS.Sonopost/Assets/wwwroot/pages/system/restart.html

@@ -10,13 +10,22 @@
 
         this.onload = function () {
             $("#btnRestart").on('click', function () {
-                $api("system", "Reboot").then(res => {
-                    if (res.IsSuccess) {
-                        layer.msg.success($t('RestartSonopostSuccess'));
-                    } else {
-                        layer.msg.error($t(res.Code));
+                layer.confirm($t('ConfirmRestart'), {
+                    title: $t('Tips'),
+                    btn: [$t('Yes'), $t('No')]
+                    , btn2: function (index, layero) {
+                        layer.close(index);
                     }
-                })
+                }, function (index) {
+                    layer.close(index);
+                    $api("system", "Reboot").then(res => {
+                        if (res.IsSuccess) {
+                            layer.msg.success($t('RestartSonopostSuccess'));
+                        } else {
+                            layer.msg.error($t(res.Code));
+                        }
+                    });
+                });
             });
         }
     }

+ 60 - 50
Vinno.FIS.Sonopost/Features/Config/SonopostUserDefinedSettingInfo.cs

@@ -40,56 +40,7 @@ namespace Vinno.FIS.Sonopost.Features.Config
         {
             if (!LoadConfig())
             {
-                Instance = new SonopostUserDefinedSettings
-                {
-                    ServerSetting = new ServerSetting
-                    {
-                        DefaultServer = new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, SonopostConstants.FlyinsonoServerName),
-                        Servers = new List<ServerInfoSetting>
-                        {
-                            new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, SonopostConstants.FlyinsonoServerName),
-                            new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, ""),
-                            new ServerInfoSetting(SonopostConstants.GermanyServerHost, 9096, true, ""),
-                            new ServerInfoSetting(SonopostConstants.HongkongServerHost, 9096, true, ""),
-                        },
-                    },
-                    DicomSetting = new DicomSetting
-                    {
-                        UseDicomService = false,
-                        DicomTitile = "Sonopost",
-                        DicomPort = 104,
-                        TempFileDays = 1,
-                        UseWorkStationProxy = false,
-                        WorkStationTitle = "vStation",
-                        WorkStationIpAddress = "",
-                        WorkStationPort = 6104,
-                    },
-                    NetworkSetting = new NetworkSetting(),
-                    HardwareSetting = new HardwareSetting
-                    {
-                        VideoDeviceInfoList = new List<FISVideoDeviceInfo>(),
-                        MicDeviceInfo = new FISMicDeviceInfo(),
-                    },
-                    OledSetting = new OledSetting
-                    {
-                        Language = Language.Chinese,
-                    },
-                    PageSetting = new PageSetting
-                    {
-                        Language = Language.Chinese,
-                    },
-                    CaptureSetting = new CaptureSetting
-                    {
-                        RealTimeCaptureEnabled = false,
-                        ImageCaptureKeyForFootToogle = EnumFootToggleKey.LeftKey,
-                        VideoCaptureKeyForFootToggle = EnumFootToggleKey.RightKey,
-                        FootToggleLeftKeyForKeyBoard = EnumKeyboardKey.F1,
-                        FootToggleRightKeyForKeyBoard = EnumKeyboardKey.F2,
-                    },
-                    IsFirstLogin = true,
-                    Version = SonopostConstants.CurrentSonopostUserDefinedSettingVersion,
-                };
-                Instance.Save();
+                InitInstance();
             }
         }
 
@@ -125,6 +76,65 @@ namespace Vinno.FIS.Sonopost.Features.Config
             return false;
         }
 
+        internal void Init()
+        {
+            InitInstance();
+        }
+
+        private static void InitInstance()
+        {
+            Instance = new SonopostUserDefinedSettings
+            {
+                ServerSetting = new ServerSetting
+                {
+                    DefaultServer = new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, SonopostConstants.FlyinsonoServerName),
+                    Servers = new List<ServerInfoSetting>
+                        {
+                            new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, SonopostConstants.FlyinsonoServerName),
+                            new ServerInfoSetting(SonopostConstants.ChinaServerHost, 9096, true, ""),
+                            new ServerInfoSetting(SonopostConstants.GermanyServerHost, 9096, true, ""),
+                            new ServerInfoSetting(SonopostConstants.HongkongServerHost, 9096, true, ""),
+                        },
+                },
+                DicomSetting = new DicomSetting
+                {
+                    UseDicomService = false,
+                    DicomTitile = "Sonopost",
+                    DicomPort = 104,
+                    TempFileDays = 1,
+                    UseWorkStationProxy = false,
+                    WorkStationTitle = "vStation",
+                    WorkStationIpAddress = "",
+                    WorkStationPort = 6104,
+                },
+                NetworkSetting = new NetworkSetting(),
+                HardwareSetting = new HardwareSetting
+                {
+                    VideoDeviceInfoList = new List<FISVideoDeviceInfo>(),
+                    MicDeviceInfo = new FISMicDeviceInfo(),
+                },
+                OledSetting = new OledSetting
+                {
+                    Language = Language.Chinese,
+                },
+                PageSetting = new PageSetting
+                {
+                    Language = Language.Chinese,
+                },
+                CaptureSetting = new CaptureSetting
+                {
+                    RealTimeCaptureEnabled = false,
+                    ImageCaptureKeyForFootToogle = EnumFootToggleKey.LeftKey,
+                    VideoCaptureKeyForFootToggle = EnumFootToggleKey.RightKey,
+                    FootToggleLeftKeyForKeyBoard = EnumKeyboardKey.F1,
+                    FootToggleRightKeyForKeyBoard = EnumKeyboardKey.F2,
+                },
+                IsFirstLogin = true,
+                Version = SonopostConstants.CurrentSonopostUserDefinedSettingVersion,
+            };
+            Instance.Save();
+        }
+
         private static void UpdateVersionFrom0To1()
         {
             if (Instance.Version == 0)

+ 3 - 6
Vinno.FIS.Sonopost/Vinno.FIS.Sonopost.csproj

@@ -288,6 +288,8 @@
     <EmbeddedResource Include="Assets\wwwroot\libs\layui\font\iconfont.svg" />
     <EmbeddedResource Include="Assets\wwwroot\libs\layui\layui.js" />
     <EmbeddedResource Include="Assets\wwwroot\pages\404.html" />
+	<EmbeddedResource Include="Assets\wwwroot\pages\dicom\capture.html" />
+	<EmbeddedResource Include="Assets\wwwroot\pages\dicom\clearcache.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\dicom\faillist.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\dicom\sono.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\dicom\station.html" />
@@ -301,6 +303,7 @@
     <EmbeddedResource Include="Assets\wwwroot\pages\network\wire.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\server\login.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\server\networkcheck.html" />
+	<EmbeddedResource Include="Assets\wwwroot\pages\system\deletesetting.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\system\log.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\system\oledlang.html" />
     <EmbeddedResource Include="Assets\wwwroot\pages\system\rainbowimage.html" />
@@ -335,12 +338,6 @@
       <Name>Vinno.vCloud.FIS.CrossPlatform.Windows</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Assets\wwwroot\pages\dicom\capture.html" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Assets\wwwroot\pages\dicom\clearcache.html" />
-  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <PostBuildEvent>if not exist "$(TargetDir)x64" mkdir "$(TargetDir)x64"

+ 17 - 0
Vinno.FIS.Sonopost/WebApi/Controllers/SystemController.cs

@@ -48,6 +48,23 @@ namespace Vinno.FIS.Sonopost.WebApi.Controllers
             return Result.Success();
         }
 
+        /// <summary>
+        /// 删除自定义配置
+        /// </summary>
+        /// <returns></returns>
+        [WebApiAction]
+        public Result DeleteUserDefinedSetting()
+        {
+            Task.Run(() =>
+            {
+                Task.Delay(1000);
+                SonopostUserDefinedSettings.Instance.Init();
+                OledManager.ShowStatus(OledMessage.Reboot);
+                SystemHelper.RebootSystem();
+            });
+            return Result.Success();
+        }
+
         /// <summary>
         /// 获取迷你屏语言
         /// </summary>