إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: المطور | أساسي | قياسي | قسط
يتميز مدخل مطور APIM بمحرر مرئي وعناصر واجهة مستخدم مُضمنة بحيث يمكنك تخصيص مظهر المدخل ونمطه. ومع ذلك، قد تحتاج إلى تخصيص مدخل المطور بشكل أكبر باستخدام وظائف مخصصة. على سبيل المثال، قد ترغب في دمج مدخل المطور مع نظام دعم يتضمن إضافة واجهة مُخصصّة. تشرح هذه المقالة طرق إضافة وظائف مخصصة مثل عناصر واجهة المستخدم المخصصة إلى مدخل مطور APIM.
يلخص الجدول التالي خيارين، مع ارتباطات لمزيد من التفاصيل.
| الطريقة | الوصف |
|---|---|
| عنصر واجهة مستخدم تعليمات HTML البرمجية المخصصة | - حل بسيط لناشري واجهة برمجة التطبيقات لإضافة منطق مخصص لحالات الاستخدام الأساسية - نسخ ولصق تعليمة HTML البرمجية المخصصة في نموذج، ويعرضها مدخل المطور في iframe |
| إنشاء عنصر واجهة مستخدم مخصص وتحميله | - حل المطور لحالات استخدام عنصر واجهة المستخدم الأكثر تقدمًا - يتطلب التنفيذ المحلي في React أو Vue أو TypeScript عادي - دعم عنصر واجهة المستخدم والأدوات المقدمة لمساعدة المطورين على إنشاء عنصر واجهة المستخدم وتحميلها إلى مدخل المطور - يمكن كتابة إنشاء عنصر واجهة المستخدم واختباره ونشره من خلال مصدر مفتوح React Component Toolkit - يدعم مهام سير العمل للتحكم بالمصادر وتعيين الإصدار وإعادة استخدام التعليمات البرمجية |
إشعار
تعد الاستضافة الذاتية لمدخل المطور خيارا قابلا للتوسع للعملاء الذين يحتاجون إلى تخصيص التعليمات البرمجية المصدر لذاكرة المدخل الأساسية بأكملها. فهو يوفر مرونة كاملة لتخصيص تجربة المدخل، ولكنه يتطلب تكوينا متقدما. مع الاستضافة الذاتية، أنت مسؤول عن إدارة دورة حياة التعليمات البرمجية الكاملة: قاعدة التعليمات البرمجية المتشعبة، والتطوير، والنشر، والمضيف، والتصحيح، والترقية.
تلميح
خيار آخر لتخصيص مدخل المطور هو استخدام مكون إضافي لمدخل المطور مفتوح المصدر ل WordPress. استفد من إمكانات الموقع في WordPress لترجمة المحتوى وتخصيص القوائم وتطبيق أوراق الأنماط المخصصة والمزيد في مدخل المطور.
استخدام عنصر واجهة مستخدم تعليمات HTML البرمجية المخصصة
يتضمن مدخل المطور المدار عنصر واجهة مستخدم تعليمات HTML البرمجية المخصصة حيث يمكنك إدراج تعليمات HTML البرمجية لتخصيصات المدخل الصغيرة. على سبيل المثال، يمكنك استخدام HTML مخصص لتضمين فيديو أو لإضافة نموذج. يعرض المدخل عنصر واجهة المستخدم المخصص في إطار مضمن (iframe).
في الواجهة الإدارية لمدخل المطور، انتقل إلى الصفحة أو القسم حيث تريد إدراج عنصر واجهة المستخدم.
حدد أيقونة "علامة الجمع" الرمادية (+) التي تعرض عند تمرير المؤشر فوق الصفحة.
في نافذة إضافة عنصر واجهة المستخدم، حدد Custom HTML code.
حدد عنصر واجهة المستخدم الجديد، ثم حدد زر تحرير عنصر واجهة المستخدم .
أدخل العرضوالارتفاع(بالبكسل) لأداة.
لتوريث الأنماط من مدخل المطور (مستحسن)، حدد تطبيق تصميم مدخل المطور.
إشعار
إذا لم يتم تحديد الإعداد، فستكون العناصر المضمنة عناصر تحكم HTML عادية، دون أنماط مدخل المطور.
استبدل النموذج الخاص بالتعليمات البرمجية HTML بالمحتوى المخصص الخاص بك.
عند اكتمال التكوين، أغلق النافذة.
حدد الزر حفظ لحفظ التغييرات، ثم أعد نشر المدخل.
إشعار
لا تدعم Microsoft التعليمات البرمجية ل HTML التي تضيفها في عنصر واجهة مستخدم رمز HTML المخصص.
إنشاء عنصر واجهة مستخدم مخصص وتحميله
بالنسبة لحالات الاستخدام الأكثر تقدما، يمكنك إنشاء عنصر واجهة مستخدم مخصص وتحميله إلى مدخل المطور. توفر إدارة واجهة برمجة التطبيقات دعم التعليمات البرمجية للمطورين لإنشاء عناصر واجهة مستخدم مخصصة في React أو Vue أو TypeScript العادي. يتضمن السقالة أدوات لمساعدتك على تطوير ونشر عنصر واجهة المستخدم الخاص بك إلى مدخل المطور.
المتطلبات الأساسية
- تثبيت وقت تشغيل Node.js محليا
- المعرفة الأساسية للبرمجة وتطوير الويب
إنشاء عنصر واجهة المستخدم
تحذير
يتم تخزين التعليمات البرمجية لعنصر واجهة المستخدم المخصص في تخزين Azure blob العمومي المقترن بمثيل إدارة واجهة برمجة التطبيقات. عند إضافة عنصر واجهة مستخدم مخصص إلى مدخل المطور، تتم قراءة التعليمات البرمجية من هذا التخزين عبر نقطة نهاية لا تتطلب مصادقة، حتى إذا كان مدخل المطور أو الصفحة التي تحتوي على عنصر واجهة المستخدم المخصص متاحة فقط للمستخدمين المصادق عليهم. لا تقم بتضمين معلومات حساسة أو أسرار في رمز عنصر واجهة المستخدم المخصص.
في الواجهة الإدارية لمدخل المطور، حدد عناصر واجهة مستخدم> مخصصةإضافة عنصر واجهة مستخدم مخصص جديد.
أدخل اسم عنصر واجهة مستخدم واختر تقنية. لمعرفة مزيد من المعلومات، راجع قوالب عنصر واجهة المستخدم، لاحقًا في هذه المقالة.
حدد حفظ.
افتح محطة طرفية، وانتقل إلى الموقع حيث تريد حفظ رمز عنصر واجهة المستخدم، وشغّل الأمر التالي لتنزيل سقالة التعليمات البرمجية:
npx @azure/api-management-custom-widgets-scaffolderانتقل إلى المجلد الذي تم إنشاؤه حديثُا يحتوي على سقالة التعليمات البرمجية الخاصة بواجهة المستخدم.
cd <name-of-widget>افتح المجلد الموجود في محرر التعليمات البرمجية الذي تختاره، مثل Visual Studio Code.
لتثبيت التبعيات وبدء المشروع:
npm install npm startيجب أن يفتح المستعرض علامة تبويب جديدة مع مدخل المطور الخاص بك عندما يكون متصل بعنصر واجهة المستخدم في وضع التطوير.
إشعار
إذا لم تفتح علامة التبويب، فعليك إجراء ما يلي:
- تأكد من بدء خادم التطوير عن طريق التحقق من الإخراج على وحدة التحكم حيث بدأت الخادم في الخطوة السابقة. يجب أن يعرض المنفذ الذي يعمل عليه الخادم (على سبيل المثال،
http://127.0.0.1:3001). - انتقل إلى خدمة API Management في مدخل Microsoft Azure وافتح مدخل المطور الخاص بك باستخدام الواجهة الإدارية.
- إلحاق
/?MS_APIM_CW_localhost_port=3001بعنوان URL. غيّر رقم المنفذ إذا كان الخادم يعمل على منفذ مختلف.
- تأكد من بدء خادم التطوير عن طريق التحقق من الإخراج على وحدة التحكم حيث بدأت الخادم في الخطوة السابقة. يجب أن يعرض المنفذ الذي يعمل عليه الخادم (على سبيل المثال،
نفذ التعليمات البرمجية لعنصر واجهة المستخدم واختبارها محليًا. يوجد رمز عنصر واجهة المستخدم في المجلد
src، في المجلدات الفرعية التالية:-
app- التعليمات البرمجية لمكوّن عنصر واجهة المستخدم الذي يراه ويتفاعل معه زوار مدخل المطور المنشور -
editor- التعليمات البرمجية لمكوّن عنصر واجهة المستخدم الذي تستخدمه في الواجهة الإدارية لمدخل المطور لتحرير إعدادات عنصر واجهة المستخدم
يحتوي الملف
values.tsعلى القيم والأنواع الافتراضية لخصائص عنصر واجهة المستخدم المخصصة التي يمكنك تمكينها للتحرير.
تتيح لك الخصائص المخصصة ضبط القيم في مثيل عنصر واجهة المستخدم المخصص من واجهة المستخدم الإدارية لمدخل المطور، دون تغيير التعليمات البرمجية أو إعادة توزيع عنصر واجهة المستخدم المخصص. يجب تمرير هذا الكائن إلى بعض وظائف مساعد عناصر واجهة المستخدم.
-
نشر عنصر واجهة المستخدم المخصص إلى مدخل المطور
حدد القيم التالية في الملف
deploy.jsالموجود في جذر المشروع:resourceId- معرّف المورد لخدمة APIM الخاصة بك، بالتنسيق التالي:subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ApiManagement/service/<api-management service-name>managementApiEndpoint- نقطة نهاية Azure Management API (تعتمد على بيئتك، عادةmanagement.azure.com)apiVersion- اختياري، تستخدم لتجاوز إصدار واجهة برمجة تطبيقات الإدارة الافتراضي
شغّل الأمر التالي:
npm run deployإذا طُلب منك ذلك، سجل دخولك باستخدام حساب Azure الخاص بك.
إشعار
عند مطالبتك بتسجيل الدخول، يجب استخدام حساب عضو من مستأجر معرف Microsoft Entra المقترن باشتراك Azure حيث توجد خدمة API Management. يجب ألا يكون الحساب ضيفا أو حسابا متحدا ويجب أن يكون لديه الإذن المناسب للوصول إلى الواجهة الإدارية للمدخل.
يتم الآن نشر عنصر واجهة المستخدم المخصص في مدخل المطور الخاص بك. باستخدام الواجهة الإدارية للمدخل، يمكنك إضافتها على صفحات في مدخل المطور وتعيين قيم لأي خصائص مخصصة تم تكوينها في عنصر واجهة المستخدم.
النشر لمدخل المطور
بعد تكوين عنصر واجهة المستخدم في الواجهة الإدارية، أعد نشر المدخل لإتاحة عنصر واجهة المستخدم في الإنتاج.
إشعار
- إذا نشرت رمز عنصر واجهة المستخدم المحدّث في وقت لاحق، فلن يتم تحديث عنصر واجهة المستخدم المُستخدم في الإنتاج حتى تقوم بإعادة نشر مدخل المطور.
- ترتبط التعليمات البرمجية المحولة برمجيًا لعنصر واجهة المستخدم بمراجعة مدخل محددة. إذا قمت بإجراء مراجعة المدخل السابقة الحالية، يتم استخدام عنصر واجهة المستخدم المخصص المقترن بهذه المراجعة.
قوالب عنصر واجهة المستخدم
نحن نقدم قوالب للتقنيات التالية التي يمكنك استخدامها لواجهة المستخدم:
- TypeScript (تنفيذ خالص دون أي إطار عمل)
- تفاعل
- Vue
تستند جميع القوالب إلى لغة برمجة TypeScript.
يحتوي قالب React على خطافات مخصصة معدة في الملف hooks.ts وموفرين تم إنشاؤهم لمشاركة السياق من خلال شجرة المكون مع خطافات useSecrets وuseValues وuseEditorValues مخصصة.
استخدام الحزمة @azure/api-management-custom-widgets-tools
تحتوي حزمة npm هذه على الوظائف التالية لمساعدتك في تطوير عنصر واجهة المستخدم المخصص وتوفر ميزات بما في ذلك الاتصال بين مدخل المطور وأداة واجهة المستخدم الخاصة بك:
| الوظيفة | الوصف |
|---|---|
| getValues | إرجاع كائن JSON يحتوي على قيم تم تعيينها في محرر عنصر واجهة المستخدم بالإضافة إلى القيم الافتراضية |
| getEditorValues | إرجاع كائن JSON يحتوي على قيم معينة فقط في محرر عنصر واجهة المستخدم |
| buildOnChange | يقبل نوع TypeScript ويرجع دالة لتحديث قيم عنصر واجهة المستخدم. يتم التعامل مع الدالة التي تم إرجاعها كمعلمة كائن JSON بقيم مُحدثة ولا يتم إرجاع أي شيء. يُستخدم داخليًا في محرر عنصر واجهة المستخدم |
| askForSecrets | إرجاع وعد JavaScript، والذي يقوم بعد الحل بإرجاع كائن JSON من البيانات اللازمة للاتصال بالواجهة الخلفية |
| deployNodeJs | نشر عنصر واجهة المستخدم إلى موقع تخزين الكائن الثنائي كبير الحجم |
| getWidgetData | إرجاع جميع البيانات التي تم تمريرها إلى عنصر واجهة المستخدم المخصص من مدخل المطور يُستخدم داخليًا في القوالب |
@azure/api-management-custom-widgets-tools/getValues
هذه دالة تقوم بإرجاع كائن JSON يحتوي على القيم التي قمت بتعيينها في محرر عنصر واجهة المستخدم جنبا إلى جنب مع القيم الافتراضية، والتي يتم تمريرها كوسيطة.
Import {getValues} from "@azure/api-management-custom-widgets-tools/getValues"
import {valuesDefault} from "./values"
const values = getValues(valuesDefault)
يهدف إلى استخدامه في جزء وقت التشغيل (app) من عنصر واجهة المستخدم الخاص بك.
@azure/api-management-custom-widgets-tools/getEditorValues
هذه دالة تعمل بنفس طريقة getValues، ولكنها ترجع فقط القيم التي قمت بتعيينها في المحرر.
يهدف إلى استخدامه في محرر عنصر واجهة المستخدم الخاص بك ولكنه يعمل أيضًا في وقت التشغيل.
@azure/api-management-custom-widgets-tools/buildOnChange
إشعار
تهدف هذه الدالة إلى استخدامها فقط في محرر عنصر واجهة المستخدم.
تقبل هذه الدالة نوع TypeScript وترجع دالة لتحديث قيم عنصر واجهة المستخدم. يتم التعامل مع الدالة التي تم إرجاعها كمعلمة كائن JSON بقيم مُحدثة ولا يتم إرجاع أي شيء.
import {Values} from "./values"
const onChange = buildOnChange<Values>()
onChange({fieldKey: 'newValue'})
@azure/api-management-custom-widgets-tools/askForSecrets
تقوم هذه الدالة بإرجاع وعد JavaScript، والذي يقوم بعد الحل بإرجاع كائن JSON من البيانات اللازمة للاتصال بالواجهة الخلفية
token مطلوب للمصادقة.
userId مطلوب للاستعلام عن الموارد الخاصة للمستخدم. قد تكون هذه القيم غير محددة عندما يعرض مستخدم مجهول المدخل. يحتوي الكائن Secrets أيضا على managementApiUrl، وهو عنوان URL للواجهة الخلفية للبوابة الإلكترونية، و apiVersion، وهو apiVersion الذي يستخدمه مدخل المطور حاليا.
تنبيه
يمكنك إدارة الرمز المميز واستخدامه بعناية. يمكن لأي شخص يمتلكه الوصول إلى البيانات في خدمة APIM.
@azure/api-management-custom-widgets-tools/deployNodeJs
تنشر هذه الدالة عنصر واجهة المستخدم الخاص بك إلى موقع تخزين الكائن الثنائي كبير الحجم الخاص بك. في جميع القوالب، تم تكوينه مسبقًا في الملف deploy.js.
يقبل ثلاث وسيطات بشكل افتراضي:
serviceInformationمعلومات حول خدمة Azure::resourceIdمعرف المورد لخدمة إدارة واجهة برمجة التطبيقات، بالتنسيق التالي:subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ApiManagement/service/<api-management service-name>managementApiEndpointنقطة نهاية واجهة برمجة تطبيقات إدارة Azure (تعتمد على بيئتك، عادةmanagement.azure.com)
معرف الأداة الخاصة بك: اسم الأداة الخاصة بك بتنسيق "سهل الاستخدام للكمبيوتر" (أحرف أبجدية رقمية صغيرة لاتينية وشرطات ؛
Contoso widgetيصبحcontoso-widget). يمكنك أن تجده فيpackage.jsonضمن المفتاحname.fallbackConfigPathمسار الملف المحليconfig.msapim.json، على سبيل المثال،./static/config.msapim.json
@azure/api-management-custom-widgets-tools/getWidgetData
إشعار
يتم استخدام هذه الدالة داخليًا في القوالب. في معظم عمليات التنفيذ، لا ينبغي أن تحتاج إليها بخلاف ذلك.
ترجع هذه الدالة جميع البيانات التي تم تمريرها إلى عنصر واجهة المستخدم المخصص من مدخل المطور. يحتوي على بيانات أخرى قد تكون مفيدة في تصحيح الأخطاء أو في سيناريوهات أكثر تقدمًا. من المتوقع أن تتغير واجهة برمجة التطبيقات هذه مع التغييرات العاجلة المحتملة. يقوم بإرجاع كائن JSON الذي يحتوي على المفاتيح التالية:
-
valuesجميع القيم التي قمت بتعيينها في المحرر، نفس الكائن الذي يتم إرجاعه:getEditorData -
instanceIdمعرف هذا المثيل من عنصر واجهة المستخدم:
إضافة خصائص مخصصة أو إزالتها
تتيح لك الخصائص المخصصة ضبط القيم في التعليمة البرمجية لعنصر واجهة المستخدم المخصص من واجهة المستخدم الإدارية لمدخل المطور، دون تغيير التعليمات البرمجية أو إعادة توزيع عنصر واجهة المستخدم المخصص. بشكل افتراضي، يتم تعريف حقول الإدخال لأربع خصائص مخصصة. يمكنك إضافة خصائص مخصصة أخرى أو إزالتها حسب الحاجة.
تحذير
لا تخزن القيم السرية أو الحساسة في خصائص مخصصة.
لإضافة خاصية مخصصة:
- في الملف
src/values.ts، أضف اسم الخاصية ونوع البيانات التي سيتم حفظها إلى النوعValues. - في نفس الملف، أضف قيمة افتراضية له.
- انتقل إلى
editor.htmlملف أوeditor/index(يعتمد الموقع الدقيق على إطار العمل الذي اخترته) وقم بتكرار إدخال موجود أو أضف مدخلا بنفسك. - تأكد من أن حقل الإدخال يبلغ عن القيمة التي تم تغييرها إلى الدالة
onChange، والتي يمكنك الحصول عليها منbuildOnChange.
(اختياري) استخدام إطار عمل آخر
لتنفيذ عنصر واجهة المستخدم الخاص بك باستخدام إطار عمل واجهة مستخدم JavaScript ومكتبات أخرى، تحتاج إلى إعداد المشروع بنفسك باستخدام الإرشادات التالية:
- في معظم الحالات، نوصي بالبدء من قالب TypeScript.
- ثبت التبعيات كما هو الحال في أي مشروع npm آخر.
- إذا كان إطار العمل الذي تختاره غير متوافق مع أداة بناء Vite، فكوّنه بحيث يقوم بإخراج الملفات المحولة برمجيًا إلى المجلد
./dist. اختياريًا، إعادة تعريف مكان وجود الملفات المحولة برمجيًا عن طريق توفير مسار نسبي كوسيطة رابعة للدالةdeployNodeJs. - للتطوير المحلي، يجب أن يكون الملف
config.msapim.jsonقابلاً للوصول إلى عنوان URLlocalhost:<port>/config.msapim.jsonعند تشغيل الخادم.
إنشاء عناصر واجهة مستخدم مخصصة باستخدام مجموعة أدوات مكون مصدر مفتوح React
يوفر مصدر مفتوح React Component Toolkit مجموعة من البرامج النصية لحزمة npm لمساعدتك في تحويل تطبيق React إلى إطار عمل عنصر واجهة المستخدم المخصص واختباره ونشر عنصر واجهة المستخدم المخصص إلى مدخل المطور. إذا كان لديك حق الوصول إلى خدمة Azure OpenAI، يمكن لوحة الأدوات أيضا إنشاء عنصر واجهة مستخدم من وصف نصي توفره.
حاليا، يمكنك استخدام مجموعة الأدوات بطريقتين لنشر عنصر واجهة مستخدم مخصص:
- يدويا، عن طريق تثبيت مجموعة الأدوات وتشغيل البرامج النصية لحزمة npm محليا. يمكنك تشغيل البرامج النصية بشكل تسلسلي لإنشاء مكون React واختباره ونشره كعنصر واجهة مستخدم مخصص إلى مدخل المطور.
-
استخدام قالب Azure Developer CLI (azd) للنشر الشامل. ينشر القالب
azdمثيل إدارة واجهة برمجة تطبيقات Azure ومثيل Azure OpenAI. بعد توفير الموارد، يساعدك البرنامج النصي التفاعلي على إنشاء عنصر واجهة مستخدم مخصص واختباره ونشره في مدخل المطور من وصف توفره.
إشعار
مجموعة أدوات مكون React وقالب نموذج Azure Developer CLI هما مصدر مفتوح المشاريع. يتم توفير الدعم فقط من خلال مشكلات GitHub في المستودعات المعنية.
المحتوى ذو الصلة
تعرف على المزيد حول مدخل المطور: