6.4 KiB
6.4 KiB
📋 مقایسه فیلدها - سیستم محصولات
🔵 فیلدهای محصول (Product Fields)
| فرم ما | API Field | نوع | توضیح |
|---|---|---|---|
✅ name |
✅ name |
string |
نام محصول |
✅ description |
✅ description |
string |
توضیحات محصول |
✅ design_style |
✅ design_style |
string |
استایل طراحی |
✅ enabled |
✅ enabled |
boolean |
فعال/غیرفعال |
✅ category_ids |
✅ category_ids |
number[] |
آرایه شناسه دستهبندیها |
✅ product_option_id |
✅ product_option_id |
number |
شناسه گزینه محصول |
✅ total_sold |
✅ total_sold |
number |
تعداد فروخته شده |
✅ type |
✅ type |
number |
نوع محصول (0,1,2,3) |
✅ attributes |
✅ attributes |
object |
ویژگیهای سفارشی |
✅ variants |
✅ variants |
array |
آرایه variants |
🔧 فیلدهای Variant
| فرم ما | API Field | نوع | توضیح |
|---|---|---|---|
✅ enabled |
✅ enabled |
boolean |
فعال/غیرفعال variant |
✅ fee_percentage |
✅ fee_percentage |
number |
درصد کارمزد |
✅ profit_percentage |
✅ profit_percentage |
number |
درصد سود |
✅ stock_limit |
✅ stock_limit |
number |
حد کمینه موجودی |
✅ stock_managed |
✅ stock_managed |
boolean |
مدیریت موجودی فعال/غیرفعال |
✅ stock_number |
✅ stock_number |
number |
تعداد موجودی |
✅ weight |
✅ weight |
number |
وزن (گرم) |
✅ attributes |
✅ attributes |
object |
ویژگیهای variant |
✅ meta |
✅ meta |
object |
Meta data |
📊 فیلدهای اضافی در فرم
| فرم ما | API | دلیل |
|---|---|---|
🆕 images |
❌ نیست | برای آپلود و مدیریت تصاویر |
🆕 id |
❌ نیست | برای ویرایش (از response میاد) |
🆕 created_at |
❌ نیست | از response میاد |
🆕 updated_at |
❌ نیست | از response میاد |
🎯 مثال API Request کامل
{
"name": "تیشرت مردانه",
"description": "تیشرت با کیفیت بالا",
"design_style": "مدرن",
"enabled": true,
"category_ids": [1, 3],
"product_option_id": 2,
"total_sold": 25,
"type": 1,
"attributes": {
"material": "پنبه",
"season": "تابستان"
},
"variants": [
{
"enabled": true,
"fee_percentage": 5.5,
"profit_percentage": 25,
"stock_managed": true,
"stock_number": 10,
"stock_limit": 2,
"weight": 200,
"attributes": {
"color": "قرمز",
"size": "بزرگ"
},
"meta": {
"supplier": "تامینکننده A",
"priority": "high"
}
}
]
}
🚀 نوع محصولات (Product Types)
| مقدار | نام | توضیح |
|---|---|---|
0 |
محصول ساده | محصول بدون variant |
1 |
محصول متغیر | محصول با variants مختلف |
2 |
محصول گروهی | مجموعه محصولات |
3 |
محصول خارجی | لینک به سایت خارجی |
🎨 فیلدهای UI (غیر API)
فیلدهای مدیریت تصاویر:
images- آرایه تصاویر محصولimages.id- شناسه فایل آپلود شدهimages.url- آدرس تصویرimages.alt- متن جایگزینimages.order- ترتیب نمایش
فیلدهای مدیریت داخلی:
id- شناسه محصول (برای ویرایش)created_at- تاریخ ایجادupdated_at- تاریخ آخرین ویرایش
✨ خلاصه مطابقت
✅ کاملاً مطابق:
- 100% فیلدهای API پیادهسازی شده
- ساختار دقیقاً مشابه
- نوع دادهها صحیح
- Validation مناسب
🎯 ویژگیهای اضافی:
- مدیریت تصاویر با آپلود و پیشنمایش
- UI/UX بهتر با validation و error handling
- Preview زنده تغییرات
- Responsive design برای موبایل
📝 نتیجهگیری
✅ تمام فیلدهای API شما دقیقاً پیادهسازی شده است
🎨 قابلیتهای اضافی UI/UX برای تجربه بهتر کاربر اضافه شده
🚀 سیستم آماده برای استفاده در production
📋 فیلدهای حذف شده (که در API نبودند)
❌ فیلدهایی که حذف کردیم:
price- نه در محصول و نه در variantsku- نه در محصول و نه در variantstatus- در API نبودnameبرای variant - در API نبود
🔄 تغییرات انجام شده:
- Models بهروزرسانی شد طبق API دقیق
- Product Form فیلدهای اضافی حذف شد
- Variant Manager سادهسازی شد طبق API
- Validation تنظیم شد برای فیلدهای جدید
🛠️ فایلهای تغییر یافته:
src/pages/products/core/_models.tssrc/pages/products/product-form/ProductFormPage.tsxsrc/components/ui/VariantManager.tsx
🎉 نتیجه نهایی:
سیستم کاملاً آماده و مطابق با API شماست! 🚀