WebBookDataSource

LightNovelReader 的网络数据提供源接口 可以通过实现此接口使软件支持新的数据源 软件加载WebBookDataSource时会对构造器进行依赖注入

Since

Api 2

Properties

Link copied to clipboard
open val cache: Cache?

数据源的缓存对象 用于指定最大缓存条数与过期时间 如为null则不设缓存

Link copied to clipboard

探索页面内容提供器

Link copied to clipboard
abstract val id: Int

数据源的唯一整数标识

Link copied to clipboard

请求图片时附带的请求头Map

Link copied to clipboard
abstract val isOffLineFlow: StateFlow<Boolean>

获取当前软件整体是否处于离线状态的数据流 此数据流应当为热数据流, 并且不断对状态进行更新

Link copied to clipboard
abstract val offLine: Boolean

当前软件整体是否处于离线状态

Link copied to clipboard
open val permits: Int

最大协程并发量

Link copied to clipboard

搜索提供器

Functions

Link copied to clipboard
abstract suspend fun getBookInformation(id: String): BookInformation

获取书本详情 此函数无需保证主线程安全性, 为阻塞函数, 获取到数据前应当保持阻塞 此函数应当自行实现断线重连等逻辑

Link copied to clipboard
abstract suspend fun getBookVolumes(id: String): BookVolumes

获取书本卷目录 此函数无需保证主线程安全性, 为阻塞函数, 获取到数据前应当保持阻塞 此函数应当自行实现断线重连等逻辑

Link copied to clipboard
abstract suspend fun getChapterContent(chapterId: String, bookId: String): ChapterContent

获取章节内容 此函数无需保证主线程安全性, 为阻塞函数, 获取到数据前应当保持阻塞 此函数应当自行实现断线重连等逻辑

Link copied to clipboard
open suspend fun getCoverUriInVolume(bookId: String, volume: Volume, volumeChapterContentMap: MutableMap<String, ChapterContent>, context: Context): Uri?

根据卷获取该卷封面的Uri, 用于EPUB分卷导出 如无则返回null

Link copied to clipboard
abstract suspend fun isOffLine(): Boolean

获取当前软件整体是否处于离线状态

Link copied to clipboard
open fun onLoad()

当数据源被加载时调用

Link copied to clipboard
open fun progressBookTagClick(tag: String, navController: NavController)

用于处理书本tag的点击跳转事件