upload project source code

This commit is contained in:
2026-04-30 18:49:43 +08:00
commit 9b394ba682
2277 changed files with 660945 additions and 0 deletions

View 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 中的错误信息