feat: enhance plugin functionality

This commit is contained in:
时雨
2026-01-06 16:54:49 +08:00
committed by GitHub
parent 31d97b2968
commit 24255744df
48 changed files with 3089 additions and 3811 deletions

View File

@@ -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)