@page "/login" @using wtmProject.ViewModel.HomeVMs @inherits BasePage
以客户为中心 专业高效 信赖共赢 尊重个体 持续成长 @* *@
@code { [Parameter] public bool? LoginSuccess { get; set; } [Parameter] public EventCallback LoginSuccessChanged { get; set; } [Parameter] public EventCallback OnUserInfoSet { get; set; } private int bgnumber; private LoginVM Model = new LoginVM(); protected override void OnInitialized() { //bgnumber = new Random().Next(1, 6); if (WtmBlazor.ConfigInfo.IsQuickDebug == true) { Model.ITCode = "admin"; Model.Password = "000000"; } base.OnInitialized(); } private Task OnInput(ChangeEventArgs e) { Model.ITCode = e.Value.ToString(); return Task.CompletedTask; } private Task OnInput2(ChangeEventArgs e) { Model.Password = e.Value.ToString(); return Task.CompletedTask; } private async Task Submit(EditContext context) { var rv = await WtmBlazor.Api.CallAPI("/api/_account/loginjwt", HttpMethodEnum.POST, new { Account = Model.ITCode, Password = Model.Password, Tenant = Model.Tenant }); if (rv.StatusCode == System.Net.HttpStatusCode.OK) { var token = rv.Data.Fields["access_token"].ToString(); var rtoken = rv.Data.Fields["refresh_token"].ToString(); await SetToken(token, rtoken); var userinfo = await WtmBlazor.Api.CallAPI("/api/_account/checkuserinfo", HttpMethodEnum.GET, new { }); if (userinfo.StatusCode == System.Net.HttpStatusCode.OK) { await SetUserInfo(userinfo.Data); await OnUserInfoSet.InvokeAsync(); await LoginSuccessChanged.InvokeAsync(true); } else { await WtmBlazor.Toast.Error(WtmBlazor.Localizer["Sys.Error"], rv.Errors.Message[0]); } } else { await WtmBlazor.Toast.Error(WtmBlazor.Localizer["Sys.Error"], rv.Errors?.Message[0]); } } }