听书前端页面没有显示轮播图,可能的原因:
audio_banner 分组或轮播图数据不存在audio_banner_insert.sqlON DUPLICATE KEY UPDATE 确保数据可以重复执行执行以下SQL脚本,确保数据库中有听书轮播图数据:
-- 方式1: 执行独立SQL脚本
-- 执行 book/src/main/resources/db/audio_banner_insert.sql
-- 方式2: 直接执行SQL命令
INSERT INTO banner_groups (id, name, code, status, sort, created_at, updated_at)
VALUES (2, '听书轮播', 'audio_banner', 1, 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE
name = '听书轮播',
status = 1,
updated_at = NOW();
-- 插入轮播图数据
INSERT INTO banners (group_id, title, image, link, target_type, target_id, sort, status, created_at, updated_at) VALUES
(2, '人类简史 (精讲)', 'https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=1080&h=600&fit=crop', NULL, 'audiobook', NULL, 1, 1, NOW(), NOW()),
(2, '明朝那些事儿', 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=1080&h=600&fit=crop', NULL, 'audiobook', NULL, 2, 1, NOW(), NOW()),
(2, '三体(全集)', 'https://images.unsplash.com/photo-1532012197267-da84d127e765?w=1080&h=600&fit=crop', NULL, 'audiobook', NULL, 3, 1, NOW(), NOW());
检查数据库中是否有数据:
-- 检查分组
SELECT * FROM banner_groups WHERE code = 'audio_banner';
-- 检查轮播图
SELECT * FROM banners WHERE group_id = 2;
测试后端接口是否正常:
# 测试接口
curl "http://localhost:8001/api/banner/list?code=audio_banner"
应该返回类似以下格式的数据:
{
"code": 200,
"message": "success",
"data": [
{
"id": 4,
"groupId": 2,
"title": "人类简史 (精讲)",
"image": "https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=1080&h=600&fit=crop",
"targetType": "audiobook",
"targetId": null,
"sort": 1,
"status": 1
}
]
}
开始加载听书轮播图...轮播图API响应: {...}轮播图数据加载成功,共 X 条如果控制台显示数据加载成功,但页面没有显示轮播图,检查:
bannerBooks.length 是否为 0解决方案:
可能原因:
解决方案:
status 字段,确保为 1(启用)audio_bannerstatus 字段,确保为 1(启用)解决方案:
可能原因:
解决方案:
bannerBooks 数组是否有数据在小程序开发者工具的控制台中,查看以下日志:
开始加载听书轮播图...轮播图API响应: {...}轮播图数据加载成功,共 X 条在小程序开发者工具的网络面板中,查看:
http://localhost:8001/api/banner/list?code=audio_banner确保返回的数据格式正确:
{
code: 200,
data: [
{
id: 4,
title: "人类简史 (精讲)",
image: "https://...",
targetType: "audiobook",
targetId: null,
// ...
}
]
}
如果按照以上步骤操作后,轮播图仍然不显示,请提供以下信息:
这样可以帮助更快地定位问题。