基于springboot+VUE开发的超级博客系统源码

简介: 这是一套基于 Vue 3 + TypeScript + Vite 5 + Element Plus(前端)与 Spring Boot 2.7 + MyBatis-Plus + MySQL + JWT(后端)构建的前后端分离博客系统,支持文章管理、评论互动、权限控制及响应式后台,开箱即用。

一套完整的前后端分离博客系统。前端 Vue 3 + TypeScript + Vite 5 + Element Plus,后端 Spring Boot 2.7 + MyBatis-Plus + MySQL + Spring Security(JWT)

项目地址

仓库地址 子目录
前端 blog-client https://github.com/vfaner/blog-client ./blog-client
后端 blog-server https://github.com/vfaner/blog-server ./blog-server

如果本项目对你有帮助,欢迎点一个 ⭐️ Star,这是对我持续维护开源项目最大的支持!

✨ 效果预览

博客首页

bk_index.png

首页弹窗登录

bk_index_login.png

独立登录页(访问 /admin/* 未登录时跳转)

bk_login.png

分类文章列表

bk_cate.png

文章详情

bk_detail.png

后台仪表盘

bk_admin.png

后台文章编辑

bk_admin_arth.png

后台评论管理

bk_admin_comment.png

🚀 技术栈总览

前端 blog-client

  • Vue 3.4(Composition API + <script setup>
  • TypeScript 5.5
  • Vite 5.4
  • Element Plus 2.7
  • Vue Router 4 / Vuex 4
  • Axios 1.7
  • ECharts 5.5(Dashboard 图表)
  • TinyMCE 6(文章富文本编辑器)
  • undraw-ui(评论组件)

后端 blog-server

  • JDK 17
  • Spring Boot 2.7.18
  • Spring Security + JWT (jjwt 0.12.6)
  • MyBatis-Plus 3.5.5(单表 CRUD)
  • MyBatis XML Mapper(多表关联查询,方便手工优化 SQL)
  • MySQL 8.x
  • SpringDoc OpenAPI 1.8.0(Swagger UI)
  • Lombok
  • BCryptPasswordEncoder

📦 功能特性

前台

  • 首页动态卡片(可自由配置分类/标签及展示条数)
  • 分类页、标签页、搜索、文章详情
  • 嵌套评论、回复、点赞、打赏
  • 动态页面标题(分类页 = 分类名,标签页 = 标签名,详情页 = 文章标题)
  • 首页登录弹窗 & 独立登录页两种登录方式
  • 移动端底部导航(可开关,任意菜单项可配置)
  • 文章阅读量、点赞数统计

后台

  • 仪表盘(实时统计 + ECharts 图表)
  • 文章 / 分类 / 标签 / 评论 / 友链 / 菜单 / 角色 / 用户管理
  • 完全动态的路由和菜单(后端下发)
  • 支持文章附件下载配置
  • 操作日志、接口文档(内嵌 Swagger)

系统

  • JWT 鉴权、角色/菜单权限控制
  • 首次启动自动补齐数据库缺失字段并 BCrypt 加密管理员密码
  • 评论回复自动继承父评论的 articleId

🏃 快速开始

环境要求

组件 版本
JDK 17+
Maven 3.6+
MySQL 8.x
Node.js 18+

1. 启动后端

cd blog-server

创建数据库:

CREATE DATABASE blog DEFAULT CHARACTER SET utf8mb4;

修改 src/main/resources/application.yml 中的 spring.datasource.password 为你的 MySQL 密码,然后:

mvn spring-boot:run

启动后:

2. 启动前端

cd blog-client
npm install
npm run dev

默认访问:http://localhost:8080

vite.config.ts 中配置的端口为 8080;若被占用会自动顺延(8081、8082…),启动时终端会打印实际端口。后端 SecurityConfig 已放行 http://localhost:*http://127.0.0.1:* 的跨域请求,任意本地端口都能直接联调。

3. 默认账号

用户名 密码
admin 123456

DataInitializer 首次启动会自动把 admin 密码用 BCrypt 加密写回数据库。

🗂 项目结构

.
├── blog-client/            # 前端 Vue 3 项目
│   ├── src/
│   │   ├── api/            # 接口封装
│   │   ├── common/         # 前台通用组件
│   │   ├── composables/    # 组合式函数
│   │   ├── layout/         # 后台布局
│   │   ├── router/         # 路由
│   │   ├── store/          # Vuex
│   │   └── views/          # 后台页面
│   ├── vite.config.ts
│   └── package.json
├── blog-server/            # 后端 Spring Boot 项目
│   ├── src/main/java/com/rgh
│   │   ├── conf/           # 安全、CORS、Swagger 配置
│   │   ├── controller/     # REST 接口
│   │   ├── entity/         # 实体
│   │   ├── mapper/         # MyBatis Mapper
│   │   ├── service/        # 业务层
│   │   └── vo/             # 视图对象
│   ├── src/main/resources/
│   │   ├── mapper/         # XML Mapper(多表关联查询)
│   │   ├── db/schema.sql   # 建表
│   │   ├── db/data.sql     # 初始数据
│   │   └── application.yml
│   └── pom.xml
└── README.md               # 就是本文件

📌 各端模块 README

相关文章
|
6天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
1天前
|
数据采集 机器学习/深度学习 人工智能
田间杂草定位与检测4200张YOLO智慧农业数据集分享
本数据集含4200张真实农田图像,YOLO格式,单类别(杂草)高质量标注,覆盖多作物、多光照、多生长阶段等复杂场景,专为智慧农业杂草检测与智能除草设备研发设计,支持YOLOv5/v8/v10等主流模型训练。
326 93
|
2天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
488 11
|
6天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
332 0
|
6天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)