mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-06-28 02:31:53 +08:00
feat: enhance plugin functionality
This commit is contained in:
@@ -168,24 +168,28 @@ class ShareLink(Model):
|
||||
|
||||
class Plugin(Model):
|
||||
id = fields.IntField(pk=True)
|
||||
url = fields.CharField(max_length=2048)
|
||||
enabled = fields.BooleanField(default=True)
|
||||
|
||||
open_app = fields.BooleanField(default=False)
|
||||
|
||||
key = fields.CharField(max_length=100, null=True)
|
||||
key = fields.CharField(max_length=100, unique=True) # 插件唯一标识
|
||||
name = fields.CharField(max_length=255, null=True)
|
||||
version = fields.CharField(max_length=50, null=True)
|
||||
supported_exts = fields.JSONField(null=True)
|
||||
|
||||
default_bounds = fields.JSONField(null=True)
|
||||
default_maximized = fields.BooleanField(null=True)
|
||||
|
||||
icon = fields.CharField(max_length=2048, null=True)
|
||||
description = fields.TextField(null=True)
|
||||
author = fields.CharField(max_length=255, null=True)
|
||||
website = fields.CharField(max_length=2048, null=True)
|
||||
github = fields.CharField(max_length=2048, null=True)
|
||||
license = fields.CharField(max_length=100, null=True)
|
||||
|
||||
# 完整 manifest 存储
|
||||
manifest = fields.JSONField(null=True)
|
||||
|
||||
# 前端相关配置(从 manifest.frontend 提取)
|
||||
open_app = fields.BooleanField(default=False)
|
||||
supported_exts = fields.JSONField(null=True)
|
||||
default_bounds = fields.JSONField(null=True)
|
||||
default_maximized = fields.BooleanField(null=True)
|
||||
icon = fields.CharField(max_length=2048, null=True)
|
||||
|
||||
# 已加载的组件追踪
|
||||
loaded_routes = fields.JSONField(null=True) # ["/api/plugins/xxx", ...]
|
||||
loaded_processors = fields.JSONField(null=True) # ["processor_type", ...]
|
||||
|
||||
created_at = fields.DatetimeField(auto_now_add=True)
|
||||
updated_at = fields.DatetimeField(auto_now=True)
|
||||
|
||||
Reference in New Issue
Block a user