# Blog **Repository Path**: unsolvedmystery/blog ## Basic Information - **Project Name**: Blog - **Description**: 一个平平无奇的博客系统 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-05 - **Last Updated**: 2025-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人博客系统 一个基于 Spring Boot + Vue 3 的现代化个人博客系统。 ## 🚀 功能特性 - 📝 **文章管理**: 支持 Markdown 编辑,代码高亮 - 🏷️ **分类标签**: 灵活的分类和标签系统 - 💬 **评论系统**: 支持文章评论功能 - 🔍 **搜索功能**: 全文搜索支持 - 📱 **响应式设计**: 完美适配移动端 - 🖼️ **图片上传**: 集成腾讯云COS存储 - 🎨 **主题定制**: 可自定义博客主题 - 📊 **数据统计**: 访问量统计分析 ## 🛠️ 技术栈 ### 后端 - **框架**: Spring Boot 3.1.0 - **数据库**: MySQL 8.0+ - **ORM**: MyBatis - **文档**: Swagger/OpenAPI 3.0 - **存储**: 腾讯云COS - **其他**: Hutool、CommonMark ### 前端 - **框架**: Vue 3 + Vite - **UI库**: Element Plus - **状态管理**: Pinia - **路由**: Vue Router 4 - **HTTP**: Axios - **编辑器**: Marked + Highlight.js ## 📦 快速开始 ### 环境要求 - Java 17+ - Node.js 16+ - MySQL 8.0+ - Maven 3.6+ ### 后端启动 1. **克隆项目** ```bash git clone cd blog/back ``` 2. **配置环境变量** ```bash # 复制环境变量模板 cp .env.example .env # 编辑.env文件,填入真实配置 vim .env ``` 3. **创建数据库** ```sql CREATE DATABASE blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 4. **启动服务** ```bash mvn spring-boot:run ``` ### 前端启动 1. **安装依赖** ```bash cd blog/front npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 3. **构建生产版本** ```bash npm run build ``` ## 🔧 配置说明 ### 环境变量配置 创建 `back/.env` 文件: ```env # 数据库配置 DB_USERNAME=root DB_PASSWORD=your_password DB_HOST=localhost DB_PORT=3306 DB_NAME=blog # 腾讯云COS配置 TENCENT_COS_SECRET_ID=your_secret_id TENCENT_COS_SECRET_KEY=your_secret_key TENCENT_COS_REGION=ap-nanjing TENCENT_COS_BUCKET=your_bucket_name TENCENT_COS_DOMAIN= # 应用配置 SERVER_PORT=8088 SPRING_PROFILES_ACTIVE=dev ``` ### 数据库配置 确保MySQL服务运行,并创建对应的数据库。系统会自动创建所需的表结构。 ## 📚 API 文档 启动后端服务后,访问 Swagger 文档: - 开发环境: http://localhost:8088/swagger-ui/index.html - API文档: http://localhost:8088/v3/api-docs ## 🎯 主要优化 ### 安全性优化 - ✅ 敏感信息使用环境变量管理 - ✅ 全局异常处理机制 - ✅ 参数验证和防护 - ✅ CORS跨域配置 ### 代码质量优化 - ✅ 使用DTO替代Map参数 - ✅ Bean Validation参数校验 - ✅ 消除重复代码 - ✅ 统一错误处理 ### 性能优化 - ✅ 图片懒加载组件 - ✅ 组件化架构 - ✅ 数据库连接池优化 - ✅ 响应式设计 ### 开发体验优化 - ✅ Swagger API文档 - ✅ 组件复用设计 - ✅ 环境变量管理 ## 🏗️ 项目结构 ``` blog/ ├── back/ # 后端项目 │ ├── src/main/java/ │ │ └── com/site/blog/my/core/ │ │ ├── controller/ # 控制器 │ │ ├── service/ # 服务层 │ │ ├── dao/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── dto/ # 数据传输对象 │ │ ├── config/ # 配置类 │ │ └── util/ # 工具类 │ └── .env.example # 环境变量模板 └── front/ # 前端项目 ├── src/ │ ├── components/ # 公共组件 │ ├── views/ # 页面组件 │ ├── api/ # API接口 │ ├── router/ # 路由配置 │ └── stores/ # 状态管理 └── package.json ``` ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🙏 致谢 感谢所有为这个项目做出贡献的开发者! ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 邮箱: admin@blog.com - 项目地址: [GitHub Repository] --- ⭐ 如果这个项目对你有帮助,请给它一个星标!