@page "/init" @using MasaBlazorApp3.Pojo.Config; @using MasaBlazorApp3.Pojo.Vo; @using MasaBlazorApp3.Util; @using Microsoft.Extensions.Options; @using Newtonsoft.Json; @using log4net; @myText.Loading @msg @errMsg @code { @inject Radzen.DialogService dialogService; @inject IOptions setting; @inject NotificationService _message; @inject PortUtil PortUtil; @inject FingerprintUtil FingerprintUtil; @inject GlobalStateService globalStateService; @inject IOptions portSetting; @inject Toolbelt.Blazor.I18nText.I18nText I18nText; private I18nText.local myText = new I18nText.local(); string msg; string errMsg; private readonly ILog logger = LogManager.GetLogger(typeof(InitPage)); protected override async Task OnInitializedAsync() { myText = await I18nText.GetTextTableAsync(this); base.OnInitializedAsync(); } protected override async Task OnAfterRenderAsync(bool firstRender) { base.OnAfterRender(firstRender); if (firstRender) { await Task.Delay(15); msg = myText.ConnectFinger; InvokeAsync(StateHasChanged); try { bool flag=await FingerprintUtil.ConnectionMain(); if (flag) { msg = myText.FingerConnected; } else { msg = myText.FingerFailed; } InvokeAsync(StateHasChanged); } catch (Exception e) { msg = myText.FingerFailed; errMsg += "【" + myText .FingerFailed+ "】"; InvokeAsync(StateHasChanged); } await Task.Delay(500); msg = myText.ConnectDrawer; InvokeAsync(StateHasChanged); try { PortUtil.drawerSerial.Open(); logger.Info($"抽屉串口打开结果【{PortUtil.drawerSerial.IsOpen}】"); msg = myText.DrawerConnected; InvokeAsync(StateHasChanged); } catch (Exception e) { msg = myText.DrawerFailed; errMsg += "【"+myText.DrawerFailed+"】"; InvokeAsync(StateHasChanged); } await Task.Delay(500); msg = myText.ConnectCan; InvokeAsync(StateHasChanged); try { PortUtil.canBusSerial.Open(); logger.Info($"CanBus模块打开结果【{PortUtil.canBusSerial.IsOpen}】"); msg = myText.CanConnected; InvokeAsync(StateHasChanged); } catch (Exception e) { msg = myText.CanFailed; errMsg += "【"+myText.CanFailed+"】"; InvokeAsync(StateHasChanged); } await Task.Delay(500); msg = myText.ConnectScanCode; InvokeAsync(StateHasChanged); try { PortUtil.scanCodeSerial.Open(); logger.Info($"条码扫描模块打开结果【{PortUtil.scanCodeSerial.IsOpen}】"); msg = myText.ScanCodeConnected; InvokeAsync(StateHasChanged); } catch (Exception e) { msg = myText.ScanCodeFailed; errMsg += "【" + myText.ScanCodeFailed + "】"; InvokeAsync(StateHasChanged); } if (portSetting.Value.fridgePortExist) { try { PortUtil.fridgeSerial.Open(); logger.Info($"冰箱串口打开结果【{PortUtil.fridgeSerial.IsOpen}】"); msg = myText.FridgeConnected; InvokeAsync(StateHasChanged); } catch (Exception) { msg = myText.FridgeFailed; errMsg += "【"+ myText.FridgeFailed+"】"; InvokeAsync(StateHasChanged); } } globalStateService.isInit = true; dialogService.Close(); } } }