docs: add comprehensive API field mapping documentation

- Document exact mapping between form fields and API structure
- Include complete examples of product and variant data
- Detail product types and their use cases
- List UI-specific fields vs API fields
- Provide migration notes for removed fields
- Include file change summary and implementation details
This commit is contained in:
hossein taromi 2025-07-27 14:46:25 +03:30
parent 8c896c1855
commit 09c008396e
1 changed files with 154 additions and 0 deletions

154
Product-Fields-Mapping.md Normal file
View File

@ -0,0 +1,154 @@
# 📋 مقایسه فیلدها - سیستم محصولات
## 🔵 فیلدهای محصول (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 کامل
```json
{
"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 شماست! 🚀**