博客系统v0.1版本功能模块报告
一、前端页面 (Frontend)
1.1 首页 (index.html)
路径: /index
功能:显示博客文章列表,支持分页和分类筛选
主要组件:
文章卡片(包含标题、摘要、作者、发布时间、阅读量)
分类导航
分页控件
相关 API:
GET /api/articles:获取文章列表
GET /api/categories:获取分类列表
1.2 文章详情页 (readpost.html)
路径: /article/int:article_id
功能:显示完整文章内容和评论区
主要组件:
文章标题、作者、发布时间、阅读量
文章内容(支持富文本)
评论区(支持嵌套评论)
相关文章推荐
相关 API:
GET /api/articles/int:article_id:获取文章详情
GET /api/articles/int:article_id/comments:获取评论
POST /api/comments:发布评论
1.3 分类页 (categories.html)
路径: /categories
功能:显示所有分类及分类下的文章
主要组件:
分类列表(支持多级分类)
各分类下的文章预览
相关 API:
GET /api/categories:获取分类树
GET /api/categories/int:category_id/articles:获取分类下文章
1.4 关于页 (about.html)
路径: /about
功能:显示博客和作者的介绍信息
内容来源:从数据库 settings 表读取配置
二、后端管理 (Backend)
2.1 仪表盘 (dashboard.html)
路径: /dashboard
访问权限:登录用户
功能:显示系统统计信息
统计项:
文章总数
评论总数
用户总数
最近活动
2.2 文章管理 (publish.html)
路径: /publish
访问权限:作者 / 管理员
功能:文章的增删改查
主要操作:
新建 / 编辑文章
设置分类 / 标签
设置文章状态(草稿 / 发布)
上传封面图
相关 API:
POST /api/articles:创建文章
PUT /api/articles/int:article_id:更新文章
DELETE /api/articles/int:article_id:删除文章
POST /api/upload/cover:上传封面图
2.3 评论管理 (commentsmg.html)
路径: /admin/comments
访问权限:管理员
功能:管理文章评论
主要操作:
查看 / 删除评论
标记垃圾评论
回复评论
2.4 用户管理 (admin_user_management.html)
路径: /admin/users
访问权限:管理员
功能:管理系统用户
主要操作:
查看用户列表
添加 / 编辑 / 删除用户
设置用户角色
三、登录与鉴权 (Authentication)
3.1 登录页 (login.html)
路径: /login
功能:用户登录
特性:
支持用户名 / 邮箱登录
记住我功能
忘记密码
相关 API:
POST /login:处理登录请求
POST /api/send-verification-code:发送验证码
3.2 注册页 (register.html)
路径: /register
功能:新用户注册
特性:
表单验证
密码强度检查
用户协议确认
相关 API:
POST /register:处理注册请求
3.3 个人资料 (user_profile.html)
路径: /profile
访问权限:登录用户
功能:管理个人资料
主要操作:
修改个人信息
更改密码
更新头像
查看个人文章
四、核心功能实现
4.1 权限控制
装饰器:
@login_required:要求登录
@admin_required:要求管理员权限
@author_or_admin_required:要求作者或管理员权限
4.2 文件上传
支持类型:图片 (PNG, JPG, JPEG, GIF)
大小限制:16MB
存储路径:/static/uploads/
相关配置:
UPLOAD_FOLDER
ALLOWED_EXTENSIONS
4.3 数据库模型
用户 (users):存储用户信息
文章 (posts):存储文章内容
分类 (categories):支持多级分类
标签 (tags):文章标签
评论 (comments):支持嵌套评论
五、技术栈
后端:Flask (Python)
数据库:SQLite
前端:HTML5, CSS3, JavaScript
富文本编辑器:Quill.js
UI 框架:Tailwind CSS
六、部署信息
运行环境:Python 3.8+
依赖管理:requirements.txt
配置文件:.env
评论 0
发表评论