# ebook-web **Repository Path**: HelloPole/ebook-web ## Basic Information - **Project Name**: ebook-web - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-20 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电子书阅读网站 基于 Spring Boot 的电子书阅读应用,支持 MySQL、邮箱注册/登录、阅读统计与评分。 ## 功能 - 深色护眼主题,炫酷 UI - 添加电子书:书名、简介、正文、作者、来源标识,可设为公开 - 拆词模糊搜索:书名+作者,如「男人」匹配「男生的人生」 - 权限:默认仅自己可见,公开后可被他人搜索 - 阅读页:可调字体、1-5 星评分、自动增加阅读次数 - 邮箱注册:QQ 邮箱发送验证码 - 登录:连续输错 5 次锁定 1 小时 - 忘记密码:验证码重置,可解除锁定 - **API 上传**:每用户有 AppKey,可通过接口上传电子书 ## 环境要求 - JDK 17+ - MySQL 5.7+ - 配置 QQ 邮箱 SMTP(用于验证码) ## 数据库 创建数据库: ```sql CREATE DATABASE ebook DEFAULT CHARACTER SET utf8mb4; ``` 表结构由 JPA 自动创建(ddl-auto: update),也可参考 `src/main/resources/schema.sql`。 ## 配置 复制 `config/env-example.properties` 为 `config/env.properties`,修改配置。环境配置放在项目根目录 `config` 下。 ## 运行 ### 开发模式 ```bash mvn spring-boot:run ``` 确保 `config/env.properties` 存在且 MySQL 已启动。 ### 生产部署 1. 打包:`mvn package` 2. 部署时 config 与 jar 同级,或设置工作目录为含 config 的目录 3. 启动:`java -jar ebook-web-1.0.0.jar` ## 上传 API 登录后进入「API」页面获取 AppKey,使用以下方式上传: ```bash curl -X POST "http://localhost:8080/api/books" \ -H "X-App-Key: 你的AppKey" \ -H "Content-Type: application/json" \ -d '{"title":"书名","content":"正文","author":"作者","summary":"简介","isPublic":false}' ``` 或使用 `?appkey=xxx` 参数。必填:`title`、`content`;选填:`author`、`summary`、`sourceFlag`、`isPublic`。 ## 项目结构 ``` ebook-web/ ├── config/ # 环境配置(项目根目录下) │ ├── env.properties │ └── env-example.properties ├── logs/ # 运行日志 └── src/ # 项目源码 ```