feat(project): restore product list drawer and detail prototype
This commit is contained in:
@@ -140,15 +140,60 @@ export interface ProductListItemDto {
|
||||
tags: string[];
|
||||
}
|
||||
|
||||
/** 套餐分组商品。 */
|
||||
export interface ProductComboGroupItemDto {
|
||||
productId: string;
|
||||
productName: string;
|
||||
quantity: number;
|
||||
sortOrder: number;
|
||||
}
|
||||
|
||||
/** 套餐分组。 */
|
||||
export interface ProductComboGroupDto {
|
||||
id: string;
|
||||
items: ProductComboGroupItemDto[];
|
||||
maxSelect: number;
|
||||
minSelect: number;
|
||||
name: string;
|
||||
sortOrder: number;
|
||||
}
|
||||
|
||||
/** SKU 规格属性。 */
|
||||
export interface ProductSkuAttributeDto {
|
||||
optionId: string;
|
||||
templateId: string;
|
||||
}
|
||||
|
||||
/** SKU 详情。 */
|
||||
export interface ProductSkuDto {
|
||||
attributes: ProductSkuAttributeDto[];
|
||||
id: string;
|
||||
isEnabled: boolean;
|
||||
originalPrice: null | number;
|
||||
price: number;
|
||||
skuCode: string;
|
||||
sortOrder: number;
|
||||
stock: number;
|
||||
}
|
||||
|
||||
/** 商品详情。 */
|
||||
export interface ProductDetailDto extends ProductListItemDto {
|
||||
addonGroupIds: string[];
|
||||
comboGroups: ProductComboGroupDto[];
|
||||
description: string;
|
||||
imageUrls?: string[];
|
||||
imageUrls: string[];
|
||||
labelIds: string[];
|
||||
notifyManager: boolean;
|
||||
packingFee: null | number;
|
||||
recoverAt: null | string;
|
||||
remainStock: number;
|
||||
skus: ProductSkuDto[];
|
||||
soldoutReason: string;
|
||||
sortWeight: number;
|
||||
specTemplateIds: string[];
|
||||
syncToPlatform: boolean;
|
||||
timedOnShelfAt: null | string;
|
||||
warningStock: null | number;
|
||||
}
|
||||
|
||||
/** 商品列表查询参数。 */
|
||||
@@ -170,22 +215,51 @@ export interface ProductDetailQuery {
|
||||
|
||||
/** 保存商品参数。 */
|
||||
export interface SaveProductDto {
|
||||
addonGroupIds?: string[];
|
||||
categoryId: string;
|
||||
comboGroups?: Array<{
|
||||
items: Array<{
|
||||
productId: string;
|
||||
quantity: number;
|
||||
sortOrder: number;
|
||||
}>;
|
||||
maxSelect: number;
|
||||
minSelect: number;
|
||||
name: string;
|
||||
sortOrder: number;
|
||||
}>;
|
||||
description: string;
|
||||
id?: string;
|
||||
imageUrls?: string[];
|
||||
labelIds?: string[];
|
||||
kind: ProductKind;
|
||||
name: string;
|
||||
originalPrice: null | number;
|
||||
packingFee?: null | number;
|
||||
price: number;
|
||||
skus?: Array<{
|
||||
attributes: Array<{
|
||||
optionId: string;
|
||||
templateId: string;
|
||||
}>;
|
||||
isEnabled: boolean;
|
||||
originalPrice: null | number;
|
||||
price: number;
|
||||
skuCode?: string;
|
||||
sortOrder: number;
|
||||
stock: number;
|
||||
}>;
|
||||
shelfMode: 'draft' | 'now' | 'scheduled';
|
||||
sortWeight?: number;
|
||||
specTemplateIds?: string[];
|
||||
spuCode?: string;
|
||||
status: ProductStatus;
|
||||
stock: number;
|
||||
storeId: string;
|
||||
subtitle: string;
|
||||
tags: string[];
|
||||
tags?: string[];
|
||||
timedOnShelfAt?: string;
|
||||
warningStock?: null | number;
|
||||
}
|
||||
|
||||
/** 删除商品参数。 */
|
||||
|
||||
Reference in New Issue
Block a user