技术文档

海云通用博客系统v3.0发布

海云 2026-04-16 31 次阅读
海云通用博客系统v3.0发布

功能特性

前端功能

  • 🎨 现代化UI设计,符合大厂级视觉标准

  • 📱 全响应式设计,支持桌面、平板、移动设备

  • 🔍 文章搜索功能

  • 📂 分类和标签浏览

  • 📅 文章归档

  • 💬 评论系统(支持游客评论)

  • 🎨 多主题切换(默认、暗黑、自然)

  • 🔗 社交分享(微博、微信、QQ、Twitter)

  • 🗺️ SEO优化(网站地图、Robots.txt)

后台管理功能

1. 仪表盘

  • 系统运行状态监控

  • 服务器资源使用情况(CPU、内存、磁盘)

  • 文章、用户、评论统计数据

  • 今日访问量和总访问量

  • 最新文章和评论列表

  • 数据库备份状态

2. 数据统计 📊

  • 访问趋势图表(最近7天)

  • 用户增长统计

  • 内容分布分析

  • 热门文章排行

  • 多维度数据可视化(Chart.js)

3. 文章管理

  • 文章CRUD操作

  • 自建富文本编辑器

    • 文本格式化(粗体、斜体、下划线、删除线)

    • 标题设置(H1-H3、段落)

    • 列表(有序、无序)

    • 对齐方式

    • 插入链接、图片、视频、文件

    • 图片大小调整和对齐

    • 从媒体库选择媒体插入

  • 文章状态管理(草稿、已发布、已归档)

  • 定时发布功能(支持即时发布和定时发布)

  • 文章置顶功能

  • 标签管理

  • 批量操作

  • 文章级SEO设置(自定义标题、描述、关键词)

4. 分类管理

  • 分类CRUD操作

  • 层级结构支持

  • 分类排序

  • 文章数量统计

5. 评论管理

  • 评论列表展示

  • 评论审核机制

  • 评论状态切换(批准/拒绝)

  • 批量操作

6. 用户管理

  • 用户CRUD操作

  • 角色管理(管理员、普通用户)

  • 用户状态管理(激活/禁用)

  • 权限控制

  • 登录验证码(SVG图形验证码)

7. 媒体库管理 📁

  • 文件上传、预览

  • 文件分类管理

  • 文件搜索筛选

  • 支持多种媒体类型(图片、视频、文档)

  • 文件大小和类型自动识别

  • 一键复制URL

8. 友情链接 🔗

  • 链接CRUD操作

  • 链接分类管理

  • 链接状态控制(激活/可见)

  • 链接排序功能

  • 链接状态检测

9. 备份管理

  • 数据库单独备份

  • 全站备份(数据库+上传文件)

  • 备份文件下载

  • 数据库恢复

  • 备份历史记录自动同步

  • 备份文件管理(下载、删除、恢复)

10. 主题管理 🎨

  • 主题选择界面

  • 3套内置主题:

    • 默认主题(蓝色系)

    • 暗黑主题(暗色系)

    • 自然主题(绿色系)

  • 一键切换主题

  • 主题预览功能

  • 前后台统一主题

11. SEO优化 🔍

  • 元标题、描述、关键词自定义

  • XML网站地图(/sitemap.xml)

  • Robots.txt配置(/robots.txt)

  • Google/Baidu站点验证

  • 自定义URL路径

  • 文章级SEO设置

12. 博客设置

  • 基本信息(名称、描述、博主)

  • 联系方式(邮箱、电话)

  • 版权信息和备案信息

  • 功能开关

    • 博客开放/关闭

    • 用户注册开关

    • 评论功能开关

    • 游客评论开关

  • 自定义CSS/JavaScript

  • SEO设置

13. 系统日志 📋

  • 自动记录关键操作

  • 用户登录/退出记录

  • 文章、分类、用户操作记录

  • 系统设置修改记录

  • 日志筛选(模块、操作、状态)

  • 日志清理功能

14. 社交分享

  • 主流平台分享按钮(微博、微信、QQ、Twitter)

  • 自定义分享内容

  • 一键复制链接

  • 移动端优化

技术栈

后端

  • 框架: Flask 3.0.0

  • 数据库: SQLite

  • ORM: Flask-SQLAlchemy

  • 认证: Flask-Login

  • 表单: Flask-WTF

  • 定时任务: APScheduler

前端

  • 框架: Bootstrap 5.3

  • 图标: Bootstrap Icons

  • 图表: Chart.js

  • 富文本编辑器: 自研(基于contenteditable)

项目结构

blog/
├── app/
│   ├── __init__.py          # 应用初始化
│   ├── models.py             # 数据模型
│   ├── forms.py              # 表单类
│   ├── views/                # 视图模块
│   │   ├── main.py           # 前台视图
│   │   ├── auth.py           # 认证视图
│   │   ├── admin.py          # 后台管理视图
│   │   ├── admin_ext.py      # 扩展管理视图
│   │   └── api.py            # API接口
│   ├── templates/            # 模板文件
│   │   ├── admin/            # 后台模板
│   │   ├── auth/             # 认证模板
│   │   └── *.html            # 前台模板
│   ├── static/               # 静态文件
│   │   ├── uploads/          # 上传文件
│   │   │   ├── images/       # 图片
│   │   │   ├── videos/       # 视频
│   │   │   ├── files/        # 文件
│   │   │   └── media/        # 媒体库
│   │   └── themes/           # 主题样式
│   └── utils/                # 工具模块
│       ├── decorators.py     # 装饰器
│       ├── helpers.py        # 辅助函数
│       ├── captcha.py        # 验证码生成
│       └── scheduler.py      # 定时任务
├── backups/                  # 备份文件目录
├── config.py                 # 配置文件
├── requirements.txt          # 依赖列表
├── run.py                    # 启动文件
├── init_themes.py            # 主题初始化脚本
└── blog.db                   # 数据库文件

