Appearance
更新日志
所有的重要更新都将记录在此页面。
[1.7.10] - 2026-01-09
🛡️ 存储库与安全
- WebDAV 连接优化:
- 修复鉴权错误处理:解决了 WebDAV 存储库鉴权失败导致系统错误跳转至登录页的问题,现在能更精准地捕获并提示认证异常。
- 增强 URL 校验:在后端增加了严格的 URL 格式校验,防止因无效地址导致的连接崩溃,并同步优化了前端的实时校验反馈。
- 认证逻辑修复:
- 激活状态同步:修复了新用户登录后即便已激活仍可能跳转至激活页面的路由守卫逻辑,引入了服务端状态实时校验与 10 秒短缓存机制。
✨ 交互与 UI 体验
- 组件功能增强:
- 书籍总数显示:在
BookGrid组件中新增了书籍总数显示功能,让库内资源规模一目了然。
- 书籍总数显示:在
[1.7.8-1.7.9] - 2026-01-09
✨ 播放器深度重构与优化
- 核心功能升级:
- 重构初始化逻辑:引入初始化锁机制,彻底解决多实例状态冲突,确保播放器状态的一致性。
- 进度恢复增强:优化了基于 IndexedDB 的本地回退机制,并改进了进度恢复逻辑,有效避免跳过片头导致的恢复干扰。
- 📱 PWA 体验深度增强
- 资源与性能优化:优化了 Manifest 配置、资源生成策略及缓存逻辑,显著提升离线使用性能。
- 视觉规范更新:同步更新了主题颜色及 PWA 相关的品牌视觉资源。
- 🚀 其它功能改进
- 智能缓存:缓存“自动缓存下一集”功能,大幅提升连续听书的流畅度。
- 储存库管理:优化了储存库管理界面以及相关页面的布局与操作流程,提升了用户体验。
- 主题适配:优化了前端整体主题颜色配置,界面视觉更加统一。
[1.7.6-1.7.7] - 2026-01-08
🛡️ 授权与系统安全
- 授权展示纠正:修复了个人中心在特定情况下(如 Token 缺失或授权已撤销)错误显示“已激活”的问题。
- ID 体系标准化:全面废弃冗余的
server_id字段,统一采用client_id作为设备唯一标识,简化了多端授权管理的逻辑。
✨ 播放与体验优化
- 优化了播放界面:对播放器的视觉布局与交互细节进行了微调,提升了使用的沉浸感。
- 优化了播放重试机制:改进了在网络波动环境下的自动重试逻辑,播放过程更加稳定流畅。
- 优化了 PWA 的用户体验:
- 针对 PWA 模式下的离线缓存与离线图标进行了优化,提升了类原生应用的体验。
- 新增 PWA 快捷指令:长按桌面图标即可出现“继续播放”与“我的收藏”快捷菜单,支持一键直达核心功能。
[1.7.5] - 2026-01-07
✨ 交互与用户体验优化
- 书籍编辑页重构:
- 优化了书籍详情编辑页面的布局结构,提升了信息展示的清晰度。
- 改进了元数据修改的交互逻辑,使编辑过程更加流畅直观。
- 激活流程深度改进:
- 优化了系统激活页面的用户体验,简化了激活步骤。
- 修复了激活后的自动跳转逻辑,确保用户在激活成功后能无缝返回管理界面。
- 首页布局精修:
- 优化了首页的网格布局与加载动画,提升了视觉稳定性。
- 增加了空状态(Empty State)处理,为新用户提供更好的引导。
🛠️ 系统功能增强
- 数据维护工具:
- 新增清理数据功能:在管理面板中增加了“清理脏数据”选项,支持一键扫描并移除数据库中冗余的书籍与章节记录,保持数据库轻量高效。
- 配置逻辑简化:
- 移除测试连接功能:去除了存储库配置中冗余的“测试连接”按钮,改为在保存时自动进行静默校验,简化了配置流程。
- UI 组件样式统一:
- 进一步统一了管理后台的 UI 组件样式,包括按钮、输入框及加载状态。
🐞 稳定性修复
- 认证逻辑修复:修复了在特定网络环境下激活状态校验失效的问题。
- 日志显示优化:改进了系统日志中关于任务进度的显示方式。
[1.7.4] - 2026-01-05
🚀 存储性能突破(核心更新)
- 缓存引擎重构:
- IndexedDB 迁移:将全站书籍列表及详情的缓存引擎从
localStorage彻底迁移至 IndexedDB(基于localforage)。 - 突破容量限制:彻底解决了由于书籍数量过多、封面图过大导致的浏览器
QuotaExceededError(存储配额超限)报错。现在即便拥有数千本书籍,系统依然能保持极速的列表加载性能。 - 内存管理优化:引入了自动清理逻辑,刷新页面时自动释放旧版
localStorage冗余空间,保持浏览器环境的纯净。 - 大数据保护:增加了封面图缓存大小阈值检测,针对超大封面自动转为流式加载,避免占用过多本地磁盘空间。
- IndexedDB 迁移:将全站书籍列表及详情的缓存引擎从
📝 文档中心焕新
- 交互式预览组件:
- 新增图片预览组件:在文档中引入了全新的
DocImagePreview交互组件,支持按“上手流程”、“听书体验”、“管理配置”等功能维度分类查看系统界面。 - 沉浸式体验:支持点击放大、灯箱模式以及手机 Mockup 预览,让用户在安装前即可全方位了解系统 UI。
- 新增图片预览组件:在文档中引入了全新的
- 内容深度重构:
- 部署指南升级:重构了 Docker 与 fnOS 部署文档,增加了详细的端口映射与网络配置说明。
- 远程访问与 SSL:新增了“远程访问与 SSL 配置”章节,提供了 Lucky 和 Nginx 的保姆级配置教程,助力 PWA 顺利安装。
- 资源规范指引:在 FAQ 中明确了“标准命名格式”与“本地元数据规范”,大幅提升刮削成功率。
🛠️ 系统稳定性
- 二进制构建同步:同步更新了核心执行文件
leelaa-reader.fpk,集成了最新的性能优化补丁。 - 路由逻辑精修:重构了管理相关页面的路由组织结构,使其更符合逻辑化的模块划分。
[1.7.3] - 2026-01-05
✨ 视觉与 UI 体验优化
- 全站暗色模式深度适配:
- 输入框样式修复:彻底解决了书籍编辑页、搜索框等组件在暗色模式下聚焦时的“白屏”问题,并修复了浏览器自动填充(Autofill)导致的背景色冲突。
- 管理组件优化:修复了书籍管理页面右上角标签(在库/回收站)在暗色模式下文字颜色过深的问题,提升了对比度。
- 抽屉组件适配:修复了储存库管理移动端抽屉背景在暗色模式下显示异常的问题,保持了全局视觉的一致性。
- 播放器交互精修:
- 全新管理按钮:将播放页右上角的编辑按钮图标更换为更现代的
SettingsOutline,并优化了圆角包裹样式与交互反馈。 - 日间模式适配:修复了播放页按钮图标在日间模式下颜色过深(偏黑)的问题,确保其在各种背景下均有良好的视觉呈现。
- 全新管理按钮:将播放页右上角的编辑按钮图标更换为更现代的
- 布局间距优化:
- 安全区域适配:优化了全站(特别是首页顶部)在带“刘海”移动设备上的安全距离适配,解决了 Padding 与安全区 inset 冲突导致的间距丢失。
- UI 冗余清理:移除了多处冗余的背景色定义,进一步统一了全站的渐变与毛玻璃(Backdrop Blur)视觉风格。
🛠️ 稳定性与底层优化
- 构建依赖升级:
- Vite 6 核心升级:将构建引擎升级至最新的 Vite 6.4.1,提升了开发环境的响应速度与打包产物的体积优化。
- 依赖库更新:同步更新了前端相关核心依赖,确保了构建流程的稳定性与安全性。
[1.7.2] - 2026-01-04
🛠️ Web端 (Frontend) 稳定性修复
- 构建引擎回归:修复了由于实验性构建工具导致的
estree-walker依赖导出错误。 - 环境稳定性:撤回了不稳定的构建依赖,回归 Vite 6 稳定版核心,解决了开发服务器无法启动及打包失败的问题。
- 依赖优化:更新并锁定了前端核心构建依赖,确保在不同环境下的部署一致性。
⚙️ 后端 (Backend) 优化
- 路由兼容性增强:优化了服务端对标准化路由请求的响应处理,确保移动端(Uniapp)与 Web 端在管理接口调用上的完全对等。
- 日志记录精修:微调了任务执行过程中的日志输出格式,使其在系统日志面板中显示更加整齐。
- 由于此次更新涉及修改库表结构,请安装旧版本的用户删掉数据库,重新安装。
[1.7.1] - 2026-01-04
🚀 性能大跃进
- 极速刮削引擎:
- 并行处理:引入了章节级并行刮削逻辑,单本书籍的元数据获取速度提升 2 倍以上。
- 阶梯式读取策略:优化了 WebDAV 文件头读取算法,优先尝试读取 512KB/2MB 头部信息,大幅减少了网络流量消耗和等待时间。
- 多任务并发:后台任务 Worker 升级为支持 2 路并发处理,支持同时进行扫描、刮削和章节生成。
- IO 效率优化:
- 批量事务处理:章节入库由逐条写入改为批量事务(Transaction)写入,显著降低了磁盘 IO 压力,在大规模入库时表现更稳健。
- 目录列表缓存:为 WebDAV 扫描引入了目录级缓存,有效减少了冗余的远程请求。
🛠️ 稳定性与修复
- API 稳定性修复:
- 连接器优化:修复了浏览目录接口在特定 WebDAV 服务器下的 500 错误,优化了 SSL Agent 匹配与 Proxy 绑定逻辑。
- 错误穿透:现在能更准确地识别并透传 WebDAV 的 401(身份验证失败)等状态码,前端提示更精准。
- 扫描逻辑精修:
- 文件过滤增强:明确并强化了对
.m4b格式的排除逻辑。 - SSE 性能优化:对进度推送实施了节流(Throttling)处理,防止在大规模扫描时因消息过于频繁导致前端界面卡顿。
- 文件过滤增强:明确并强化了对
[1.7.0] - 2026-01-04
🚀 架构优化
- 模型精简回归:
- 架构精简:根据核心设计理念,移除了测试性的
book_file表,将文件路径重新整合至chapter表中,保持了数据库结构的纯粹与高效。 - 逻辑重构:同步重写了 Scanner 与 Scraper 的数据持久化层,确保在精简架构下依然具备极高的入库可靠性。
- 架构精简:根据核心设计理念,移除了测试性的
✨ 视觉与交互优化
- 全站圆角化升级:
- 统一了全站交互组件的视觉语言,将“添加储存库”、“立即添加”、“清除搜索”等核心按钮及搜索框升级为 全圆角(Pill-shaped) 设计,视觉更现代、更亲和。
- 详情页瘦身:
- 移除冗余操作条:移除了书籍详情页底部的固定操作栏(Bottom Actions),消除视觉遮挡,将“收藏”与“播放”功能更自然地整合进页面内容流中,提升了浏览体验。
🎵 播放引擎增强
- 系统级媒体控制优化:
- MediaSession 深度同步:重构了播放器与系统媒体中心的交互逻辑。现在播放状态(播放/暂停)将直接通过音频底层事件实时同步至锁屏控制与通知中心,解决了状态显示延迟或不同步的问题。
[1.6.14 - 1.6.17] - 2026-01-04
🚀 新增功能
- 核心逻辑升级:
- 智能刮削分配:后端升级了路径识别算法,能够根据书籍存放目录自动匹配最合适的刮削配置。
✨ 体验优化
- 全站滚动优化:Web 端引入物理阻尼滚动效果(Lenis),长列表滑动更加丝滑顺畅。
- 加载视觉统一:全站统一采用果粉风格加载动画,交互反馈更精致。
- 系统启动加速:优化了数据库初始化逻辑,大幅提升了在 NAS 等低功耗设备上的启动稳定性,并精简了冗余日志。
🛠️ 问题修复
- 初始化报错修复:彻底解决了部分环境下由于数据库表缺失导致的管理员账号创建失败问题。
[1.6.13] - 2026-01-02
优化
- 智能解析升级:
- 多分隔符支持:章节标题解析引擎现在支持
|、丨、:等更多样化的分隔符,大幅提升了对复杂文件名的兼容性。 - 书名感知清理:引入了书名感知的章节标题清理算法,能够智能识别并自动剔除文件名中冗余的书名信息(如“书名 - 章节名”),让章节列表更清爽。
- 章节识别增强:优化了章节特征提取逻辑,现在能更精准地识别“第x章”等中文命名习惯。
- 多分隔符支持:章节标题解析引擎现在支持
- 系统日志体验:
- UI 瘦身:移除了系统日志页面中冗余的“连接状态”卡片,优化了页面空间利用率。
- 任务控制优化:将任务列表中的“取消”按钮从图标改为更直观的圆角文字按钮。
- 防重点击保护:为任务操作按钮增加了 Loading 状态和逻辑层面的防重点击保护,确保操作的确定性。
- 后端日志增强:
- 刮削过程透明化:增加了音频元数据流式提取过程的详细调试日志,方便排查特定格式文件的解析问题。
修复
- 标题前缀顽疾:彻底解决了部分特殊格式下章节标题重复前缀无法被公共前缀算法识别并去除的问题。
[1.6.8 - 1.6.11] - 2026-01-02
优化
- 交互重构:
- 极致滚动体验:引入了 Lenis 平滑滚动引擎,实现了全站级别的物理阻尼感滚动,彻底解决了长列表页面的滑动生硬感,操作反馈极其“跟手”。
- 组件化封装:将播放控制条(ControlBar.vue)、通用章节列表(ChapterList.vue)等核心逻辑从主页面中解耦,提升了代码的复用性与可读性。
- 加载体验:
- Apple 风格 UI:全站加载图标统一升级为 Apple 风格(iOS Spinner),并新设了 [AppleSpinner.vue](file:///e:/github/leelaa-reader-api/frontend/src/components/AppleSpinner.vue) 基础组件。
- 首屏秒开优化:重写了
index.html的首屏加载动画,支持基于媒体查询的系统级深色模式适配,解决了进入应用时的白屏闪烁问题。 - 视觉反馈增强:为播放页书籍封面新增加载时的透明度呼吸特效(Breathing Effect),精准捕获音频缓冲状态。
- 性能与状态:
- 播放状态精修:重构了
playerStore的加载状态监听逻辑,通过waiting和canplay事件精准控制 UI 加载反馈,减少了播放卡顿时用户的困惑。
- 播放状态精修:重构了
修复
- 代码健壮性:修复了激活页面(Activate.vue)中因 HTML 标签未闭合导致的严重语法错误及开发环境下的热更新失效问题。
- 依赖清理:深度清理了
Player.vue和BookDetail.vue中多余的导入和冗余代码,减小了最终打包体积。
[1.6.6] - 2026-01-01
优化
- UI 统一:统一了播放页章节卡片的背景色逻辑,采用主色调透明度区分选中状态,视觉更加和谐。
- 播放体验:优化了章节切换时的自动滚动逻辑,确保当前播放章节始终可见。
修复
- 自动播放:解决了从书籍详情页点击“继续阅读”进入播放器时,部分浏览器下无法自动播放的问题。
[1.6.3 - 1.6.5] - 2026-01-01
新增
- 回收站功能:支持书籍的软删除与恢复,误删书籍可一键找回。
- 权限管理:完善了管理员后台的权限校验机制。
样式
- 布局优化:将首页书籍网格由 3 列调整为 2 列,显著提升了移动端大屏手机的视觉美感。
- 全局 UI:统一了全站按钮、输入框的交互样式。
[1.6.0] - 2025-12-25
新增
- 高级播放控制:新增播放速度调节(0.5x - 2.0x)、睡眠定时关闭、跳过片头片尾功能。
- 进度条优化:优化进度条拖拽体验,防止播放卡顿。
- 全局搜索:支持通过书名、作者等关键词快速检索书籍。
- 播放历史:支持查看最近播放记录,方便快速找回未听完的内容。
优化
- WebDAV 管理:改进 WebDAV 源管理逻辑,增强错误处理与连接稳定性。
- 主题系统:完善深色模式(Dark Mode)支持,支持跟随系统或手动切换主题。
- 性能提升:优化了书籍列表的请求缓存机制,页面加载更迅速。
[1.5.0] - 2025-12-25
新增
- 用户认证:实现完整的用户登录、认证及阅读记录同步功能。
- 多用户系统:支持多账号独立登录,各用户播放进度、收藏夹完全隔离。
- 管理后台:新增书籍管理页面、刮削配置管理及目录规则配置功能。
- 任务管理:新增可视化后台任务监控,支持任务的暂停与恢复。
- 实时监控:集成 SSE(Server-Sent Events)功能,实现任务进度的实时推送。
[1.0.0 - 1.4.0] - 2025-12-23 至 2025-12-24
核心功能
- WebDAV 集成:支持添加多个 WebDAV 数据源,实现有声书文件的自动发现与扫描。
- 智能元数据:
- 集成喜马拉雅在线刮削,支持自动获取封面、简介、演播者等信息。
- 支持基于规则的元数据解析,可从目录名中提取年份、演播者等关键信息。
- 智能封面组件,自动处理并优化封面显示逻辑。
- 解析引擎:
- 增强目录名解析逻辑,支持更多复杂的命名格式。
- 自动生成章节信息,支持音频文件元数据(ID3)提取。
- 引入书籍冲突更新逻辑,确保元数据更新的准确性。
- 部署与工程:
- 提供完整的 Docker 及 docker-compose 部署支持。
- 支持数据库自动初始化(schema.sql 自动加载)。
- 建立完善的日志系统,支持调试日志输出到控制台。
