Files
vibe_coding/docs/specs/F5-内容运营.md
2026-03-05 21:27:11 +08:00

181 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# F5 内容运营管理F5.1 ~ F5.4
> **涉及端**:管理端(`Case-Database-Frontend-admin`+ 后端(`Case-Database-Backend`
>
> **关联文档**
> - API 契约:[api-contracts.md §2.6 案例管理](../architecture/api-contracts.md) / [§2.7 轮播管理](../architecture/api-contracts.md) / [§2.8 专题管理](../architecture/api-contracts.md) / [§2.9 分类标签](../architecture/api-contracts.md)
> - 数据模型:[data-model.md §4.2 案例核心域](../architecture/data-model.md) / [§4.4 运营内容域](../architecture/data-model.md)
> - UI 规范:[ui-specs-admin.md](../guides/ui-specs-admin.md)
>
> 管理端基于 Element Plus 标准后台布局,所有页面遵循**搜索栏 → 数据表格 → 分页 → 弹窗表单**的标准结构。
---
## 功能清单
| 编号 | 功能 | 优先级 | 状态 |
|------|------|--------|------|
| F5.1 | 案例全生命周期管理 | P0 | ⚪ 待开发 |
| F5.2 | 首页轮播管理 | P0 | ⚪ 待开发 |
| F5.3 | 专题与精选管理 | P0 | ⚪ 待开发 |
| F5.4 | 分类与标签字典 | P0 | ⚪ 待开发 |
---
## F5.1 案例全生命周期管理P0
### 用户故事
作为运营人员,我希望创建、编辑、发布和管理设计案例,以便持续丰富平台内容库。
### 功能描述
**案例 CRUD**:
- 案例列表页:搜索(名称 / 编号 / 设计师)、按分类 / 风格 / 状态筛选、分页表格
- 创建 / 编辑案例:多步表单或分区表单,包含基础信息、参数录入、文件上传、团队关联
- 案例状态流转:草稿 → 待审核 → 已发布 → 已下架
- 批量操作:批量发布、批量下架、批量删除(二次确认)
**分阶段文件上传体系**:
- 将案例的数字资产按设计阶段组织上传,阶段划分:
| 阶段 | 典型文件 |
|------|----------|
| 平面阶段 | 平面图 CAD (.dwg)、平面布局 PDF、户型分析图 |
| 外观阶段 | 效果图 (JPG/PNG)、外立面 CAD、鸟瞰图 |
| 施工图阶段 | 施工图 CAD (.dwg)、施工说明 PDF |
| 结构阶段 | 结构图 CAD、结构计算书 PDF、Revit 模型 (.rvt) |
| 室内阶段 | 室内效果图、室内施工图、软装清单 |
| 庭院阶段 | 庭院景观图、绿化方案、庭院施工图 |
- 每个阶段支持上传多种文件类型PDF、CAD (.dwg)、Revit (.rvt)、图片 (JPG/PNG)、压缩包 (ZIP/RAR)
- 上传方式:批量上传 + 拖拽上传
- 文件元数据自动提取与手动补充:文件名、大小、上传时间、上传者、阶段归属、文件类型标签
- 单文件大小限制:图片 ≤ 20MB、文档 ≤ 100MB、模型 ≤ 500MB
- 上传进度条 + 断点续传(大文件场景)
**案例结构化参数录入**:
- 与 F3.3 参数看板对应的 5 大维度表单(用地条件 / 规模造价 / 平面功能 / 外观风格 / 结构与性能)
- 表单字段类型:数值输入(面宽 / 进深)、下拉选择(结构类型 / 风格)、多选标签(特色空间)、富文本(设计理念)
- 封面图设置:从已上传图片中选取或单独上传
### 交互细节
<!-- TODO: 补充以下内容 -->
<!-- - 案例状态流转状态机图draft ↔ pending → published ↔ archived -->
<!-- - 多步表单的步骤导航和数据暂存逻辑 -->
<!-- - 文件上传的并发数限制和队列管理 -->
<!-- - 大文件上传的分片策略 -->
<!-- - 批量操作的全选/部分选中逻辑 -->
<!-- - 表单校验规则(必填项、数值范围、字符长度) -->
### 验收标准
- [ ] 案例创建表单包含所有 5 大维度参数字段
- [ ] 分阶段上传区域按 Tab 或折叠面板组织,各阶段独立管理
- [ ] 拖拽上传支持多文件同时拖入
- [ ] 文件超出大小限制时前端即时提示
- [ ] 案例状态流转有明确的操作按钮(发布 / 下架 / 删除)和状态标签
- [ ] 草稿状态的案例不在用户端展示
- [ ] 删除操作需二次确认,已发布案例需先下架才能删除
---
## F5.2 首页轮播管理P0
### 用户故事
作为运营人员,我希望管理首页 Hero 大图轮播内容,以便控制用户端的首屏焦点展示。
### 功能描述
- 轮播项 CRUD上传背景图、设置标题、描述摘要、跳转链接案例详情 / 专题页 / 外部链接)
- 排序:拖拽排序调整轮播顺序
- 启停控制:每个轮播项支持启用 / 停用开关
- 预览:保存前可预览轮播效果(模拟用户端展示)
- 轮播数量限制:建议最多 5 条,超出提示
### 交互细节
<!-- TODO: 补充以下内容 -->
<!-- - 拖拽排序的交互实现Sortable.js / Vue Draggable -->
<!-- - 背景图裁剪组件的交互(比例锁定、预览区域) -->
<!-- - 链接类型切换时表单字段的联动变化 -->
<!-- - 预览弹窗的模拟展示效果 -->
### 验收标准
- [ ] 拖拽排序后自动保存新顺序
- [ ] 停用的轮播项不在用户端首页展示
- [ ] 背景图上传支持裁剪(建议比例 16:9
- [ ] 跳转链接支持站内路由和外部 URL
- [ ] 至少保留 1 条启用状态的轮播项
---
## F5.3 专题与精选管理P0
### 用户故事
作为运营人员,我希望创建专题合集并标记精选案例,以便策划内容运营活动。
### 功能描述
**专题管理**:
- 专题 CRUD标题、封面图、富文本描述、关联案例列表
- 关联案例:从案例库中搜索并添加,支持拖拽排序
- 专题状态:草稿 / 已发布
**精选标记**:
- 在案例列表中一键标记 / 取消精选徽章
- 精选案例排序:拖拽调整精选展示顺序
- 精选案例在用户端首页"精选"频道和卡片金色徽章中体现
### 交互细节
<!-- TODO: 补充以下内容 -->
<!-- - 关联案例的搜索选择器交互(弹窗搜索 + 已选列表) -->
<!-- - 精选排序的可视化拖拽面板 -->
<!-- - 专题封面图的推荐尺寸和裁剪逻辑 -->
### 验收标准
- [ ] 专题可关联多个案例,案例可被多个专题引用
- [ ] 精选标记后用户端卡片立即显示金色徽章
- [ ] 精选排序支持拖拽且保存后即时生效
---
## F5.4 分类与标签字典P0
### 用户故事
作为运营人员,我希望统一管理分类和标签体系,以便保持平台内容的结构化一致性。
### 功能描述
- **建筑类型分类**: 别墅 / 民宿 / 室内 / 景观 / 农村自建房 / 庭院等,支持 CRUD + 排序
- **风格标签**: 现代 / 中式 / 新中式 / 欧式 / 田园 / 工业风 / 极简等,支持 CRUD + 排序
- **特色标签**: 自由标签(落地窗 / 大露台 / 双车库等),支持 CRUD
- 标签去重校验:创建时检查是否已存在同名标签
- 标签引用统计:显示每个标签被多少案例引用
### 交互细节
<!-- TODO: 补充以下内容 -->
<!-- - 分类列表的拖拽排序交互 -->
<!-- - 标签类型style / feature / specialty的分 Tab 管理 -->
<!-- - 删除已引用标签的警告弹窗(显示关联案例数量) -->
<!-- - 批量导入标签的功能(可选) -->
### 验收标准
- [ ] 分类和标签的增删改查操作正常
- [ ] 被案例引用的标签删除时提示关联数量并要求确认
- [ ] 排序支持拖拽且保存后用户端同步更新
- [ ] 同名标签创建时提示重复
---
*最后更新: 2026-03-02*