fix(api): 收藏状态接口不再把 401 吞成 500

- /api/favorites/check 的 catch 改为透传 err.status/err.code(未登录返回 401 + 40010/40100,而非 500)

- 线上日志确认根因:未携带用户 token 时 resolveSecureUserId 抛 401 被包装成 500

- 新增 favorites-status-code.spec.ts(105 套件/703 用例全绿);冒烟 3/3
这个提交包含在:
xcbyy
2026-10-21 10:52:13 +08:00
父节点 720cb97877
当前提交 f56bbe76d7
共有 2 个文件被更改,包括 32 次插入 和 1 次删除

查看文件

@@ -4823,7 +4823,10 @@ app.get('/api/favorites/check', async (req: Request, res: Response) => {
data: { isFavorite: isFav }
});
} catch (err: any) {
res.status(500).json({ code: 50000, message: err.message });
// 保留 401/403 语义(未登录/越权),不要把鉴权失败吞成 500
const statusCode = err.status || 500;
const errCode = err.code || 50000;
res.status(statusCode).json({ code: errCode, message: err.message });
}
});