Skip to content

Repository files navigation

📚 小说在线阅读平台 (Online Novel Reading Platform)

一个轻量、开箱即用的 PHP + MySQL 在线小说阅读系统。原生 PHP 编写(无框架依赖),自带阅读器、评论互动、用户体系与积分等级系统,适合个人搭建小说 / 文集 / 长文阅读站。

移动端优先设计,支持深色模式、语音朗读、章节进度记忆。


🖼️ 演示截图

截图文件位于 screenshots/ 目录下。

阅读页
📖 阅读页面
书架首页
🏠 书架首页
评论区
💬 评论区
个人中心
👤 个人中心
页面 主要功能
📖 阅读页面 小说正文展示、字体/主题切换、阅读进度自动保存
🏠 书架首页 小说列表、搜索
💬 评论区 支持回复、点赞、标签系统(⭐金标/银标/普通)
👤 个人中心 积分等级、阅读统计、绑定邮箱、修改资料

💡 截图文件位于 screenshots/ 目录。

✨ 功能特性

阅读体验

  • 章节阅读器:自动解析 TXT 章节,支持上一章 / 下一章 / 章节跳转
  • 阅读设置:字号、主题(浅色 / 深色 / 护眼)、行距等实时调整并本地记忆
  • 字数与阅读时长预估:每章标题旁显示"本章约 N 字 · 预计阅读 M 分钟"(按 500 字/分钟估算)
  • 段落高亮笔记:长按 / 选中任意文字即可添加高亮与笔记,数据保存在浏览器本地(LocalStorage),无需登录
  • 语音朗读 (TTS):内置迷你朗读播放器
  • 阅读进度记忆:自动记录上次阅读位置

用户与社区

  • 注册 / 登录(用户名或邮箱),游客数据可在登录后合并
  • 个人主页 / 个人中心,展示等级、积分、阅读时长、追更与收藏
  • 评论区:支持盖楼回复、点赞、标签,评论回复 / 点赞邮件通知
  • 作品投稿入口

积分与等级系统

  • 积分获取:有效阅读(1 分钟 = 1 积分,含防挂机机制)、每日签到、发表书评、收藏书籍
  • 签到规则:每日 +20;连续签到超过 2 天每次 +40;连续满 7 天额外 +150
  • 11 级等级体系(Lv0–Lv10),前松后紧的成长曲线
  • 五阶段视觉主题:朴素基础 → 黄金尊贵 → 钻石璀璨 → 皇家紫韵 → 神圣流光(Lv10 流光特效),在评论徽章、个人主页、个人中心三处统一呈现

管理

  • 数据看板(浏览量 / 读者 / 评论 / 追更统计)
  • 管理员身份基于管理员用户名判定
  • 访问日志记录

🛠 技术栈

  • 后端:PHP 7.4+ / 8.x(原生,MVC 组织)
  • 数据库:MySQL 5.7+ / 8.0(utf8mb4)
  • 前端:原生 HTML / CSS / JavaScript(无构建步骤)
  • 邮件:PHPMailer(SMTP)

🚀 快速安装

方式一:图形化安装向导(推荐)

  1. 将项目文件上传到网站根目录(如 /var/www/html/novel/)。
  2. 创建一个空的 MySQL 数据库(或准备好可建库的数据库账号)。
  3. 浏览器访问 http://你的域名/install.php,按提示填写数据库信息与管理员账号。
  4. 安装成功后 务必删除 install.php

方式二:手动安装

  1. 导入数据库结构:
    mysql -u root -p 你的数据库名 < install.sql

    install.sql 中默认管理员为 admin / admin123(首次登录后请立即修改)。

  2. 复制并修改配置:编辑 config/database.php,填写数据库连接信息。
  3. 如需邮件功能,编辑 mail.php 填写 SMTP 信息(不需要可留空占位符)。
  4. 确保 avatars/submissions/tts_cache/ 目录可写:
    chmod -R 755 avatars submissions tts_cache

