الاتصال
تقوم هذه الطريقة بإنشاء وإرجاع مثيل لكائن Socket.io مع اتصال. تتطلب هذه الطريقة تفويض المستخدم.
الوصف
عندما تتغير السمات (إذا كان المستخدم مشتركًا في الحدث المقابل وخيار Websocket مفعل في الحدث) يحتوي حقل "attributes" دائمًا على سمات الحدث (حقل "events")، وبناءً على نوع الحدث المحدد في الكتالوج أو النموذج، تحتوي الحقول ذات السمات "product" على سمات المنتج، و"user" تحتوي على حقول من نموذج المستخدم، على التوالي. بالنسبة للمنتج، هناك حقل إضافي "title" (اسم المنتج كسلسلة نصية)، وبالنسبة لنماذج التسجيل وتقديم الشيفرة، هناك حقول إضافية "code" و"email".
يتم تخزين قيمة السمة بتنسيق *key - marker*, *value - {type, identifier, value}*.
أمثلة
مثال بسيط
// connect() is synchronous — do not await it.
const socket = WS.connect();
socket.on('my_event', callback);
ℹ️ يتم استيراد
socket.io-clientفي المرة الأولى التي يتم فيها استدعاءconnect()، لذا فإنه يبقى خارج الحزم التي لا تفتح أبدًا مقبسًا. يتم وضع المعالجات المسجلة على المقبس المعاد في قائمة انتظار ويتم إعادة تشغيلها قبل أن يتمكن الاتصال من تسليم أي شيء، لذا لا شيء يُفقد — انظر حجم الحزمة & تنسيقات الوحدات.
مثال المنتج:
{
"product": {
"id": 10,
"info": {
"title": "Pink Planet",
},
"status": {
"identifier": "available",
"info": {
"title": "ADD TO CART"
}
},
"attributes": {
"currency": {
"identifier": "currency",
"type": "string",
"value": "USD"
}
}
}
}
مثال المستخدم:
{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}
مثال الطلب:
{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}
مثال النموذج:
{
"email": "string",
"formData": {}
}
مثال على الاستجابة
{
"message": "Message",
"attributes": {
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}
}
مخطط الاستجابة
المخطط: Socket
message string
رسالة نصية
مثال: رسالة
attributes: Record<string, any>
يحتوي على سمات الحدث
مثال:
{
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}