diff --git a/README.en.md b/README.en.md index f0c8d4f..1f56b56 100644 --- a/README.en.md +++ b/README.en.md @@ -14,7 +14,7 @@ A self-hosted reading and media library for browsers and Android, with EPUB typo - **Built for reading**: preserve EPUB publisher styles, detect TXT encodings and chapters, and enjoy comics, paged or scrolling reading, themes, fonts, and text-to-speech. - **Media browsing**: browse movies and series, artists and albums, or audiobooks and narrators. Filter by library, search, save favorites, and manage playback history and queues. - **Metadata and organization**: read local tags, NFO, artwork, lyrics, and subtitles. Configure TMDB and MusicBrainz for online matching, review candidates, or edit metadata and editions manually. -- **Continue across devices**: accounts have independent shelves, notes, reading and playback progress. Web video uses Plyr; audio includes lyrics, speed controls, and a sleep timer. Android supports native background playback. +- **Continue across devices**: accounts have independent shelves, notes, reading and playback progress. Web video uses DPlayer; audio includes lyrics, speed controls, and a sleep timer. Android supports native background playback. - **Simple hosting**: one Docker container serves the backend and Web UI. Media scanning only reads source files, with separate databases and service threads for reading and media. ## Supported content @@ -34,9 +34,9 @@ A self-hosted reading and media library for browsers and Android, with EPUB typo Prepare Docker, Docker Compose, a book directory, and a separate data directory. Open `http://:5888` after starting the service. The first registered account becomes the administrator. Follow the [getting started guide](docs/getting-started.en.md). -Reader opens on the bookshelf by default. Use the media entry to browse your media; on mobile, tap the channel title to switch between video, music, audiobooks, and reading. Media settings include multiple themes; reading controls and bookshelf settings remain separate. +Reader opens on the video page (`#/media/video`) by default. Use the channel navigation to switch between video, music, audiobooks, and reading; the media entry on the shelf also opens the video page. Media settings include multiple themes; reading controls and bookshelf settings remain separate. -In media settings, administrators can add a server directory or OpenList library. Mount local media into Docker first and enter its container path. Library creation starts a scan. See the [media guide (中文)](docs/media-user-guide.zh-CN.md) and [OpenList setup (中文)](docs/media-openlist.md). +From the video page, open More actions → Media settings → Media libraries to add a server directory or OpenList library. Mount local media into Docker first and enter its container path. Library creation starts a scan. See the [media guide (中文)](docs/media-user-guide.zh-CN.md) and [OpenList setup (中文)](docs/media-openlist.md). ## Documentation diff --git a/README.md b/README.md index c20f86c..8b11608 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - **专注阅读**:EPUB 保留出版方样式,TXT 支持编码识别与章节切分;支持漫画、分页、滚动、主题、字体和朗读。 - **完整的影音浏览**:电影与剧集、歌手与专辑、有声书与演播者分别组织,支持媒体库筛选、搜索、收藏、历史记录和播放队列。 - **资料与刮削**:读取本地标签、NFO、封面、歌词和字幕;可配置 TMDB 与 MusicBrainz 补全资料,确认匹配后保存,也可手工整理作品与版本。 -- **跨设备继续**:账号独立保存书架、阅读进度、笔记及播放进度。Web 视频采用 Plyr;音频支持歌词、倍速和睡眠定时,Android 支持原生后台播放。 +- **跨设备继续**:账号独立保存书架、阅读进度、笔记及播放进度。Web 视频使用 DPlayer;音频支持歌词、倍速和睡眠定时,Android 支持原生后台播放。 - **适合自部署**:一个 Docker 容器提供服务端与 Web 界面;影音源文件只读扫描,阅读与影音使用独立数据库及服务线程。 ## 支持内容 @@ -34,9 +34,9 @@ 准备 Docker、Docker Compose、书籍目录和独立数据目录。启动后访问 `http://<你的主机>:5888`,首个注册账号成为管理员。部署步骤见[入门指南](docs/getting-started.zh-CN.md)。 -默认进入书架,从「影音」入口打开媒体模块。手机点击顶部频道名称切换影视、音乐、有声书,选择「阅读」返回书架;影音设置内置多种主题,阅读界面与书架设置保持独立。 +打开站点默认进入影视页(`#/media/video`)。可从频道导航切换影视、音乐、有声书,选择「阅读」返回书架;书架右上角的「影音」入口也会打开影视页。影音设置内置多种主题,阅读界面与书架设置保持独立。 -管理员在「影音设置 → 媒体库管理」添加服务器目录或 OpenList。Docker 本地媒体目录需先挂载,再填写容器内路径;创建后自动扫描。详细步骤见[影音手册](docs/media-user-guide.zh-CN.md)和 [OpenList 接入](docs/media-openlist.md)。 +管理员打开影视页右上角「更多操作 → 影音设置 → 媒体库管理」,添加服务器目录或 OpenList。Docker 本地媒体目录需先挂载,再填写容器内路径;创建后自动扫描。详细步骤见[影音手册](docs/media-user-guide.zh-CN.md)和 [OpenList 接入](docs/media-openlist.md)。 ## 文档 diff --git a/docs/business-settings.zh-CN.md b/docs/business-settings.zh-CN.md index ffcf80b..925f596 100644 --- a/docs/business-settings.zh-CN.md +++ b/docs/business-settings.zh-CN.md @@ -1,6 +1,6 @@ # 业务配置 -管理员在「系统设置 → 服务配置」编辑实例业务配置;「影音设置 → 元数据刮削」同时提供 TMDB、MusicBrainz 的直接入口。普通用户无法读取或修改服务凭据。 +管理员在「系统设置 → 服务配置」编辑实例业务配置,其中包含 TMDB、MusicBrainz 等服务分类。普通用户无法读取或修改服务凭据。 | 分类 | 可修改内容 | | --- | --- | diff --git a/docs/configuration.en.md b/docs/configuration.en.md index b539109..01604d6 100644 --- a/docs/configuration.en.md +++ b/docs/configuration.en.md @@ -15,7 +15,7 @@ Read-only books do not prevent account or progress updates in the data directory ## Business settings in the UI -Administrators configure HTTP speech, scanning, login lifetimes, public URL, browser origins and WebDAV under System settings → Service configuration. TMDB and MusicBrainz are also editable in Media settings → Metadata providers. Registration remains under Registration and invitations. Values persist in reader.db and apply without restarting. +Administrators configure HTTP speech, scanning, login lifetimes, public URL, browser origins, TMDB, MusicBrainz and WebDAV under System settings → Service configuration. Registration remains under Registration and invitations. Values persist in reader.db and apply without restarting. On first upgrade, legacy business environment variables are imported once. Existing database values, including cleared credentials, always win. See [business settings (中文)](business-settings.zh-CN.md). @@ -88,7 +88,7 @@ Mount local movie, series, music, and audiobook directories separately (read-onl The official image includes ffprobe and ffmpeg. For native runs, put them on PATH or set MEDIA_FFPROBE_PATH / MEDIA_FFMPEG_PATH to executable paths. They probe metadata and extract embedded resources; they do not enable transcoding. -Configure TMDB credentials and MusicBrainz contact information in Media settings → Metadata providers. Changes apply without restarting. Local tags and NFO work without online credentials. +Configure TMDB credentials and MusicBrainz contact information under System settings → Service configuration. Changes apply without restarting. Local tags and NFO work without online credentials. Configure OpenList in the library creation form; no local mount is needed. Reader must reach OpenList and its download upstreams. Remote embedded metadata is not read, and some drivers require OpenList Web proxy. See [OpenList setup (中文)](media-openlist.md). diff --git a/docs/configuration.zh-CN.md b/docs/configuration.zh-CN.md index 0e7cb74..1ac4177 100644 --- a/docs/configuration.zh-CN.md +++ b/docs/configuration.zh-CN.md @@ -15,7 +15,7 @@ ## 页面业务配置 -管理员在「系统设置 → 服务配置」中管理 HTTP 朗读、扫描、登录有效期、对外地址、浏览器来源及 WebDAV 备份目标。TMDB 与 MusicBrainz 也可在「影音设置 → 元数据刮削」编辑,注册策略沿用「注册与邀请」。配置写入 reader.db,保存后无需重启。详见[业务配置](business-settings.zh-CN.md)。 +管理员在「系统设置 → 服务配置」中管理 HTTP 朗读、扫描、登录有效期、对外地址、浏览器来源、TMDB、MusicBrainz 及 WebDAV 备份目标,注册策略沿用「注册与邀请」。配置写入 reader.db,保存后无需重启。详见[业务配置](business-settings.zh-CN.md)。 升级首次启动会导入旧业务环境变量;数据库存在配置后不再读取这些环境变量,清空字段也不会恢复旧值。 @@ -86,7 +86,7 @@ reader 代理语音请求,不内置合成模型。上游接口需兼容项目 官方镜像包含 ffprobe 和 ffmpeg。本机启动时将二者加入 PATH,或设置 MEDIA_FFPROBE_PATH / MEDIA_FFMPEG_PATH 为可执行文件路径。ffprobe 用于时长、编码、标签和章节,ffmpeg 用于内嵌资源提取,均不提供转码。 -在线匹配在「影音设置 → 元数据刮削」配置 TMDB 令牌或 API Key,以及 MusicBrainz 应用标识与联系地址。可测试连接、调整资料语言并保存,无需重启。本地 NFO 和标签读取不依赖在线凭据。 +在线匹配在书架右上角「系统设置 → 服务配置」的 TMDB 和 MusicBrainz 分类中配置令牌、API Key、应用标识与联系地址。可测试连接、调整资料语言并保存,无需重启。本地 NFO 和标签读取不依赖在线凭据。 OpenList 连接信息在建库界面设置,无需本地挂载;服务端必须能访问 OpenList 和其下载源。远端内嵌资料暂不读取,某些驱动需要 OpenList Web 代理。配置与限制见 [OpenList 接入](media-openlist.md)。 diff --git a/docs/getting-started.en.md b/docs/getting-started.en.md index 02b8556..ae2702d 100644 --- a/docs/getting-started.en.md +++ b/docs/getting-started.en.md @@ -96,7 +96,7 @@ The shelf contains readable books; the library lets you browse the disk director ### OPDS -As an administrator, add an OPDS source under Sources (书源) and configure its server URL. If authentication is required, set credentials for your current account. Open the source to browse or search its catalog and acquire books for your shelf. +As an administrator, open Sources (书源) from the shelf, add an OPDS source, and configure its server URL. If authentication is required, set credentials for your current account. Open the source to browse or search its catalog and acquire books for your shelf. ## 5. Add media libraries @@ -108,7 +108,7 @@ Mount local media separately by adding the directories you need to Compose volum - /path/to/your/audiobooks:/media/audiobook:ro ``` -Run `docker compose up -d`. Open media from the bookshelf, then Settings → Media libraries. Choose video, music, or audiobooks, set a container path such as `/media/video`, and choose access permissions. Creation starts a scan; inspect scan tasks in settings if it fails. +Run `docker compose up -d`, open the video page (`#/media/video`), and use More actions → Media settings → Media libraries. Choose video, music, or audiobooks, set a container path such as `/media/video`, and choose access permissions. Creation starts a scan; inspect Scan and scrape if it fails. When running directly on Windows, use an absolute local path such as `D:\Media\Music`. With Docker Desktop, mount the directory and enter its container path instead. diff --git a/docs/getting-started.zh-CN.md b/docs/getting-started.zh-CN.md index d8415e2..733497a 100644 --- a/docs/getting-started.zh-CN.md +++ b/docs/getting-started.zh-CN.md @@ -96,7 +96,7 @@ Windows 推荐使用上面的 Compose 配置,避免不同 shell 的路径和 ### OPDS -管理员在「书源」添加 OPDS 来源并设置服务地址。需要认证时填写当前账号的来源凭据。打开来源后可浏览或搜索目录,获取书籍并加入书架。 +管理员从书架的「书源」入口进入书源中心,添加 OPDS 来源并设置服务地址。需要认证时填写当前账号的来源凭据。打开来源后可浏览或搜索目录,获取书籍并加入书架。 ## 5. 添加影音媒体库 @@ -108,7 +108,7 @@ Windows 推荐使用上面的 Compose 配置,避免不同 shell 的路径和 - /path/to/your/audiobooks:/media/audiobook:ro ``` -执行 `docker compose up -d` 后,从书架「影音」进入「设置 → 媒体库管理」,选择影视、音乐或有声书,填写容器内目录(例如 `/media/video`)及访问范围。创建后自动扫描;扫描任务和失败原因可在设置中查看。 +执行 `docker compose up -d` 后,打开影视页(`#/media/video`),从右上角「更多操作」进入「影音设置 → 媒体库管理」,选择影视、音乐或有声书,填写容器内目录(例如 `/media/video`)及访问范围。创建后自动扫描;扫描任务和失败原因可在「扫描与刮削」中查看。 Windows 直接运行服务时填本机绝对路径,例如 `D:\Media\Music`;Docker Desktop 则挂载该目录并填写容器内路径。 diff --git a/docs/media-navigation.md b/docs/media-navigation.md index 52c39b2..dd9b235 100644 --- a/docs/media-navigation.md +++ b/docs/media-navigation.md @@ -33,4 +33,4 @@ channel 表示 video、music 或 audiobook;itemId、part、libraryId 均为真 路由表之外保留少量旧深链接兼容:`/media`、`/media/music` 和 `/media/audiobook` 会进入对应频道默认页;未知媒体路径回到 `/media/video`。书源与系统旧入口的兼容规则见[React 架构说明](frontend-react-migration.md)。返回按实际浏览器历史和保存的来源状态处理;不为每个页面生成 return 查询参数。播放器的 item、part 查询参数保存作品及播放部分,可刷新后重新校验授权并恢复页面。 -协议实现以[React 页面路由](../web/src/app/router/routes.tsx)及[影音 feature](../web/src/features/media/)为准。冻结 v2 原型内的示例路由只用于设计演示。 +协议实现以[React 页面路由](../web/src/app/router/routes.tsx)及[影音 feature](../web/src/features/media/)为准。冻结 v2 原型同步这些页面路径;其中作品 ID、查询参数和状态参数仍只用于设计演示。 diff --git a/docs/media-user-guide.zh-CN.md b/docs/media-user-guide.zh-CN.md index 9c3bc49..6ba5940 100644 --- a/docs/media-user-guide.zh-CN.md +++ b/docs/media-user-guide.zh-CN.md @@ -1,10 +1,10 @@ # 影音使用说明 -影音支持电影、剧集、音乐和有声书。默认启动仍进入书架;从书架的「影音」入口进入,也可直接访问影音链接。手机点击顶部频道名称切换,桌面使用频道导航;「阅读」返回书架,阅读界面与书架设置保持原位。 +影音支持电影、剧集、音乐和有声书。打开站点默认进入影视页(`#/media/video`);也可从书架右上角的「影音」入口进入或直接访问影音链接。通过频道导航切换频道,「阅读」返回书架,阅读界面与书架设置保持原位。 ## 新建与管理媒体库 -管理员进入「影音设置 → 媒体库管理 → 新建媒体库」,选择内容类型、接入方式和访问范围。普通用户只看到已获授权的媒体库。 +管理员从影视页的「更多操作」进入「影音设置 → 媒体库管理 → 新建媒体库」,选择内容类型、接入方式和访问范围。普通用户只看到已获授权的媒体库。 - **服务器目录**:填写 Reader 服务端能读取的路径。Docker 部署填写容器内路径,例如将宿主目录只读挂载到 /media/music 后,填 /media/music。 - **OpenList**:填写服务地址、远端绝对目录,以及可选访问令牌和目录密码。创建前验证连接。编辑已有库可更新或清除凭据;不改服务地址和根目录。见[OpenList 接入说明](media-openlist.md)。 @@ -68,7 +68,7 @@ 本地库优先读取文件标签、NFO 和同目录封面;ffprobe 用于编码、时长及章节探测,ffmpeg 用于部分内嵌资源提取,两者不等于转码功能。OpenList 支持外置 NFO、封面、歌词和字幕,暂不读取远端内嵌标签、封面及章节。 -在「影音设置 → 元数据刮削」中配置 TMDB 令牌或 API Key(同时填写时优先令牌),以及 MusicBrainz 应用标识与联系地址,保存后生效。管理员在作品菜单中匹配资料,审阅候选后确认;也可在「扫描与刮削」中发起批量任务并重试未完成项。来源网络、凭据或封面下载失败会单独提示。 +管理员从频道导航切换到「阅读」进入书架,打开右上角「系统设置 → 服务配置」,在 TMDB 和 MusicBrainz 分类中配置令牌、API Key 或应用标识,保存后生效。管理员在作品菜单中匹配资料,审阅候选后确认;也可从「影音设置 → 扫描与刮削」发起批量任务并重试未完成项。来源网络、凭据或封面下载失败会单独提示。 详情的资源信息菜单可查看文件与技术信息、管理版本。手工资料、作品归属、版本拆分或合并会在重扫时保留,不修改原文件。移动版本不转移收藏,也不复制原作品的人工资料;更改剧集、季和单集关系后需重新确认受影响的在线匹配。 @@ -80,7 +80,7 @@ ## 播放与恢复 -视频由 Plyr 提供内置控件;音频页面提供封面、进度、队列、歌词、倍速和睡眠定时。关闭迷你播放器停止当前播放。章节和曲目按当前版本的真实顺序处理,失效资源不会悄悄切到其他版本。 +视频由 DPlayer 提供内置控件;音频页面提供封面、进度、队列、歌词、倍速和睡眠定时。关闭迷你播放器停止当前播放。章节和曲目按当前版本的真实顺序处理,失效资源不会悄悄切到其他版本。 播放器地址包含作品 ID 和播放部分 ID,刷新后重新读取会话与授权。服务器保存播放进度;权限被撤销、资源失效或会话冲突时需要按页面提示处理。浏览器自动播放限制可能要求再次点击播放。 diff --git a/docs/prototypes/media/README.md b/docs/prototypes/media/README.md index bce558d..763a381 100644 --- a/docs/prototypes/media/README.md +++ b/docs/prototypes/media/README.md @@ -2,6 +2,6 @@ 本目录只保留当前仍使用的设计基准。早期原型、反复覆盖的截图、失效的构建哈希和逐轮进度记录已移出仓库。 -- [冻结 v2 高保真原型](v2-review/index.html):已采用的布局基准,包含桌面和手机、主题及状态。示例内容和旧示例路由不代表生产数据或当前路由协议。 +- [冻结 v2 高保真原型](v2-review/index.html):已采用的布局基准,包含桌面和手机、主题及状态。原型中的作品 ID、查询参数和状态参数是演示数据;页面路径按当前 React 路由与 DPlayer 播放器同步。 后续验收结果生成到被 Git 忽略的 `artifacts/media`,需要长期保留的截图应人工挑选;不要提交整批重复截图。运行方式见[验证说明](../../media-validation.md)。 diff --git a/docs/prototypes/media/v2-review/README.md b/docs/prototypes/media/v2-review/README.md index b7c7f38..e1f9cdb 100644 --- a/docs/prototypes/media/v2-review/README.md +++ b/docs/prototypes/media/v2-review/README.md @@ -1,7 +1,7 @@ # 影音 v2 设计基准 -[打开高保真交互原型](index.html)。这是已采用的布局参考,不再是待确认提案。单文件包含 42 个页面和状态、手机/桌面尺寸与六种主题,可直接在浏览器打开。 +[打开高保真交互原型](index.html)。这是已采用的布局参考,不再是待确认提案。单文件包含 42 个页面和状态、手机/桌面尺寸与六种主题,可直接在浏览器打开;页面路径按当前 React 路由同步。 -作品、封面、进度、候选和账号均为示例;不调用真实服务,不播放媒体,不执行文件操作。冻结文件保留评审时的示例路由;当前收藏、播放器等地址以[导航说明](../../../media-navigation.md)为准。视频内置控件由 Plyr 提供,不要求按示例重画。 +作品、封面、进度、候选和账号均为示例;不调用真实服务,不播放媒体,不执行文件操作。冻结文件保留评审时的示例内容;作品详情使用 `/media/:channel/items/:itemId`,播放器使用 `/media/:channel/player` 及其歌词、队列、章节子面板,收藏等公共入口以[导航说明](../../../media-navigation.md)为准。视频控件由 DPlayer 提供,原型只表达布局和交互层级。 从仓库根目录运行 node docs/prototypes/media/v2-review/verify.cjs 可验证原型布局与基本交互;使用 PROTOTYPE_CHROMIUM 指定浏览器。输出进入 artifacts/media/prototype-v2,不会覆盖已冻结的设计源文件。原型验证不替代生产页面的视觉与功能验收。 diff --git a/docs/prototypes/media/v2-review/index.html b/docs/prototypes/media/v2-review/index.html index 857aefd..e3fc72a 100644 --- a/docs/prototypes/media/v2-review/index.html +++ b/docs/prototypes/media/v2-review/index.html @@ -3,15 +3,15 @@ -
reader. 影音设计评审 / v2待确认方案 · 全部为示例内容与模拟交互 · 未修改业务页面
+
reader. 影音设计评审 / v2冻结设计基准 · 全部为示例内容与模拟交互 · 未修改业务页面

冻结设计基准

验证方式原型不连接服务、不读取账号、不播放真实媒体。阅读及书架设置沿用现有界面。