@page "/Enterprise/Register" @using Cysharp.Threading.Tasks @using System.Text @using BITKit.Crypto @inject IDIS_EnterpriseService enterpriseService 企业注册 @* *@ 用户信息 照片上传 @if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditImageContent) is false) { var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.CreditImageContent}"; } 营业执照 @if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageFrontContent) is false) { var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.LegalPersonIdImageFrontContent}"; } 法人身份证正面 @if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageBackContent) is false) { var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.LegalPersonIdImageBackContent}"; } 法人身份证反面 企业信息 验证 重置 重置验证 注册企业 表单验证 @currentMessage @foreach (var line in reportBuilder.ToString().Split('\n')) { @line } @code { public IDIS_Enterprise enterprise { get; set; }= new(); private string currentMessage { get; set; } = "我们先完成企业信息填写"; private Severity severity { get; set; } = Severity.Normal; private StringBuilder reportBuilder { get; set; } = new(); private Margin myMargin { get; set; } = Margin.Dense; private void Verification() { reportBuilder.Clear(); if(string.IsNullOrEmpty(enterprise.EnterpriseApply.Prefix)) { reportBuilder.AppendLine("企业前缀不能为空"); } if(string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditCode)) { reportBuilder.AppendLine("信用代码不能为空"); } if (string.IsNullOrEmpty(enterprise.SystemUser.UserName)) { reportBuilder.AppendLine("用户名不能为空"); } if (string.IsNullOrEmpty(enterprise.SystemUser.EMail)) { reportBuilder.AppendLine("电子邮箱不能为空"); } if (string.IsNullOrEmpty(enterprise.SystemUser.Mobile)) { reportBuilder.AppendLine("手机号不能为空"); } if (string.IsNullOrEmpty(enterprise.SystemUser.Password)) { reportBuilder.AppendLine("密码不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.NameCN)) { reportBuilder.AppendLine("企业名称不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.EMail)) { reportBuilder.AppendLine("企业电子邮箱不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.AddressCN)) { reportBuilder.AppendLine("企业地址不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CityCode)) { reportBuilder.AppendLine("城市代码不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CountyCode)) { reportBuilder.AppendLine("县代码不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Descption)) { reportBuilder.AppendLine("企业描述不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.ProvinceCode)) { reportBuilder.AppendLine("省份代码不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.WebSite)) { reportBuilder.AppendLine("企业网站不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdNumber)) { reportBuilder.AppendLine("法人身份证号不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdName)) { reportBuilder.AppendLine("法人姓名不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Mobile)) { reportBuilder.AppendLine("企业手机不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Remarks)) { reportBuilder.AppendLine("企业备注不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.ContactName)) { reportBuilder.AppendLine("联系人姓名不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditImageContent)) { reportBuilder.AppendLine("营业执照不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageFrontContent)) { reportBuilder.AppendLine("法人身份证正面不能为空"); } if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageBackContent)) { reportBuilder.AppendLine("法人身份证反面不能为空"); } if (reportBuilder.Length > 0) { currentMessage = "表单验证失败"; severity = Severity.Error; } else { currentMessage = "表单验证成功"; severity = Severity.Success; } InvokeAsync(StateHasChanged).AndForget(); } private async UniTask Register() { Verification(); if(reportBuilder.Length>0) { return; } severity = Severity.Normal; currentMessage = "正在验证表单"; await InvokeAsync(StateHasChanged); await Task.Delay(1000); try { BITCrypto crypto = new BITCrypto(); currentMessage = "正在注册企业"; await enterpriseService.RegisterAsync(enterprise.SystemUser with{ Password =crypto.Hash(enterprise.SystemUser.Password) }, enterprise.EnterpriseApply); currentMessage = "企业注册成功"; reportBuilder.Clear(); } catch (Exception e) { currentMessage = e.Message; severity = Severity.Error; } await InvokeAsync(StateHasChanged); } private async void UploadLicense(IBrowserFile? obj) { try { if (obj is null) { reportBuilder.AppendLine("营业执照不能为空"); return; } using var ms = new MemoryStream(); await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms); enterprise.EnterpriseApply.CreditImageContent = Convert.ToBase64String(ms.ToArray()); currentMessage = "上传成功"; severity = Severity.Success; } catch (Exception e) { currentMessage = e.Message; severity = Severity.Error; } await InvokeAsync(StateHasChanged); } private async void UploadLegalPersonIdFront(IBrowserFile? obj) { try { if (obj is null) { reportBuilder.AppendLine("法人身份证正面不能为空"); return; } using var ms = new MemoryStream(); await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms); enterprise.EnterpriseApply.LegalPersonIdImageFrontContent = Convert.ToBase64String(ms.ToArray()); currentMessage = "上传成功"; severity = Severity.Success; } catch (Exception e) { currentMessage = e.Message; severity = Severity.Error; } await InvokeAsync(StateHasChanged); } private async void UploadLegalPersonIdBack(IBrowserFile? obj) { try { if (obj is null) { reportBuilder.AppendLine("法人身份证杯面不能为空"); return; } using var ms = new MemoryStream(); await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms); enterprise.EnterpriseApply.LegalPersonIdImageBackContent = Convert.ToBase64String(ms.ToArray()); currentMessage = "上传成功"; severity = Severity.Success; } catch (Exception e) { currentMessage = e.Message; severity = Severity.Error; } await InvokeAsync(StateHasChanged); } }