Files
----/后端源码/yifan.action-ai.cn/api/sql/README_naming_solutions.md

4.2 KiB
Raw Blame History

改名方案页面无数据问题排查指南

问题现象

前端页面 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 调用问题

排查方法:

  1. 打开浏览器开发者工具 -> Console 标签
  2. 查看是否有 JavaScript 错误
  3. 检查 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检查前端

  1. 清除浏览器缓存
  2. 刷新页面
  3. 点击"重置"按钮
  4. 点击"查询"按钮

推荐的解决顺序

  1. 首先:执行 SQL 查询检查数据库中是否有数据
  2. 如果没有数据:执行测试数据插入脚本
  3. 如果有数据但页面不显示:检查前端筛选条件
  4. 如果还是不行:检查后端日志和权限配置
  5. 最后:检查前端 Console 和 Network 是否有错误

联系支持

如果以上方法都无法解决问题,请提供以下信息:

  1. 数据库查询结果截图
  2. 浏览器 Network 标签的 API 请求/响应截图
  3. 后端日志中的相关错误信息
  4. 前端 Console 中的错误信息