Udostępnij za pomocą


Włączanie funkcji zgodnie z harmonogramem w aplikacji internetowej Go Gin

W tym przewodniku użyjesz filtru okna czasowego, aby włączyć funkcję zgodnie z harmonogramem aplikacji webowej Go Gin.

Przykład używany w tym artykule jest oparty na aplikacji internetowej Go Gin wprowadzonej w przewodniku Szybki start dotyczącym zarządzania funkcjami. Przed kontynuacją ukończ Szybki start, aby stworzyć aplikację internetową Go Gin z flagą funkcji Beta. Po zakończeniu należy dodać filtr okna czasowego do flagi funkcji Beta w magazynie App Configuration.

Prerequisites

Korzystanie z filtru przedziału czasu

Dodano filtr przedziału czasu dla flagi funkcji beta w wymaganiach wstępnych. Następnie użyjesz flagi funkcji z filtrem okna czasowego w aplikacji internetowej Go Gin.

Po utworzeniu menedżera funkcji wbudowane filtry funkcji są automatycznie dodawane do kolekcji filtrów funkcji

Istniejący kod z przewodnika szybkiego startu już obsługuje filtry okien czasowych za pośrednictwem menadżera funkcji:

// Create feature flag provider
featureFlagProvider, err := azappconfig.NewFeatureFlagProvider(appConfig)
if err != nil {
    log.Fatalf("Error creating feature flag provider: %v", err)
}

// Create feature manager (supports built-in filters including TimeWindowFilter)
featureManager, err := featuremanagement.NewFeatureManager(featureFlagProvider, nil)
if err != nil {
    log.Fatalf("Error creating feature manager: %v", err)
}

Ocena funkcji w programie pośredniczącym będzie teraz uwzględniać filtr przedziału czasu:

func (app *WebApp) featureMiddleware() gin.HandlerFunc {
    return func(c *gin.Context) {
        // Check if Beta feature is enabled (TimeWindowFilter is automatically evaluated)
        betaEnabled, err := app.featureManager.IsEnabled("Beta")
        if err != nil {
            log.Printf("Error checking Beta feature: %v", err)
        }

        // Store feature flag status for use in templates
        c.Set("betaEnabled", betaEnabled)
        c.Next()
    }
}

Filtr przedziału czasu w akcji

Uruchom ponownie aplikację. Jeśli bieżący czas jest wcześniejszy niż czas rozpoczęcia ustawiony dla filtru okna czasowego, element menu Beta nie będzie wyświetlany na pasku narzędzi. Dzieje się tak, ponieważ flaga funkcji beta jest wyłączona przez filtr okna czasowego.

Zrzut ekranu przedstawiający aplikację internetową Gin z ukrytym menu beta.

Po upływie czasu rozpoczęcia odśwież przeglądarkę kilka razy. Zauważysz, że zostanie wyświetlony element menu Beta . Dzieje się tak, ponieważ flaga funkcji beta jest teraz włączona przez filtr przedziału czasu.

Zrzut ekranu przedstawiający aplikację internetową Gin z menu Beta.

Next steps

Aby dowiedzieć się więcej na temat filtrów funkcji, przejdź do następujących dokumentów.

Aby zobaczyć pełny przegląd funkcji biblioteki zarządzania funkcjami Go, przejdź do następującego dokumentu.