feat(ECR-041): OpsCMS Banner 薄写面(Write-Wave 首刀)

Admin POST/PUT + admin.cms.write/审计;C 端 GET /home/banners;首页投影回退静态 homeFeeds;migration 000051;不碰 FeedSlot/支付/UGC。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-13 19:55:27 +08:00
co-authored by Cursor
parent ad45d17dff
commit 9707b72808
35 changed files with 1203 additions and 29 deletions
+47
View File
@@ -778,6 +778,21 @@ paths:
description: Unauthorized
'403':
description: Forbidden
post:
tags: [admin]
summary: Create Banner
description: Requires admin.cms.write · ECR-041
responses:
'200':
description: OK
'400':
description: Invalid
'401':
description: Unauthorized
'403':
description: Forbidden
'409':
description: Code conflict
/api/v1/admin/cms/banners/{id}:
get:
@@ -793,6 +808,26 @@ paths:
description: OK
'404':
description: Not found
put:
tags: [admin]
summary: Update Banner
description: Requires admin.cms.write · deactivate via active=false
parameters:
- in: path
name: id
required: true
schema: { type: string, format: uuid }
responses:
'200':
description: OK
'400':
description: Invalid
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Code conflict
/api/v1/admin/cms/feed-slots:
get:
@@ -1448,6 +1483,18 @@ paths:
'200':
description: OK
/api/v1/home/banners:
get:
tags: [system]
summary: Homepage active banners (ECR-041)
parameters:
- in: query
name: placement
schema: { type: string, default: home, enum: [home, explore, ask] }
responses:
'200':
description: OK
/api/v1/home/daily-tips:
get:
tags: [system]