This commit is contained in:
toom1996
2026-09-01 00:08:20 +08:00
parent f4f6e02e3c
commit 2562fc4aaa
2 changed files with 42 additions and 13 deletions

View File

@ -47,6 +47,12 @@ func New(opt Options) *gin.Engine {
// ClientSign 仅挂在「列表 / 品牌」两个批量查询接口上:
// 这俩是爬虫批量 dump 的主要目标,要求前端 JS 签名可抬高抓取成本。
public.Use(middleware.ClientSign(opt.Config.ClientSign))
// 列表接口「首页公开、翻页需登录」:page=1(或缺省)无需 token 直接放行,
// page>1 才要求 Authorization: Bearer <token>,否则 401。
// 这样既让游客/SEO 看到首屏,又保留翻页 / 批量枚举的登录门槛(防爬虫 dump 全量)。
// 注意:详情接口 /api/v1/public/*/:id 不在此组内,保持公开——详情页走 SSR
// 服务端渲染、无用户 token,且分享链接/SEO 需可访问;列表隐藏即可防批量枚举。
public.Use(middleware.PublicFirstPageAuth(opt.JWT))
{
// 走秀档案列表(按品牌过滤走 ?brand_id 查询参数)
public.GET("/runway-looks", opt.Article.List)