ItemJsonConfig::class, 'chest' => ChestJsonConfig::class, 'pet_config' => PetConfigJsonConfig::class, 'pet_levels' => PetLevelJsonConfig::class, 'pet_skills' => PetSkillJsonConfig::class, 'farm_house' => FarmHouseJsonConfig::class, 'farm_land' => FarmLandJsonConfig::class, 'farm_shrine' => FarmShrineJsonConfig::class, 'currencies' => FundCurrencyJsonConfig::class, 'recipe' => RecipeJsonConfig::class, 'dismantle' => DismantleJsonConfig::class, 'farm_seed' => FarmSeedJsonConfig::class, 'shop_items' => ShopItemsJsonConfig::class, ]; // 检查请求的配置表是否存在 if (!isset($map[$key])) { return response()->json([ 'code' => RESPONSE_CODE::REQUEST_ERROR, 'message' => '配置表不存在', 'data' => null ], 400)->withHeaders([ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization' ]); } try { // 获取配置表数据 $configClass = $map[$key]; $data = $configClass::getData(); // 如果数据为空,返回错误 if (empty($data)) { return response()->json([ 'code' => RESPONSE_CODE::SERVER_ERROR, 'message' => '配置表数据为空', 'data' => null ], 500)->withHeaders([ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization' ]); } // 返回配置表数据 if (is_array($data) || is_object($data)) { return response()->json($data)->withHeaders([ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization' ]); } return response($data)->withHeaders([ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization' ]); } catch (\Exception $e) { // 记录错误日志 Log::error('获取配置表数据失败', [ 'key' => $key, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); // 返回错误响应 return response()->json([ 'code' => RESPONSE_CODE::SERVER_ERROR, 'message' => '获取配置表数据失败', 'data' => null ], 500)->withHeaders([ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization' ]); } } }