fix: 优化 slug 生成逻辑并增强接口健壮性

This commit is contained in:
seahi committed 2026-08-08 08:21:50 +08:00
1 parent 86a3facc63
commit fba532d7f5
1 file changed
+9 -3
+9 -3
View File
@@ -32,7 +32,8 @@ export const POST: RequestHandler = async ({ request, platform }) => {
try { try {
const res = (await platform.env.AI.run('@cf/meta/m2m100_418m', { const res = (await platform.env.AI.run('@cf/meta/m2m100_418m', {
text, text,
target_lang: 'english' source_lang: 'zh',
target_lang: 'en'
})) as { translated_text?: string }; })) as { translated_text?: string };
if (res?.translated_text) { if (res?.translated_text) {
@@ -67,13 +68,18 @@ export const POST: RequestHandler = async ({ request, platform }) => {
} }
} }
// 最底层的安全兜底:若没有任何英文结果返回,生成基于拼音/基本替换的 slug // 最底层的安全兜底:若没有任何英文结果返回,且全部是中文导致正则替换为空
const fallbackSlug = text const fallbackSlug = text
.toLowerCase() .toLowerCase()
.replace(/\s+/g, '-') .replace(/\s+/g, '-')
.replace(/[^\w-]/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) { } catch (error) {
console.error('Slug生成接口未知错误:', error); console.error('Slug生成接口未知错误:', error);
return json({ slug: '' }, { status: 500 }); return json({ slug: '' }, { status: 500 });