# لوحة مشرف المؤسسة — مواصلاتي واجهة ويب (Vue 3 + Vite) يستخدمها مشرف الجامعة/الفندق/الشركة لإدارة أسطول الباصات، الخطوط، الجداول، الطلاب، والإعلانات. تتصل حصراً بـ `backend/transit/*` عبر بوابة `connect_admin.php` (مصادقة هاتف + OTP، جلسة Bearer صالحة 24 ساعة). ## التشغيل محلياً ```bash cp .env.example .env # اضبط VITE_API_BASE على رابط الباك اند npm install npm run dev # http://localhost:5183 ``` ## البناء للإنتاج ```bash npm run build # يُنتج dist/ ``` انشر محتوى `dist/` على `transit.siromove.com` (أو `admin.siromove.com` — كلا الأصلين مضبوطان في CORS ضمن `backend/transit/connect_admin.php` عبر متغير البيئة `TRANSIT_ADMIN_ORIGINS`). ## البنية - `src/api/` — عميل HTTP (`client.js`) وكل نداءات `transit/*` (`transit.js`) - `src/stores/auth.js` — جلسة المشرف (Pinia) وتخزين التوكن في `localStorage` - `src/components/MapRouteBuilder.vue` — منشئ خطوط بخريطة Leaflet (نقر لإضافة محطة بالترتيب، سحب لتعديل الموقع) — لا يتطلب مفتاح API (OpenStreetMap) - `src/views/RouteEditorView.vue` — محرر خط كامل (بيانات + محطات + جداول) - الأيام في الجداول الزمنية: قناع بت (`bit0=أحد … bit6=سبت`، 62=الأحد–الخميس) ## ملاحظات أمنية - لا يوجد أي اتصال مباشر بقواعد main/ride/tracking — فقط `siroTransitDb` عبر الباك اند. - التوكن يُحذف تلقائياً من `localStorage` عند استجابة 401 من الخادم.