共用方式為


在 Go Gin Web 應用程式中依排程啟用功能

在本指南中,您會使用時間範圍篩選來啟用 Go Gin Web 應用程式的排程功能。

本文中使用的範例是以功能管理 快速入門中引進的 Go Gin Web 應用程式為基礎。 繼續進行之前,請先完成快速入門,以使用 Beta 功能旗標建立 Go Gin Web 應用程式。 完成後,您必須將時間範圍篩選新增至應用程式組態存放區中的 Beta 功能旗標。

Prerequisites

使用時間範圍篩選

您已於前置條件中新增 Beta 功能標誌的時間範圍篩選。 接下來,您將使用功能旗標搭配 Go Gin Web 應用程式中的時間範圍篩選。

當您建立功能管理員時,內建功能篩選會自動新增至其功能篩選集合

快速入門中的現有程式代碼已透過功能管理員處理時間範圍篩選:

// 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)
}

中間件中的功能評估現在會遵守時間範圍篩選:

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()
    }
}

作用中的時間範圍篩選

重新啟動應用程式。 如果您的目前時間早於時間範圍篩選設定的開始時間,Beta 功能表項目不會出現在工具列上。 這是因為時間範圍篩選已停用 Beta 功能旗標。

Gin 網頁應用程式螢幕快照,Beta 功能表已隱藏。

開始時間過去後,請重新整理瀏覽器幾次。 您會發現 Beta 功能表項目隨即出現。 這是因為時間範圍篩選現在已啟用 Beta 功能旗標。

具有 Beta 選單的 Gin 網頁應用程式的螢幕快照。

Next steps

若要深入了解功能篩選,請繼續檢視下列文件。

若需了解 Go 功能管理程式庫的完整功能概覽,請繼續參閱下列文件。