using Microsoft.AspNetCore.ResponseCompression; using System.IO.Compression; using System.Text.Json; using System.Linq; var builder = WebApplication.CreateBuilder(args); // 添加响应压缩服务 builder.Services.AddResponseCompression(options => { options.EnableForHttps = true; options.Providers.Add(); options.Providers.Add(); options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/json" }); }); // 配置压缩级别 builder.Services.Configure(options => { options.Level = CompressionLevel.Fastest; }); builder.Services.Configure(options => { options.Level = CompressionLevel.Fastest; }); var app = builder.Build(); // 使用响应压缩中间件 app.UseResponseCompression(); // 添加一个返回大量数据的API端点,以便测试压缩效果 app.MapGet("/api/data", () => new { Message = "这是一个用于测试响应压缩的API端点", Data = Enumerable.Range(1, 1000).Select(i => new { Id = i, Name = $"Item {i}", Description = $"这是第{i}个项目的描述,包含更多文本内容以便测试压缩效果。" }).ToArray(), Timestamp = DateTime.UtcNow }); // 添加类别API端点,供前端测试使用 app.MapGet("/api/categories", () => new[] { new { Id = 1, Name = "手机CPU", Description = "移动设备处理器性能排名", ProductCount = 25 }, new { Id = 2, Name = "手机GPU", Description = "移动设备图形处理器性能排名", ProductCount = 18 }, new { Id = 3, Name = "电脑CPU", Description = "桌面处理器性能排名", ProductCount = 32 }, new { Id = 4, Name = "电脑GPU", Description = "桌面显卡性能排名", ProductCount = 28 } }); // 添加产品API端点,供前端测试使用 app.MapGet("/api/products", (int? categoryId, int page = 1, int pageSize = 20, string sortBy = "PerformanceScore", string order = "desc") => { // 模拟产品数据 var allProducts = new[] { new { Id = 1, Name = "Snapdragon 8 Gen 2", Model = "SM8550-AB", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3879, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 2, Name = "A16 Bionic", Model = "A16 Bionic", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 3756, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 3, Name = "Dimensity 9200", Model = "MT6985", Manufacturer = "MediaTek", ReleaseYear = 2022, PerformanceScore = 3512, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 4, Name = "Snapdragon 8+ Gen 1", Model = "SM8475", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3341, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 5, Name = "A15 Bionic", Model = "A15 Bionic", Manufacturer = "Apple", ReleaseYear = 2021, PerformanceScore = 3215, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 6, Name = "Adreno 740", Model = "Adreno 740", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 14350, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 7, Name = "Apple A16 GPU", Model = "A16 GPU", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 13980, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 8, Name = "Mali-G715 MC10", Model = "Mali-G715", Manufacturer = "ARM", ReleaseYear = 2022, PerformanceScore = 12150, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 9, Name = "Adreno 730", Model = "Adreno 730", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 11020, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 10, Name = "Apple A15 GPU", Model = "A15 GPU", Manufacturer = "Apple", ReleaseYear = 2021, PerformanceScore = 10560, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 11, Name = "Intel Core i9-13900K", Model = "i9-13900K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 3176, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 12, Name = "AMD Ryzen 9 7950X", Model = "Ryzen 9 7950X", Manufacturer = "AMD", ReleaseYear = 2022, PerformanceScore = 3095, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 13, Name = "Intel Core i7-13700K", Model = "i7-13700K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 2956, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 14, Name = "AMD Ryzen 9 5900X", Model = "Ryzen 9 5900X", Manufacturer = "AMD", ReleaseYear = 2020, PerformanceScore = 2835, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 15, Name = "Intel Core i5-13600K", Model = "i5-13600K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 2742, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 16, Name = "NVIDIA GeForce RTX 4090", Model = "RTX 4090", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 38928, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 17, Name = "NVIDIA GeForce RTX 4080", Model = "RTX 4080", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 32168, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 18, Name = "NVIDIA GeForce RTX 3090 Ti", Model = "RTX 3090 Ti", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 28595, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 19, Name = "AMD Radeon RX 7900 XTX", Model = "RX 7900 XTX", Manufacturer = "AMD", ReleaseYear = 2022, PerformanceScore = 27850, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 20, Name = "NVIDIA GeForce RTX 3090", Model = "RTX 3090", Manufacturer = "NVIDIA", ReleaseYear = 2020, PerformanceScore = 26420, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 4 } }; // 根据类别ID筛选 var filteredProducts = categoryId.HasValue ? allProducts.Where(p => p.CategoryId == categoryId.Value).ToArray() : allProducts; // 排序 filteredProducts = sortBy.ToLower() switch { "name" => order.ToLower() == "desc" ? filteredProducts.OrderByDescending(p => p.Name).ToArray() : filteredProducts.OrderBy(p => p.Name).ToArray(), "manufacturer" => order.ToLower() == "desc" ? filteredProducts.OrderByDescending(p => p.Manufacturer).ToArray() : filteredProducts.OrderBy(p => p.Manufacturer).ToArray(), "releaseyear" => order.ToLower() == "desc" ? filteredProducts.OrderByDescending(p => p.ReleaseYear).ToArray() : filteredProducts.OrderBy(p => p.ReleaseYear).ToArray(), _ => order.ToLower() == "desc" ? filteredProducts.OrderByDescending(p => p.PerformanceScore).ToArray() : filteredProducts.OrderBy(p => p.PerformanceScore).ToArray() }; var totalItems = filteredProducts.Length; var totalPages = (int)Math.Ceiling((double)totalItems / pageSize); // 分页 var pagedProducts = filteredProducts .Skip((page - 1) * pageSize) .Take(pageSize) .ToArray(); return new { Items = pagedProducts, Total = totalItems, CurrentPage = page, PageSize = pageSize, TotalPages = totalPages }; }); // 添加产品详情API端点 app.MapGet("/api/products/{id}", (int id) => { // 模拟产品详情数据 var allProducts = new[] { new { Id = 1, Name = "Snapdragon 8 Gen 2", Model = "SM8550-AB", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3879, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "高通骁龙8 Gen 2是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.2GHz" }, new { Name = "GPU", Value = "Adreno 740" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1524 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 5352 }, new { Benchmark = "AnTuTu 9", Score = 1314582 } } }, new { Id = 2, Name = "A16 Bionic", Model = "A16 Bionic", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 3756, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "苹果A16 Bionic是2022年推出的移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "6" }, new { Name = "主频", Value = "3.46GHz" }, new { Name = "GPU", Value = "Apple A16 GPU" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1874 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 5372 }, new { Benchmark = "AnTuTu 9", Score = 1425876 } } }, new { Id = 3, Name = "Dimensity 9200", Model = "MT6985", Manufacturer = "MediaTek", ReleaseYear = 2022, PerformanceScore = 3512, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "联发科天玑9200是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.05GHz" }, new { Name = "GPU", Value = "Mali-G715 MC10" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1424 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 4485 }, new { Benchmark = "AnTuTu 9", Score = 1245876 } } }, new { Id = 4, Name = "Snapdragon 8+ Gen 1", Model = "SM8475", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3341, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "高通骁龙8+ Gen 1是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.2GHz" }, new { Name = "GPU", Value = "Adreno 730" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1314 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 4185 }, new { Benchmark = "AnTuTu 9", Score = 1145876 } } } }; var product = allProducts.FirstOrDefault(p => p.Id == id); if (product == null) { return Results.NotFound(new { Message = "产品不存在" }); } return Results.Ok(product); }); // 添加产品搜索API端点 app.MapGet("/api/products/search", (string q, int? categoryId) => { // 模拟产品数据 var allProducts = new[] { new { Id = 1, Name = "Snapdragon 8 Gen 2", Model = "SM8550-AB", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3879, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 2, Name = "A16 Bionic", Model = "A16 Bionic", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 3756, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 3, Name = "Dimensity 9200", Model = "MT6985", Manufacturer = "MediaTek", ReleaseYear = 2022, PerformanceScore = 3512, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 4, Name = "Snapdragon 8+ Gen 1", Model = "SM8475", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3341, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 5, Name = "A15 Bionic", Model = "A15 Bionic", Manufacturer = "Apple", ReleaseYear = 2021, PerformanceScore = 3215, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 1 }, new { Id = 6, Name = "Adreno 740", Model = "Adreno 740", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 14350, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 7, Name = "Apple A16 GPU", Model = "A16 GPU", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 13980, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 8, Name = "Mali-G715 MC10", Model = "Mali-G715", Manufacturer = "ARM", ReleaseYear = 2022, PerformanceScore = 12150, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 9, Name = "Adreno 730", Model = "Adreno 730", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 11020, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 10, Name = "Apple A15 GPU", Model = "A15 GPU", Manufacturer = "Apple", ReleaseYear = 2021, PerformanceScore = 10560, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 2 }, new { Id = 11, Name = "Intel Core i9-13900K", Model = "i9-13900K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 3176, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 12, Name = "AMD Ryzen 9 7950X", Model = "Ryzen 9 7950X", Manufacturer = "AMD", ReleaseYear = 2022, PerformanceScore = 3095, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 13, Name = "Intel Core i7-13700K", Model = "i7-13700K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 2956, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 14, Name = "AMD Ryzen 9 5900X", Model = "Ryzen 9 5900X", Manufacturer = "AMD", ReleaseYear = 2020, PerformanceScore = 2835, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 15, Name = "Intel Core i5-13600K", Model = "i5-13600K", Manufacturer = "Intel", ReleaseYear = 2022, PerformanceScore = 2742, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 3 }, new { Id = 16, Name = "NVIDIA GeForce RTX 4090", Model = "RTX 4090", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 38928, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 17, Name = "NVIDIA GeForce RTX 4080", Model = "RTX 4080", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 32168, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 18, Name = "NVIDIA GeForce RTX 3090 Ti", Model = "RTX 3090 Ti", Manufacturer = "NVIDIA", ReleaseYear = 2022, PerformanceScore = 28595, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 19, Name = "AMD Radeon RX 7900 XTX", Model = "RX 7900 XTX", Manufacturer = "AMD", ReleaseYear = 2022, PerformanceScore = 27850, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 4 }, new { Id = 20, Name = "NVIDIA GeForce RTX 3090", Model = "RTX 3090", Manufacturer = "NVIDIA", ReleaseYear = 2020, PerformanceScore = 26420, CurrentRank = 5, ImageUrl = "/images/placeholder.svg", CategoryId = 4 } }; // 根据类别ID筛选 var filteredProducts = categoryId.HasValue ? allProducts.Where(p => p.CategoryId == categoryId.Value).ToArray() : allProducts; // 根据搜索关键词筛选 if (!string.IsNullOrWhiteSpace(q)) { filteredProducts = filteredProducts.Where(p => p.Name.Contains(q, StringComparison.OrdinalIgnoreCase) || p.Model.Contains(q, StringComparison.OrdinalIgnoreCase) || p.Manufacturer.Contains(q, StringComparison.OrdinalIgnoreCase) ).ToArray(); } return filteredProducts; }); // 添加产品对比API端点 app.MapPost("/api/comparison", async (HttpRequest request) => { try { // 读取请求体 var requestBody = await new StreamReader(request.Body).ReadToEndAsync(); // 尝试解析为JSON对象 dynamic jsonBody = JsonSerializer.Deserialize>(requestBody); // 提取productIds数组 if (jsonBody == null || !jsonBody.ContainsKey("productIds")) { return Results.BadRequest(new { Message = "请求体必须包含productIds字段" }); } // 获取productIds数组 var productIdsJson = jsonBody["productIds"].ToString(); var productIds = JsonSerializer.Deserialize(productIdsJson); // 验证产品ID数量 if (productIds == null || productIds.Length < 2 || productIds.Length > 4) { return Results.BadRequest(new { Message = "产品对比需要2-4个产品ID" }); } // 模拟产品详情数据 var allProducts = new[] { new { Id = 1, Name = "Snapdragon 8 Gen 2", Model = "SM8550-AB", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3879, CurrentRank = 1, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "高通骁龙8 Gen 2是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.2GHz" }, new { Name = "GPU", Value = "Adreno 740" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1524 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 5352 }, new { Benchmark = "AnTuTu 9", Score = 1314582 } } }, new { Id = 2, Name = "A16 Bionic", Model = "A16 Bionic", Manufacturer = "Apple", ReleaseYear = 2022, PerformanceScore = 3756, CurrentRank = 2, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "苹果A16 Bionic是2022年推出的移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "6" }, new { Name = "主频", Value = "3.46GHz" }, new { Name = "GPU", Value = "Apple A16 GPU" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1874 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 5372 }, new { Benchmark = "AnTuTu 9", Score = 1425876 } } }, new { Id = 3, Name = "Dimensity 9200", Model = "MT6985", Manufacturer = "MediaTek", ReleaseYear = 2022, PerformanceScore = 3512, CurrentRank = 3, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "联发科天玑9200是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.05GHz" }, new { Name = "GPU", Value = "Mali-G715 MC10" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1424 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 4485 }, new { Benchmark = "AnTuTu 9", Score = 1245876 } } }, new { Id = 4, Name = "Snapdragon 8+ Gen 1", Model = "SM8475", Manufacturer = "Qualcomm", ReleaseYear = 2022, PerformanceScore = 3341, CurrentRank = 4, ImageUrl = "/images/placeholder.svg", CategoryId = 1, Description = "高通骁龙8+ Gen 1是2022年推出的旗舰移动处理器,采用4nm工艺制程。", Specifications = new[] { new { Name = "工艺", Value = "4nm" }, new { Name = "核心数", Value = "8" }, new { Name = "主频", Value = "3.2GHz" }, new { Name = "GPU", Value = "Adreno 730" } }, PerformanceScores = new[] { new { Benchmark = "Geekbench 5 Single-Core", Score = 1314 }, new { Benchmark = "Geekbench 5 Multi-Core", Score = 4185 }, new { Benchmark = "AnTuTu 9", Score = 1145876 } } } }; // 获取请求的产品 var selectedProducts = allProducts.Where(p => productIds.Contains(p.Id)).ToArray(); // 检查是否找到了所有请求的产品 if (selectedProducts.Length != productIds.Length) { return Results.NotFound(new { Message = "一个或多个产品不存在" }); } // 创建对比数据 var comparisonData = new { Products = selectedProducts, ComparisonMatrix = new { PerformanceScore = selectedProducts.Select(p => new { ProductId = p.Id, ProductName = p.Name, Value = p.PerformanceScore, IsBest = p.PerformanceScore == selectedProducts.Max(x => x.PerformanceScore), IsWorst = p.PerformanceScore == selectedProducts.Min(x => x.PerformanceScore) }).ToArray(), ReleaseYear = selectedProducts.Select(p => new { ProductId = p.Id, ProductName = p.Name, Value = p.ReleaseYear, IsBest = p.ReleaseYear == selectedProducts.Max(x => x.ReleaseYear), IsWorst = p.ReleaseYear == selectedProducts.Min(x => x.ReleaseYear) }).ToArray() }, PerformanceComparison = new { Benchmarks = new[] { new { Name = "Geekbench 5 Single-Core", Values = selectedProducts.Select(p => new { ProductId = p.Id, ProductName = p.Name, Value = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Single-Core")?.Score ?? 0, IsBest = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Single-Core")?.Score == selectedProducts.Max(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Single-Core")?.Score ?? 0), IsWorst = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Single-Core")?.Score == selectedProducts.Min(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Single-Core")?.Score ?? int.MaxValue) }).ToArray() }, new { Name = "Geekbench 5 Multi-Core", Values = selectedProducts.Select(p => new { ProductId = p.Id, ProductName = p.Name, Value = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Multi-Core")?.Score ?? 0, IsBest = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Multi-Core")?.Score == selectedProducts.Max(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Multi-Core")?.Score ?? 0), IsWorst = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Multi-Core")?.Score == selectedProducts.Min(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "Geekbench 5 Multi-Core")?.Score ?? int.MaxValue) }).ToArray() }, new { Name = "AnTuTu 9", Values = selectedProducts.Select(p => new { ProductId = p.Id, ProductName = p.Name, Value = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "AnTuTu 9")?.Score ?? 0, IsBest = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "AnTuTu 9")?.Score == selectedProducts.Max(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "AnTuTu 9")?.Score ?? 0), IsWorst = p.PerformanceScores.FirstOrDefault(s => s.Benchmark == "AnTuTu 9")?.Score == selectedProducts.Min(x => x.PerformanceScores.FirstOrDefault(s => s.Benchmark == "AnTuTu 9")?.Score ?? int.MaxValue) }).ToArray() } } } }; return Results.Ok(comparisonData); } catch (Exception ex) { return Results.BadRequest(new { Message = $"处理请求时出错: {ex.Message}" }); } }); app.MapGet("/", () => "Hello World!"); app.Run();