dengzemiao / DZMeBookRead

支持项目使用!最完整小说阅读器Demo!仿iReader(掌阅),QQ阅读 ... 常用阅读器阅读页面,支持 翻页效果(仿真,覆盖,平移,滚动,无效果)、字体切换、书签功能、阅读记录、亮度调整、背景颜色切换 ...
MIT License
1.23k stars 325 forks source link

网络小说相关问题-----flutter接入 #62

Open 2803404074 opened 3 years ago

2803404074 commented 3 years ago

问题:跳转到阅读器,没有文字内容。

跳转步骤: 1):跳转阅读器页面之前,网络请求获取章节内容,解析数据。 2): 创建readModel,创建chapterModel,并赋值chapterModel 的content、id、name、bookID。 3) : 内容排版,保存,修改阅读记录。 4) : 创建DZMReadController ,并赋值readModel。 5). : 跳转。

我在各个地方分别打印了日志,章节内容没问题,chapterModel有内容,归档有内容。为什么跳转过去DZMReadController没有content呢,一片空白。

以下是我跳转前的代码: //网络请求返回,解析json let dataJson = json["data"].description let data = Jsonify(string: dataJson)

            let infoJson = data["info"].description
            let info = Jsonify(string: infoJson)

            let raw = data["info"].data
            let bookId = info["book_id"].intValue
            let chapter_id = info["chapter_id"].intValue
            let content = info["content"].stringValue
            let title = info["title"].string

            let readModel = DZMReadModel.model(bookID: String(bookId))

            // 创建章节数据
            let chapterModel = DZMReadChapterModel()
            chapterModel.content = content
            chapterModel.id = NSNumber(value: chapter_id)
            chapterModel.bookID = String(bookId)
            chapterModel.name = title
            chapterModel.priority = 0

           // print("解析内容:\(String(describing: chapterModel.content))")

            // 章节类容需要进行排版一篇
            chapterModel.content = DZMReadParser.contentTypesetting(content: chapterModel.content)

            // 保存
            chapterModel.save()

            //如果存在则修改阅读记录
            readModel.recordModel.modify(chapterID: NSNumber(value:chapter_id), location: 0)

            DispatchQueue.main.async {
                    //code
                let vc  = DZMReadController()
                vc.readModel = readModel
                vc.bookName = String(describing: bookName!)
                self.navigationController?.pushViewController(vc, animated: true)
                }
dengzemiao commented 3 years ago

@2803404074 因为这边暂时没有实操过 flutter 接入,所以需要进行验证: 1、先检查配合 flutter 是否可以完成渲染,正常解析章节存在页码数量后,找到 ReadView 手动添加文字进行测试渲染问题。 2、渲染没有问题,就检查一下 DZMReadView 页码是否正常拿到章节内容进行渲染。 3、如果都没有问题,那就是其他位置的代码有问题,只要支持渲染且有内容,那就是说明没问题,可能是其他细节导入的时候出了问题!

dengzemiao commented 3 years ago

@2803404074 1、先检查配合 flutter 是否可以完成渲染,正常解析章节存在页码数量后,找到 ReadView 手动添加文字进行测试渲染问题。 2、渲染没有问题,就检查一下 DZMReadView 页码是否正常拿到章节内容进行渲染。