Added MessageHandler

This commit is contained in:
2022-06-18 11:12:24 +08:00
parent 75bea8e6ce
commit afd06d7319
2 changed files with 49 additions and 4 deletions

View File

@ -0,0 +1,44 @@
package top.jie65535.jcf
import net.mamoe.mirai.message.data.Message
import top.jie65535.jcf.model.file.File
import top.jie65535.jcf.model.mod.Mod
import top.jie65535.jcf.util.PagedList
object MessageHandler {
/**
* 处理mod搜索结果
*/
suspend fun handleModsSearchResult(pagedList: PagedList<Mod>): Message {
val list = pagedList.current() // mod list
val hasNext = pagedList.hasNext // 是否有下一页
val hasPrev = pagedList.hasPrev // 是否有上一页
TODO("将搜索列表转为QQ消息")
}
/**
* 处理展示单个mod
*/
fun handleShowMod(mod: Mod): Message {
TODO("将mod转为QQ消息")
}
/**
* 处理模组文件列表
*/
suspend fun handleModFileList(pagedList: PagedList<File>): Message {
val list = pagedList.current() // mod list
val hasNext = pagedList.hasNext // 是否有下一页
val hasPrev = pagedList.hasPrev // 是否有上一页
TODO("将文件列表转为QQ消息")
}
/**
* 处理模组文件更改日志
* @param changelog 更改日志HTML
*/
fun handleModFileChangelog(changelog: String): Message {
TODO("将文件更改日志渲染为QQ消息")
}
}

View File

@ -10,8 +10,9 @@ class PagedList<T>(
) {
private val pages = mutableListOf<Array<T>>()
private var pageIndex = 0
private var hasNext = false
fun getHasNext() = hasNext
private var _hasNext = false
val hasNext get() = _hasNext
val hasPrev get() = pageIndex > 0
suspend fun prev(): Array<T> {
if (pageIndex > 0) {
@ -21,7 +22,7 @@ class PagedList<T>(
}
suspend fun next(): Array<T> {
if (hasNext) {
if (_hasNext) {
pageIndex++
}
return current()
@ -32,7 +33,7 @@ class PagedList<T>(
pages[pageIndex]
} else {
val data = getPageData(pageIndex)
hasNext = data.size == pageSize
_hasNext = data.size == pageSize
pages.add(data)
data
}