diff --git a/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs b/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs index b59639f..3034639 100644 --- a/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs +++ b/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs @@ -51,7 +51,7 @@ public class PlayGameController : CloudGamingControllerBase /// [HttpPost] [Authorize] - public async Task> PlayGameAsync([FromBody] PlayGameRequest playGameRequest) + public async Task> PlayGameAsync([FromBody] PlayGameRequest playGameRequest) { PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi); return await playGameBLL.PlayGameAsync(playGameRequest); @@ -94,7 +94,7 @@ public class PlayGameController : CloudGamingControllerBase /// [HttpPost] [Authorize] - public async Task> CancelQueueAsync([FromBody]GameRequest gameRequest) + public async Task> CancelQueueAsync([FromBody] GameRequest gameRequest) { PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi); return await playGameBLL.CancelQueueAsync(gameRequest); diff --git a/src/CloudGaming/Api/CloudGaming.Api/Program.cs b/src/CloudGaming/Api/CloudGaming.Api/Program.cs index 811ee17..cca05ee 100644 --- a/src/CloudGaming/Api/CloudGaming.Api/Program.cs +++ b/src/CloudGaming/Api/CloudGaming.Api/Program.cs @@ -66,6 +66,8 @@ builder.Services.AddControllers(options => //options.SerializerSettings.ContractResolver = new LanguageContractResolver(builder.Services); options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";// 时间格式化 options.SerializerSettings.Converters.Add(new StringConverter()); + // 设置序列化深度为3(这里你可以根据实际需求修改这个值) + options.SerializerSettings.MaxDepth = 10; //options.SerializerSettings.ContractResolver = #if !DEBUG @@ -165,7 +167,7 @@ builder.Services.AddCustomCors(_myAllowSpecificOrigins); #endregion builder.Services.AddScoped(); // 配置 HttpClientFactory 和 Refit - + builder.Services.AddRefitClient() .AddHttpMessageHandler() .ConfigureHttpClient(c => c.BaseAddress = new Uri("https://default-api.example.com")); diff --git a/src/CloudGaming/Api/CloudGaming.Api/appsettings.Development.json b/src/CloudGaming/Api/CloudGaming.Api/appsettings.Development.json index 1f3aad1..ba883d4 100644 --- a/src/CloudGaming/Api/CloudGaming.Api/appsettings.Development.json +++ b/src/CloudGaming/Api/CloudGaming.Api/appsettings.Development.json @@ -10,7 +10,7 @@ "secret": "95BB717C61D1ECB0E9FB82C932CC77FF", "nodes": "http://124.220.55.158:94", //多个节点使用逗号分隔 "url": "http://124.220.55.158:94", - "env": "DEV", + "env": "TEST", "UserName": "admin", "Password": "dbt@com@1234" }, diff --git a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs index 05341ea..427a609 100644 --- a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs +++ b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs @@ -52,7 +52,7 @@ public class PlayGameBLL : CloudGamingBase /// /// 启动游戏的请求参数 /// 包含操作结果的响应对象 - public async Task> PlayGameAsync(PlayGameRequest playGameRequest) + public async Task> PlayGameAsync(PlayGameRequest playGameRequest) { // 检查用户是否已登录 if (_UserId == 0) @@ -112,7 +112,7 @@ public class PlayGameBLL : CloudGamingBase // 调用鲸云游戏启动接口 var jyResponseData = await JYApi.PlayGame(playGameSettings); - var response = new BaseResponse(); + var response = new BaseResponse(); // 用户进入排队 if (jyResponseData.IsLineUp) { @@ -123,6 +123,7 @@ public class PlayGameBLL : CloudGamingBase } else if (jyResponseData.IsSuccess) { + // 游戏启动成功 var gameResponse = JsonConvert.DeserializeObject>(jyResponseData.ResponseContent); // 创建游戏记录和日志 @@ -139,7 +140,16 @@ public class PlayGameBLL : CloudGamingBase await Dao.DaoPhone.Context.T_User_GameList.AddAsync(userGameList); await Dao.DaoPhone.Context.SaveChangesAsync(); gameInfoCache?.PlayGameStart(gameResponse?.Data?.ScId ?? 0, userGameList.Id, playGameSettings.DisplayGrade, jyResponseData); - response = new BaseResponse(ResponseCode.Success, "", jyResponseData.Data); + var gameResponse1 = JsonConvert.DeserializeObject>(jyResponseData.ResponseContent); + if (gameResponse1 != null && gameResponse1.TryGetValue("data", out var xxx)) + { + response = new BaseResponse(ResponseCode.Success, "", xxx); + } + else + { + response = new BaseResponse(ResponseCode.Success, "", jyResponseData.Data); + } + } else // 游戏启动失败 {