# blog-project **Repository Path**: ftb001/blog-project ## Basic Information - **Project Name**: blog-project - **Description**: 斌斌个人博客系统前后端代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 博客项目 (Blog Project) 一个功能完善的个人博客系统,支持文章管理、评论互动、用户关注、AI 智能助手等核心功能。 ## 项目简介 本项目是一个前后端分离的全栈博客系统,采用 Vue 3 + Spring Boot 技术栈构建。提供了完整的博客功能,包括文章发布与浏览、评论互动、点赞收藏、用户关注、个人中心等模块,并集成了 AI 智能写作助手。 ## 技术栈 ### 前端 - **框架**: Vue 3 - **构建工具**: Vite - **UI 组件库**: Element Plus - **状态管理**: Pinia - **路由**: Vue Router - **HTTP 客户端**: Axios - **Markdown 编辑器**: Editor.md ### 后端 - **框架**: Spring Boot - **持久层**: MyBatis Plus - **数据库**: MySQL - **缓存**: Redis - **搜索引擎**: Elasticsearch - **安全**: Spring Security + JWT - **AI 框架**: LangChain4j - **WebSocket**: 实现实时 AI 对话 ## 功能特性 ### 用户功能 - 用户登录/注册 - 个人资料管理 - 修改密码 - 头像上传 ### 文章功能 - 文章发布、编辑、删除 - 文章搜索(支持 Elasticsearch 高亮) - 文章分类、标签管理 - 文章置顶、推荐 - 文章审核 - 文章归档(按年月) - 热门文章推荐 ### 社交功能 - 评论系统(支持树形结构) - 文章点赞 - 文章收藏(多收藏夹) - 用户关注/粉丝 ### AI 智能助手 - AI 写作助手 - AI 对话功能(WebSocket 实时流式输出) - AI 辅助查询用户文章、收藏夹、关注列表 ### 管理后台 - 用户管理 - 文章管理(审核、置顶、推荐) - 分类管理 - 标签管理 - 评论管理 - 角色权限管理 - 菜单管理 - 系统统计 ## 项目结构 ``` blog-project/ ├── Tlias/ # 前端项目 │ ├── public/ # 静态资源 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── composables/ # 组合式 API │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面视图 │ │ ├── admin/ # 管理后台 │ │ ├── article/ # 文章相关 │ │ ├── favorites/ # 收藏 │ │ ├── follows/ # 关注 │ │ ├── index/ # 首页 │ │ ├── layout/ # 布局 │ │ ├── likes/ # 点赞 │ │ ├── login/ # 登录 │ │ ├── profile/ # 个人中心 │ │ └── search/ # 搜索 │ └── vite.config.js # Vite 配置 │ └── blog_project/ # 后端项目 ├── blog_common/ # 公共模块 │ └── src/main/java/com/example/blog_common/ │ ├── annotation/ # 自定义注解 │ ├── config/ # 配置类 │ ├── constants/ # 常量定义 │ ├── enumeration/ # 枚举 │ ├── exception/ # 异常类 │ ├── properties/ # 配置属性 │ ├── query/ # 查询对象 │ ├── result/ # 返回结果 │ └── util/ # 工具类 │ ├── blog_entity/ # 实体模块 │ └── src/main/java/com/example/blog_entity/ │ ├── dto/ # 数据传输对象 │ ├── pojo/ # 实体类 │ ├── utils/ # 工具类 │ └── vo/ # 视图对象 │ └── blog_server/ # 服务模块 └── src/main/java/com/example/blog_server/ ├── aiservice/ # AI 服务 ├── aspect/ # AOP 切面 ├── config/ # 配置类 ├── controller/ # 控制器 │ ├── admin/ # 管理后台接口 │ └── user/ # 用户接口 ├── document/ # Elasticsearch 文档 ├── exception/ # 异常处理 ├── filter/ # 过滤器 ├── interceptor/ # 拦截器 ├── mapper/ # 数据访问层 ├── repository/ # 数据仓库 ├── service/ # 业务逻辑 │ └── impl/ # 实现类 ├── task/ # 定时任务 ├── tools/ # AI 工具 ├── utils/ # 工具类 └── websocket/ # WebSocket ``` ## 快速开始 ### 前置要求 - Node.js 16+ - JDK 17+ - MySQL 8.0+ - Redis 6.0+ - Elasticsearch 8.0+ ### 后端配置 1. 创建数据库并导入 `blog_project/db.sql` 2. 修改 `blog_project/blog_server/src/main/resources/application.yml` 中的数据库、Redis、Elasticsearch 配置 3. 启动后端服务 ```bash cd blog_project mvn spring-boot:run ``` ### 前端配置 1. 安装依赖 ```bash cd Tlias npm install # 或 yarn install ``` 2. 开发环境运行 ```bash npm run dev ``` 3. 生产环境构建 ```bash npm run build ``` ### 环境变量配置 在前端项目根目录下创建 `.env` 文件: ```env VITE_API_BASE_URL=http://localhost:8080 ``` ## API 接口 项目主要接口包括: | 模块 | 接口路径 | 说明 | |------|----------|------| | 用户 | `/user/login` | 用户登录 | | 文章 | `/user/article/*` | 文章 CRUD | | 评论 | `/user/comment/*` | 评论管理 | | 点赞 | `/user/articlelike/*` | 点赞管理 | | 收藏 | `/user/favorite/*` | 收藏管理 | | 关注 | `/user/follow/*` | 关注管理 | | AI | `/ai/*` | AI 对话 | | 管理 | `/admin/*` | 后台管理 | 详细 API 文档可通过 Knife4j 访问(后端启动后访问 `/doc.html`)。 ## 许可证 MIT License