gedoor / legado

Legado 3.0 Book Reader with powerful controls & full functions❤️阅读3.0, 阅读是一款可以自定义来源阅读网络内容的工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验。
GNU General Public License v3.0
28.62k stars 3.82k forks source link

能否在本地epub添加到书架后,可以选择直接同步在线书源的目录进度,而不需要重新缓存呢? #4176

Closed uzuki5245 closed 3 weeks ago

uzuki5245 commented 3 weeks ago

确认 / Assignments

功能描述 / Features

如题。之前也提交过类似的问题,但是没有得到回复。这本书是直接从lgado导出作为备份的,但是在某一次阅读时发生卡顿,因而丢失了书架上的编辑记录,而从本地导入的备份书籍则无法在换源后保留本地缓存,即本地缓存无法和书源新目录的章节同时存在。

期望实现方式 / How to implement

这个问题折腾了好久都无法解决。因此想向软件的维护者大大提出两点疑问:

1.我能否通过修改某些代码,使软件将书架上的本地源和本地缓存识别为在线源?在章节目录结构完全一致的情况下,它完全可以兼容在线源。因为它是同一个书源备份出去的。

2.如果不能通过修改代码来实现,是否可以添加此功能,使软件在识别到目录相同时,能选择将本地文件的缓存作为在线书源的缓存,而不需要全部都重新再加载? (假设目录存在些许一两章增减,则对目录标题相同的部分的本地缓存予以保留,而增减的部分再重新同步在线书源?)

附加信息 / Additions

为什么想要提出这种请求呢?因为对于这本小说,我已经手动修正了几千个错字错句,如果本地缓存经常因在线书源卡顿重新识别而刷新的话,那么整理起来就变得很麻烦了。

之前一直没有追更新,因此只保存了小说的txt和epub文件。要是当时有意识地做整个软件的备份就好了,但也完全没料到会出这样的bug。

效果演示 / Demo

在导入本地书籍后,无法与进行在线目录更新,更新后本地书籍缓存将被覆盖。

821938089 commented 3 weeks ago

正常情况下缓存是不会丢失的,只有你清理缓存/换源/章节目录结构发生变化才会导致缓存丢失 如果你能确定章节目录结构一致,你可以手动复制缓存文件或自行修改代码解决 不一致的话那就只能一章一章复制了

uzuki5245 commented 3 weeks ago

正常情况下缓存是不会丢失的,只有你清理缓存/换源/章节目录结构发生变化才会导致缓存丢失 如果你能确定章节目录结构一致,你可以手动复制缓存文件或自行修改代码解决 不一致的话那就只能一章一章复制了

是的,因为事先不知道换源会导致缓存丢失,因此在某一次书源卡顿刷新之后,原来的缓存章节直接被覆盖了。 请问该如何手动复制缓存文件,或者修改相关代码呢? 我是it小白,目前会的仅仅是在虚拟机系统复制一下别人的一键编译代码,按图索骥罢了。

821938089 commented 3 weeks ago

你打开epub那本,然后导出一遍,然后去缓存目录里把文件复制过去就可以了,打开epub时注意别又被覆盖了 修改代码你不会的话,可以自己先学习一下kotlin和Android

uzuki5245 commented 3 weeks ago

你打开epub那本,然后导出一遍,然后去缓存目录里把文件复制过去就可以了,打开epub时注意别又被覆盖了 修改代码你不会的话,可以自己先学习一下kotlin和Android

又花了一个多小时研究,对比了在线端新增的缓存文件的文件名,终于明白,之前同一个书源加载失败的原因,是因为这本书前面的目录向前迁移了两章,因此直接导致前半本书目录被改动的部分,由于章节序号对不上而全部缓存失效。 总算是搞明白了这个问题,也找到了大致的解决方法,在此非常感谢您提供的协助!^^

uzuki5245 commented 3 weeks ago

顺带一提,通过链接PC对应用内部文件的修改是不起效的。 作为一台未root的手机,无法从系统文件管理器直接进入/Android/data,但是借助一款名为zFile的软件便可以进入修改。