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 {
|
||||
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 });
|
||||
|
||||
Reference in new issue
Block a user