upload project source code
This commit is contained in:
153
后端源码/yifan.action-ai.cn/api/sql/README_naming_solutions.md
Normal file
153
后端源码/yifan.action-ai.cn/api/sql/README_naming_solutions.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# 改名方案页面无数据问题排查指南
|
||||
|
||||
## 问题现象
|
||||
前端页面 `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 中的错误信息
|
||||
Reference in New Issue
Block a user