hanerx / dcomic Goto Github PK
View Code? Open in Web Editor NEWa simple comic viewer
a simple comic viewer
开了个虚拟机尝试了一下自己编译,但因为个人实在不熟悉IOS版开发环境.
编译过程中总会有各种报错.
请问能否简略说一下操作步骤?
需求简述
分类页也要改成能多源切换的分类
需求主要目的与对应问题
主要是为了留个后手,因为现在动漫之家估计会都升级成v4api了,v4没法操作的,所以得尽快改掉了
需求主要功能清单
预期实现完成样式
无
附加信息
无
Describe the bug
Some chapters with pages less than 3 load infinitely for non-existing pages.
Edit: And I have to manually select the next chapter
Expected behavior
Remove those loading icons and show the existing pages only.
Version
From https://github.com/hanerx/flutter_dmzj/actions/runs/279847998
原理:靠initoffset来影藏的开头,但是由于垂直的模式下加载太多了会导致initoffset不生效
需求简述
Mangabz他云端的订阅检查接口不可靠,所以需要本地进行记录
需求主要目的与对应问题
为了解决Mangabz的订阅功能实现
需求主要功能清单
预期实现完成样式
就是普通的实现订阅,右上角的那个爱心能用
附加信息
无
由于漫画阅读器设计较早,在后期添加功能后漫画阅读器的代码逐渐失去维护价值,故需要重构以应对增加的功能
要求
需求简述
实现一个自己封装的漫画格式,同时实现配套的本地解析源
需求主要目的与对应问题
(浪漫
需求主要功能清单
预期实现完成样式
{
"name": "test_manga",
"version": "1.0.0-beta.1",
"title": "测试用漫画",
"alias": [
"简单学会怎么制作.manga",
"how to make .manga file"
],
"description": "简单学会怎么制作.manga格式的漫画",
"authors": [
{
"decoder": null,
"data": {
"name": "hanerx"
}
},
"someone"
],
"data": [
{
"name": "default",
"title": "连载",
"data": [
{
"decoder": "url_decoder",
"timestamp": 10205605364,
"name": "chapter1",
"order": 1,
"title": "第一章-网络图片",
"data": [
"https://something.com/1.jpg",
"https://something.com/2.jpg"
],
"headers": {
"referer": "https://img.something.com"
}
},
{
"decoder": "local_decoder",
"encoder": "dmzj_downloader",
"timestamp": 10205605364,
"order": 2,
"name": "chapter2",
"title": "第二章-本地图片",
"data": [
"./data/chapter2/1.webp"
],
"comment_trackers": [
]
},
{
"decoder": "bt_decoder",
"timestamp": 10205605364,
"order": 3,
"name": "chapter3",
"title": "第三章-bt文件",
"data": {
"type": "file",
"path": "./data/chapter3/bt.torrent"
}
},
{
"decoder": "bt_decoder",
"timestamp": 10205605364,
"order": 4,
"name": "chapter4",
"title": "第四章-磁力链接",
"data": {
"type": "magnet",
"path": "magnet:?xt=urn:btih:somethingbabababa"
}
}
]
},
{
"name": ""
}
],
"translate": true,
"language": "zh-cn",
"origin_language": "zh-cn",
"md5": "we4t23465yhtsgrfcsvchef",
"translators": [
{
"name": "someone",
"url": "https://github.com/hanerx",
"description": "someone is none"
},
"hanerx"
],
"trackers": [
{
"decoder": "dmzj_decoder",
"url": "https://something.com/trackers/test_manga"
},
{
"decoder": "default",
"url": "https://something.com/tracker",
"options": {
"login": true,
"token": "xoaeigjdfisauehglalfdk"
}
}
],
"comment_trackers": [
{
"decoder": "dmzj_comment_decoder",
"url": "https://something.com/comment/test_manga",
"headers": {
"x-token": "something"
}
}
],
"tags": [
{
"name": "工具"
},
{
"decoder": "dmzj_tag_decoder",
"name": "冒险",
"tag_id": 12345
}
]
}
附加信息
无
app现在的翻页动画(?)为左右滑行,能否增加“无翻页动画”的选项?
在墨水屏阅读器上使用app看漫画时,如果有翻页动画,屏幕刷新跟不上,会有点瞎眼……
记得给各种列表加上空内容的视图
另外建议搞一个每章之间自动弹出评论页的设置项,否则按在官方客户端的习惯,翻到最后一页直接跳到下一章了
Originally posted by @Schezuk in #39 (comment)
需求简述
下载模块重做
需求主要目的与对应问题
下载模块还是对应的老的动漫之家的解析方案,如果切换到其他源就会出各种问题,所以得改
需求主要功能清单
预期实现完成样式
能够正常解析各个源
附加信息
无
Bug现象简述
更新完成后重复提示更新,关于中还是1.4.13
复现方法
更新完成打开APP提示更新
预期动作
截图
Smartphone (please complete the following information):
Bug现象简述
夜间模式不知道为啥样式爆炸了
复现方法
进入关于页,调整至夜间模式
预期动作
应该黑黑的
截图
无
Smartphone (please complete the following information):
附加信息
无
需求简述
修改原本的DataBase类,将其修改为标准化的输入输出
需求主要目的与对应问题
DataBase类实在是又臭又长,没有进行分类,各种接口随意摆放。目标是将各个接口分门别类,标准化输入输出,并且通过多态实现一套代码处理多种类型的设置数据
需求主要功能清单
预期实现完成样式
调用类似如下所示,通过多态自动处理
Future<int> get port async => await get<int>('port', defaultValue: 5001);
附加信息
无
需求简述
大改评论功能,将评论功能和解析源绑定与旧实现方案脱钩
需求主要目的与对应问题
主要为了提高可扩展性
需求主要功能清单
预期实现完成样式
好看点就行
附加信息
无
需求简述
旧的用的是一套很离谱的CustomHttp类塞了基本所有接口进去,现在在多了好几个漫画源之后就导致代码各种冗余而且找个接口难于上青天,准备通过UniversalRequestHandler这么一个抽象类实现各个接口的分门别类
需求主要目的与对应问题
为了程序的可扩展性和程序的易维护性,老的CustomHttp类实在是太弱智了,我被自己弱智到了
需求主要功能清单
预期实现完成样式
class UniversalRequestModel {
MangabzRequestHandler mangabzRequestHandler = MangabzRequestHandler();
ManHuaGuiRequestHandler manHuaGuiRequestHandler = ManHuaGuiRequestHandler();
KuKuRequestHandler kuKuRequestHandler = KuKuRequestHandler();
SoKuKuRequestHandler soKuKuRequestHandler = SoKuKuRequestHandler();
KKKKRequestHandler kkkkRequestHandler1 =
KKKKRequestHandler('http://comic.kkkkdm.com/');
KKKKRequestHandler kkkkRequestHandler2 =
KKKKRequestHandler('http://comic2.kkkkdm.com/');
KKKKRequestHandler kkkkRequestHandler3 =
KKKKRequestHandler('http://comic3.kkkkdm.com/');
DMZJRequestHandler dmzjRequestHandler = DMZJRequestHandler();
DMZJIRequestHandler dmzjiRequestHandler = DMZJIRequestHandler();
DMZJInterfaceRequestHandler dmzjInterfaceRequestHandler =DMZJInterfaceRequestHandler();
}
附加信息
无
如题
拷贝漫画:https://www.copymanga.com/
继续阅读的按钮在部分情况下会报错
需求简述
搜索模块重做为可以多源搜索的模块
需求主要目的与对应问题
主要是为了方便用
需求主要功能清单
预期实现完成样式
类似 #24 那个效果
附加信息
无
Bug现象简述
无法点击右上角的小红心
复现方法
Steps to reproduce the behavior:
预期动作
逻辑不太适合 我已经可以免登录看漫画了 为什么记住漫画还是需要登录呢 这个功能也讲不通啊
希望能实现免登录的条件下仍然可以记录我看过的漫画
需求简述
提供集成的IPFS功能
需求主要目的与对应问题
主要是为了提供一个分布式网络的解析源
需求主要功能清单
预期实现完成样式
俺也不知道
条漫阅读会出现支离破碎的问题,需要进一步改进,而且还需要改进垂直阅读时滚动的问题
在登录后通过接口获取漫画后无法将阅读记录同步到云端,出现了阅读记录丢失的问题
描述:
通过爬接口我得到了接口$baseUrl/subscribe/read?obj_ids=$comicId&uid=$uid&type=mh?obj_ids=$comicId&uid=$uid&type=mh&channel=Android&version=2.7.017
但无法通过该接口正常更新阅读记录
解决方案:
无
Bug现象简述
由于本身comicID默认是用的动漫之家的id,现在改成这个样子得改get的绑定模式,要有可搜索和直接模式两种可选
复现方法
直接给个本身的id就能出问题
预期动作
直接解析本身id
截图
无
Smartphone (please complete the following information):
附加信息
无
下载的文件会被相册识别出来,很迷惑,估计是这个插件问题
漫画详情页右侧侧边栏滑动时可能被滚动条遮挡导致滑动体验较差
解决方案:
将滚动条影藏掉
垂直阅读原本的双击放大给直接删掉了,记得加回来
Bug现象简述
最近更新的日期全是1970-1-1,应该是日期的那啥有问题
复现方法
打开最近更新
预期动作
返回正常的日期
截图
无
Smartphone (please complete the following information):
Bug现象简述
动漫之家综合显示空章节列表
复现方法
V1 api能看见章节列表,而v4版本会返回简介和空列表。
http://api.dmzj.com/dynamic/comicinfo/41739.json
V4 protobuf略
预期动作
即使v4 api有返回值,也应检查章节列表是否为空,为空则访问v1 api。
描述:
在通过 SystemChrome.setEnabledSystemUIOverlays([]);
函数尝试影藏任务栏和虚拟按键来实现全屏的过程中发现在影藏虚拟按键后下方的空间无法被flutter_swiper正确的填充,导致点击翻页的功能出现一定的问题
备选解决方案(实行中):
只保留任务栏的影藏功能,下方的虚拟按钮不进行影藏
需要长按保存的功能
有人想要通过进度条进行漫画页面控制,但存在刷新问题
描述:
在通过setState函数进行index更新的时候会出现页面不刷新而其上下文出现变化的情况,需要解决页面刷新带来的问题。
备选解决方案:
通过flutter_swiper提供的controller进行单页的翻页,然后通过遍历来实现连续多页的翻页功能,不过由于动画原因可能导致刷新问题。
Bug现象简述
可以看到首页和更新栏显示的漫画,但点击具体漫画后会提示“无法加载数据,可以尝试修改漫画源”
复现方法
随便点进一个漫画即可
预期动作
修复此问题(?)
附加信息
我问了xiaoyaocz大佬,他做的flutter版也出现类似情况,他让我把漫画源的“使用网页api”关闭,照做后问题解决。
但dcomic里关闭网页api似乎无效(
最后建议能识别专题列表,新漫专题已经到46期了,首页还是44。
Originally posted by @Schezuk in #39 (comment)
Bug现象简述
A clear and concise description of what the bug is.
默认源无效,无论开不开webapi,网页源正常。
尽管如此,http://api.dmzj1.com/dynamic/comicinfo/4.json
浏览器可以正常访问
复现方法
Steps to reproduce the behavior:
预期动作
A clear and concise description of what you expected to happen.
截图
If applicable, add screenshots to help explain your problem.
控制台不支持复制和清空,很遗憾
Smartphone (please complete the following information):
附加信息
Webapi选项是干什么的的?
漫画详情页需要正序倒序的功能
输入框长按会出现灰屏报错
需要下载漫画的功能
描述:
需要拥有下载的功能,能单独查看下载后的漫画
备选解决方案:
通过dio的download函数保存文件,通过image.file进行加载,需要重构漫画阅读器
有人需要增加阅读方向修改的功能
解决方案:
将列表反向输出
另外
关于分类,有一些分类不在分类页出现
完整的分类列表如下(分类本质是tag,其他的tag还有作者地域完结等等)
id="type_4" title="冒险"
id="type_5" title="欢乐向"
id="type_6" title="格斗"
id="type_7" title="科幻"
id="type_8" title="爱情"
id="type_9" title="侦探"
id="type_10" title="竞技"
id="type_11" title="魔法"
id="type_12" title="神鬼"
id="type_13" title="校园"
id="type_14" title="惊悚"
id="type_16" title="其他"
id="type_17" title="四格"
id="type_3242" title="生活"
id="type_3243" title="ゆり"
id="type_3244" title="秀吉"
id="type_3245" title="悬疑"
id="type_3246" title="纯爱"
id="type_3248" title="热血"
id="type_3249" title="后宫"
id="type_3250" title="历史"
id="type_3251" title="战争"
id="type_3252" title="萌系"
id="type_3253" title="宅系"
id="type_3254" title="治愈"
id="type_3255" title="励志"
id="type_3324" title="武侠"
id="type_3325" title="机战"
id="type_3326" title="音乐舞蹈"
id="type_3327" title="美食"
id="type_3328" title="职场"
id="type_3365" title="西方魔幻"
id="type_4459" title="高清单行"
id="type_4518" title="性转换"
id="type_5077" title="东方"
id="type_5345" title="扶她"
id="type_5806" title="魔幻"
id="type_5848" title="奇幻"
id="type_6219" title="节操"
id="type_6316" title="轻小说"
id="type_6437" title="颜艺"
id="type_7568" title="搞笑"
id="type_7900" title="仙侠"
id="type_13627" title="舰娘"
id="type_17192" title="动画"
id="type_18522" title="AA"
Originally posted by @Schezuk in #39 (comment)
Bug现象简述
大妈之家改了数据接口,v3接口全部报废
复现方法
无
预期动作
无
截图
无
附加信息
全部v4接口都是加密接口,完全看不懂的加密策略,已知不是base64、jwt、aes,但是完全不知道是啥加密策略,需要一个大手子解包
Originally posted by @hanerx in #42 (comment)
Bug现象简述
低分辨率的手机上漫画章节显示是一行一个的
复现方法
找个低分辨率的手机进详情页
预期动作
应该是三个连成一排的设计
截图
无
Smartphone (please complete the following information):
附加信息
换成GridView好了,这样应该能解决这个问题
ios版使用拷贝漫画源的时候刷新漫画列表会重复加载之前已经加载的内容导致相同的内容会一直重复出现
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.