Files
hzdyjs/test/报修管理权限配置指南.md
T
2025-06-30 20:33:58 +08:00

2.8 KiB

报修管理权限配置指南

🎯 问题描述

报修管理列表没有展示数据,console 控制台显示"认证失败,无法访问系统资源"错误。

🔍 问题原因

缺少在 sys_menu 表中的权限配置,导致 Sa-Token 权限认证失败。

⚡ 快速解决方案

步骤 1: 执行权限配置

在数据库中执行权限配置脚本:

source test/complete-permission-config.sql

步骤 2: 重启后端服务

重新编译并启动后端服务,确保新的权限注解生效。

步骤 3: 创建测试数据

source test/create-test-data.sql

步骤 4: 重新登录系统

退出系统并重新登录,刷新权限缓存。

步骤 5: 验证修复效果

运行权限验证测试:

cd test
node permission-verification-test.js

📋 完整配置说明

权限结构

  • 主菜单: 物业管理 (ID: 2100)
  • 报修管理:
    • 页面菜单 (ID: 2110)
    • 功能权限 (ID: 2111-2121): 查询、新增、修改、删除、导出、分派、开始、完成、取消、统计、生成编号
  • 维修分类:
    • 页面菜单 (ID: 2130)
    • 功能权限 (ID: 2131-2137): 查询、新增、修改、删除、导出、树查询、选项查询

权限代码

报修管理权限:pm:repairOrder:*
维修分类权限:pm:category:*

🧪 验证方法

1. 检查权限配置

-- 查看菜单权限
SELECT menu_id, menu_name, perms FROM sys_menu WHERE menu_id BETWEEN 2100 AND 2199;

-- 查看角色权限分配
SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1 AND menu_id BETWEEN 2100 AND 2199;

2. 测试 API 接口

# 运行权限验证测试
node permission-verification-test.js

# 或运行简单的数据库测试
node simple-database-test.js

🎉 预期结果

配置完成后,您应该能看到:

  • ✅ 报修管理列表显示测试数据(5 条工单)
  • ✅ 维修分类数据正常显示(6 个分类)
  • ✅ 所有 CRUD 操作正常工作
  • ✅ 统计数据和下拉选项正常加载

🚨 注意事项

  1. 菜单 ID 冲突: 使用 2100-2199 范围,避免与现有菜单冲突
  2. 权限缓存: 重新登录后权限才会生效
  3. 服务重启: 后端代码修改后需要重启服务
  4. 数据库表: 确保 pm_repair_order 和 pm_repair_category 表存在

📞 问题排查

如果仍有问题,请检查:

  1. 数据库连接是否正常
  2. 后端服务是否正确启动
  3. 权限配置 SQL 是否执行成功
  4. 用户是否重新登录
  5. 浏览器控制台是否还有其他错误

📁 相关文件

  • test/complete-permission-config.sql - 权限配置脚本
  • test/create-test-data.sql - 测试数据脚本
  • test/permission-verification-test.js - 权限验证测试
  • docs/变更管理/code-adjust-record-2025-06-30-zlwu.md - 详细变更记录