From fba532d7f5f3820bb719681861d78284514fd644 Mon Sep 17 00:00:00 2001 From: seaHi Date: Sat, 8 Aug 2026 08:21:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=20slug=20=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=80=BB=E8=BE=91=E5=B9=B6=E5=A2=9E=E5=BC=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=81=A5=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/api/slugify/+server.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/routes/api/slugify/+server.ts b/src/routes/api/slugify/+server.ts index 444caf6..10f4522 100644 --- a/src/routes/api/slugify/+server.ts +++ b/src/routes/api/slugify/+server.ts @@ -32,7 +32,8 @@ export const POST: RequestHandler = async ({ request, platform }) => { try { const res = (await platform.env.AI.run('@cf/meta/m2m100_418m', { text, - target_lang: 'english' + source_lang: 'zh', + target_lang: 'en' })) as { translated_text?: string }; if (res?.translated_text) { @@ -67,13 +68,18 @@ export const POST: RequestHandler = async ({ request, platform }) => { } } - // 最底层的安全兜底:若没有任何英文结果返回,生成基于拼音/基本替换的 slug + // 最底层的安全兜底:若没有任何英文结果返回,且全部是中文导致正则替换为空 const fallbackSlug = text .toLowerCase() .replace(/\s+/g, '-') .replace(/[^\w-]/g, ''); - return json({ slug: fallbackSlug || 'post' }); + // 如果 fallbackSlug 仍为空(例如纯中文被全替换了),则使用时间戳或者特定前缀 + if (!fallbackSlug) { + return json({ slug: `post-${Date.now().toString(36)}` }); + } + + return json({ slug: fallbackSlug }); } catch (error) { console.error('Slug生成接口未知错误:', error); return json({ slug: '' }, { status: 500 });