前端页面显示"暂无推荐书籍"和"暂无畅销书籍",书籍列表不显示。
res.code === 200res.data 是否存在res.data 是否为数组cd book
mvn spring-boot:run
验证后端服务:
http://localhost:8081http://localhost:8081/api/book/today-recommend?limit=8http://localhost:8081/api/book/bestsellers?limit=10在 Navicat 中执行:
USE books_db;
-- 检查书籍数量
SELECT COUNT(*) as total FROM books WHERE status = 1;
-- 查看今日推荐应该返回的数据
SELECT id, title, status, created_at
FROM books
WHERE status = 1
ORDER BY created_at DESC
LIMIT 8;
-- 查看畅销书籍应该返回的数据
SELECT id, title, status, read_count
FROM books
WHERE status = 1
ORDER BY read_count DESC, view_count DESC
LIMIT 10;
如果查询结果为空,需要执行SQL脚本插入数据。
执行 book/src/main/resources/db/quick_insert_books.sql 文件。
检查 books/utils/config.js:
// 确保BASE_URL正确
const BASE_URL = 'http://localhost:8081/api'
在微信开发者工具中:
开始加载今日推荐...今日推荐API响应: {...}今日推荐数据加载成功,共 X 本在微信开发者工具中:
GET /api/book/today-recommend?limit=8GET /api/book/bestsellers?limit=10code: 200 和 data: [...]现象:Network面板显示请求失败,Console显示网络错误
解决方案:
cd book
mvn spring-boot:run
现象:API返回 code: 200, data: [](空数组)
解决方案:
执行 book/src/main/resources/db/quick_insert_books.sql 文件
现象:Network面板显示404或网络错误
解决方案:
检查 books/utils/config.js 中的 BASE_URL 是否正确
现象:Network面板显示CORS错误
解决方案:
@CrossOrigin(origins = "*")现象:Console显示"数据为空或格式不正确"
解决方案:
data 字段是数组在 books/pages/index/index.vue 的 loadTodayRecommend 方法中,添加:
console.log('完整API响应:', JSON.stringify(res, null, 2))
使用浏览器或Postman测试:
# 今日推荐
curl http://localhost:8081/api/book/today-recommend?limit=8
# 畅销书籍
curl http://localhost:8081/api/book/bestsellers?limit=10
在 Navicat 中执行后端使用的SQL:
-- 今日推荐SQL
SELECT * FROM books
WHERE status = 1
ORDER BY created_at DESC
LIMIT 8;
-- 畅销书籍SQL
SELECT * FROM books
WHERE status = 1
ORDER BY read_count DESC, view_count DESC
LIMIT 10;
修复后,请确认:
修复成功后,应该看到:
控制台日志:
开始加载今日推荐...
今日推荐API响应: {code: 200, data: [...]}
今日推荐数据加载成功,共 8 本
开始加载畅销书籍...
畅销书籍API响应: {code: 200, data: [...]}
畅销书籍数据加载成功,共 10 本
前端页面:
Network面板:
创建时间:2024年 最后更新:2024年