# 通用后台管理系统-1班5组 **Repository Path**: grade-23-full-stack-class-1/universal-admin-system-class1-group5 ## Basic Information - **Project Name**: 通用后台管理系统-1班5组 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2025-07-17 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用后台管理系统项目文档总览 ## 项目文档结构 ### 1. 项目管理文档 - `README.md` - 项目说明文档 - `project-plan.md` - 项目计划文档 - `git-workflow.md` - Git工作流规范 - `deployment-guide.md` - 部署指南 ### 2. 需求设计文档 - `requirements.md` - 需求分析文档 - `system-design.md` - 系统概要设计文档 - `detailed-design.md` - 详细设计文档 - `database-design.md` - 数据库设计文档 - `api-design.md` - API接口设计文档 ### 3. 开发文档 - `frontend-dev-guide.md` - 前端开发指南 - `backend-dev-guide.md` - 后端开发指南 - `student-guide.md` - 学生开发指导文档 - `coding-standards.md` - 编码规范 - `testing-guide.md` - 测试指南 ### 4. 运维文档 - `environment-setup.md` - 环境搭建指南 - `deployment-manual.md` - 部署手册 - `maintenance-guide.md` - 维护指南 ### 5. 脚本和工具 - `scripts/database-init.sql` - 数据库初始化脚本 - `scripts/deploy.sh` - 自动化部署脚本 ## 项目时间安排(2周) ### 第1周(需求分析与设计) - 第1-2天:需求分析、系统设计、环境搭建 - 第3-4天:数据库设计、API设计、前端原型 - 第5-7天:核心功能开发(登录、用户管理、基础权限) ### 第2周(功能完善与部署) - 第8-10天:完善功能模块、前后端联调 - 第11-12天:测试、优化、部署准备 - 第13-14天:部署上线、文档完善、项目验收 ## Git分支管理策略 ### 分支结构 - `master` - 生产环境分支(稳定版本) - `dev` - 开发环境分支(集成分支) - `feature/*` - 功能分支(具体功能开发) ### 分支命名规范 - `feature/login` - 登录功能 - `feature/user-management` - 用户管理功能 - `feature/role-management` - 角色管理功能 - `feature/menu-management` - 菜单管理功能 ## 部署要求 ### 服务器环境 - **操作系统**: Debian 12 - **访问方式**: 每位小组成员都有独立的管理地址 - **域名格式**: `admin-{组员姓名}.{域名}` - **端口分配**: 每人分配独立端口段 ### 部署架构 - 前端:Nginx 静态文件服务 - 后端:.NET 8 应用服务 - 数据库:PostgreSQL 12+ - 反向代理:Nginx 可使用以下命令调用工具: dotnet-ef dotnet tool install --global dotnet-ef 数据库迁移 dotnet ef migrations add Name -p .\BackOffice\BackOffice.Infrastructure\ -s .\BackOffice\BackOffice.Api\ # 2. 把迁移应用到数据库 dotnet ef database update -p .\BackOffice\BackOffice.Infrastructure\ -s .\BackOffice\BackOffice.Api\ 启动并监听热重载(开发模式) dotnet clean dotnet build 启动并监听热重载(开发模式) dotnet watch 后端(backend)——以菜单为例 1.1 控制器接口(已存在) [ApiController] [Route("api/[controller]")] public class MenuController : ControllerBase { private readonly IMenuService _menuService; public MenuController(IMenuService menuService) { _menuService = menuService; } // 获取菜单树 [HttpGet("tree")] public async Task GetMenuTree() { var result = await _menuService.GetMenuTreeAsync(); return Ok(result.Data); } } 1.2 服务层(已存在) public async Task GetMenuTreeAsync() { var menus = await _menuRepo.GetAllAsync(); var menuTree = BuildMenuTree(menus, null); return ApiResult.Success(menuTree, "获取菜单树成功"); } 1.3 数据库上下文(已存在) public class BackOfficeDbContext : DbContext { public DbSet Menus { get; set; } // ...existing code... } 1.4 启动后端 在 backend/BackOffice 目录下运行: dotnet run --project BackOffice.Api 前端(frontend) 2.1 安装 axios cd frontend/BackOffice/mini-flow npm install axios 2.2 新建 API 封装 import axios from 'axios' export function getMenuTree() { return axios.get('/api/menu/tree') } 2.3 页面调用并打印数据 以菜单列表为例: 2.4 路由注册(可选) import MenuList from '../views/MenuList.vue' ... { path: '/menu-list', name: 'MenuList', component: MenuList, }, ... 2.5 前端代理配置(开发环境) 确保 vite.config.js 有如下代理配置(端口和后端一致): export default defineConfig({ server: { proxy: { '/api': 'http://localhost:5252' } } }) 访问效果 启动后端服务 启动前端服务:npm run dev 访问 http://localhost:5173/menu-list 即可看到数据库菜单数据打印在页面上 其他说明 你可以用类似方式为“用户”、“角色”等表写 API 和前端页面。 如果需要完整的“用户列表”前后端代码,请说明。