feat: 查询过滤器保存

页面定时刷新
WebSocket断线自动重连
This commit is contained in:
tk
2024-08-13 11:34:28 +08:00
parent 6922a863ec
commit 779d8e511a
18 changed files with 247 additions and 71 deletions

View File

@ -207,7 +207,9 @@ public sealed class UserService(
.ConfigureAwait(false);
}
return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.) : LoginInternal(dbUser);
return dbUser == null
? throw new NetAdminInvalidOperationException(Ln.)
: await LoginInternalAsync(dbUser).ConfigureAwait(false);
}
/// <inheritdoc />
@ -221,7 +223,9 @@ public sealed class UserService(
}
var dbUser = await Rpo.Where(a => a.Mobile == req.DestDevice).ToOneAsync().ConfigureAwait(false);
return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.) : LoginInternal(dbUser);
return dbUser == null
? throw new NetAdminInvalidOperationException(Ln.)
: await LoginInternalAsync(dbUser).ConfigureAwait(false);
}
/// <inheritdoc />
@ -229,7 +233,7 @@ public sealed class UserService(
{
var dbUser = await Rpo.Where(a => a.Id == userId).ToOneAsync().ConfigureAwait(false);
return LoginInternal(dbUser);
return await LoginInternalAsync(dbUser).ConfigureAwait(false);
}
/// <inheritdoc />
@ -464,14 +468,15 @@ public sealed class UserService(
return dept.Count != 1 ? throw new NetAdminInvalidOperationException(Ln.) : roles;
}
private LoginRsp LoginInternal(Sys_User dbUser)
private async Task<LoginRsp> LoginInternalAsync(Sys_User dbUser)
{
if (!dbUser.Enabled) {
throw new NetAdminInvalidOperationException(Ln.);
}
_ = UpdateAsync(dbUser with { LastLoginTime = DateTime.Now }, [nameof(Sys_User.LastLoginTime)]
, ignoreVersion: true);
_ = await UpdateAsync(dbUser with { LastLoginTime = DateTime.Now }, [nameof(Sys_User.LastLoginTime)]
, ignoreVersion: true)
.ConfigureAwait(false);
var tokenPayload
= new Dictionary<string, object> { { nameof(ContextUserToken), dbUser.Adapt<ContextUserToken>() } };