Files
jackyu66gitandCursor 0158036341 feat(ECR-045): ImageCardDeck 写面闭环并 Closed
复用 admin.explore.write、POST/PUT+审计、C端 GET /cards/decks、
H5 无 active 空态/失败回退;migration 000054。无牌面内容编辑。
ExploreConfig Loop STOP,禁自动 ECR-046。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 21:29:43 +08:00

3.0 KiB
Raw Permalink Blame History

Feature Spec: ExploreConfig · ImageCardDeck 写面(Ops · ECR-045

Status: ActiveImplemented · ECR-045 Closed
Map: §7 · Capability: ExploreConfig · BC: Explore_Reports
Auth: docs/WAVE0/ECR-045_WRITE_AUTHORIZATION.mdHuman 批准 · 仅 ECR-045
Predecessor: ECR-037 Closed(只读)· ECR-044 ClosedRhythm 写)
关联:ops-image-card-deck.md


1. 目标

运营可 创建 / 更新 / 上下架 ImageCardDeck(牌组目录);写操作鉴权 + 审计;C 端可读 active deck 并影响 /cards 可用性;失败回退「现网可抽」。

Closed 后立即 STOP,不自动 ECR-046。

2. In / Out

In Out
Admin POST/PUT /admin/explore/image-card-decks* 牌面/单卡内容 CRUD · Star / Rhythm / Scale
复用 admin.explore.write SystemPrompt · Knowledge · Chunk
复用表 image_card_decks soft-delete · 真支付 · UGC
C 端 GET active decks Crisis / Handoff 写
/cards:无 active → 空态禁抽卡 CTA;失败 → 回退可抽 自动 ECR-046
审计 新权限子系统

3. Domain

字段 规则
code 唯一;^[a-z][a-z0-9_]{1,62}$system=true 不可改 code
title 必填 · ≤128
active false = 下架(唯一下架手段)
system 种子行;禁止物理删除

4. API

Admin

Method Path 权限
GET /admin/explore/image-card-decks · /{id} admin.explore.read
POST /admin/explore/image-card-decks admin.explore.write
PUT /admin/explore/image-card-decks/{id} admin.explore.write

无 DELETE。

C 端

Method Path Auth 语义
GET /api/v1/cards/decks DeviceAuth active=true;按 code 排序

5. C 端生效

条件 user-h5 /cards
≥1 active 保持现网抽卡
成功且 0 active 「意象牌组暂未开放」空态;禁用抽卡 CTA
请求失败 回退不阻断抽卡

6. Permission / Migration

  • Migration 000054_ops_image_card_deck_write:幂等确认 super_adminadmin.explore.write
  • 编码时占号(Max=000053

7. UI

行为
admin-h5 意象牌组页 列表 + 新建/编辑/上下架(仅 Deck)
user-h5 /cards 按 §5

8. AC

ID Then
AC-F-01 POST → list/get 可见
AC-F-02 PUT active=false → C 端不含
AC-F-03 有 active → C 端非空
AC-F-04 重复 code → 409
AC-S-01/02 401;仅 read → POST 403
AC-A-01 写产生审计
AC-C-01 全下架后空态/禁 CTA
AC-C-02 API 失败回退可抽
AC-O-01 无牌面写路径 · 无 soft-delete

9. Closed 后

立即 STOP。ECR-046 须新 Candidate Review + Human 拍板。

10. Trace

ECR-045 · BD-2026-045 · CONTRACT_DIFF · ECR-045_WRITE_AUTHORIZATION