Sfoglia il codice sorgente

feat: 添加内容管理模块设计到需求文档

caitianqi 4 mesi fa
parent
commit
442bb7f23d

+ 108 - 0
需求工作区/需求设计文档/智能穴位定位系统设计文档.md

@@ -2308,3 +2308,111 @@ interface UserAcupointTable {
 - **GB/T 12346-2006**《腧穴名称与定位》
 - **GB/T 10000-1988**《中国成年人人体尺寸》
 - 《针灸学》教材(穴位定位方法)
+
+---
+
+## 十二、内容管理模块设计
+
+### 12.1 功能概述
+
+管理员在后台创建/编辑文章内容(富文本+图片+视频),提交审核后由系统管理员审批,审批通过后发布到APP展示。
+
+### 12.2 角色与权限
+
+| 角色 | 权限 | 说明 |
+|------|------|------|
+| 普通管理员 | 创建、编辑草稿,提交审核 | 可新建和修改文章,提交待审核 |
+| 系统管理员 | 审核通过/拒绝,发布/下架、物理删除 | 拥有最终审批权,可管理所有文章 |
+
+### 12.3 状态流转
+
+```
+草稿(DRAFT) → 待审核(PENDING) → 已发布(PUBLISHED)
+                ↓                     ↓
+             已拒绝(REJECTED)     已下架(OFFLINE)
+                ↓
+           物理删除(DELETED)
+```
+
+### 12.4 数据模型
+
+**文章表 (content_article)**
+
+| 字段 | 类型 | 说明 |
+|------|------|------|
+| id | BIGINT | 主键 |
+| title | VARCHAR(200) | 文章标题 |
+| content | LONGTEXT | 富文本内容(含HTML标签、图片) |
+| cover_image | VARCHAR(500) | 封面图URL |
+| author | VARCHAR(50) | 作者 |
+| summary | VARCHAR(500) | 文章摘要 |
+| status | VARCHAR(20) | 状态 |
+| reject_reason | VARCHAR(500) | 拒绝原因 |
+| view_count | INT | 浏览次数 |
+| publish_time | DATETIME | 发布时间 |
+| create_by | BIGINT | 创建人ID |
+| create_time | DATETIME | 创建时间 |
+| update_by | BIGINT | 更新人ID |
+| update_time | DATETIME | 更新时间 |
+| deleted | TINYINT | 逻辑删除(0正常1删除) |
+
+**文章附件表 (content_attachment)**
+
+| 字段 | 类型 | 说明 |
+|------|------|------|
+| id | BIGINT | 主键 |
+| article_id | BIGINT | 关联文章ID |
+| file_type | VARCHAR(20) | 文件类型(IMAGE/VIDEO) |
+| file_url | VARCHAR(500) | 文件URL |
+| file_size | INT | 文件大小(字节) |
+| file_name | VARCHAR(200) | 原文件名 |
+| create_time | DATETIME | 上传时间 |
+
+### 12.5 API设计
+
+**后台管理接口**
+
+| 方法 | 路径 | 说明 | 权限 |
+|------|------|------|------|
+| POST | /api/content/articles | 新建文章 | 普通管理员+ |
+| PUT | /api/content/articles/{id} | 编辑文章 | 普通管理员+ |
+| DELETE | /api/content/articles/{id} | 删除文章 | 系统管理员 |
+| GET | /api/content/articles/{id} | 获取文章详情 | 普通管理员+ |
+| GET | /api/content/articles | 文章列表(分页) | 普通管理员+ |
+| POST | /api/content/articles/{id}/submit | 提交审核 | 普通管理员+ |
+| POST | /api/content/articles/{id}/publish | 发布文章 | 系统管理员 |
+| POST | /api/content/articles/{id}/reject | 拒绝审核 | 系统管理员 |
+| POST | /api/content/articles/{id}/offline | 下架文章 | 系统管理员 |
+| POST | /api/content/articles/{id}/online | 上架文章 | 系统管理员 |
+
+**APP端接口**
+
+| 方法 | 路径 | 说明 |
+|------|------|------|
+| GET | /api/app/articles | 文章列表(已发布的) |
+| GET | /api/app/articles/{id} | 文章详情 |
+
+### 12.6 文件存储
+
+- **当前**:本地服务器目录存储
+- **上云时**:修改配置为OSS/七牛云URL,无需改代码
+
+**文件限制**
+
+| 类型 | 格式 | 大小限制 |
+|------|------|----------|
+| 图片 | JPG, PNG, GIF | 可配置(建议5MB) |
+| 视频 | MP4 | 可配置(建议50MB) |
+
+### 12.7 APP端展示
+
+- 只展示已发布的文章
+- 按发布时间倒序,分页展示
+- 文章详情支持富文本渲染(图片、视频)
+
+### 12.8 可扩展功能(后续)
+
+- 投票互动
+- 分类管理
+- 置顶功能
+- 定时发布