# my-reader **Repository Path**: eltongu/my-reader ## Basic Information - **Project Name**: my-reader - **Description**: epub、pdf、mobi文本阅读器 - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-08 - **Last Updated**: 2026-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyReader - 轻量级本地电子书阅读器 一款基于 Electron + Vue 3 构建的轻量级桌面电子书阅读应用,支持 EPUB、PDF、TXT 多种格式的本地阅读。 ## 功能特性 - **多格式支持**:EPUB、PDF、TXT 电子书格式 - **书架管理**:导入、删除图书,以卡片形式展示藏书 - **阅读设置**:自定义字体大小、背景色、字体颜色等 - **目录导航**:侧边栏展示书籍目录,支持快速跳转 - **阅读进度**:自动记录并恢复上次阅读位置 - **跨平台**:支持 Windows、macOS、Linux ## 技术栈 | 类别 | 技术 | |------|------| | 桌面框架 | Electron 44 | | 构建工具 | electron-vite 2.0 | | 前端框架 | Vue 3.4 + Vue Router 4 | | 状态管理 | Pinia 2.1 | | UI 组件库 | Element Plus 2.5 | | EPUB 渲染 | foliate-js(vendored 固定 revision,MIT;见 src/vendor/foliate-js/LICENSE) | | PDF 渲染 | pdfjs-dist 6.3 | | 打包工具 | electron-builder 24 | ## 项目结构 ``` src/ ├── main/ # Electron 主进程 ├── preload/ # 预加载脚本(IPC 桥接) ├── vendor/ # vendored 第三方源码(foliate-js,MIT) └── renderer/ # 渲染进程(Vue 前端) ├── src/ │ ├── api/ # API 层(IPC 通信封装) │ ├── components/ # 组件 │ │ ├── BookCard.vue # 书籍卡片 │ │ ├── BookList.vue # 书籍列表 │ │ ├── ImportDialog.vue # 导入对话框 │ │ ├── PdfView.vue # PDF 阅读器 │ │ ├── ReaderSettings.vue # 阅读设置面板 │ │ ├── ReaderToolbar.vue # 阅读工具栏 │ │ ├── ReaderView.vue # EPUB 阅读器 │ │ ├── Sidebar.vue # 侧边栏(目录) │ │ └── TxtView.vue # TXT 阅读器 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia 状态管理 │ └── views/ # 页面视图 └── public/ # 静态资源 ``` ## 快速开始 ### 环境要求 - Node.js >= 18 - npm >= 9 ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` ### 构建项目 ```bash npm run build ``` ### 预览构建产物 ```bash npm run preview ``` ### 打包分发 ```bash # 打包为当前平台安装包 npm run dist # 仅打包为目录(不生成安装程序) npm run pack ``` ## 使用说明 1. 启动应用后,在书架页面点击「导入」按钮添加本地电子书文件 2. 点击书籍卡片进入阅读模式 3. 阅读过程中可通过工具栏调整字体、背景等设置 4. 侧边栏可展开查看书籍目录,点击章节快速跳转 5. 阅读进度会自动保存,下次打开时恢复至上次阅读位置 ## 参与贡献 1. Fork 本仓库 2. 新建 `feat_xxx` 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 MIT