mirror of
https://github.com/jie65535/mirai-console-jcf-plugin.git
synced 2025-06-02 17:39:15 +08:00
Added MessageHandler
This commit is contained in:
parent
75bea8e6ce
commit
afd06d7319
44
src/main/kotlin/top/jie65535/jcf/MessageHandler.kt
Normal file
44
src/main/kotlin/top/jie65535/jcf/MessageHandler.kt
Normal 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消息")
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user