添加小说内容

  • 001/(或新建 00X/)目录放入 UTF-8 编码的 TXT 正文文件;
  • 章节以「第X章 标题」独立成行作为切分标记;
  • 修改对应目录 index.php 顶部的 $file 指向你的 TXT 文件名即可。
  • 项目自带一份 001/sample.txt 示例正文,可直接体验。

📂 目录结构

├── index.php            # 书架首页
├── 001/                 # 示例小说(含 index.php 阅读器 + 示例正文)
├── api.php              # 后端 API 路由
├── config/database.php  # 数据库配置
├── controllers/         # 控制器
├── models/              # 数据模型
├── includes/            # 公共逻辑(积分系统 / helpers)
├── assets/              # 前端资源(app.js / app.css / levels.css ...)
├── phpmailer/           # 邮件库
├── ucenter.php          # 个人中心
├── profile.php          # 个人主页
├── dashboard.php        # 数据看板
├── install.php          # 安装向导(装完请删除)
└── install.sql          # 数据库结构

📝 更新日志 (Changelog)

v3.0 (2026-07-28)

  • 新增:阅读笔记多端同步 — 高亮笔记从本地 LocalStorage 升级为数据库永久保存,登录后自动同步到服务端,同一账号跨设备共享笔记
  • 优化:TTS 语音朗读大幅提升流畅度 — 修复每遇到逗号就拆分请求导致的频繁断句卡顿,改为按句号/问号/感叹号分段后合并为 80~150 字 chunk,并引入下一段预加载机制
  • 优化:默认字号调大 — 桌面端 20px→22px,移动端 16px→18px,字号滑块上限 25→28
  • 🐛 修复:笔记跨设备不同步的问题api() 函数中 GET 请求参数被错误放在请求体(浏览器忽略),导致 get_notes 永远返回空数据,改为 GET 参数拼接到 URL
  • 🐛 修复:TTS 朗读卡顿、跳段、中断 — 逗号不再触发独立 TTS 请求,合并段落减少请求频次,预加载消除段间空白
  • ♻️ 优化:模板化部署 — 硬编码域名替换为 {DOMAIN} 占位符,方便二次部署

v2.0

  • ✨ 新增:积分与等级系统(Lv0–Lv10),含阅读计时、每日签到、书评、收藏多种积分来源
  • ✨ 新增:五阶段等级视觉主题,评论徽章 / 个人主页 / 个人中心统一渲染,Lv10 流光特效
  • ✨ 新增:每章字数与预计阅读时间显示
  • ✨ 新增:本地化段落高亮笔记(LocalStorage,无需登录 / 数据库)
  • ✨ 新增:图形化安装向导 install.php
  • 🐛 修复:个人中心积分进度条与"距下一等级"缺口显示异常(字段命名不一致导致的 undefined / 暂未统计)
  • 🐛 修复:阅读页因脚本语法错误导致的"阅读设置弹窗打不开"及积分心跳 / 签到失效
  • 🐛 修复:段落笔记按钮图标非法转义显示为乱码的问题
  • 🐛 修复:满级 Lv10 用户缺口信息展示逻辑
  • ♻️ 优化:等级计算前后端字段兼容与兜底

v1.0

  • 章节阅读器、深色模式、语音朗读
  • 用户注册登录、评论区(盖楼 / 点赞 / 标签)
  • 个人中心、追更收藏、作品投稿
  • 数据看板、邮件通知

📄 开源协议

本项目基于 MIT License 开源,详见 LICENSE

使用者需自行对所发布 / 收录的小说内容合法性负责,请勿上传未经授权的版权作品。项目仓库不含任何版权正文,仅提供示例内容。

About

轻量级小说在线阅读平台(Light Novel Reader)。基于 PHP + MySQL 纯手工构建,无需任何框架,开箱即用。支持用户注册登录、阅读进度云端同步、评论区互动(含金标/银标标签系统)、积分等级成长体系、作品投稿审核、管理后台数据看板、邮箱通知绑定、暗黑模式切换、TTS语音朗读等完整功能。适合搭建个人/小团体轻小说阅读站。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages