# qingniDiy **Repository Path**: yin_yong_chao/qingni-diy ## Basic Information - **Project Name**: qingniDiy - **Description**: qingniDiy - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-11 - **Last Updated**: 2025-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 青泥 DIY 项目 一个基于 Vue 3 + Spring Boot 的现代化全栈应用。 ## 项目结构 ``` qingni-diy/ ├── qingniFront/ # 前端项目 (Vue 3 + TypeScript + Element Plus) ├── qingniServer/ # 后端项目 (Spring Boot 3 + PostgreSQL + Redis + MongoDB) ├── docker-compose.yml # Docker Compose 配置 └── README.md # 项目说明 ``` ## 技术栈 ### 前端 - Vue 3 - TypeScript - Element Plus - Pinia - Vue Router - Axios ### 后端 - Spring Boot 3.5.0 - Java 21 - PostgreSQL (主数据库) - Redis (缓存) - MongoDB (文档存储) - MyBatis Plus - Sa-Token (认证授权) ## 快速开始 ### 使用 Docker Compose (推荐) #### 1. 启动中间件服务 ```bash # 启动 PostgreSQL, Redis, MongoDB docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` #### 2. 启动后端服务 ```bash cd qingniServer mvn spring-boot:run ``` #### 3. 启动前端服务 ```bash cd qingniFront npm install npm run dev ``` #### 4. 启动完整服务 (包含后端容器) ```bash # 构建并启动所有服务 docker-compose --profile full up -d # 重新构建后端镜像 docker-compose --profile full up -d --build qingni-server ``` ### 手动安装 #### 前置要求 - Java 21+ - Node.js 18+ - PostgreSQL 16+ - Redis 7+ - MongoDB 7+ - Maven 3.9+ #### 安装步骤 1. **配置数据库** 创建 PostgreSQL 数据库: ```sql CREATE DATABASE qingni_dev; CREATE USER qingni WITH PASSWORD 'qingni123'; GRANT ALL PRIVILEGES ON DATABASE qingni_dev TO qingni; ``` 2. **初始化数据** 执行初始化脚本: ```bash psql -U qingni -d qingni_dev -f qingniServer/docker/init-db/01-init-database.sql ``` 3. **配置后端** 修改 `qingniServer/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:postgresql://localhost:5432/qingni_dev username: qingni password: qingni123 data: redis: host: localhost port: 6379 mongodb: host: localhost port: 27017 database: qingni_dev username: qingni password: qingni123 ``` 4. **启动后端** ```bash cd qingniServer mvn clean install mvn spring-boot:run ``` 5. **启动前端** ```bash cd qingniFront npm install npm run dev ``` ## 测试账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | 123456 | 超级管理员 | | test | 123456 | 测试角色 | | user | 123456 | 普通用户 | ## 功能特性 ### 仪表盘 - 数据统计卡片展示 - 门户管理专区(新增) - 内容文章统计 - 轮播图数量统计 - 栏目分类统计 - 待审核内容提醒 - 活跃用户图表 - 销售概览 - 动态提醒 ### 门户管理(新增) - **内容管理**: 文章发布、编辑、状态管理 - **轮播图管理**: 图片上传、排序、启用/禁用 - **栏目分类管理**: 树形分类、多级管理 - **内容审核**: 待审核/已通过/已拒绝,支持审核流程 详细文档请查看: [门户管理功能说明](PORTAL_FEATURE.md) ## 文档目录 ### 项目文档 - [项目说明](README.md) - 本文件 - [开发指南](CLAUDE.md) - 给AI助手的开发指南 - [测试指南](TESTING.md) - 接口测试说明 - [门户管理功能](PORTAL_FEATURE.md) - 门户管理详细说明 ### 前端文档 - [前端架构概览](qingniFront/docs/01-架构概览.md) - [路由系统详解](qingniFront/docs/02-路由系统.md) - [问题修复记录](qingniFront/docs/问题修复记录.md) - [更多文档...](qingniFront/docs/README.md) ## API 文档 ### 认证接口 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/logout` - 用户登出 - `GET /api/auth/userinfo` - 获取当前用户信息 - `GET /api/auth/check` - 检查登录状态 ### 请求示例 ```bash # 登录 curl -X POST http://localhost:8080/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"123456"}' # 获取用户信息 (需要在 Header 中携带 token) curl -X GET http://localhost:8080/api/auth/userinfo \ -H "satoken: Bearer {token}" ``` ## Docker 命令 ```bash # 启动服务 docker-compose up -d # 停止服务 docker-compose down # 停止服务并删除数据卷 docker-compose down -v # 查看日志 docker-compose logs -f [service_name] # 重启服务 docker-compose restart [service_name] # 查看服务状态 docker-compose ps # 进入容器 docker-compose exec [service_name] sh ``` ## 开发说明 ### 后端开发 1. 代码位于 `qingniServer/src/main/java/com/qingni/server/` 2. 使用 MyBatis Plus 作为 ORM 框架 3. 使用 Sa-Token 进行认证授权 4. 统一异常处理在 `exception/GlobalExceptionHandler.java` 5. 统一返回格式在 `common/Result.java` ### 前端开发 1. 代码位于 `qingniFront/src/` 2. API 请求统一在 `api/` 目录下管理 3. 状态管理使用 Pinia 4. 路由配置在 `router/` 目录 ## 端口说明 | 服务 | 端口 | |------|------| | 前端 | 3006 | | 后端 | 8080 | | PostgreSQL | 5432 | | Redis | 6379 | | MongoDB | 27017 | ## 常见问题 ### 1. 数据库连接失败 检查 PostgreSQL 是否正常运行: ```bash docker-compose ps postgres docker-compose logs postgres ``` ### 2. Redis 连接失败 检查 Redis 是否正常运行: ```bash docker-compose ps redis docker-compose logs redis ``` ### 3. 端口冲突 如果端口被占用,可以修改 `docker-compose.yml` 中的端口映射。 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 MIT License