واجهة API التجريبية المدمجة
كيف تعمل لوحة التحكم من دون back-end على بيانات نموذجية محفوظة في المتصفح، وما الذي يعمل هناك، وكيف تحوّلها إلى واجهة API الخاصة بك أو تزيلها.
لحزمة واجهة + خلفية
ما هو
تحمل لوحة التحكم خادمًا صغيرًا خاصًا بها يعمل في المتصفح. يجيب كل طلب تقدّمه لوحة التحكم، بالإجابات ورموز الحالة وفحوص الصلاحيات نفسها التي في واجهة NestJS API، فتعمل كل شاشة من دون أي back-end. وهو ما تعمل عليه حزمة لوحة الإدارة مباشرة، وما ترجع إليه لوحة تحكم الحزمة الكاملة عندما لا يُضبط عنوان لواجهة API.
يظهر إشعار «بيانات تجريبية» أسفل كل صفحة ما دام يجيب، حتى لا يظنه أحد back-end متصلًا.
تشغيلها وإيقافها
لا يوجد مفتاح. يقرر ذلك إعداد واحد، NEXT_PUBLIC_API_BASE_URL، يُضمَّن عند بناء لوحة التحكم:
# empty or missing: the mock API, no back-end needed
NEXT_PUBLIC_API_BASE_URL=
# set: your API, the mock never runs
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api- من دون Docker، تعمل لوحة التحكم التي لا ملف
.envلها على الواجهة التجريبية. أعد تشغيلyarn dev، أو نفّذyarn buildمرة أخرى، بعد تغيير القيمة. - صورة Docker المبنية من دون
--build-argتعمل على الواجهة التجريبية. أما Docker Compose فيبني لوحة التحكم دائمًا بعنوان واجهة API. - عندما يُوجَّه متصفح استخدم الواجهة التجريبية إلى واجهة API حقيقية، تتخلى لوحة التحكم عن الجلسة والبيانات النموذجية التي احتفظت بها، حتى لا يُرسل الطلب الأول برمز سترفضه واجهة API.
ما الذي يعمل عليها
| المجال | على واجهة API التجريبية |
|---|---|
| تسجيل الدخول | الحسابات النموذجية: admin@example.com بكلمة المرور Admin@123 (Super Admin)، وحسابات Viewer النموذجية مثل john.smith@admin.com بكلمة المرور admin123. وتُرفض كلمة المرور الخاطئة، كما في واجهة API. |
| البيانات | بيانات واجهة API النموذجية نفسها: 12 مشرفًا و5 أدوار و25 صلاحية، و15 مستخدمًا و12 محذوفًا، و15 مشروعًا و12 محذوفًا، و10 مهام لـ Super Admin، و13 إعداد تطبيق، و50 دولة، إضافة إلى ثلاث محادثات سابقة مع المساعد. |
| التغييرات | حقيقية: الإنشاء والتعديل والحذف والاستعادة ومنح صلاحية وإعادة تسمية دور، كلها تغيّر البيانات وتبقى بعد إعادة التحميل، في ذلك المتصفح فقط. |
| الصلاحيات | تُفحص من أدوار المشرف المسجّل دخوله وتُرفض كما ترفضها واجهة API، فيرى Viewer بالضبط ما يراه حساب للقراءة فقط. |
| الصور | الصورة المرفوعة تُحفظ في المتصفح وتظهر؛ ولا يغادره شيء. |
| المساعد الذكي | نموذج واحد، Aniq Demo، بإجابات مكتوبة مسبقًا مبنية من البيانات الحالية: أرقام وبطاقات وقوائم ومخطط. من دون مزوّد ومن دون مفتاح. |
تتأخر كل إجابة جزءًا من الثانية عمدًا، لتُرى حالات التحميل التي تأتي مع لوحة التحكم.
ابدأ من جديد
امسح بيانات الموقع لعنوان لوحة التحكم من إعدادات متصفحك، أو نفّذ هذا في وحدة تحكم المتصفح، فتعود البيانات النموذجية كما وصلت:
localStorage.removeItem("mock_db_v1"); location.reload();أزلها
عندما تعمل على واجهة API الخاصة بك نهائيًا، احذف الواجهة التجريبية من الكود، في مجلد لوحة التحكم:
yarn remove:mockيحذف src/lib/mock/ وإشعار البيانات النموذجية، ويزيل الكتل الموسومة بـ #region mock-api. وتحتاج لوحة التحكم بعد ذلك إلى ضبط NEXT_PUBLIC_API_BASE_URL. ويعيد كتابة الملفات ولا يمكن التراجع عنه من دون التحكم في الإصدارات، لذلك نفّذ commit أولًا.
كيف بُنيت
مُضمَّن مع مشترياتك. سجّل الدخول لقراءته، أو افتحه في ملف التنزيل.
أين توجد الواجهة التجريبية، وكيف يصل إليها الطلب، وكيف تضيف مسارًا خاصًا بك.