admin/Product-Fields-Mapping.md

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 - نه در محصول و نه در variant
  • sku - نه در محصول و نه در variant
  • status - در API نبود
  • name برای variant - در API نبود

🔄 تغییرات انجام شده:

  1. Models به‌روزرسانی شد طبق API دقیق
  2. Product Form فیلدهای اضافی حذف شد
  3. Variant Manager ساده‌سازی شد طبق API
  4. Validation تنظیم شد برای فیلدهای جدید

🛠️ فایلهای تغییر یافته:

  • src/pages/products/core/_models.ts
  • src/pages/products/product-form/ProductFormPage.tsx
  • src/components/ui/VariantManager.tsx

🎉 نتیجه نهایی:

سیستم کاملاً آماده و مطابق با API شماست! 🚀