مشاركة عبر


تمكين الميزات الشرطية باستخدام عامل تصفية مخصص في تطبيق JavaScript

يمكن أن تستخدم علامات الميزات عوامل تصفية الميزات لتمكين الميزات بشكل مشروط. لمعرفة المزيد حول عوامل تصفية الميزات، راجع تمكين الميزات الشرطية باستخدام عوامل تصفية الميزات.

يستند المثال المستخدم في هذا الدليل إلى تطبيق Node.js المقدم في التشغيل السريع لإدارة الميزات. قبل المتابعة، أكمل التشغيل السريع لإنشاء تطبيق Node.js مع علامة ميزة Beta . بمجرد الانتهاء، يجب إضافة عامل تصفية ميزة مخصص إلى علامة ميزة Beta في متجر App Configuration.

في هذه المقالة، ستتعلم كيفية تنفيذ عامل تصفية ميزة مخصص واستخدام عامل تصفية الميزة لتمكين الميزات بشكل مشروط. نحن نستخدم تطبيق وحدة التحكم Node.js كمثال، ولكن يمكنك أيضا استخدام عامل تصفية الميزة المخصص في تطبيقات JavaScript الأخرى.

المتطلبات الأساسية

تنفيذ عامل تصفية ميزة مخصص

لقد أضفت عامل تصفية ميزة مخصصا يسمى Random مع معلمة النسبة المئوية لعلامة ميزة Beta في المتطلبات الأساسية. بعد ذلك، يمكنك تنفيذ عامل تصفية الميزة لتمكين علامة ميزة Beta استنادا إلى الفرصة المحددة بواسطة معلمة النسبة المئوية .

  1. افتح الملف app.js وأضف RandomFilter مع التعليمات البرمجية التالية.

    class RandomFilter {
        name = "Random";
        evaluate(context) {
            const percentage = context.parameters.Percentage;
            const randomNumber = Math.random() * 100;
            return randomNumber <= percentage;
        }
    }
    

    لقد أضفت RandomFilter فئة تحتوي على أسلوب واحد يسمى evaluate، والذي يتم استدعاؤه كلما تم تقييم علامة ميزة. في evaluate، يمكن عامل تصفية الميزة علامة ميزة عن طريق إرجاع true.

    يمكنك تعيين الاسم إلى RandomFilter عشوائي، والذي يطابق اسم عامل التصفية الذي قمت بتعيينه في علامة ميزة بيتا في تكوين تطبيق Azure.

  2. RandomFilter تسجيل عند إنشاء FeatureManager.

    const fm = new FeatureManager(
        new ConfigurationMapFeatureFlagProvider(appConfig), 
        {
            customFilters: [new RandomFilter()]
        });
    

عامل تصفية الميزة قيد التنفيذ

عند تشغيل التطبيق، سيقوم موفر التكوين بتحميل علامة ميزة Beta من Azure App Configuration. ستتم طباعة نتيجة isEnabled("Beta") الأسلوب إلى وحدة التحكم. RandomFilter كما يتم تنفيذها واستخدامها بواسطة علامة ميزة بيتا، ستكون True النتيجة 50 في المئة من الوقت و50 False في المئة الأخرى من الوقت.

سيؤدي تشغيل التطبيق إلى إظهار تمكين علامة ميزة Beta في بعض الأحيان، وفي بعض الأحيان لا يتم تمكينها.

Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true

الخطوات التالية

لمعرفة المزيد حول عوامل تصفية الميزات المضمنة، تابع إلى المستندات التالية.

للتشغيل الكامل للميزة لمكتبة إدارة ميزات JavaScript، تابع إلى المستند التالي.