Загрузка приложения

IProduct

Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.

IProduct

Данные товара, цены, изображения и доступные варианты.

app/interfaces/orionplace/products/IProduct.ts
TypeScript
export interface IProduct {
  // ID товара.
  id: number;
  // ID группы вариантов товара.
  product_group_id: number;
  // ID записи этого товара в избранном текущего покупателя; null, если записи
  // нет.
  whishlist_id?: number | null;
  // ID основной категории товара.
  main_category?: number | null;
  // ID подписки текущего покупателя на поступление этого товара; null для
  // гостя или при отсутствии подписки.
  subscription_id?: number | null;
  // `true` — товару не требуется доставка.
  is_digital?: boolean;
  // Переводы товара по коду языка. Записи коллекций содержат `product_name`,
  // `product_slug` и `short_description`; подробные ответы по ID также содержат
  // ID перевода, заголовок, полное описание и SEO-поля.
  locale: Record<string, Partial<IProductLocale>>;
  // Множитель цены: `1` — без скидки, `0.8` — 80% базовой цены.
  discount: number;
  // Количество и стоимость товара в корзине; `null`, если данные корзины
  // недоступны.
  cart_counts?: IProductCartCounts | null;
  // Цена товара до скидки по ID валюты.
  base_price_dict: Record<string, ITransformValue>;
  // Цена товара со скидкой по ID валюты. Сумма — в `transform_value`.
  product_price_dict: Record<string, ITransformValue>;
  // Изображения товара; `null`, если изображений нет.
  images?: IProductImages | null;
  // Вес товара по ID единицы измерения. Присутствует в подробных ответах с
  // `filters.id` и `filters.id_in`.
  weight_dict?: Record<string, ITransformValue>;
  // Длина, ширина и высота товара по ID единицы измерения. Присутствуют в
  // подробных ответах с `filters.id` и `filters.id_in`.
  length_dict?: IProductDimensions;
  // Основной тип варианта товара и его значения; объект может быть пустым.
  variants: IProductVariants;
  // Признаки товарных меток.
  flags: IProductFlags;
  // Данные продавца из методов товаров или из `seller_id`, найденные стором
  // товаров после загрузки приложения.
  seller: IProductSeller;
  // Состояние публикации товара и его текстовое обозначение.
  status: IProductStatus;
  // Доступный остаток товара.
  c_real_left: number;
  // Время последнего изменения товара (ISO 8601): названий, описаний, цен или
  // настроек остатка. Витрины используют его в карте сайта как `lastmod`
  // страницы.
  date_updated?: string | null;
  // Количество одобренных отзывов и средняя оценка товара в группе магазинов
  // этой витрины.
  feedback_stat: IProductFeedbackStat;
  // Связанные опубликованные товары из подробных данных отдельного товара.
  related?: IProductRelated | null;
  // Дополнительный тип варианта и товары, соответствующие основному значению
  // этого товара; передаются в подробных данных товара или корзины.
  secondary_variants?: IProductSecondaryVariants | null;
  // Флаг, который подробный ответ товара возвращает со значением true. Он не
  // заменяет проверку прав при отправке отзыва.
  feedback_allowed?: boolean;
  // Группы характеристик в подробных данных товара.
  attributes?: IProductAttribute[] | Record<string, IProductAttribute>;
  // Видео товара и URL их превью из подробных данных товара.
  videos?: IProductVideo[];
  // ID, название и URL изображений производителя из подробных данных товара.
  manufacture?: IProductManufacture | null;
  // Настроенные сроки возврата товара в днях из подробных данных товара.
  refunds?: IProductRefunds | null;
  // Начальная страница отзывов, распределение оценок, изображения отзывов и
  // ссылка на отзыв текущего покупателя из подробных данных товара.
  feedbacks?: IProductFeedbacks | null;
}