Git Product home page Git Product logo

dcomic's Introduction

This is hanerx's GitHub, hello world! 👋

State

Hanerx's github stats

Langs

Top Langs

dcomic's People

Contributors

hanerx avatar kriscris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dcomic's Issues

用户管理机制修改

需求简述
修改原有的单用户模式到与解析源绑定的多用户模式

需求主要目的与对应问题
主要是为了对接多用户模式,提供更多的解析源可扩展空间

需求主要功能清单

  • 实现用户与解析源绑定
  • 实现多用户登录
  • 实现多用户管理设置
  • 针对多用户修改其他硬编码的页面

预期实现完成样式
image

附加信息

下载功能

需要下载漫画的功能
描述:
需要拥有下载的功能,能单独查看下载后的漫画
备选解决方案:
通过dio的download函数保存文件,通过image.file进行加载,需要重构漫画阅读器

动漫之家改接口了!

Bug现象简述
大妈之家改了数据接口,v3接口全部报废

复现方法

预期动作

截图

附加信息
全部v4接口都是加密接口,完全看不懂的加密策略,已知不是base64、jwt、aes,但是完全不知道是啥加密策略,需要一个大手子解包

Http接口的标准化工作

需求简述
旧的用的是一套很离谱的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();
}

附加信息

条漫阅读支离破碎

条漫阅读会出现支离破碎的问题,需要进一步改进,而且还需要改进垂直阅读时滚动的问题

修改订阅机制

需求简述
修改订阅机制,实现多解析源的订阅功能,同时可以从不同源的漫画详情中跳转至其他的源数据

需求主要目的与对应问题
为了进一步提高软件的可扩展性

需求主要功能清单

  • 修改订阅UI,与传统模式脱钩
  • 修改订阅加载机制,实现多源订阅页面
  • 标准化订阅组件,使订阅更加简单
  • 修改漫画详情页的订阅按钮适配新订阅
  • 修改ComicDetail将订阅信息更新交给漫画源处理
  • 修改BaseSourceModel提供订阅信息加载函数

预期实现完成样式
image

附加信息

在登录后无法正确的同步云端阅读进度

在登录后通过接口获取漫画后无法将阅读记录同步到云端,出现了阅读记录丢失的问题
描述:
通过爬接口我得到了接口$baseUrl/subscribe/read?obj_ids=$comicId&uid=$uid&type=mh?obj_ids=$comicId&uid=$uid&type=mh&channel=Android&version=2.7.017
但无法通过该接口正常更新阅读记录
解决方案:

分类页大改

需求简述
分类页也要改成能多源切换的分类

需求主要目的与对应问题
主要是为了留个后手,因为现在动漫之家估计会都升级成v4api了,v4没法操作的,所以得尽快改掉了

需求主要功能清单

  • 实现分类页的http脱钩
  • 实现BaseSourceModel的分类函数
  • 实现各种奇葩东西

预期实现完成样式

附加信息

最近更新的日期有问题

Bug现象简述
最近更新的日期全是1970-1-1,应该是日期的那啥有问题

复现方法
打开最近更新

预期动作
返回正常的日期

截图

Smartphone (please complete the following information):

  • Device: s20u
  • OS: 11
  • Version 1.4.10-beta.2
    附加信息

评论功能大改

需求简述
大改评论功能,将评论功能和解析源绑定与旧实现方案脱钩

需求主要目的与对应问题
主要为了提高可扩展性

需求主要功能清单

  • 修改评论接口
  • 修改评论UI

预期实现完成样式
好看点就行

附加信息

夜间模式关于页样式爆炸

Bug现象简述
夜间模式不知道为啥样式爆炸了

复现方法
进入关于页,调整至夜间模式

预期动作
应该黑黑的

截图

Smartphone (please complete the following information):

  • Device: 测试机
  • OS: 11
  • Browser [e.g. stock browser, safari]
  • Version 1.4.10-beta.3

附加信息

关于翻页动画

app现在的翻页动画(?)为左右滑行,能否增加“无翻页动画”的选项?
在墨水屏阅读器上使用app看漫画时,如果有翻页动画,屏幕刷新跟不上,会有点瞎眼……

漫画评论栏增强

漫画详情页右侧侧边栏滑动时可能被滚动条遮挡导致滑动体验较差
解决方案:
将滚动条影藏掉

原始comicID为非动漫之家ID时会造成无法加载的问题

Bug现象简述
动漫之家没写search函数,所以会加载失败

复现方法
进入一个非动漫之家原始ID的漫画详情,选择动漫之家的源

预期动作
应该和其他软件一样自动绑定

截图
image

Smartphone (please complete the following information):

  • Device: 测试机
  • OS: Android10
  • Version 1.4.8-beta.3

附加信息

Commic detail asynchronous suspension

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:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

预期动作
A clear and concise description of what you expected to happen.

截图
If applicable, add screenshots to help explain your problem.
Screenshot_20210428_003931
控制台不支持复制和清空,很遗憾
Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

附加信息
Webapi选项是干什么的的?

漫画阅读器重构

由于漫画阅读器设计较早,在后期添加功能后漫画阅读器的代码逐渐失去维护价值,故需要重构以应对增加的功能
要求

  • 需要能够实现翻页
  • 能够快速添加组件
  • 能够在横向阅读时选择阅读方向
  • 实现各种功能的模块化,防止代码再次难以维护
  • 能拓展阅读的内容,如小说等
  • 实现垂直阅读时的无缝滚动与翻页式滚动的选择
  • 实现监听音量实现翻页功能
  • 需要有点击翻页的功能
  • 能够定制结束页
  • 吐槽查看的优化

关于漫画加载的问题

