Files
Siro/transit_dashboard/README.md
T

40 lines
1.8 KiB
Markdown

# لوحة مشرف المؤسسة — مواصلاتي
واجهة ويب (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 من الخادم.