خيارات_العلامة_البيضاء_في_إعدادات_المالك
كل_خيار_علامة_بيضاء_يمكن_لنشر_تعيينه_عبر_التكوين_(appsettings_/env)هو **أيضاً قابل_للضبط_في_وقت_التشغيل_بواسطة_مالك_التطبيق**،من **الإعدادات→النشر**، بدون_إعادة_نشر.تجاوز_المالك يفوز على_التكوين؛مسحه_يعيد_الخيار إلى_قيمة_النشر_المُكوَّنة(أو_الافتراضية_المدمجة).
هذا_يعكس_كيف_يُكوِّن_نشر_علامة_بيضاء_المنتج_—نفس_المقابض، نفس_التأثير_—لذا_يمكن_للمشغل_ضبط_العلامات_والبوابات_والسياسات_مباشراً ورؤية_النتيجة_فوراً.
أين_يعيش
- الواجهة:قسمالنشر الحصري_للمالك_في_حوار_الإعدادات،
والصفحة_القابلة_للربط_العميق
/settings/deployment.الخيارات مُجمعة_في علامة_لكل_فئة (العلامات،_السمة،_الميزات،_التسجيل، الحسابات،_البريد_الإلكتروني،_AI،_Open_API،Prop_firm)، محمولة_بالهاتف_أولاً،مع_حوار_مُؤطَّر_على_سطح_المكتب_وشاشة_كاملة على_الهواتف. - واجهة_البرمجة:
/api/whitelabel(للمالك_فقط،_لا_بوابة_ميزة):GET /api/whitelabel—كل_خيار_بقيمته_الفعلية، مصدره_(Config/Owner/Default)و_ما_إذا_تم_ضبط_تجاوز. الأسرار_مُموَّهة (القيمة_لا_تُرجع_أبداً).PUT /api/whitelabel/{key}{ "value": "…" }—ضبط_تجاوز(مُتحقق_ لكل_نوع_خيار).قيمة_فارغة_على سر _تحافظ_على_السر_القائم.DELETE /api/whitelabel/{key}—مسح_تجاوز_واحد(العودة_إلى_التكوين).POST /api/whitelabel/reset—_مسح كل التجاوزات(العودة_إلى_النشر_النقي).
كيف_تأخذ_التجاوزات_تأثيرها
التجاوزات_المالك_مخزنة_كصفوف_AppSetting مُموَّأة_حيث_يُطلب
ومُركبة_فوق_AppOptions المُربوطة_بواسطةIOptionsMonitor<AppOptions>المُزخرف.
لأن_كل_المستهلك_يقرأ_الخيارات_عبر_ذلك_المراقب_،تجاوز_يطبق مباشراً
عبر_التطبيق_الكامل—السمة،عنوان_الصفحة،بوابة_MFA،
بوابات_مزود_AI_،قائمة_السماسرة_المسموحة،سياسة_التسجيل،
إعدادات_نقل_البريد_الإلكتروني_،إلخ.تحديث_على_القراءة_التالية
(إعادة_عرض_السمة/العلامات_فوراً).إذا_كانت_قاعدة_البيانات_غير_متوفرة
لحظة،
الطبقة_ تفشل_مفتوحة إلى_خط_القاعدة_المُكوَّنة،لذا_قراءة_التجاوز
لا_تستطيع_كسر_التطبيق.
علامات_الميزات جزء_من_نفس_السطح_لكنها_مُستمرة_من_خلال_مخزن_تجاوز
الميزة_ال قائفة_(IFeatureGate)_،لذا_علامة_الميزات_وقواطع_الميزات
المSTANDALONE_لا_تتباين_أبداً.
الأسرار_(كلمة_مرور_SMTP،سر_CAPTCHA،سر_التوفير)مُموَّأة_عند rest
(ISecretProtector،غرضwhitelabel.secret)،_كتابة_فقط_في_الواجهة،
ولاتُرجع_أبداً_بواسطة_واجهة_البرمجة.
الخيارات_المُفوَّضة
اعتماد_تطبيق_Open_API_المُشتركو معدلات_الحد_لكل_نوع_رسالة تُدار في_قسم_إعدادات Open_API (انظر_وثائق_نسخ_التداول_/Open_API).تظهر في_كتالوج_النشر_كـ مدخلات_مُفوَّضة(للقراءة_فقط_هنا_،مع_رابط) لذا_لا_يُكرر_شيء_وضمان_المزامنة_لا_يزال_يُحتسبها_كـ_مغطاة.
دائماً_متزامن_(مُنفَّذ)
إضافة_خيار_علامة_بيضاء_جديد_إلى_التكوين_ يجب يُظهره_في_إعدادات
المالك_في_نفس_الالتزام.هذا_مُنفَّذ_بواسطةWhiteLabelCatalogParityTests:
يتأمل_على_كل_خاصية_سجل_خيارات_العلامة_البيضاء_ويفشل_البناء_ما_لم_
يتم_تسجيل_الخاصية_في_Core/WhiteLabel/WhiteLabelCatalog
(أو_مُدرجة_صريحاً_في_IntentionallyExcluded مع_سبب).
انظر_التفويض_10_في_CLAUDE.md.
ملاحظات
- تفعيل_SMTP_على_نشر_بدأ بدون بريد_إلكتروني_مُكوَّن_يحتاج_إعادة_تشغيل (نوع_المرسل_يُختار_عند_البدء)؛مضيف/اعتماد_مرسل_مُكوَّن_بالفعل_يُحدّث مباشر.
- تسميات/أوصاف_الخيارات هي_معرّفات_تقنية_للمقبض_تُعرض_كبيانات؛ تسميات_العلامات_وكل_الكروم_التفاعلي_مُحلاة_بالكامل.