2.8 KiB
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 操作正常工作
- ✅ 统计数据和下拉选项正常加载
🚨 注意事项
- 菜单 ID 冲突: 使用 2100-2199 范围,避免与现有菜单冲突
- 权限缓存: 重新登录后权限才会生效
- 服务重启: 后端代码修改后需要重启服务
- 数据库表: 确保
pm_repair_order和pm_repair_category表存在
📞 问题排查
如果仍有问题,请检查:
- 数据库连接是否正常
- 后端服务是否正确启动
- 权限配置 SQL 是否执行成功
- 用户是否重新登录
- 浏览器控制台是否还有其他错误
📁 相关文件
test/complete-permission-config.sql- 权限配置脚本test/create-test-data.sql- 测试数据脚本test/permission-verification-test.js- 权限验证测试docs/变更管理/code-adjust-record-2025-06-30-zlwu.md- 详细变更记录