diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj index 6b467930f1a..dbef6622315 100644 --- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj +++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj @@ -1,4 +1,4 @@ - + true @@ -42,7 +42,7 @@ - + diff --git a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor index 1599365108c..2f9eea93367 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor @@ -75,7 +75,7 @@
-
+
@@ -106,6 +106,12 @@ + + + 分屏 (@context.Text) + +
} diff --git a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs index 8131497b2d6..ddb403d66b0 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs @@ -26,14 +26,14 @@ public partial class HikVisions private string _userName = "admin"; private bool _inited; - private bool _loginStatus => _hikVision.IsLogin; - private bool _logoutStatus => !_hikVision.IsLogin; - private bool _startRealPlayStatus => _hikVision is not { IsLogin: true, IsRealPlaying: false }; - private bool _stopRealPlayStatus => _hikVision is not { IsLogin: true, IsRealPlaying: true }; - private bool _openSoundStatus => _hikVision is not { IsLogin: true, IsRealPlaying: true, IsOpenSound: false }; - private bool _closeSoundStatus => _hikVision is not { IsLogin: true, IsRealPlaying: true, IsOpenSound: true }; - private bool _startRecordStatus => _hikVision is not { IsLogin: true, IsRealPlaying: true, IsStartRecord: false }; - private bool _stopRecordStatus => _hikVision is not { IsLogin: true, IsRealPlaying: true, IsStartRecord: true }; + private bool _loginStatus => _hikVision.IsMultipleWindowType ? false : _hikVision.IsLogin; + private bool _logoutStatus => _hikVision.IsMultipleWindowType ? false : !_hikVision.IsLogin; + private bool _startRealPlayStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: false }; + private bool _stopRealPlayStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: true }; + private bool _openSoundStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: true, IsOpenSound: false }; + private bool _closeSoundStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: true, IsOpenSound: true }; + private bool _startRecordStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: true, IsStartRecord: false }; + private bool _stopRecordStatus => _hikVision.IsMultipleWindowType ? false : _hikVision is not { IsLogin: true, IsRealPlaying: true, IsStartRecord: true }; private List _analogChannels = []; private int _channelId = 1; @@ -45,7 +45,16 @@ public partial class HikVisions new SelectedItem("3", "第三码流"), new SelectedItem("4", "转码码流") ]; - + private readonly List _iWndTypes = + [ + new SelectedItem("1", "1*1"), + new SelectedItem("2", "2*2"), + new SelectedItem("3", "3*3"), + new SelectedItem("4", "4*4"), + new SelectedItem("1*2", "1*2"), + new SelectedItem("2*1", "2*1") + ]; + private string _iWndType = "1"; private async Task OnLogin() { await _hikVision.Login(_ip, _port, _userName, _password, HikVisionLoginType.Http); @@ -208,4 +217,11 @@ private Task OnStopRealPlayedAsync() StateHasChanged(); return Task.CompletedTask; } + + private async Task OnWndTypeChanged(SelectedItem item) + { + _iWndType = item.Value; + await _hikVision.ChangeWindowNum(_iWndType); + StateHasChanged(); + } } diff --git a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.css b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.css new file mode 100644 index 00000000000..d18bec45724 --- /dev/null +++ b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.css @@ -0,0 +1,10 @@ +.hik-controls { + width: 100%; + display: grid; + gap: .5rem; + grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); +} + + .hik-controls ::deep .btn { + white-space: nowrap; + }