feat: 开发采集、采集箱和商品编辑功能
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* Product JSON - 商品文件夹契约(TS 侧)
|
||||
* 对应 server/schemas/product.py(Pydantic 为真源)
|
||||
* 详见 docs/contracts/product-json.md
|
||||
*/
|
||||
|
||||
export type Stage = 'collected' | 'edited' | 'published';
|
||||
|
||||
export interface ProductJson {
|
||||
_meta: {
|
||||
schemaVersion: 1;
|
||||
stage: Stage;
|
||||
createdAt: string; // ISO 8601
|
||||
updatedAt: string;
|
||||
};
|
||||
|
||||
// Ozon 字段(对齐 ImportProductsV3)
|
||||
offer_id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
description_category_id: number | null;
|
||||
price: string;
|
||||
old_price?: string;
|
||||
currency_code: 'RUB' | 'CNY';
|
||||
vat: string;
|
||||
|
||||
depth: number | null;
|
||||
width: number | null;
|
||||
height: number | null;
|
||||
dimension_unit: 'mm' | 'cm';
|
||||
weight: number | null;
|
||||
weight_unit: 'g' | 'kg';
|
||||
|
||||
images: string[]; // 发布时填公网 URL
|
||||
primary_image?: string;
|
||||
color_image?: string;
|
||||
|
||||
attributes: any[]; // 工作台映射后才填
|
||||
complex_attributes?: any[];
|
||||
|
||||
// 本地扩展字段(下划线前缀)
|
||||
_images: {
|
||||
main: ImageMeta[];
|
||||
sku: ImageMeta[];
|
||||
detail: ImageMeta[];
|
||||
video: ImageMeta[];
|
||||
};
|
||||
|
||||
_raw: {
|
||||
title: string;
|
||||
price: string;
|
||||
params?: Array<{ key: string; value: string }>;
|
||||
desc?: string;
|
||||
};
|
||||
|
||||
_pricing?: any; // 工作台计价结果
|
||||
}
|
||||
|
||||
export interface ImageMeta {
|
||||
file: string; // 相对路径:images/main/main-001.jpg
|
||||
sourceUrl: string; // 源站 URL(可能失效)
|
||||
variantName?: string; // SKU 规格名
|
||||
w?: number;
|
||||
h?: number;
|
||||
}
|
||||
|
||||
export interface SourcesJson {
|
||||
sources: Array<{
|
||||
platform: '1688' | 'taobao' | 'ozon';
|
||||
itemId: string | null;
|
||||
url: string;
|
||||
collectedAt: string; // ISO 8601
|
||||
counts: Record<string, number>;
|
||||
}>;
|
||||
dedupeKeys: string[]; // URL 去重指纹
|
||||
}
|
||||
Reference in New Issue
Block a user