feat:支持vue原生插件页面

This commit is contained in:
jxxghp
2025-05-03 10:03:44 +08:00
parent 491009636a
commit c692a3c80e
4 changed files with 207 additions and 88 deletions

View File

@@ -83,6 +83,14 @@ class _PluginBase(metaclass=ABCMeta):
"""
pass
@staticmethod
def get_render_mode() -> str:
"""
获取插件渲染模式
:return: 渲染模式支持vue/vuetify默认vuetify
"""
return "vuetify"
@abstractmethod
def get_api(self) -> List[Dict[str, Any]]:
"""
@@ -100,8 +108,16 @@ class _PluginBase(metaclass=ABCMeta):
@abstractmethod
def get_form(self) -> Tuple[List[dict], Dict[str, Any]]:
"""
拼装插件配置页面,需要返回两块数据1、页面配置2、数据结构
插件配置页面使用Vuetify组件拼装参考https://vuetifyjs.com/
拼装插件配置页面,插件配置页面使用Vuetify组件拼装参考https://vuetifyjs.com/
:return: 1、页面配置2、默认数据结构
"""
pass
@staticmethod
def get_form_file() -> Tuple[str, Dict[str, Any]]:
"""
获取插件配置页面JS代码源文件与get_from二选一使用
:return: 1、编译后的JS代码插件目录下相对路径2、默认数据结构
"""
pass
@@ -113,6 +129,14 @@ class _PluginBase(metaclass=ABCMeta):
"""
pass
@staticmethod
def get_page_file() -> Optional[str]:
"""
获取插件数据页面JS代码源文件与get_page二选一使用
:return: 编译后的JS代码插件目录下相对路径
"""
pass
def get_service(self) -> List[Dict[str, Any]]:
"""
注册插件公共服务
@@ -128,7 +152,7 @@ class _PluginBase(metaclass=ABCMeta):
def get_dashboard(self, key: str, **kwargs) -> Optional[Tuple[Dict[str, Any], Dict[str, Any], List[dict]]]:
"""
获取插件仪表盘页面需要返回1、仪表板col配置字典2、全局配置自动刷新等3、仪表板页面元素配置json含数据
获取插件仪表盘页面需要返回1、仪表板col配置字典2、全局配置布局、自动刷新等3、仪表板页面元素配置json含数据
1、col配置参考
{
"cols": 12, "md": 6
@@ -148,6 +172,13 @@ class _PluginBase(metaclass=ABCMeta):
"""
pass
def get_dashboard_file(self, key: str, **kwargs) -> Optional[Tuple[Dict[str, Any], Dict[str, Any], str]]:
"""
获取插件仪表盘页面JS代码源文件与get_dashboard二选一使用
:return: 1、全局配置布局、自动刷新等2、仪表板页面元素配置json含数据3、编译后的JS代码插件目录下相对路径
"""
pass
def get_dashboard_meta(self) -> Optional[List[Dict[str, str]]]:
"""
获取插件仪表盘元信息