# 用户权限管理系统部署指南 ## 当前状态 ✅ **前端已完成**:用户权限管理界面已实现,支持优雅的错误处理 ❌ **后端待部署**:需要完成数据库表创建和后端服务重启 ## 部署步骤 ### 步骤1:创建数据库表 **执行SQL脚本:** ```sql -- 在数据库中执行以下SQL source C:\cattleTransport\tradeCattle\add_user_menu_table.sql; ``` **或者手动执行:** ```sql CREATE TABLE IF NOT EXISTS `sys_user_menu` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` int(11) NOT NULL COMMENT '用户ID', `menu_id` int(11) NOT NULL COMMENT '菜单ID', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_menu_id` (`menu_id`), UNIQUE KEY `uk_user_menu` (`user_id`, `menu_id`) COMMENT '用户菜单唯一索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户菜单权限表'; ``` ### 步骤2:重启后端服务 **停止当前服务:** ```bash # 查找Java进程 jps -l # 停止Spring Boot应用(替换为实际的进程ID) taskkill /F /PID <进程ID> ``` **重新启动服务:** ```bash cd C:\cattleTransport\tradeCattle\aiotagro-cattle-trade mvn spring-boot:run ``` **或者使用IDE启动:** - 在IDE中运行 `AiotagroCattletradeApplication.java` - 确保端口8080可用 ### 步骤3:验证部署 **检查服务状态:** ```bash # 检查端口是否监听 netstat -ano | findstr :8080 # 测试API接口 curl http://localhost:8080/api/sysUserMenu/hasUserPermissions?userId=1 ``` **预期响应:** ```json { "code": 200, "data": { "hasUserPermissions": false, "permissionCount": 0, "permissionSource": "角色权限" } } ``` ## 功能验证 ### 1. 前端界面测试 1. **访问权限管理页面** - 打开浏览器访问:`http://localhost:8082` - 登录后进入权限管理页面 2. **测试标签页切换** - 确认"角色权限管理"标签页正常 - 确认"用户权限管理"标签页正常 3. **测试用户权限管理** - 切换到"用户权限管理"标签页 - 选择用户,查看权限来源显示 - 尝试修改权限设置 ### 2. 后端API测试 **测试用户权限查询:** ```bash GET /api/sysUserMenu/hasUserPermissions?userId=3 ``` **测试用户权限分配:** ```bash POST /api/sysUserMenu/assignUserMenus Content-Type: application/json { "userId": 3, "menuIds": [1, 2, 3, 16, 4, 5] } ``` **测试权限清空:** ```bash DELETE /api/sysUserMenu/clearUserMenus?userId=3 ``` ## 当前问题解决 ### 问题:404错误 **现象:** `Failed to load resource: the server responded with a status of 404` **原因:** 后端服务未包含新的用户权限管理接口 **解决方案:** 1. 确保数据库表已创建 2. 重新编译后端项目:`mvn clean compile` 3. 重启后端服务:`mvn spring-boot:run` ### 问题:前端错误处理 **已解决:** 前端现在能够优雅地处理API不可用的情况 - 显示警告信息而不是错误 - 使用默认值(角色权限) - 不影响其他功能的使用 ## 部署检查清单 - [ ] 数据库表 `sys_user_menu` 已创建 - [ ] 后端项目已重新编译 - [ ] 后端服务已重启 - [ ] API接口 `/api/sysUserMenu/*` 可访问 - [ ] 前端页面可正常加载 - [ ] 用户权限管理功能正常 ## 故障排除 ### 1. 后端启动失败 **检查:** - Java版本是否正确 - 数据库连接是否正常 - 端口8080是否被占用 ### 2. API接口404 **检查:** - 控制器类是否正确扫描 - 请求路径是否正确 - 服务是否完全启动 ### 3. 数据库连接失败 **检查:** - 数据库服务是否运行 - 连接配置是否正确 - 用户权限是否足够 ## 完成后的功能 部署完成后,系统将支持: 1. **双权限系统**: - 角色权限管理(影响所有使用相同角色的用户) - 用户权限管理(仅影响单个用户) 2. **权限优先级**: - 用户专属权限覆盖角色权限 - 向后兼容现有功能 3. **界面友好**: - 标签页切换 - 权限来源显示 - 操作确认提示 4. **API完整**: - 用户权限查询 - 用户权限分配 - 用户权限清空 ## 联系支持 如果在部署过程中遇到问题,请检查: 1. 后端服务日志 2. 数据库连接状态 3. 网络连接情况 4. 端口占用情况