feat: refactor super admin to use is_super_admin flag and enhance site deletion logic

- Changed super admin detection from role-based to `is_super_admin` flag in AdminUser model
- Added `requireDefaultAdminSiteId()` method to throw validation error when no integration site exists
- Enhanced site deletion to migrate platform role bindings to fallback site and auto-delete site-specific admin accounts
- Made agent line code optional with auto-generation fallback using `{site_code}-agent-{counter}` format
This commit is contained in:
2026-06-12 20:47:40 +08:00
parent 980f3c9593
commit 395e1c7400
36 changed files with 1193 additions and 153 deletions

View File

@@ -11,6 +11,10 @@ return [
'site_access_denied' => '无权访问该站点。',
'site_rotate_denied' => '无权操作该站点。',
'site_update_denied' => '无权修改该站点。',
'site_delete_denied' => '无权删除该站点。',
'integration_site_default_delete_denied' => '默认站点不可删除。',
'integration_site_last_delete_denied' => '至少保留一个接入站点,无法删除最后一个站点。',
'no_integration_site' => '请先创建接入站点。',
'site_player_access_denied' => '无权访问该站点下的玩家。',
'integration_site_store_deprecated' => '请先在「平台配置 → 接入站点」创建站点,再在「代理配置 → 创建一级代理」绑定一级代理。',
'player_create_site_forbidden' => '无权在该站点下创建玩家。',
@@ -41,6 +45,7 @@ return [
'user_cannot_delete_self' => '不能删除当前登录账号。',
'user_cannot_delete_last_super_admin' => '不能删除最后一个超级管理员。',
'super_admin_only_for_roles' => '仅超级管理员可管理角色。',
'super_admin_not_site_role' => '超级管理员为平台唯一账号,不能通过站点角色分配。',
'route_name_missing_for_permission' => '后台路由缺少 route name无法执行资源鉴权。',
'api_resource_not_configured' => '后台 API 资源未配置::route',
'api_resource_no_permission_binding' => '后台 API 资源未绑定权限动作::code',