ios版使用拷贝漫画源的时候刷新漫画列表会重复加载之前已经加载的内容导致相同的内容会一直重复出现

能否出个简略的IOS版编译教程

开了个虚拟机尝试了一下自己编译,但因为个人实在不熟悉IOS版开发环境.
编译过程中总会有各种报错.
请问能否简略说一下操作步骤?

数据库标准化

需求简述
修改原本的DataBase类,将其修改为标准化的输入输出

需求主要目的与对应问题
DataBase类实在是又臭又长,没有进行分类,各种接口随意摆放。目标是将各个接口分门别类,标准化输入输出,并且通过多态实现一套代码处理多种类型的设置数据

需求主要功能清单

  • 将接口分类
  • 提供标准化输入输出接口
  • 实现自动处理数据类型
  • 将旧接口脱钩
  • 解决DataBase异常捕获的问题
  • 针对不同解析源对设置进行分类存储
  • 将config分类存储
  • 去除老旧数据表的冗余问题
  • 修改数据库构建代码,实现自动化重构表结构和弃用表

预期实现完成样式
调用类似如下所示,通过多态自动处理

Future<int> get port async => await get<int>('port', defaultValue: 5001);

附加信息

全屏显示的时候无法正确定位

描述:
在通过 SystemChrome.setEnabledSystemUIOverlays([]); 函数尝试影藏任务栏和虚拟按键来实现全屏的过程中发现在影藏虚拟按键后下方的空间无法被flutter_swiper正确的填充,导致点击翻页的功能出现一定的问题
备选解决方案(实行中):
只保留任务栏的影藏功能,下方的虚拟按钮不进行影藏

分类内容不全

另外
关于分类,有一些分类不在分类页出现

完整的分类列表如下(分类本质是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现象简述
低分辨率的手机上漫画章节显示是一行一个的

复现方法
找个低分辨率的手机进详情页

预期动作
应该是三个连成一排的设计

截图

Smartphone (please complete the following information):

  • Device: 低分辨率

附加信息
换成GridView好了,这样应该能解决这个问题

Mangabz的订阅按钮实现

需求简述
Mangabz他云端的订阅检查接口不可靠,所以需要本地进行记录

需求主要目的与对应问题
为了解决Mangabz的订阅功能实现

需求主要功能清单

  • 实现Mangabz的订阅功能

预期实现完成样式
就是普通的实现订阅,右上角的那个爱心能用

附加信息

本地解析源的实现

需求简述
实现一个自己封装的漫画格式,同时实现配套的本地解析源

需求主要目的与对应问题
(浪漫

需求主要功能清单

  • 实现.manga格式的定义工作
  • 实现.manga格式的解析
  • 实现.manga格式的解析源
  • 实现.manga格式的分享机制
  • 实现其周围功能
  • 完善教程
  • 实现封装功能

预期实现完成样式

{
  "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
    }
  ]
}

附加信息

关于其他漫画源使用自身的id会出问题的报告

Bug现象简述
由于本身comicID默认是用的动漫之家的id,现在改成这个样子得改get的绑定模式,要有可搜索和直接模式两种可选

复现方法
直接给个本身的id就能出问题

预期动作
直接解析本身id

截图

Smartphone (please complete the following information):

  • Device: 测试机
  • OS: Android10
  • Version 1.4.8-beta.4

附加信息

漫画查看进度条

有人想要通过进度条进行漫画页面控制,但存在刷新问题
描述:
在通过setState函数进行index更新的时候会出现页面不刷新而其上下文出现变化的情况,需要解决页面刷新带来的问题。
备选解决方案:
通过flutter_swiper提供的controller进行单页的翻页,然后通过遍历来实现连续多页的翻页功能,不过由于动画原因可能导致刷新问题。

大妈之家混合源似乎失效了

Bug现象简述
可以看到首页和更新栏显示的漫画,但点击具体漫画后会提示“无法加载数据,可以尝试修改漫画源”

复现方法
随便点进一个漫画即可

预期动作
修复此问题(?)

附加信息
我问了xiaoyaocz大佬,他做的flutter版也出现类似情况,他让我把漫画源的“使用网页api”关闭,照做后问题解决。
但dcomic里关闭网页api似乎无效(

小红心

Bug现象简述
无法点击右上角的小红心

复现方法
Steps to reproduce the behavior:

  1. 安装
  2. 设置开启免登录
  3. 点击到作品,观看后点右上角的小红心
  4. 下面弹出 订阅中的黄色警告条(请先登录)

预期动作
逻辑不太适合 我已经可以免登录看漫画了 为什么记住漫画还是需要登录呢 这个功能也讲不通啊
希望能实现免登录的条件下仍然可以记录我看过的漫画

搜索模块重做

需求简述
搜索模块重做为可以多源搜索的模块

需求主要目的与对应问题
主要是为了方便用

需求主要功能清单

  • 实现各个模块的搜素功能
  • 修改原有UI
  • 实现脱钩
  • 实现新搜素模块

预期实现完成样式
类似 #24 那个效果

附加信息

IPFS功能实现

需求简述
提供集成的IPFS功能

需求主要目的与对应问题
主要是为了提供一个分布式网络的解析源

需求主要功能清单

  • 实现基于ipfs-http-client的IPFS访问功能
  • 实现本地节点功能(可选)
  • 实现基于ipfs.io的IPFS访问功能
  • 实现基于IPFS网络的解析源
  • 实现基于IPFS网络的分享功能

预期实现完成样式
俺也不知道

附加信息
安卓ipfs节点
ipfs服务器
ipfs-http-client

阅读方向问题

有人需要增加阅读方向修改的功能
解决方案:
将列表反向输出

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.