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