input('enum'); if (empty($enumName)) { return response()->json([ 'items' => [], 'message' => '枚举名称不能为空', 'code' => 400 ]); } try { // 构造完整的枚举类名 $enumClass = "App\\Enums\\{$enumName}"; // 检查类是否存在 if (!class_exists($enumClass)) { return response()->json([ 'items' => [], 'message' => "枚举类 {$enumName} 不存在", 'code' => 404 ]); } // 从Redis缓存获取数据 $cacheKey = "enum:{$enumName}"; $enumData = Redis::get($cacheKey); if (!$enumData) { // 缓存不存在,获取枚举数据并转换格式 $rawData = $enumClass::all(); $items = []; foreach ($rawData as $value => $label) { $items[] = [ 'label' => $label, 'value' => $value ]; } // 存入Redis缓存,设置过期时间为1天 Redis::setex($cacheKey, 86400, json_encode($items)); } else { $items = json_decode($enumData, true); } return response()->json([ 'items' => $items, 'message' => '', 'code' => 0 ]); } catch (\Throwable $e) { return response()->json([ 'items' => [], 'message' => $e->getMessage(), 'code' => 500 ]); } } }