defineApplication. يحدّد ما يلي:
- الهوية — المعرّف الشامل، واسم العرض، والوصف.
- الأذونات — الدور الذي تعمل بموجبه دوال المنطق والمكوّنات الأمامية الخاصة به.
- المتغيرات (اختياري) — أزواج مفتاح–قيمة تُتاح لكودك كمتغيرات بيئة.
- خطافات ما قبل التثبيت/ما بعد التثبيت (اختياري) — راجع Logic Functions.
src/application-config.ts
- حقول
universalIdentifierهي معرّفات حتمية تملكها أنت. أنشِئها مرة واحدة واحتفظ بها ثابتة عبر عمليات المزامنة. applicationVariablesتصبح متغيرات بيئة لوظائفك ومكوّناتك الأمامية. في وظائف المنطق (على جانب الخادم)، تكون متاحة على شكلprocess.env.VARIABLE_NAME. في المكوّنات الأمامية، استخدمgetApplicationVariable('VARIABLE_NAME')منtwenty-sdk/front-component. يتم حقن المتغيّرات المعلَّمة بـisSecret: trueفي وظائف المنطق فقط. المكوّنات الأمامية تتلقّى المتغيّرات غير السرّية فقط.- يتم اكتشاف الدور الافتراضي تلقائيًا من ملف الدور المميز بـ
defineApplicationRole()— لست بحاجة إلى الإشارة إليه منdefineApplication(). - يتم اكتشاف دوال ما قبل التثبيت وما بعده تلقائيًا أثناء بناء البيان — لا حاجة للإشارة إليها في
defineApplication(). - لا يزال تمرير
defaultRoleUniversalIdentifierبشكل صريح مدعومًا من أجل التوافق مع الإصدارات السابقة، ولكنه مُهمل لصالحdefineApplicationRole().
الدور الافتراضي للوظيفة
يتحكم الدور المعلن باستخدامdefineApplicationRole() في ما يمكن لوظائف منطق التطبيق ومكوّنات الواجهة الوصول إليه:
- رمز وقت التشغيل المحقون باسم
TWENTY_APP_ACCESS_TOKENمستمد من هذا الدور. - يكون عميل واجهة برمجة التطبيقات مضبوط الأنواع مقيّدًا بالأذونات الممنوحة لذلك الدور.
- اتبع مبدأ أقل امتياز: صرّح فقط عن الأذونات التي تحتاجها دوالك.
src/roles/default-role.ts. راجع Roles & Permissions للاطلاع على المرجع الكامل.
بيانات التعريف لسوق التطبيقات
إذا كنت تخطط لـ نشر تطبيقك، فإن هذه الحقول الاختيارية تتحكّم في كيفية ظهوره في السوق:| الحقل | الوصف |
|---|---|
author | اسم المؤلف أو الشركة |
category | فئة التطبيق لتصفية سوق التطبيقات |
logoUrl | مسار شعار تطبيقك (مثلًا، public/logo.png) |
screenshots | مصفوفة لمسارات لقطات الشاشة (مثلًا، public/screenshot-1.png) |
aboutDescription | وصف ماركداون أطول لعلامة التبويب “حول”. إذا لم يتم تضمينه، يستخدم السوق ملف README.md الخاص بالحزمة من npm |
websiteUrl | رابط إلى موقعك الإلكتروني |
termsUrl | رابط إلى شروط الخدمة |
emailSupport | عنوان البريد الإلكتروني للدعم |
issueReportUrl | رابط إلى متتبّع المشاكل |