Загрузка приложения
ICartSummary
Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.
ICartSummaryСостояние корзины, суммы, адрес и варианты оплаты.
app/interfaces/orionplace/cart/ICartData.tsexport interface ICartSummary {
// ID корзины.
id: number;
// `ECartState.STATE_CART` — выбор товаров и изменение количества.
// `ECartState.STATE_CHECKOUT` — оформление с группами отправки, оплатой и
// доставкой. Значение определяет структуру `page_data.cart_data`.
state: ECartState;
// Суммы по валютам и признак предварительной доставки.
prices: ICartPrices;
// Общий счётчик физических и цифровых единиц.
c_cart_positions: number;
// Счётчик позиций корзины, пересчитанный для текущего состояния.
c_cart_items: number;
// Счётчик цифровых единиц.
c_digital_pos: number;
// Счётчик физических единиц.
c_physical_pos: number;
// Количество групп отправки.
c_dlf: number;
// Сохранённые адреса вошедшего покупателя. У каждого есть ID для
// `cart_customer_address_set`. Пустой список означает отсутствие сохранённых
// адресов; для гостя возвращается null.
address_list: IUserAddress[] | null;
// Доступные для текущей корзины способы оплаты с ID способа в качестве ключа.
// Для вариантов выбора используйте их `id`, названия в `locale` и `logo`.
// Способ, ограниченный по странам, показывается по стране телефона
// покупателя, а не по адресу корзины. Пустой словарь не содержит доступных
// способов.
payment_methods: Record<string, IPaymentMethod>;
// ID выбранного способа оплаты; ему соответствует запись в `payment_methods`.
// Null означает, что способ не выбран. Проверка корзины при оформлении
// сбрасывает недоступный способ; покупателю нужно выбрать его заново. Возврат
// из оформления в `ECartState.STATE_CART` тоже сбрасывает выбор.
selected_payment: number | null;
// Текущий адрес доставки корзины: копия полей адреса без ID сохранённой
// записи или null, если адрес не задан. Для показа сохранённого варианта
// сравните с `address_list`. Копия сохраняется после изменения или удаления
// записи; выбор адреса заменяет её.
cart_address: ICartAddress | null;
// Описание прикреплённой акции или null.
attached_promo: IPromoDefinition | null;
// Прикреплённый выданный код или null.
promocode: string | null;
/** Absent on backends without the whole-cart promo rules. */
promo_notice?: ICartPromoNotice | null;
// Сохранённый комментарий к заказу длиной до 1024 символов. Пустой текст
// означает отсутствие комментария. Для сохранения передайте `cart_commentary`
// в `cart_customer_commentary_set`.
comment: string;
// `client` содержит full_name и phone владельца аккаунта; `receiver` —
// full_name и phone получателя заказа. Каждое незаданное значение получателя
// берётся из соответствующего поля аккаунта. `cart_customer_reciever_clean`
// возвращает эти значения для корзины. Для гостя объект пуст.
contact: {
// Необязательное поле client; может отсутствовать.
client?: ICartContact;
// Необязательное поле receiver; может отсутствовать.
receiver?: ICartContact;
};
// `true` сообщает об изменении доступного количества или товаров, которые
// нельзя отправить. Используйте полученные данные корзины. Уведомление
// сбрасывается после чтения; последующее `false` не возвращает прежнее
// количество.
cart_stock_was_modifed: boolean;
}