安装部署

1. 环境要求

  • Python 3.8+

  • pip

2. 安装步骤

# 克隆项目
cd blog

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate  # Linux/Mac
# 或
venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

# 初始化数据库
python run.py initdb

# 初始化主题
python init_themes.py

# 启动服务器
python run.py

3. 访问系统

默认管理员账号:

  • 用户名: admin

  • 密码: admin123

使用说明

管理员操作

1. 登录后台

2. 创建分类

  • 进入"分类管理"

  • 点击"新建分类"

  • 填写分类名称、描述、排序

  • 可设置父级分类创建层级结构

  • 保存分类

3. 发布文章

  • 进入"文章管理"

  • 点击"新建文章"

  • 使用富文本编辑器编写内容

    • 支持文本格式化

    • 支持插入图片、视频、文件

    • 支持从媒体库选择媒体

    • 支持图片大小调整

  • 选择分类和标签

  • 设置文章状态:

    • 即时发布:状态选择"已发布"

    • 定时发布:设置发布时间,状态选择"已发布"

    • 草稿:状态选择"草稿"

  • 设置SEO信息(可选)

  • 保存文章

4. 管理评论

  • 进入"评论管理"

  • 查看待审核评论

  • 批准或拒绝评论

  • 支持批量操作

5. 媒体库管理

  • 进入"媒体库"

  • 上传文件(图片、视频、文档)

  • 文件分类管理

  • 搜索和筛选文件

  • 复制文件URL

  • 删除不需要的文件

6. 友情链接

  • 进入"友情链接"

  • 添加友情链接

  • 设置链接分类和排序

  • 控制链接状态和可见性

7. 主题切换

  • 进入"主题管理"

  • 预览可用主题

  • 点击"激活此主题"

  • 主题立即生效

8. 数据统计

  • 进入"数据统计"

  • 查看访问趋势图表

  • 查看用户增长统计

  • 查看热门文章排行

  • 分析内容分布

9. 系统备份

  • 进入"备份管理"

  • 系统自动同步备份记录

  • 创建数据库备份或全站备份

  • 下载备份文件

  • 恢复数据库

  • 删除旧备份

10. SEO设置

  • 进入"博客设置"

  • 设置网站元标题、描述、关键词

  • 配置Google/Baidu站点验证

  • 自定义Robots.txt

  • 查看网站地图

11. 查看日志

  • 进入"系统日志"

  • 查看操作记录

  • 按模块、操作、状态筛选

  • 定期清理旧日志

普通用户操作

1. 注册账号

  • 点击"注册"按钮

  • 填写用户名、邮箱、密码

  • 完成注册

2. 登录系统

  • 输入用户名、密码和验证码

  • 登录成功后可修改个人资料

3. 发表评论

  • 浏览文章

  • 在文章下方发表评论

  • 评论需管理员审核

4. 分享文章

  • 点击文章页面的分享按钮

  • 选择分享平台(微博、微信、QQ、Twitter)

  • 或复制链接分享

安全特性

  • ✅ 密码加密存储(Werkzeug security)

  • ✅ CSRF保护

  • ✅ SQL注入防护(SQLAlchemy ORM)

  • ✅ XSS防护(Jinja2自动转义)

  • ✅ 权限控制装饰器

  • ✅ 文件上传类型限制

  • ✅ 文件大小限制(50MB)

  • ✅ 登录验证码

  • ✅ 操作日志记录

性能优化

  • 数据库查询优化

  • 静态文件缓存

  • 分页显示

  • 延迟加载

  • 定时任务后台执行

开发说明

配置文件

在 config.py 中可以配置:

  • 密钥(SECRET_KEY)

  • 数据库路径

  • 上传文件夹

  • 文件大小限制

  • 允许的文件类型

  • 每页显示数量

自定义样式

在后台"博客设置"中可以添加自定义CSS和JavaScript代码。

主题开发

主题文件位于 /app/static/themes/ 目录:

  • 创建新的CSS文件

  • 在数据库中添加主题记录

  • 使用CSS变量定义主题颜色

API接口

系统提供以下API接口:

  • /api/upload - 文件上传

  • /api/media/list - 获取媒体列表

  • /api/comments - 评论操作

  • /api/posts/<id>/view - 增加浏览量

更新日志

v2.0.0 (2026-04-04)

  • ✨ 新增SEO优化功能

  • ✨ 新增友情链接管理

  • ✨ 新增登录验证码

  • ✨ 新增文章定时发布

  • ✨ 新增数据统计图表

  • ✨ 新增媒体库管理

  • ✨ 新增主题切换功能

  • ✨ 新增社交分享功能

  • ✨ 新增系统日志

  • ✨ 富文本编辑器增强(图片调整、媒体库选择)

  • ✨ 备份记录自动同步

  • 🎨 优化UI设计

  • 🐛 修复已知问题

许可证

MIT License

联系方式

89231546@qq.com     https://www.nizhaohai.com

分享文章:

评论 (0)