Загрузка приложения
IStorefrontProfileState
Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.
IStorefrontProfileStateСостояние интерфейса аккаунта, управляемое страницей; не ответ сервера.
app/interfaces/orionplace/accounts/IStorefrontProfile.tsexport interface IStorefrontProfileState {
// Данные текущего профиля успешно загружены.
loaded: boolean;
// Выполняемое действие; пустая строка в ожидании.
pending: string;
// Ошибка запроса в зарезервированной области статуса.
error: string;
// Сообщения проверки по именам полей сервера.
errors: Record<string, string>;
// Последнее подтверждённое действие для сообщения об успехе.
message: string;
// Номер подтверждения; поля пароля очищаются после успеха соответствующего
// действия.
saved: number;
// Ввод адреса или кода подтверждения по ответу сервера.
emailStep: 'step_email' | 'step_email_code';
// Подтверждённый язык писем, независимый от языка магазина.
notificationLocale: string;
// Текущий шаг входа, выбранный сервером.
authStep: 'step_phone' | 'step_password' | 'step_otp' | 'step_additional';
// Назначение auth или reg, возвращённое на шаге телефона; отправляется при
// повторном запросе кода.
authPurpose: 'auth' | 'reg';
// Канал последнего кода: sms, call или email; пустая строка, если канал не
// получен.
authCodeType: '' | 'sms' | 'call' | 'email';
// Маскированный адрес из page_data.email для подсказки при канале email.
authEmail: string;
// Оставшиеся секунды ожидания. На шаге телефона блокирует «Продолжить», на
// шаге кода — повторную отправку кода.
otpDelay: number;
// `true`, когда `auth_signin_signup` вернул `active_id`, а загрузка
// приложения обновляет сессию. При непустом `pending` идёт верхняя полоса
// загрузки, а программы экранного доступа получают «Выполняем вход…»; при
// пустом `pending` обновление не удалось, и форма показывает ошибку с кнопкой
// «Повторить», которая отправляет `refresh` без данных входа. Становится
// `false`, когда загрузка приложения подтверждает `store.isAuthenticated`.
refreshRequired: boolean;
}