内容管理.md 3.6 KB

十二、内容管理模块设计

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)

管理端

管理端 管理端功能都要有、app前端先不用实现

阿里云oss访问控制 AccessKey ID LTAI5t7NZAFYFAcmh68MvFLK AccessKey Secret hEs6C02BCKycfoq5AzHvFSb3KAMIyb 存储桶:ajy001 地区:华北2北京

后端在backend 管理端在frontend 文字编写用富文本组件、支持上传到oss,以及展示。不要有bug,存储逻辑都要实现好。权限管理也要实现好。 管理员都在app_user表里面。sys_user表没用