diff --git a/cjpm.lock b/cjpm.lock index ffec643..8954596 100644 --- a/cjpm.lock +++ b/cjpm.lock @@ -5,15 +5,15 @@ version = 0 soulsoft_extensions_options = {version = "1.0.20260528"} redis = {version = "1.0.20260627"} soulsoft_serialization = {version = "1.0.20260528"} - soulsoft_web_http = {version = "1.0.20260528"} soulsoft_identity_claims = {version = "1.0.20260528"} - soulsoft_web_routing = {version = "1.0.20260528"} - soulsoft_extensions_hosting = {version = "1.0.20260528"} - soulsoft_extensions_logging = {version = "1.0.20260528"} soulsoft_web_cors = {version = "1.0.20260528"} + soulsoft_extensions_hosting = {version = "1.0.20260528"} + soulsoft_web_mvc = {version = "1.0.20260528"} + soulsoft_extensions_logging = {version = "1.0.20260528"} soulsoft_extensions_logging_console = {version = "1.0.20260528"} soulsoft_extensions_configuration = {version = "1.0.20260528"} + soulsoft_web_routing = {version = "1.0.20260528"} soulsoft_extensions_injection = {version = "1.0.20260528"} - soulsoft_extensions_logging_configuration = {version = "1.0.20260528"} soulsoft_web_hosting = {version = "1.0.20260528"} - soulsoft_web_mvc = {version = "1.0.20260528"} + soulsoft_extensions_logging_configuration = {version = "1.0.20260528"} + soulsoft_web_http = {version = "1.0.20260528"} diff --git a/src/helpers/SimApiAuth.cj b/src/helpers/SimApiAuth.cj index c546b1d..f5ba7fb 100644 --- a/src/helpers/SimApiAuth.cj +++ b/src/helpers/SimApiAuth.cj @@ -157,11 +157,20 @@ public class SimApiAuth { } } return match (json) { - case Some(j) => Some(parseLoginItem(j)) + case Some(j) => parseLoginItemSafe(j) case None => None } } + /// 解析登录信息;JSON 无效/非对象时返回 None(视为 token 无效,对齐 C# 返回 null) + private static func parseLoginItemSafe(json: String): ?SimApiLoginItem { + try { + Some(JsonSerializer.Deserialize(json)) + } catch (_: Exception) { + None + } + } + /** * 获取某用户全部登录信息。 * @param userId 用户 ID。 @@ -288,9 +297,4 @@ public class SimApiAuth { // 统一 JSON 序列化:对齐 .NET JsonSerializer.Serialize(item) JsonSerializer.Serialize(item) } - - private static func parseLoginItem(json: String): SimApiLoginItem { - // 统一 JSON 反序列化:对齐 .NET JsonSerializer.Deserialize(json) - JsonSerializer.Deserialize(json) - } }