feat(ECR-042): OpsCMS FeedSlot 薄写面
Admin POST/PUT 复用 admin.cms.write;C 端 GET /home/feed-slots;首页无 active 槽隐藏推荐区、失败回退展示;无新 migration。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -38,7 +38,8 @@
|
||||
| [ops-knowledge-source.md](ops-knowledge-source.md) | AI 知识源 KnowledgeSource | §7 | `admin-h5` `/ai` | Ops · **ECR-023** |
|
||||
| [ops-banner.md](ops-banner.md) | OpsCMS Banner(只读基线) | §7 | `admin-h5` `/cms` | Ops · **ECR-024** |
|
||||
| [ops-banner-write.md](ops-banner-write.md) | OpsCMS Banner **写面** | §7 | admin CMS 写 · `GET /home/banners` | Write-Wave · **ECR-041** |
|
||||
| [ops-feed-slot.md](ops-feed-slot.md) | OpsCMS FeedSlot | §7 | `admin-h5` `/cms` | Ops · **ECR-025** |
|
||||
| [ops-feed-slot.md](ops-feed-slot.md) | OpsCMS FeedSlot(只读基线) | §7 | `admin-h5` `/cms` | Ops · **ECR-025** |
|
||||
| [ops-feed-slot-write.md](ops-feed-slot-write.md) | OpsCMS FeedSlot **写面** | §7 | admin CMS 写 · `GET /home/feed-slots` | Write-Wave · **ECR-042** |
|
||||
| [ops-scheduled-publication.md](ops-scheduled-publication.md) | OpsCMS ScheduledPublication | §7 | `/admin/cms/publications*` | Ops · **ECR-026** |
|
||||
| [ops-knowledge-chunk.md](ops-knowledge-chunk.md) | AICoreConfig KnowledgeChunk | §7 | `/admin/ai/knowledge-chunks*` | Ops · **ECR-027** |
|
||||
| [ops-tool-definition.md](ops-tool-definition.md) | AICoreConfig ToolDefinition | §7 | `/admin/ai/tools*` | Ops · **ECR-028** |
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Feature Spec: OpsCMS · FeedSlot 写面(Ops · ECR-042)
|
||||
|
||||
> Status: `Active`(**ECR-042 Closed**)
|
||||
> Map: `§7` · Capability: `OpsCMS` · BC: `Ops_CMS_NoUGC`
|
||||
> Write-Wave: `docs/WAVE0/WRITE_WAVE_AUTHORIZATION.md`
|
||||
> Predecessor: ECR-025 Closed · ECR-041 Closed
|
||||
|
||||
## Goal
|
||||
|
||||
运营可创建/更新/上下架 FeedSlot;C 端可读 active 槽位;首页主信息流区按 `home.main`(或 placement=home 的 active 槽)显隐;失败回退「仍展示推荐区」。
|
||||
|
||||
## In / Out
|
||||
|
||||
| In | Out |
|
||||
|----|-----|
|
||||
| Admin POST/PUT feed-slots · `admin.cms.write` | Banner 再扩 · ScheduledPublication 写 |
|
||||
| C 端 GET `/home/feed-slots` | UGC 内容流正文 CMS · soft-delete |
|
||||
| 首页:无 active home 槽 → 隐藏推荐区;API 失败 → 仍显示 | 真支付 · Crisis/Handoff · 新权限模型 |
|
||||
|
||||
## Domain
|
||||
|
||||
复用 `ops_feed_slots`:`code` 唯一 · `slot_key` · `placement` ∈ {home,explore,ask} · `active` · `system`(system 不可改 code)。
|
||||
|
||||
## API
|
||||
|
||||
| Method | Path | Perm |
|
||||
|--------|------|------|
|
||||
| GET | `/admin/cms/feed-slots*` | cms.read |
|
||||
| POST/PUT | `/admin/cms/feed-slots*` | cms.write |
|
||||
| GET | `/home/feed-slots?placement=home` | DeviceAuth |
|
||||
|
||||
无 DELETE;下架 `active=false`。
|
||||
|
||||
## AC
|
||||
|
||||
AC-F create/update/conflict/invalid · AC-S 401/403 · AC-A audit · AC-C 首页显隐与失败回退 · AC-O 无 Banner 合并 / 无 soft-delete
|
||||
|
||||
## Migration
|
||||
|
||||
无新表;权限已在 `000051`。本切片 **不新增 migration 文件**(Max 保持 `000051`)。
|
||||
Reference in New Issue
Block a user