4.2 KiB
4.2 KiB
改名方案页面无数据问题排查指南
问题现象
前端页面 module_yifan/yifan_naming_solutions 显示"暂无数据"
可能原因及解决方案
1. 数据库中没有测试数据(最可能)
排查方法:
-- 检查表中是否有数据
SELECT COUNT(*) FROM yifan_naming_solutions;
-- 查看所有数据
SELECT * FROM yifan_naming_solutions;
-- 查看启用状态的数据
SELECT * FROM yifan_naming_solutions WHERE status = 0;
解决方案: 执行测试数据插入脚本:
mysql -u your_username -p your_database < backend/sql/yifan_naming_solutions_test_data.sql
注意事项:
- 插入数据前需要确保
yifan_naming_reports表中有对应的report_id - 如果没有报告数据,需要先创建报告记录
status字段:0=启用,1=停用is_deleted字段:0=未删除,1=已删除
2. 查询条件过滤了所有数据
排查方法: 检查前端页面的默认查询条件:
- 打开浏览器开发者工具 -> Network 标签
- 刷新页面,查看
/yifan/yifan_naming_solutions/list请求 - 检查请求参数中是否有意外的筛选条件
常见问题:
status参数可能默认筛选了停用状态is_deleted参数可能筛选了已删除数据- 时间范围筛选可能过于严格
解决方案: 点击页面上的"重置"按钮,清除所有筛选条件后再查询
3. 权限问题
排查方法:
-- 检查用户是否有查询权限
SELECT * FROM sys_role_permission
WHERE permission_code = 'module_yifan:yifan_naming_solutions:query';
-- 检查当前用户的角色权限
SELECT r.* FROM sys_role r
JOIN sys_user_role ur ON r.id = ur.role_id
WHERE ur.user_id = YOUR_USER_ID;
解决方案:
- 使用管理员账号登录
- 或者为当前用户分配
module_yifan:yifan_naming_solutions:query权限
4. 后端服务问题
排查方法: 查看后端日志:
# 查看最近的日志
tail -f backend/logs/app.log
# 搜索相关错误
grep "yifan_naming_solutions" backend/logs/app.log
常见错误:
- 数据库连接失败
- SQL 语法错误
- 模型字段映射错误
5. 前端 API 调用问题
排查方法:
- 打开浏览器开发者工具 -> Console 标签
- 查看是否有 JavaScript 错误
- 检查 Network 标签中的 API 响应
常见问题:
- API 路径错误(404)
- 认证失败(401)
- 权限不足(403)
- 服务器错误(500)
快速测试步骤
步骤 1:检查数据库
-- 1. 检查表是否存在
SHOW TABLES LIKE 'yifan_naming_solutions';
-- 2. 检查表结构
DESC yifan_naming_solutions;
-- 3. 检查数据量
SELECT
COUNT(*) as total,
SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) as enabled,
SUM(CASE WHEN is_deleted = 0 THEN 1 ELSE 0 END) as not_deleted
FROM yifan_naming_solutions;
步骤 2:插入测试数据
-- 简单的测试数据(假设 report_id=1 存在)
INSERT INTO yifan_naming_solutions
(report_id, name, pinyin, total_score, star_rating, wuxing, shuxiang, tags, name_meaning, is_recommended, sort_order, status, is_deleted)
VALUES
(1, '测试名字', 'Ce Shi Ming Zi', 90, 4, '金木', '龙', '["测试标签"]', '这是一个测试方案', 0, 1, 0, 0);
步骤 3:测试 API
使用 curl 或 Postman 测试:
# 获取列表(需要替换 TOKEN)
curl -X GET "http://localhost:8000/yifan/yifan_naming_solutions/list?page_no=1&page_size=10" \
-H "Authorization: Bearer YOUR_TOKEN"
步骤 4:检查前端
- 清除浏览器缓存
- 刷新页面
- 点击"重置"按钮
- 点击"查询"按钮
推荐的解决顺序
- 首先:执行 SQL 查询检查数据库中是否有数据
- 如果没有数据:执行测试数据插入脚本
- 如果有数据但页面不显示:检查前端筛选条件
- 如果还是不行:检查后端日志和权限配置
- 最后:检查前端 Console 和 Network 是否有错误
联系支持
如果以上方法都无法解决问题,请提供以下信息:
- 数据库查询结果截图
- 浏览器 Network 标签的 API 请求/响应截图
- 后端日志中的相关错误信息
- 前端 Console 中的错误信息