انتقل إلى المقال
Aniq-UI

Dashboard 2واجهة API التجريبية المدمجة

واجهة API التجريبية المدمجة

كيف تعمل لوحة التحكم من دون back-end على بيانات نموذجية محفوظة في المتصفح، وما الذي يعمل هناك، وكيف تحوّلها إلى واجهة API الخاصة بك أو تزيلها.

لحزمة واجهة + خلفية

ما هو

تحمل لوحة التحكم خادمًا صغيرًا خاصًا بها يعمل في المتصفح. يجيب كل طلب تقدّمه لوحة التحكم، بالإجابات ورموز الحالة وفحوص الصلاحيات نفسها التي في واجهة NestJS API، فتعمل كل شاشة من دون أي back-end. وهو ما تعمل عليه حزمة لوحة الإدارة مباشرة، وما ترجع إليه لوحة تحكم الحزمة الكاملة عندما لا يُضبط عنوان لواجهة API.

يظهر إشعار «بيانات تجريبية» أسفل كل صفحة ما دام يجيب، حتى لا يظنه أحد back-end متصلًا.

تشغيلها وإيقافها

لا يوجد مفتاح. يقرر ذلك إعداد واحد، NEXT_PUBLIC_API_BASE_URL، يُضمَّن عند بناء لوحة التحكم:

.env
# 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 أولًا.

كيف بُنيت

مُضمَّن مع مشترياتك. سجّل الدخول لقراءته، أو افتحه في ملف التنزيل.

أين توجد الواجهة التجريبية، وكيف يصل إليها الطلب، وكيف تضيف مسارًا خاصًا بك.

توقفت عند خطوة؟

ابحث عن الحل قبل أن تبدأ من جديد.

حل المشكلات

تفضيلات ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط لتعزيز تجربة التصفح الخاصة بك وتحليل حركة المرور على الموقع وتخصيص المحتوى. بالنقر على "قبول الكل"، فإنك توافق على استخدامنا لملفات تعريف الارتباط للتحليلات والإعلانات المخصصة.