refactor: 重构插件系统

This commit is contained in:
RockChinQ
2024-01-29 21:22:27 +08:00
parent b730f17eb6
commit 6cc4688660
53 changed files with 1307 additions and 1993 deletions
+7 -4
View File
@@ -1,17 +1,20 @@
from __future__ import annotations
from .. import apigroup
from ... import context
from ....core import app
class V2MainDataAPI(apigroup.APIGroup):
"""主程序相关 数据API"""
def __init__(self, prefix: str):
super().__init__(prefix+"/main")
ap: app.Application
def __init__(self, prefix: str, ap: app.Application):
self.ap = ap
super().__init__(prefix+"/usage")
def do(self, *args, **kwargs):
config = context.get_config_manager().data
config = self.ap.cfg_mgr.data
if not config['report_usage']:
return None
return super().do(*args, **kwargs)
+7 -4
View File
@@ -1,17 +1,20 @@
from __future__ import annotations
from ....core import app
from .. import apigroup
from ... import context
class V2PluginDataAPI(apigroup.APIGroup):
"""插件数据相关 API"""
def __init__(self, prefix: str):
super().__init__(prefix+"/plugin")
ap: app.Application
def __init__(self, prefix: str, ap: app.Application):
self.ap = ap
super().__init__(prefix+"/usage")
def do(self, *args, **kwargs):
config = context.get_config_manager().data
config = self.ap.cfg_mgr.data
if not config['report_usage']:
return None
return super().do(*args, **kwargs)
+6 -3
View File
@@ -1,17 +1,20 @@
from __future__ import annotations
from .. import apigroup
from ... import context
from ....core import app
class V2UsageDataAPI(apigroup.APIGroup):
"""使用量数据相关 API"""
def __init__(self, prefix: str):
ap: app.Application
def __init__(self, prefix: str, ap: app.Application):
self.ap = ap
super().__init__(prefix+"/usage")
def do(self, *args, **kwargs):
config = context.get_config_manager().data
config = self.ap.cfg_mgr.data
if not config['report_usage']:
return None
return super().do(*args, **kwargs)
+6 -7
View File
@@ -6,7 +6,7 @@ from . import apigroup
from .groups import main
from .groups import usage
from .groups import plugin
from ...utils import context
from ...core import app
BACKEND_URL = "https://api.qchatgpt.rockchin.top/api/v2"
@@ -23,7 +23,7 @@ class V2CenterAPI:
plugin: plugin.V2PluginDataAPI = None
"""插件 API 组"""
def __init__(self, basic_info: dict = None, runtime_info: dict = None):
def __init__(self, ap: app.Application, basic_info: dict = None, runtime_info: dict = None):
"""初始化"""
logging.debug("basic_info: %s, runtime_info: %s", basic_info, runtime_info)
@@ -31,8 +31,7 @@ class V2CenterAPI:
apigroup.APIGroup._basic_info = basic_info
apigroup.APIGroup._runtime_info = runtime_info
self.main = main.V2MainDataAPI(BACKEND_URL)
self.usage = usage.V2UsageDataAPI(BACKEND_URL)
self.plugin = plugin.V2PluginDataAPI(BACKEND_URL)
context.set_center_v2_api(self)
self.main = main.V2MainDataAPI(BACKEND_URL, ap)
self.usage = usage.V2UsageDataAPI(BACKEND_URL, ap)
self.plugin = plugin.V2PluginDataAPI(BACKEND_URL, ap)