一个面向内容创作、学习成长和社区互动的智能博客系统,采用前后端分离架构,包含 backend 后端、frontend/user 用户端、frontend/admin 管理端以及 miniprogram 微信小程序端。
这个仓库并不只是一个基础博客模板,它已经扩展出完整的内容平台能力:
- 博客文章、分类、标签、归档、评论、点赞、收藏、发布与编辑
- 用户注册登录、邮箱验证码、找回密码、个人中心、关注粉丝
- 学习中心、题库练习、抽查任务、经验等级、每日签到
- VIP 会员中心、密钥激活、加热记录、会员统计
- AI 助手、私信、通知、WebSocket 实时消息
- 后台仪表盘、系统配置、角色菜单、操作日志、AI 配置
- 微信小程序端内容浏览与核心互动能力
如果你要做一个带博客内容管理、用户体系、学习模块和 AI 扩展的完整项目,这个仓库可以直接作为基础工程继续开发。
- 首页推荐、文章详情、分类、标签、归档、关于页、版本历史
- 注册、密码登录、邮箱验证码登录、找回密码
- 评论、点赞、收藏、写文章、编辑文章
- 用户主页、我的文章、我的收藏、关注与粉丝
- 私信中心、通知中心、资料维护
- 学习中心、题库练习、抽查历史、经验成长体系
- VIP 激活、VIP 中心、AI 助手
- 仪表盘统计
- 文章、分类、标签、评论管理
- 学习分类、学习题库、抽查记录管理
- 用户管理、关注管理、私信管理、通知管理
- 角色、菜单、系统配置、版本管理、操作日志
- VIP 会员、会员密钥、加热记录、统计分析
- AI 模型配置、Logo 管理
- 文章浏览与用户中心能力
- AI、VIP 等分包页面
- 基于
@vant/weapp的移动端交互体验
简洁的登录入口页,支持账号、邮箱、验证码等多种登录方式,同时保留游客访问入口,适合作为社区型产品的首屏落点。
暗色主题首页集成了站点导航、AI 入口、天气卡片、热门文章和内容列表,整体更偏开发者社区和夜间浏览场景。
亮色主题首页保持同一套信息结构,适合偏内容阅读与日常使用场景,体现了项目支持多主题切换的能力。
内置 AI 对话界面,支持多模型切换和历史会话管理,可用于问答、写作辅助、代码帮助和文本优化等场景。
文章列表页采用卡片式内容流布局,结合封面图、互动数据、作者信息与热门侧栏,方便构建内容社区首页。
签到模块将连续签到、本月签到、经验奖励和日历状态结合在一起,用于支撑成长体系、活跃激励和用户留存。
主题皮肤页支持多种背景风格切换,增强了前台个性化体验,也适合继续扩展成会员专属主题能力。
学习中心提供题库学习、抽查测试、抽查历史等模块,并配套学习数据统计,适合知识型社区或面试题平台。
搜索弹层支持按文章、题库、用户等维度统一检索,适合作为整站内容入口,后续也可以接入热搜与智能推荐。
| 分类 | 技术 |
|---|---|
| 后端 | Java 17、Spring Boot 2.7.15、Spring Security、MyBatis Plus 3.5.4、JWT、Redis、RabbitMQ、WebSocket、Knife4j |
| 用户端 | Vue 3.3.4、Vue Router 4、Pinia、Element Plus、Vite、Axios、md-editor-v3、marked、highlight.js |
| 管理端 | Vue 3.3.4、Element Plus、Pinia、ECharts、Vite、Axios |
| 小程序 | 原生微信小程序、@vant/weapp |
| 数据与中间件 | MySQL 8.0+、Redis 7.0+、RabbitMQ、可选 Elasticsearch |
smart-blog-system/
├── backend/ # Spring Boot 后端,默认端口 8080
├── frontend/
│ ├── user/ # 用户端,默认端口 5173
│ └── admin/ # 管理端,默认端口 5174
├── miniprogram/ # 微信小程序
├── uploads/ # 上传文件目录
└── README.md
backend/src/main/java/com/blog/controller/web
ArticleController:文章列表、详情与内容浏览CommentController:评论交互SearchController:搜索能力StudyController:学习中心UserController:认证与用户资料UserExpController:经验、等级、签到MessageController:私信消息NotificationController:通知消息VipController:VIP 业务AiChatController:AI 对话能力
backend/src/main/java/com/blog/controller/admin
DashboardController:后台首页统计AdminArticleController:内容管理AdminStudyCategoryController、AdminStudyQuestionController、AdminStudyCheckController:学习模块后台AdminUserController:用户管理AdminRoleController、AdminMenuController、AdminConfigController:系统管理AdminLogController:操作日志AdminVipController:会员管理AdminAiConfigController、AdminAiLogoController:AI 配置管理
- JDK 17
- Maven 3.8+
- Node.js 16+
- MySQL 8.0+
- Redis 7.0+
- RabbitMQ:用于异步消息、经验联动、通知扩展
- Elasticsearch:默认可关闭,启用后可增强搜索能力
公开仓库不包含数据库脚本与私有初始化资源。使用前请自行准备数据库结构,或基于你本地私有环境中的脚本导入。
核心配置文件:
backend/src/main/resources/application.ymlbackend/src/main/resources/application-dev.yml
默认开发环境配置:
spring:
datasource:
url: jdbc:mysql://localhost:3306/blog_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: 123456
redis:
host: localhost
port: 6379
database: 6如果你要启用完整功能,还需要按实际环境补齐:
spring.mailspring.rabbitmqblog.search.elasticsearch- AI 相关接口配置
cd backend
mvn clean spring-boot:run访问:
http://localhost:8080
cd frontend/user
npm install
npm run dev访问:
http://localhost:5173
cd frontend/admin
npm install
npm run dev访问:
http://localhost:5174
cd miniprogram然后使用微信开发者工具打开 miniprogram 目录即可。
出于安全考虑,公开仓库不包含部署脚本、数据库脚本和部分内部文档。当前公开仓库保留应用主体代码,部署时请按你的私有环境自行补齐相关资源。
生产环境部署时,建议至少补充以下内容:
- 独立的生产数据库与 Redis
- HTTPS 与反向代理配置
- 上传目录持久化挂载
- 邮件、消息队列、AI 接口密钥等敏感配置改为环境变量或私有配置文件
- 个人博客与社区平台
- 带后台管理的内容系统
- 带会员体系和成长体系的知识平台
- 带 AI 能力扩展的内容产品
- 带微信小程序入口的前后端分离项目
- 提交代码前先检查
backend、frontend/user、frontend/admin的本地配置 - 将敏感配置写入本地私有配置文件,不要直接提交到仓库
- 将运行期产物、IDE 文件、日志文件和缓存目录加入
.gitignore
- 补充单元测试与集成测试
- 完善 Docker 一键部署能力
- 增强 AI 能力与多模型接入
- 继续完善搜索、推荐与数据统计
当前仓库未显式提供 LICENSE 文件,如需开源发布,建议补充合适的许可证后再公开分发。












