feat(admin-frontend): 新增节点自动上线托管能力

为节点新增 auto_online 字段与后台同步任务,
仅对开启托管的节点按在线状态自动同步前台显示。

管理端补齐单节点与批量开关、列表标识与统计,
并在自动上线启用时禁用手动显隐切换。

后端新增定时命令、保存校验、批量更新支持、
数据库迁移与单元测试,保证托管逻辑可落地。
This commit is contained in:
yinjianm
2026-04-28 00:08:12 +08:00
parent 9af9dd0df7
commit 73b1696b0a
26 changed files with 361 additions and 33 deletions
+3 -1
View File
@@ -24,6 +24,7 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
* @property array|null $route_ids 路由IDs
* @property array|null $tags 标签
* @property boolean $show 是否显示
* @property boolean $auto_online 是否根据在线状态自动同步显示
* @property string|null $allow_insecure 是否允许不安全
* @property string|null $network 网络类型
* @property int|null $parent_id 父节点ID
@@ -36,7 +37,7 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
* @property int $updated_at
*
* @property-read Server|null $parent 父节点
* @property-read \Illuminate\Database\Eloquent\Collection<int, StatServer> $stats 节点统计
* @property-read \Illuminate\Database\Eloquent\Collection<int, StatServer> $stats 节点统计
* @property-read \Illuminate\Database\Eloquent\Collection<int, ServerGfwCheck> $gfwChecks 墙状态检测记录
*
* @property-read int|null $last_check_at 最后检查时间(Unix时间戳)
@@ -125,6 +126,7 @@ class Server extends Model
'last_check_at' => 'integer',
'last_push_at' => 'integer',
'show' => 'boolean',
'auto_online' => 'boolean',
'enabled' => 'boolean',
'created_at' => 'timestamp',
'updated_at' => 'timestamp',