Portable PluginCenter

This commit is contained in:
Him188 2020-05-07 16:32:43 +08:00
parent 2ffe539a59
commit afc2aaf5c9
4 changed files with 10 additions and 10 deletions

View File

@ -8,7 +8,6 @@ import javafx.scene.control.Button
import javafx.scene.control.TreeTableCell
import kotlinx.coroutines.runBlocking
import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.center.PluginCenter
import net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import net.mamoe.mirai.console.graphical.event.ReloadEvent
import net.mamoe.mirai.console.graphical.model.PluginModel
@ -16,13 +15,12 @@ import net.mamoe.mirai.console.graphical.stylesheet.PluginViewStyleSheet
import net.mamoe.mirai.console.graphical.util.jfxButton
import net.mamoe.mirai.console.graphical.util.jfxTreeTableView
import net.mamoe.mirai.console.graphical.view.dialog.PluginDetailFragment
import net.mamoe.mirai.console.plugins.PluginManager
import tornadofx.*
class PluginsCenterView : View() {
private val controller = find<MiraiGraphicalUIController>()
private val center = PluginCenter.Default
private val center get() = MiraiConsole.frontEnd.pluginCenter
private val plugins: ObservableList<PluginModel> = observableListOf()
init {

View File

@ -4,10 +4,6 @@ import java.io.File
interface PluginCenter {
companion object {
val Default: PluginCenter = CuiPluginCenter
}
data class PluginInsight(
val name: String,
val version: String,

View File

@ -14,7 +14,6 @@ import kotlinx.coroutines.launch
import net.mamoe.mirai.Bot
import net.mamoe.mirai.Bot.Companion.botInstances
import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.center.PluginCenter
import net.mamoe.mirai.console.plugins.PluginManager
import net.mamoe.mirai.console.utils.addManager
import net.mamoe.mirai.console.utils.checkManager
@ -319,11 +318,11 @@ object DefaultCommands {
usage = "/install [plugin-name] to install plugin or /install [page-num] to show list "
onCommand { args ->
val center = PluginCenter.Default
val center = MiraiConsole.frontEnd.pluginCenter
suspend fun showPage(num: Int) {
sendMessage("正在连接 " + center.name)
val list = PluginCenter.Default.fetchPlugin(num)
val list = center.fetchPlugin(num)
if (list.isEmpty()) {
sendMessage("页码过大")
return

View File

@ -10,6 +10,8 @@
package net.mamoe.mirai.console.utils
import net.mamoe.mirai.Bot
import net.mamoe.mirai.console.center.CuiPluginCenter
import net.mamoe.mirai.console.center.PluginCenter
import net.mamoe.mirai.utils.LoginSolver
import net.mamoe.mirai.utils.SimpleLogger.LogPriority
@ -18,6 +20,11 @@ import net.mamoe.mirai.utils.SimpleLogger.LogPriority
* 需要保证线程安全
*/
interface MiraiConsoleUI {
/**
* 提供 [PluginCenter]
*/
val pluginCenter: PluginCenter get() = CuiPluginCenter
/**
* UI 层展示一条 log
*