ابدأ
OneEntry Headless CMS SDK هو مجموعة أدوات توفر وسيلة سهلة للتفاعل مع واجهة برمجة التطبيقات OneEntry Headless CMS.
الموقع الرسمي
قم بزيارة الموقع الرسمي لـ AsyncModules على https://oneentry.cloud لمعرفة المزيد عن AsyncModules Headless CMS.
التسجيل
للبدء مع AsyncModules، قم بالتسجيل للحصول على حساب على https://account.oneentry.cloud/authentication/register.
التثبيت
لتثبيت OneEntry Headless CMS SDK في مشروعك، قم بتشغيل الأمر التالي:
npm install oneentry
لاستخدام OneEntry Headless CMS SDK في مشروعك، استورد دالة defineOneEntry:
import { defineOneEntry } from 'oneentry'
const config = {
token:'your-app-token',
};
const {
Admins,
AttributesSets,
AuthProvider,
Blocks,
Events,
Forms,
FormData,
FileUploading,
GeneralTypes,
IntegrationCollections,
Locales,
Menus,
Orders,
Pages,
Products,
ProductStatuses,
System,
Templates,
TemplatePreviews,
Users,
WS
} = defineOneEntry('your-url', config);
أو
const config = {
token:'your-app-token',
};
const api = defineOneEntry('your-url', config);
الإعدادات
المعلمة الثانية في المُنشئ تأخذ 'config'. تحتوي على القيم التالية:
-
'token' - قم بتعيين مفتاح الرمز إذا كان مشروعك مؤمنًا بـ "Security API Token". إذا كنت تستخدم حماية الشهادة، فلا تمرر هذه المتغير. يمكنك قراءة المزيد عن أمان مشروعك هنا.
-
'langCode' - قم بتعيين "langCode" لتعيين اللغة الافتراضية. من خلال تحديد هذه المعلمة مرة واحدة، لن تحتاج إلى تمرير langCode إلى طرق واجهة برمجة التطبيقات ONEENTRY. إذا لم تقم بتمرير اللغة الافتراضية، فسيتم تعيينها إلى "en_US".
-
'traficLimit' - تستخدم بعض الطرق أكثر من طلب واحد إلى CMS بحيث تكون البيانات التي تتلقاها كاملة وسهلة العمل بها. مرر القيمة "true" لهذه المعلمة لتوفير حركة المرور وقرر بنفسك ما هي البيانات التي تحتاجها. القيمة الافتراضية هي "false".
-
'auth' - كائن بإعدادات التفويض. بشكل افتراضي، يتم تكوين SDK للعمل مع الرموز داخل جلسة المستخدم ولا يتطلب أي عمل إضافي منك. في نفس الوقت، لا يخزن SDK حالة الجلسة بين الجلسات. إذا كنت راضيًا عن هذه الإعدادات، فلا تمرر المتغير 'auth' على الإطلاق.
يحتوي 'auth' على الإعدادات التالية:
-
'refreshToken' - رمز التحديث الخاص بالمستخدم. قم بنقله هنا من المستودع لاستعادة جلسة المستخدم أثناء التهيئة.
-
'saveFunction' - دالة تعمل مع تحديث رمز التحديث. إذا كنت ترغب في تخزين الرمز بين الجلسات، على سبيل المثال في التخزين المحلي، مرر دالة هنا تقوم بذلك. يجب أن تقبل الدالة معلمة سيتم ت مرير السلسلة التي تحتوي على الرمز إليها.
-
'customAuth' - إذا كنت ترغب في تكوين التفويض والعمل مع الرموز بنفسك، قم بتعيين هذه العلامة إلى true. إذا كنت ترغب في استخدام إعدادات sdk، قم بتعيينها إلى false أو لا تمررها على الإطلاق.
مثال على تكوين مع حماية الرمز والمصادقة التلقائية التي تخزن الحالة بين الجلسات
const tokenFunction = (token) => {
localStorage.setItem('refreshToken', token)
}
const api = defineOneEntry('https://my-project.oneentry.cloud', {
token:'my-token',
langCode:'en_US',
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: tokenFunction
}
})
مثال على تكوين محمي بشهادة يسمح لك بتكوين نظام التفويض بنفسك ويحفظ البيانات على الطلبات.
const api = defineOneEntry('https://my-project.oneentry.cloud', {
langCode:'en_US',
traficLimit: true,
auth: {
customAuth: true,
refreshToken: localStorage.getItem('refreshToken')
}
})
إذا اخترت تكوين الرموز بنفسك، يمكنك تمرير الرمز إلى الطريقة كما يلي. تسمح لك الطريقة الوسيطة بتمرير رمز الوصول إلى الطلب. ثم استدعِ الطريقة المطلوبة. يجب عدم استدعاء هذه الطريقة (setAccessToken) إذا كانت الطريقة لا تتطلب تفويض المستخدم.
const user = api.Users.setAccessToken('my.access.token').getUser()
إذا اخترت حماية الرمز لضمان أمان الاتصال، فقط مرر رمزك إلى الدالة كمعامل اختياري.
يمكنك الحصول على رمز كما يلي
- قم بتسجيل الدخول إلى حسابك الشخصي
- انتقل إلى علامة التبويب "المشاريع" واختر مشروعًا
- انتقل إلى علامة التبويب "الوصول"
- قم بتعيين المفتاح إلى "Security API Token"
- قم بتسجيل الدخول إلى المشروع، وانتقل إلى قسم الإعدادات وافتح علامة التبويب الخاصة بالرمز
- احصل على رمز مشروعك وانسخه
يمكنك أيضًا توصيل شهادة tls لحماية مشروعك. في هذه الحالة، لا تمرر "token" على الإطلاق. عند استخدام الشهادة، قم بإعداد وكيل في مشروعك. مرر سلسلة فارغة كمعامل url. تعرف على المزيد حول الأمان
const saveTokenFromLocalStorage = (token) => {
localStorage.setItem('refreshToken', token)
}
const api = defineOneEntry('your-url', {
token: 'my-token',
langCode:'my-langCode',
auth: {
customAuth: false,
userToken: 'rerfesh.token',
saveFunction: saveTokenFromLocalStorage
}
});
الأخطاء
إذا كنت ترغب في تجنب الأخطاء داخل sc، اترك خاصية "errors" كما هي بشكل افتراضي. في هذه الحالة، ستحصل إما على بيانات الكيان أو كائن الخطأ. تحتاج إلى إجراء تحقق من النوع. على سبيل المثال، من خلال التحقق من خاصية statusCode باستخدام ".hasOwnProperty"
ومع ذلك، إذا كنت ترغب في استخدام البناء "try catch(e) ", قم بتعيين الخاصية "isShell" إلى القيمة "false". في هذه الحالة، تحتاج إلى معالجة الخطأ باستخدام "try catch(e) ".
أيضًا، يمكنك تمرير دوال مخصصة سيتم استدعاؤها داخل sdk مع رمز الخ طأ المناسب. تستقبل هذه الدوال كائن الخطأ كوسيط. يمكنك معالجته بنفسك.
const api = defineOneEntry('your-url', {
token: 'my-token',
langCode:'my-langCode',
errors: {
isShell: false,
customErrors: {
400: (error) => console.error(error.message),
404: (error) => console.error(error.message),
500: (error) => console.error(error.message)
}
}
});