154 lines
4.2 KiB
Markdown
154 lines
4.2 KiB
Markdown
# 改名方案页面无数据问题排查指南
|
||
|
||
## 问题现象
|
||
前端页面 `module_yifan/yifan_naming_solutions` 显示"暂无数据"
|
||
|
||
## 可能原因及解决方案
|
||
|
||
### 1. 数据库中没有测试数据(最可能)
|
||
|
||
**排查方法:**
|
||
```sql
|
||
-- 检查表中是否有数据
|
||
SELECT COUNT(*) FROM yifan_naming_solutions;
|
||
|
||
-- 查看所有数据
|
||
SELECT * FROM yifan_naming_solutions;
|
||
|
||
-- 查看启用状态的数据
|
||
SELECT * FROM yifan_naming_solutions WHERE status = 0;
|
||
```
|
||
|
||
**解决方案:**
|
||
执行测试数据插入脚本:
|
||
```bash
|
||
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. 权限问题
|
||
|
||
**排查方法:**
|
||
```sql
|
||
-- 检查用户是否有查询权限
|
||
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. 后端服务问题
|
||
|
||
**排查方法:**
|
||
查看后端日志:
|
||
```bash
|
||
# 查看最近的日志
|
||
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:检查数据库
|
||
```sql
|
||
-- 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:插入测试数据
|
||
```sql
|
||
-- 简单的测试数据(假设 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 测试:
|
||
```bash
|
||
# 获取列表(需要替换 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 中的错误信息
|