6.9 KiB
6.9 KiB
项目管理模块部署说明
一、概述
本文档说明如何部署 lyzsys-module-demo 项目管理模块。
模块信息
- 模块名称: lyzsys-module-demo
- 功能: 项目管理(增删改查导出)
- 数据库表: demo_project
- 菜单结构:
- 一级菜单:项目管理
- 二级菜单:项目列表
命名规范遵循
✅ 所有字段名遵循驼峰命名规范,第一个单词不能只有一个字母
projectName(而非pName)projectCode(而非pCode)establishDate(而非eDate)
二、部署步骤
1. 数据库部署
按顺序执行以下 SQL 脚本:
# 1. 创建项目管理表
mysql> source e:/workspace/lyzsys/lyzsys_backend/sql/mysql/demo_project.sql
# 2. 创建菜单配置
mysql> source e:/workspace/lyzsys/lyzsys_backend/sql/mysql/demo_menu.sql
说明:
demo_project.sql- 创建项目管理表,包含示例数据demo_menu.sql- 创建菜单配置,包含一级菜单、二级菜单和按钮权限
2. 后端部署
后端代码已自动集成到项目中,无需额外配置。
后端文件清单:
lyzsys_backend/lyzsys-module-demo/
├── pom.xml # Maven 配置
└── src/main/java/cn/iocoder/lyzsys/module/demo/
├── controller/admin/project/
│ ├── ProjectController.java # 控制器
│ └── vo/
│ ├── ProjectPageReqVO.java # 分页查询请求
│ ├── ProjectRespVO.java # 响应 VO
│ └── ProjectSaveReqVO.java # 保存请求 VO
├── service/project/
│ ├── ProjectService.java # 服务接口
│ └── ProjectServiceImpl.java # 服务实现
├── dal/
│ ├── dataobject/project/
│ │ └── ProjectDO.java # 数据对象
│ └── mysql/project/
│ └── ProjectMapper.java # Mapper 接口
└── enums/
└── ErrorCodeConstants.java # 错误码常量
验证后端部署:
- Maven 重新导入项目依赖
- 确认
lyzsys-server/pom.xml包含lyzsys-module-demo依赖 - 启动后端项目,查看日志确认模块加载成功
3. 前端部署
前端代码已生成,无需额外配置。
前端文件清单:
lyzsys-ui-admin/src/
├── api/demo/project/
│ └── index.ts # API 接口定义
└── views/demo/project/
├── index.vue # 项目列表页面
└── ProjectForm.vue # 项目表单组件
验证前端部署:
- 重新启动前端项目(如果正在运行)
- 使用管理员账号登录系统
- 在左侧菜单栏查看"项目管理"菜单
三、功能验证
1. 菜单验证
登录后台管理系统,应该看到以下菜单结构:
项目管理(一级菜单)
└── 项目列表(二级菜单)
系统管理(已调整到最后)
基础设施(已调整到最后)
2. 权限验证
项目列表页面应包含以下操作按钮:
- ✅ 搜索
- ✅ 重置
- ✅ 新增
- ✅ 导出
- ✅ 批量删除
- ✅ 修改(每行)
- ✅ 删除(每行)
3. 功能验证
测试以下功能:
查询功能
- 按项目名称模糊查询
- 按项目编号模糊查询
- 按立项时间范围查询
- 分页查询
新增功能
- 点击"新增"按钮打开表单
- 必填字段验证(项目名称、项目编号)
- 项目编号唯一性校验
- 保存成功后刷新列表
修改功能
- 点击"修改"按钮打开表单
- 回显原有数据
- 修改后保存成功
删除功能
- 单个删除确认提示
- 删除成功后刷新列表
- 批量删除功能
导出功能
- 点击"导出"按钮
- 下载 Excel 文件
- 验证导出数据正确
四、接口文档
API 端点
Base URL: /demo/project
| 接口 | 方法 | 说明 | 权限 |
|---|---|---|---|
/create |
POST | 创建项目 | demo:project:create |
/update |
PUT | 修改项目 | demo:project:update |
/delete |
DELETE | 删除项目 | demo:project:delete |
/delete-list |
DELETE | 批量删除 | demo:project:delete |
/page |
GET | 分页查询 | demo:project:query |
/get |
GET | 查询详情 | demo:project:query |
/export-excel |
GET | 导出Excel | demo:project:export |
请求示例
创建项目:
POST /demo/project/create
{
"projectName": "示例项目",
"projectCode": "PROJ-2024-001",
"establishDate": "2024-01-01 00:00:00"
}
查询列表:
GET /demo/project/page?pageNo=1&pageSize=10&projectName=示例
五、常见问题
1. 菜单不显示
原因:可能是权限问题 解决:
- 确认已执行
demo_menu.sql - 检查当前登录用户的角色权限
- 在"系统管理 > 菜单管理"中确认菜单已创建
- 在"系统管理 > 角色管理"中给当前角色分配菜单权限
2. 后端接口 404
原因:模块未启动或路由配置错误 解决:
- 检查
lyzsys-server/pom.xml是否包含 demo 模块依赖 - 重新编译启动项目
- 查看启动日志确认模块加载
3. 前端页面报错
原因:API 接口路径不匹配 解决:
- 检查
src/api/demo/project/index.ts中的接口路径 - 确认后端 Controller 的
@RequestMapping路径 - 查看浏览器控制台错误信息
4. 项目编号重复错误
原因:唯一性校验生效 解决:这是正常的业务校验,请使用不同的项目编号
六、扩展开发
添加新字段
- 修改数据库表:
ALTER TABLE demo_project ADD COLUMN new_field VARCHAR(100) COMMENT '新字段';
- 修改后端代码:
- 在
ProjectDO.java中添加字段 - 在
ProjectRespVO.java和ProjectSaveReqVO.java中添加字段 - 根据需要修改
ProjectMapper.java查询条件
- 修改前端代码:
- 在
api/demo/project/index.ts中添加字段定义 - 在
ProjectForm.vue中添加表单项 - 在
index.vue中添加表格列
添加新功能
参考现有的增删改查实现,遵循以下开发流程:
- 在 Service 层添加业务方法
- 在 Controller 层添加接口
- 在前端 API 文件中添加接口调用
- 在前端页面中实现 UI 交互
七、技术栈
后端
- Spring Boot 2.7.18
- MyBatis Plus 3.5.15
- MySQL 8.0+
前端
- Vue 3.5.12
- Element Plus 2.11.1
- TypeScript 5.3.3
- Vite 5.1.4
八、联系方式
如有问题,请联系开发团队或查阅项目文档。
生成时间: 2024年 版本: v1.0