JHenTai
描述
一款支持Android、iOS、Windows、MacOS和Linux的E-Hentai漫画应用。
目前仍处于开发阶段,欢迎提交问题或功能请求。
下载与安装
Android安装:根据设备架构下载对应的.apk文件并安装。
- arm64-v8a:适用于第8代ARM处理器的Android手机(常见选择)
- armeabiv-v7a:适用于第7代ARM处理器的Android手机
- x86_64:罕见
iOS安装:下载.ipa文件,然后使用AltStore或SideLoadly进行签名。
Windows安装:下载Windows_xxx.zip,然后解压。
- 如果使用代理服务器,请在网络设置页面设置代理地址。
- 如果使用Windows 11且无法启动应用,请尝试在兼容模式下运行jhentai.exe。
- 如果被Windows Defender阻止,请信任它。
MacOS安装(无维护):下载.dmg文件。
- 在系统设置中信任它。
- 如果使用代理服务器,请在网络设置页面设置代理地址。
Linux安装(无维护):根据平台下载Linux-amd64.deb或Linux-x86_64.AppImage,然后安装或执行。
- 如果使用代理服务器,请在网络设置页面设置代理地址。
更新
Android更新:根据设备架构下载对应的.apk文件并安装。
iOS更新:下载.ipa文件,然后使用AltStore或SideLoadly进行签名。
Windows更新:直接删除旧的解压目录,然后下载最新的Windows_xxx.zip并解压。
MacOS更新(无维护):下载.dmg文件。
Linux更新(无维护):删除旧版本并下载最新产品。
帮助翻译
如果您想帮助翻译,请提交PR。
开发动机
这是我的第一个Flutter项目。我的目标是在开发过程中熟悉Flutter。我使用的设备包括Android手机、iPad和Windows电脑。我之前使用的E-hentai应用存在一些bug,而且由于我没有Android或iOS开发经验,我无法理解源代码,所以我选择JHenTai作为我的第一个Flutter项目。
2022.08.20 经过五个月的开发,JHenTai逐渐变得越来越强大,我已经完全重构了一些最初编写的代码,包括画廊页面、阅读页面、下载等。我尽力提取了不同页面和样式之间的共性,以减少耦合,从而有利于新功能的开发。如果有人能够给我一些关于编码风格、设计模式以及与Flutter开发相关的任何建议,或者参与JHenTai的开发,我将非常感激。
2022.10.29 我已经更加熟悉基本的Flutter开发,从现在开始我将专注于其他领域。因此,JHenTai的更新将比之前少,但我仍会及时处理bug或问题。
参考与致谢
布局和样式参考:
标签翻译:
标签排序优化:
应用翻译:
- andyching168 kenny03211 繁體中文(台灣)
- lucas-04 Português brasileiro
- qlife1146 한국어
非常感谢这些项目和人员🙇
截图
移动布局
平板布局
桌面布局
画廊与搜索
画廊详情
设置与下载
阅读
主要功能
- 手机、平板、桌面布局(3种)
- 垂直、水平、双列阅读页面布局(4种)
- 画廊页面、热门、收藏、已观看、历史记录,支持多种画廊列表样式
- 搜索、搜索建议、点击标签搜索、文件搜索、跳转到特定页面
- 在线阅读和下载,支持恢复下载任务,支持上传者上传新版本后同步更新
- 压缩包下载和自动解压阅读
- 支持加载本地图片并阅读
- 支持手动分配下载任务优先级
- 支持为画廊和压缩包分配分组
- 收藏、评分、种子、压缩包、统计、分享
- 密码登录、Cookie登录、网页登录
- 支持EX站点(可选域名前置)
- 投票标签、关注和隐藏标签
- 评论、为评论投票
- 指纹解锁
- 支持桌面布局中的快捷键,如"Tab"和"方向键"
翻译
- 复制
/lib/src/l18n/en_US.dart
并重命名为{your_languageCode}_{your_countryCode}.dart
- 在新文件中重命名类名(可选)
- 修改
keys
方法中的键值对,将值翻译成你的语言
现在你可以提交你的PR了,我会处理剩下的事情。或者你可以继续:
- 进入
/lib/src/l18n/locale_text.dart
,在keys
方法中添加一个新的键值对 =>{your_languageCode}_{your_countryCode} : {your_className}.keys()
- 进入
/lib/src/consts/locale_consts.dart
,在localeCode2Description
属性中添加一个新的键值对:{your_languageCode}_{your_countryCode} : {languageDescription}
来描述你的语言。
关于编译
- 你需要自己管理Android签名, 查看 https://docs.flutter.dev/deployment/android#signing-the-app
- 只需通过IDEA或VSCode简单运行此项目即可。
主要Dart依赖
- get:依赖管理、状态管理、国际化、NoSQL
- dio:网络
- extendedImage:图片
- drift:数据库