*/ private const TEMPLATE_SLUGS = [ 'prd.dashboard.view', 'prd.agent.view', 'prd.agent.manage', 'prd.agent.role.view', 'prd.agent.role.manage', 'prd.agent.user.view', 'prd.agent.user.manage', 'prd.agent.profile.manage', 'prd.users.manage', 'prd.tickets.view', 'prd.report.view', 'prd.settlement.agent.view', 'prd.settlement.agent.manage', 'prd.integration.view', ]; /** * @return list */ public static function templateSlugs(): array { return self::TEMPLATE_SLUGS; } public static function ensurePlatformSiteAdminRole(): AdminRole { $role = AdminRole::query()->updateOrCreate( [ 'slug' => SitePlatformRole::SLUG, 'scope_type' => AdminRole::SCOPE_SYSTEM, ], [ 'code' => SitePlatformRole::SLUG, 'name' => '站点管理员', 'description' => '接入站点后台默认权限(代理/玩家/结算运营 + 站点仪表盘)', 'status' => 1, 'is_system' => true, 'sort_order' => 40, 'owner_agent_id' => null, 'delegated_from_role_id' => null, ], ); $role->syncLegacyPermissionSlugs( AdminPermissionInheritance::expand(self::TEMPLATE_SLUGS), ); return $role->fresh() ?? $role; } }