# 听书阅读系统 ## 项目简介 听书阅读系统是一个集电子书阅读和听书功能于一体的综合平台,包含用户管理、内容管理、阅读/听书功能等核心模块。 ## 技术栈 ### 后端 - Spring Boot 3.0.2 - MyBatis-Plus 3.5.3.1 - Spring Security - JWT - MySQL 8.0 - Java 17 ### 前端管理端 - Vue 3 - Element Plus - Vue Router - Pinia - Axios - Vite ## 项目结构 ``` book/ ├── src/main/java/com/zhentao/ │ ├── pojo/ # 实体类 │ ├── mapper/ # MyBatis Mapper接口 │ ├── service/ # Service层 │ │ └── impl/ # Service实现类 │ ├── controller/ # Controller层 │ ├── common/ # 通用类(Result、JwtUtil等) │ ├── config/ # 配置类 │ └── BookApplication.java ├── src/main/resources/ │ └── application.properties # 配置文件 └── admin-frontend/ # Vue3前端管理端 ├── src/ │ ├── api/ # API接口 │ ├── views/ # 页面组件 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ └── stores/ # Pinia状态管理 └── package.json ``` ## 数据库配置 1. 执行 `d:\桌面\book.sql` 中的SQL脚本创建数据库和表结构 2. 修改 `src/main/resources/application.properties` 中的数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://192.168.254.101:3306/book?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=your_password ``` ## 后端启动 1. 确保已安装Java 17和Maven 2. 在项目根目录执行: ```bash mvn clean install mvn spring-boot:run ``` 3. 后端服务将在 `http://localhost:8080` 启动 ## 前端管理端启动 1. 进入前端目录: ```bash cd admin-frontend ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run dev ``` 4. 前端管理端将在 `http://localhost:3000` 启动 ## 核心功能模块 ### 用户模块 - 登录/注册 - 用户信息管理 - 用户状态管理 - 会员等级管理 ### 书籍管理模块 - 书籍上传(通过API) - 书籍分类 - 书籍检索 - 章节管理 ### 阅读功能模块 - 字体大小调节 - 书签功能 - 目录 - 翻页模式 - 背景颜色设置 ### 听书功能模块 - 音频播放 - 语速调节 - 章节切换 - 定时 ### 个人中心模块 - 个人信息管理 - 阅读/听书历史记录 - 阅读时长统计 - 会员制度 ## API接口 ### 管理员接口 - `POST /api/admin/login` - 管理员登录 - `POST /api/admin/register` - 管理员注册 ### 用户管理 - `GET /api/admin/user/page` - 分页查询用户 - `GET /api/admin/user/{id}` - 获取用户详情 - `POST /api/admin/user` - 新增用户 - `PUT /api/admin/user` - 更新用户 - `DELETE /api/admin/user/{id}` - 删除用户 - `PUT /api/admin/user/status/{id}` - 更新用户状态 - `PUT /api/admin/user/member/{id}` - 更新会员等级 ### 内容管理 - `GET /api/admin/content/page` - 分页查询内容 - `GET /api/admin/content/{id}` - 获取内容详情 - `POST /api/admin/content` - 新增内容 - `PUT /api/admin/content` - 更新内容 - `DELETE /api/admin/content/{id}` - 删除内容 ### 分类管理 - `GET /api/admin/category/tree` - 获取分类树 - `GET /api/admin/category/list` - 获取分类列表 - `POST /api/admin/category` - 新增分类 - `PUT /api/admin/category` - 更新分类 - `DELETE /api/admin/category/{id}` - 删除分类 ### 标签管理 - `GET /api/admin/tag/list` - 获取标签列表 - `POST /api/admin/tag` - 新增标签 - `PUT /api/admin/tag` - 更新标签 - `DELETE /api/admin/tag/{id}` - 删除标签 ### 章节管理 - `GET /api/admin/book-chapter/list/{contentId}` - 获取电子书章节列表 - `GET /api/admin/audio-chapter/list/{contentId}` - 获取听书章节列表 ## 注意事项 1. 首次使用需要先创建管理员账号(通过注册接口或直接插入数据库) 2. JWT token需要在前端请求头中携带:`Authorization: Bearer {token}` 3. 文件上传功能需要配置文件存储路径 4. 数据库密码请根据实际情况修改 ## 开发说明 - 后端代码统一放在 `com.zhentao` 包下 - 实体类放在 `com.zhentao.pojo` 包下 - 遵循RESTful API设计规范 - 统一使用 `Result` 作为响应格式