38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
// server/api/images/stats.get.ts - 生图统计接口:返回全局生图请求与成功失败统计。
|
|
import type { IImageGenerationStatsData } from "#shared/types/openai";
|
|
|
|
/**
|
|
* GET /api/images/stats
|
|
*
|
|
* 流程:
|
|
* 1. 读取 GenerationStats 的 global 单行统计。
|
|
* 2. 没有统计行时返回全 0,避免前端需要处理空状态。
|
|
* 3. 该接口返回全局统计,不包含用户输入、图片地址或上游响应。
|
|
*/
|
|
export default defineEventHandler(async () => {
|
|
const logger = createApiLogger("images.stats");
|
|
logger.info("开始");
|
|
|
|
try {
|
|
const result = await getGenerationStats();
|
|
|
|
logger.done("成功", {
|
|
totalRequests: result.totalRequests,
|
|
successRequests: result.successRequests,
|
|
failedRequests: result.failedRequests,
|
|
runningRequests: result.runningRequests,
|
|
totalImages: result.totalImages
|
|
});
|
|
|
|
return createSuccessResponse<IImageGenerationStatsData>(
|
|
result,
|
|
"获取生图统计成功"
|
|
);
|
|
} catch (error) {
|
|
logger.error("失败", {
|
|
error: toSafeLogError(error)
|
|
});
|
|
return createUpstreamErrorResponse(error, "获取生图统计失败");
|
|
}
|
|
});
|