namespace OrpaonVision.Core.Results; /// /// 非泛型统一返回结果。 /// /// 约束: /// - 普通业务失败使用 Result 返回,不建议抛异常; /// - 异常场景请由上层捕获后转换为统一错误码与消息。 /// public class Result { /// /// 是否成功。 /// public bool Succeeded { get; init; } /// /// 业务编码(成功或失败编码)。 /// public string Code { get; init; } = string.Empty; /// /// 业务消息。 /// public string Message { get; init; } = string.Empty; /// /// 错误明细。 /// public IReadOnlyCollection Errors { get; init; } = Array.Empty(); /// /// 跟踪 ID,用于日志链路关联。 /// public string? TraceId { get; init; } /// /// 创建成功结果。 /// public static Result Success(string code = "OK", string message = "Success") { return new Result { Succeeded = true, Code = code, Message = message }; } /// /// 创建失败结果。 /// public static Result Fail(string code, string message, params string[] errors) { return new Result { Succeeded = false, Code = code, Message = message, Errors = errors }; } } /// /// 泛型统一返回结果。 /// public sealed class Result : Result { /// /// 业务数据。 /// public T? Data { get; init; } /// /// 创建成功结果。 /// public static Result Success(T data, string code = "OK", string message = "Success") { return new Result { Succeeded = true, Code = code, Message = message, Data = data }; } /// /// 创建失败结果。 /// public static new Result Fail(string code, string message, params string[] errors) { return new Result { Succeeded = false, Code = code, Message = message, Errors = errors }; } }