*/ 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.report.export', 'prd.draw_result.view', 'prd.wallet_reconcile.manage', 'prd.settlement.agent.view', 'prd.settlement.agent.manage', ]; /** * @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; } }