Files
cattleTransportation/pc-cattle-transportation/DEPLOYMENT_GUIDE.md
2025-10-23 17:28:06 +08:00

4.3 KiB
Raw Blame History

用户权限管理系统部署指南

当前状态

前端已完成:用户权限管理界面已实现,支持优雅的错误处理 后端待部署:需要完成数据库表创建和后端服务重启

部署步骤

步骤1创建数据库表

执行SQL脚本

-- 在数据库中执行以下SQL
source C:\cattleTransport\tradeCattle\add_user_menu_table.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重启后端服务

停止当前服务:

# 查找Java进程
jps -l

# 停止Spring Boot应用替换为实际的进程ID
taskkill /F /PID <进程ID>

重新启动服务:

cd C:\cattleTransport\tradeCattle\aiotagro-cattle-trade
mvn spring-boot:run

或者使用IDE启动

  • 在IDE中运行 AiotagroCattletradeApplication.java
  • 确保端口8080可用

步骤3验证部署

检查服务状态:

# 检查端口是否监听
netstat -ano | findstr :8080

# 测试API接口
curl http://localhost:8080/api/sysUserMenu/hasUserPermissions?userId=1

预期响应:

{
  "code": 200,
  "data": {
    "hasUserPermissions": false,
    "permissionCount": 0,
    "permissionSource": "角色权限"
  }
}

功能验证

1. 前端界面测试

  1. 访问权限管理页面

    • 打开浏览器访问:http://localhost:8082
    • 登录后进入权限管理页面
  2. 测试标签页切换

    • 确认"角色权限管理"标签页正常
    • 确认"用户权限管理"标签页正常
  3. 测试用户权限管理

    • 切换到"用户权限管理"标签页
    • 选择用户,查看权限来源显示
    • 尝试修改权限设置

2. 后端API测试

测试用户权限查询:

GET /api/sysUserMenu/hasUserPermissions?userId=3

测试用户权限分配:

POST /api/sysUserMenu/assignUserMenus
Content-Type: application/json

{
  "userId": 3,
  "menuIds": [1, 2, 3, 16, 4, 5]
}

测试权限清空:

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. 端口占用情况