api实现

This commit is contained in:
Developer
2026-04-09 08:54:36 +08:00
parent 2eaf317705
commit 8d27c67d3a
319 changed files with 70169 additions and 4677 deletions

104
docs/api/cache_manage.php Normal file
View File

@@ -0,0 +1,104 @@
<?php
/**
* 🧹 缓存管理接口
*
* 访问方式: /api/cache_manage.php?action=xxx
*/
require '../zb_system/function/c_system_base.php';
$zbp->Load();
require_once 'cache.php';
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
$action = $_GET['action'] ?? 'stats';
$result = array();
switch ($action) {
case 'stats':
$result = array(
'code' => 200,
'message' => '📊 缓存统计',
'data' => ApiCache::getStats()
);
break;
case 'clean':
$count = ApiCache::cleanExpired();
$result = array(
'code' => 200,
'message' => "🧹 已清理 {$count} 个过期缓存",
'data' => array(
'cleaned' => $count,
'stats' => ApiCache::getStats()
)
);
break;
case 'clear':
$act = $_GET['act'] ?? null;
if ($act) {
$count = ApiCache::clearByAct($act);
$result = array(
'code' => 200,
'message' => "🗑️ 已清除 {$act} 相关的 {$count} 个缓存",
'data' => array(
'act' => $act,
'cleaned' => $count
)
);
} else {
ApiCache::clear();
$result = array(
'code' => 200,
'message' => '🗑️ 已清除所有缓存',
'data' => ApiCache::getStats()
);
}
break;
case 'config':
$result = array(
'code' => 200,
'message' => '⚙️ 缓存配置',
'data' => array(
'ttl_config' => array(
'list' => '180秒 (3分钟)',
'detail' => '300秒 (5分钟)',
'ingredients' => '300秒 (5分钟)',
'ingredient_detail' => '600秒 (10分钟)',
'search' => '120秒 (2分钟)',
'categories' => '600秒 (10分钟)',
'tags' => '600秒 (10分钟)',
'stats' => '60秒 (1分钟)',
'like' => '不缓存',
'recommend' => '不缓存',
'view' => '不缓存'
),
'auto_clean' => '1%概率自动清理过期缓存'
)
);
break;
default:
$result = array(
'code' => 200,
'message' => '🧹 缓存管理接口',
'data' => array(
'actions' => array(
'stats' => '查看缓存统计',
'clean' => '清理过期缓存',
'clear' => '清除所有缓存',
'clear&act=xxx' => '清除指定接口缓存',
'config' => '查看缓存配置'
)
)
);
break;
}
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
exit;