听书轮播图功能实现说明.md 4.9 KB

听书轮播图功能实现说明

📋 功能概述

已实现小程序前端听书页面的轮播图功能,轮播图数据从数据库获取,可在后台管理系统中进行自定义设置。

✅ 已实现功能

1. 数据库支持

  • ✅ 创建了 audio_banner 轮播图分组
  • ✅ 添加了3条示例轮播图数据
  • ✅ 支持 targetTypetargetId 字段,可跳转到听书详情页

2. 后端接口

  • ✅ 已有 /api/banner/list?code=audio_banner 接口
  • ✅ 接口返回指定分组下所有启用的轮播图
  • ✅ 支持按 sort 字段排序

3. 小程序前端

  • ✅ 听书页面 (books/pages/listen/listen.vue) 已改为从数据库获取轮播图
  • ✅ 使用 getBannersByCode('audio_banner') 获取轮播图数据
  • ✅ 实现了点击跳转逻辑:
    • targetType='audiobook' 时跳转到听书详情页
    • targetType='book' 时跳转到书籍详情页
    • targetType='url' 时跳转到外部链接(H5支持)
  • ✅ 添加了图片加载失败处理

4. 后台管理系统

  • ✅ 后台管理系统已支持管理听书轮播图分组
  • ✅ 在"轮播图管理"页面,点击"听书"标签可筛选 audio_* 前缀的分组
  • ✅ 可以创建、编辑、删除轮播图
  • ✅ 可以设置轮播图的跳转类型和目标ID

🚀 使用步骤

1. 执行数据库SQL

执行 book/src/main/resources/db/banners_schema.sql 文件,创建轮播图分组和示例数据:

-- 创建听书轮播分组
INSERT IGNORE INTO banner_groups (id, name, code, status, sort, created_at, updated_at) 
VALUES (2, '听书轮播', 'audio_banner', 1, 1, NOW(), NOW());

2. 后台管理系统配置

  1. 登录后台管理系统:http://localhost:8002/pages/login.html
  2. 进入"轮播图管理"页面
  3. 点击"听书"标签,筛选听书相关的轮播图分组
  4. 选择"听书轮播 (audio_banner)" 分组
  5. 添加、编辑或删除轮播图:
    • 标题:轮播图标题
    • 图片URL:轮播图图片地址
    • 跳转类型:选择 audiobook(有声书)
    • 目标ID:输入听书的ID(从听书管理页面获取)
    • 排序:数字越小越靠前
    • 状态:启用/停用

3. 小程序测试

  1. 启动后端服务(端口8001)
  2. 启动小程序
  3. 进入听书页面,查看轮播图是否正常显示
  4. 点击轮播图,测试跳转功能

📝 数据结构

轮播图分组表 (banner_groups)

- id: 主键ID
- name: 分组名称(如:听书轮播)
- code: 分组编码(如:audio_banner)
- status: 状态(1-启用,0-停用)
- sort: 排序值

轮播图表 (banners)

- id: 主键ID
- group_id: 分组ID
- title: 标题
- image: 图片URL
- link: 外链URL(可选)
- target_type: 跳转类型(book/audiobook/url)
- target_id: 目标ID(书籍ID或听书ID)
- sort: 排序值
- status: 状态(1-启用,0-停用)

🔧 配置说明

分组编码规范

  • 首页轮播:home_banner
  • 听书轮播:audio_banner(必须以 audio_ 开头,以便后台管理系统筛选)
  • 电子书轮播:建议使用 ebook_* 前缀

跳转类型说明

  • audiobook:跳转到听书详情页,需要设置 targetId 为听书ID
  • book:跳转到书籍详情页,需要设置 targetId 为书籍ID
  • url:跳转到外部链接,需要设置 link 字段

🐛 常见问题

1. 轮播图不显示

  • 检查后端服务是否启动
  • 检查数据库中是否有 audio_banner 分组
  • 检查分组状态是否为"启用"
  • 检查轮播图状态是否为"启用"
  • 查看小程序控制台是否有错误信息

2. 点击轮播图无反应

  • 检查 targetTypetargetId 是否设置正确
  • 检查听书ID是否存在
  • 查看小程序控制台是否有错误信息

3. 后台管理系统无法看到听书轮播分组

  • 检查数据库中是否有 audio_banner 分组
  • 检查分组编码是否以 audio_ 开头
  • 点击"听书"标签进行筛选
  • 刷新页面

📌 注意事项

  1. 分组编码:听书轮播分组编码必须为 audio_banner,小程序前端使用此编码获取数据
  2. 排序:轮播图按 sort 字段升序排序,数字越小越靠前
  3. 状态:只有状态为"启用"的轮播图才会显示
  4. 图片URL:建议使用完整的图片URL,支持网络图片和本地图片
  5. 目标ID:设置 targetType='audiobook' 时,必须设置 targetId 为有效的听书ID

🎯 后续扩展

  1. 轮播图详情:可以在轮播图中添加更多信息,如主播、描述等
  2. 轮播图样式:可以自定义轮播图的显示样式
  3. 轮播图动画:可以添加轮播图的切换动画效果
  4. 轮播图统计:可以添加轮播图的点击统计功能

📞 技术支持

如有问题,请检查:

  1. 后端服务日志
  2. 小程序控制台错误信息
  3. 数据库中的数据是否正确
  4. 网络请求是否正常