تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
بالنسبة للملفات التي تم رفعها، يمكن لواجهة المستخدم الأمامية عرض معاينات مختلفة بناءً على أنواع الملفات. يستخدم حقل المرفقات في مدير الملفات معاينة ملفات مدمجة تعتمد على المتصفح (مضمنة في iframe)، وتدعم هذه الطريقة معظم أنواع الملفات (مثل الصور ومقاطع الفيديو والصوت وملفات PDF) للمعاينة المباشرة في المتصفح. عندما لا يكون نوع الملف مدعومًا للمعاينة في المتصفح، أو عندما تكون هناك حاجة لتفاعل معاينة خاص، يمكن تحقيق ذلك من خلال توسيع مكونات المعاينة بناءً على نوع الملف.
على سبيل المثال، إذا كنت ترغب في توسيع مكون عرض دوار (carousel) لملفات الصور، يمكنك استخدام الشيفرة التالية:
إن attachmentFileTypes هو كائن إدخال (entry object) يوفره حزمة @nocobase/client لتوسيع أنواع الملفات. يمكنك استخدام طريقة add التي يوفرها لتوسيع كائن وصف نوع الملف.
يجب أن يطبق كل نوع ملف طريقة match() للتحقق مما إذا كان نوع الملف يفي بالمتطلبات. في المثال، تُستخدم الطريقة التي توفرها حزمة mime-match لفحص خاصية mimetype للملف. إذا تطابقت مع نوع image/*، فسيُعتبر نوع ملف يتطلب المعالجة. إذا لم يتم العثور على تطابق، فسيتم الرجوع إلى المعالجة المدمجة للنوع.
إن خاصية Previewer في كائن وصف النوع هي المكون المستخدم للمعاينة. عندما يتطابق نوع الملف، سيتم عرض هذا المكون للمعاينة. يُنصح عادةً باستخدام مكون من نوع النافذة المنبثقة (مثل <Modal />) كحاوية أساسية، ثم وضع محتوى المعاينة والتفاعل المطلوب داخل هذا المكون لتحقيق وظيفة المعاينة.
attachmentFileTypesإن attachmentFileTypes هو كائن (instance) عام يتم استيراده من حزمة @nocobase/client:
attachmentFileTypes.add()يسجل كائن وصف نوع ملف جديد في سجل أنواع الملفات. نوع كائن الوصف هو AttachmentFileType.
AttachmentFileTypematch()طريقة لمطابقة تنسيقات الملفات.
المعامل file هو كائن بيانات للملف المرفوع، ويحتوي على خصائص ذات صلة يمكن استخدامها للتحقق من النوع:
mimetype: وصف نوع MIME.extname: امتداد الملف، بما في ذلك النقطة ".".path: المسار النسبي لتخزين الملف.url: عنوان URL للملف.يعيد قيمة من نوع boolean تشير إلى نتيجة المطابقة.
Previewerمكون React لمعاينة الملف.
المعاملات (Props):
index: فهرس الملف في قائمة المرفقات.list: قائمة المرفقات.onSwitchIndex: طريقة لتبديل الفهرس.يمكن استدعاء الدالة onSwitchIndex بأي قيمة فهرس من list للتبديل إلى ملف آخر. إذا تم استدعاؤها بقيمة null كمعامل، فسيتم إغلاق مكون المعاينة مباشرة.