fix: 优化 slug 生成逻辑并增强接口健壮性
This commit is contained in:
1 parent
86a3facc63
commit
fba532d7f5
1 file changed
+9
-3
@@ -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 });
|
||||||
|
|||||||
Reference in new issue
Block a user