الوثائق
بداية سريعة
من تبعيات مساحة العمل إلى نافذة سطح المكتب المدعومة بالسايدكار المحلية الحقيقية.
مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية
متطلبات
تختلف أدوات التثبيت والخروج من المصدر
يوجد إصدار سطح مكتب منشور على صفحة التحميل. يقوم هذا الدليل بتثبيت المستودع وتشغيله desktop:dev. يقرأ ثَبَّتَ عندما تريد عناصر الإصدار بدلاً من ذلك.
مساحة العمل تعلن Bun 1.4.4 كمدير الحزم الخاص به. استخدم ملف قفل المستودع لتثبيت التبعية. يتطلب تطوير سطح المكتب الأصلي أيضًا سلسلة أدوات Rust، وتبعيات بناء Tauri للنظام الأساسي، وعرض ويب للنظام المثبت. يعد Tauri CLI بالفعل أحد تبعيات تطوير سطح المكتب.
- ماك: أدوات سطر أوامر Xcode للربط والتعبئة Rust/الأصلي.
- ويندوز: المتطلبات الأساسية لسلسلة أدوات MSVC وWebView2 لوقت التشغيل/الإنشاء.
- لينكس: WebKitGTK 4.1، ومؤشر التطبيق، وlibrsvg، وOpenSSL، وأدوات المجمع. يسجل سير عمل CI الحزم المستخدمة في Ubuntu.
- رفيق دائرة الرقابة الداخلية: macOS، وXcode، وCocoaPods، وإصدار Expo الأصلي الذي يحتوي على وحدة التثبيت المحلية.
تتطلب معاينة المتصفح تبعيات Bun ومساحة العمل ولكنها لا تقوم بتجميع غلاف Rust. يتطلب مثبت الإصدار أيضًا تكوين التوقيع؛ وهذا منفصل عن تطوير واجهة المستخدم المحلية.
تثبيت التبعيات
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core التثبيت مرة واحدة في جذر مساحة العمل محليًا جدًا workspace:* التبعيات تحل معًا. يستخدم سي.آي bun install --frozen-lockfile لرفض الانجراف lockfile. استخدم البرامج النصية للحزمة لتحديد المترجم الذي تم تكوينه للمستودع بدلاً من افتراض أن كل حزمة تستخدم نفس TypeScript القابل للتنفيذ.
توفر الأوامر المستهدفة أعلاه فحصًا سريعًا للمصدر. الشيكات مساحة العمل الكاملة هي bun run typecheck و bun run test; فهي تغطي المزيد من الوحدات وقد تستغرق وقتًا أطول. لا تثبت حزمة التمرير الفردية أنه تم تكوين جميع عمليات تكامل وقت التشغيل.
إعداد قاعدة البيانات
لا يتطلب سطح المكتب الحقيقي أمرًا منفصلاً لترحيل واجهة سطر الأوامر (CLI). يوفر المشغل الخاص به دليل بيانات التطبيق وعمليات الترحيل المرحلية إلى السايدكار؛ ينطبق فتح قاعدة البيانات على عمليات الترحيل المعلقة. bun run desktop:dev مراحل مورد الترحيل كجزء من إعداد السايدكار.
أداة سطر أوامر قاعدة البيانات منفصلة. bun run db:migrate المفوضين إلى حزمة قاعدة البيانات والإعدادات الافتراضية ل ./data/cadcamfun.db بالنسبة إلى دليل عمليات تلك الحزمة، عادةً packages/db/data/cadcamfun.db عند استدعائها من خلال البرنامج النصي الجذر. تعيين مطلق DATABASE_URL عندما تحتاج إلى استهداف قاعدة بيانات محددة.
bun run db:generate
bun run db:migrate يقرأ الجيل packages/db/src/schema.ts ويكتب الهجرات تحت packages/db/drizzle. يؤدي تطبيق عمليات الترحيل إلى تحديث قاعدة بيانات واجهة سطر الأوامر (CLI) المحددة، وليس كل قاعدة بيانات التطبيق. توجد بيانات سطح المكتب الأصلية في دليل بيانات تطبيق Tauri؛ استخدامات السايدكار التي تم تشغيلها يدويًا CADCAMFUN_DATA_DIR.
اختر قاعدة البيانات عمدا
لا يؤدي ترحيل سطر الأوامر (CLI) الناجح إلى تغيير قاعدة البيانات التي يفتحها سطح المكتب. حدد موقع دليل بيانات السايدكار قبل التحقيق في المشاريع المفقودة أو تطبيق عملية بيانات يدوية.
افتح سطح المكتب
bun run desktop:dev يقوم هذا بتجميع عربة Bun السايدكار الحقيقية ومراحل الهجرات، ثم تشغيل Tauri. يبدأ تاوري فيت في http://localhost:1420 ويفتح عرض الويب. تنتظر قذيفة Rust المصافحة الجاهزة للعربة السايدكار. يقوم عرض الويب بالتحقق من الصحة قبل عرض الشاشات الموجهة.
أبقِ محطة الإطلاق مفتوحة. تمتلك الصدفة دورة حياة السايدكار وتوفر رمز الإطلاق والمسارات الخاصة بها. في حالة فشل بدء التشغيل، قم بفحص سبب التمهيد وسجلات التطبيق. يقوم عرض الويب بإعادة محاولة اكتشاف نقطة النهاية لمدة تصل إلى 150 ثانية؛ تسمح القشرة بإعادة تشغيل السايدكار تلقائيًا مرة واحدة.
bun run --filter @cadcamfun/desktop dev يفتح http://localhost:1420. مع لا VITE_SIDECAR_URL، يستخدم هذا واجهة برمجة التطبيقات المزيفة في الذاكرة. وهو يدعم مجموعة فرعية من الطلبات ولا يوفر مشاريع مستمرة أو جلسات موفر أو مربعات حوار أصلية. اتصل بسايدكار مباشرة عن طريق تعيين كل من عنوان URL الخاص بالسايدكار Vite ومتغيرات عملية الرمز المميز.
حزمة سطح المكتب tauri:dev يقوم البرنامج النصي بإنشاء كعب روتين سايدكار عندما يكون الملف الثنائي مفقودًا. يدعم الركيزة عزل القشرة. تفضل الجذر desktop:dev الأمر عند ممارسة خدمات التطبيق.
bun run desktop:dev أشواط الأولى build:sidecar، الذي يقوم بتجميع السايدكار ومراحل الترحيل (خطوات خط الأنابيب compile و resources). ثم يبدأ tauri dev في حزمة سطح المكتب.
التحقق من الجلسة الأولى
- انتظر حتى يغادر التطبيق شاشة التمهيد ويتأكد من اتصاله بواجهة برمجة التطبيقات المقصودة.
- قم بإنشاء أو فتح مشروع وأدخل CAD أو CAM.
- احفظ العمل وأعد فتحه من خلال واجهة مستخدم المشروع/المورد للتحقق من استمراريته.
- في حالة استخدام المساعد، قم بتكوين موفر نموذج مدعوم في إعدادات سطح المكتب قبل بدء المحادثة.
- إذا كنت تستخدم رفيق iOS، فقم بتمكين البوابة الخاصة به وقم بإنشاء اقتران جهاز على سطح المكتب.
إن اختبار المسار المرئي لا يؤكد سلامة التصنيع. افحص المخزون والأدوات وحدود الماكينة والمخرجات اللاحقة ونتائج التحقق من التشغيل الفعلي قبل نقل مخرجات NC إلى الجهاز.
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build الويب start يدير الأمر أسترو. استخدم عنوانها المحلي المطبوع. الويب dev يقوم البرنامج النصي بالإضافة إلى ذلك بتشغيل Studio API، والذي يمكنه فتح قاعدة البيانات المحلية المحددة؛ استخدمه عند العمل على الاستوديو بدلاً من التوثيق الثابت وحده.
الأوامر التالية
| هدف | يأمر |
|---|---|
| تجميع السايدكار فقط ومرحلة الترحيل | bun run build:sidecar |
| بناء الواجهة الأمامية دون المثبتات | bun run build:desktop |
| مراجعة خطة البناء الأصلية | bun scripts/build.ts --dry-run |
| إعادة إنشاء عملاء API | bun run generate |
| تحقق من العملاء الذين تم إنشاؤهم | bun run generate:check |
| قم بإجراء اختبارات النقل المرافقة | bun run --cwd apps/mobile test |
التحقق من واجهة برمجة التطبيقات الحقيقية بدون نموذج
ابدأ تشغيل الدليل السايدكار الموضح في دليل التطوير المحلي، أو استخدم نقطة النهاية/الرمز المميز لعملية التطوير التي تتحكم فيها. تقوم الوصفة التالية بإنشاء مشروع واحد يمكن التخلص منه وإدراجه. يحتاج إلى تجعيد. يستخدم استخراج المعرف الاختياري Bun. استبدل منفذ المثال والرمز المميز بتلك الموجودة في عربتك السايدكار المعزولة.
CADCAM_URL=http://127.0.0.1:43111
CADCAM_TOKEN=local-development-token
curl --fail-with-body "$CADCAM_URL/api/health"
curl --fail-with-body -X POST "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN" -H 'Content-Type: application/json' -d '{"name":"Documentation smoke","description":"Disposable local check","isPublic":false}' -o /tmp/cadcamfun-project-smoke.json
curl --fail-with-body "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN"
CADCAM_PROJECT_ID=$(bun --no-env-file -e 'const row = await Bun.file("/tmp/cadcamfun-project-smoke.json").json(); console.write(row.id)')
curl --fail-with-body "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID" -H "Authorization: Bearer $CADCAM_TOKEN" تقوم الصحة بإرجاع كائن الحالة/الطابع الزمني. يؤدي إنشاء المشروع إلى إرجاع HTTP 201 وصف مشروع بمعرفه. تقوم القائمة بإرجاع مجموعة من المشاريع التي لها علاقات وأعداد بين المالك/المؤسسة؛ تؤدي القراءة حسب المعرف إلى إرجاع أحد هذه المشاريع ذات الصلة. لا يستدعي المثال نموذجًا أو ينشئ مخرجات الجهاز.
أغلق ملف السايدكار اليدوي بشكل نظيف، وأعد تشغيله باستخدام دليل البيانات نفسه، وقم بتحديث عنوان URL سريع الزوال، وأدرج المشاريع مرة أخرى للتحقق من استمراريتها. قد يختار الإطلاق الجديد منفذًا مختلفًا. إذا كان هذا المشروع غائبًا، فقم أولاً بمقارنة دليل البيانات ونقطة نهاية العميل وسياق الترخيص.
يعد التنظيف اختياريًا ومدمرًا لهذا المشروع القابل للتصرف: إرسال DELETE /api/projects/<id> فقط بعد التأكد من المعرف الذي تم إرجاعه. إنشاء/قائمة/قراءة استمرار تطبيق التمرين دون الحاجة إلى التنظيف لتحقيق النجاح.
تفسير حالات الفشل في التشغيل الأول
| فشل | الحدود المحتملة | الإجراء التالي |
|---|---|---|
| لا يمكن تثبيت التبعية حل حزمة محلية | تركيب مساحة العمل | قم بالتشغيل من جذر المستودع باستخدام إصدار Bun المعلن وملف القفل. |
| الارتباط الأصلي أو خطأ WebKit | متطلبات تاوري | قم بتثبيت مكتبات سلسلة الأدوات/النظام الأساسي التي يستخدمها هدف CI المطابق. |
| لا يوجد حدث جاهز | تكوين Sidecar أو الترحيل أو بدء التشغيل | افحص stderr وحدث الخطأ المنظم. أبقِ stdin مفتوحًا. |
| الأعمال الصحية، إرجاع استدعاء المشروع 401 | إذن | الصحة عامة؛ لا تزال مكالمات API المحمية بحاجة إلى الرمز المميز للعملية الحالية. |
| إنشاء المرتجعات 400 | طلب التحقق من صحة/التحقق من صحة الأعمال | أرسل JSON باسم غير فارغ وافحص الرسالة التي تم إرجاعها. |
| أنشئ المرتجعات 403 ببيانات المؤسسة | عضوية المنظمة | استخدم مؤسسة يمكن الوصول إليها أو قم بحذف حقل المؤسسة لإجراء فحص محلي. |
| يقول الرفيق الأصلي أن التثبيت غير متاح | وحدة Expo المحلية مفقودة | استخدم إصدار iOS مخصصًا، وليس Expo Go. |
اجعل التحقق الأول صغيرًا: الصحة، ومشروع واحد، ورسم/برنامج مستمر واحد، ثم عمليات التكامل الاختيارية. لا يؤدي الإطلاق الناجح للتطبيق الأساسي إلى تكوين Stripe أو موفري الذكاء الاصطناعي أو مستودع GitHub البعيد أو توجيه الهاتف المحمول تلقائيًا.
تفاصيل المتطلبات
| أداة | إصدار | مطلوب ل |
|---|---|---|
| Bun | 1.4.4 (المستودع packageManager) | كل شيء: التثبيت والاختبارات والسايدكار والبرامج النصية |
| سلسلة أدوات Rust + المتطلبات الأساسية لـ Tauri | مستقر؛ مكتبات عرض الويب الخاصة بالمنصة على Linux | غلاف سطح المكتب (desktop:dev، يبني) |
| سكليتي سطر الأوامر | أي | اختياري: فحص قاعدة البيانات للقراءة فقط |
| Xcode | — | فقط لرفيق iOS |
ساعتك الأولى، خطوة بخطوة
git clone https://github.com/nikomatt69/cadcamfun.git
cd cadcamfun
bun install --frozen-lockfile
bun run typecheck # all workspaces
bun run test # bun test packages apps scripts
bun run desktop:dev # builds the sidecar + migrations, then tauri dev - عندما تفتح النافذة، تصبح حالة السايدكار جاهزة خلال ثوانٍ؛ يتم ترحيل دليل بيانات جديد عند الإطلاق الأول.
- أنشئ مشروعًا وأضف رسمًا وارسم مستطيلًا ثم بثقه.
- افتح CAM، واختر المادة الصلبة وقم بتوليدها. تحقق من مستوى الإصدار والمطالبات قبل تصدير NC.
- افتح لوحة السجل والتزم: المشروع لديه الآن نسخته الأولى.
لا حاجة لمفتاح النموذج
كل شيء أعلاه يعمل بدون مزود الذكاء الاصطناعي. أضف مفتاحًا لاحقًا في إعدادات المساعد.