45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import { NextRequest, NextResponse } from 'next/server';
|
|
import { TypefaceService } from '@/lib/services/typeface.service';
|
|
import { IResponseData } from '@/lib/types/typeface';
|
|
import Logger from '@/lib/logger';
|
|
|
|
// 强制动态渲染,因为此路由依赖于动态路径参数和自动更新操作
|
|
export const dynamic = 'force-dynamic';
|
|
|
|
export async function GET(
|
|
request: NextRequest,
|
|
{ params }: { params: { id: string } }
|
|
): Promise<NextResponse<IResponseData<any>>> {
|
|
try {
|
|
const { id } = params;
|
|
|
|
if (!id) {
|
|
return NextResponse.json(
|
|
{
|
|
code: 400,
|
|
message: 'ID参数是必需的',
|
|
status: 'fail',
|
|
},
|
|
{ status: 200 },
|
|
);
|
|
}
|
|
|
|
const typefaceService = new TypefaceService();
|
|
await typefaceService.autoUpdate(id);
|
|
|
|
return NextResponse.json({
|
|
code: 200,
|
|
message: 'success',
|
|
});
|
|
} catch (error: any) {
|
|
Logger.error('[API-fonts/auto_update] 自动更新字体接口错误', error);
|
|
return NextResponse.json(
|
|
{
|
|
code: 500,
|
|
message: error.message || 'Internal server error',
|
|
status: 'fail',
|
|
},
|
|
{ status: 200 },
|
|
);
|
|
}
|
|
}
|