9.2 KiB
Интеграция маркетингового анализа v4.0 в существующую архитектуру
✅ Что было сделано
1. Восстановлена старая архитектура Vue.js
- Восстановлены все файлы из
origin/main - Сохранена структура проекта (Vue 3 + PrimeVue + Vite)
2. Добавлен новый функционал v4.0
Типы и сервисы
src/types/marketing-v3.js— все enum'ы и маппинги для UIsrc/service/MarketingV3Service.js— API сервис для работы с v4.0
Новый многошаговый опросник
src/components/marketing/MarketingBriefWizardV3.vue— главный компонент опросникаsrc/components/marketing/wizard/StepSection.vue— секция шагаsrc/components/marketing/wizard/RadioGroupField.vue— радио-группа с карточкамиsrc/components/marketing/wizard/CheckboxCardsLimitedField.vue— чекбоксы с ограничением (max 2)src/components/marketing/wizard/CheckboxCardsField.vue— обычные чекбоксыsrc/components/marketing/wizard/TagArrayField.vue— поле для массивов (города)src/components/marketing/wizard/DynamicLinksField.vue— динамические ссылки
Дашборд результатов
src/views/pages/marketing/MarketingAnalysisV3.vue— страница результатов с поллингомsrc/components/marketing/MetricCard.vue— карточка метрики
3. Обновлён дизайн существующих компонентов
src/views/pages/auth/Login.vue— обновлён под новый стиль (градиенты, современные карточки)src/views/pages/marketing/MarketingMain.vue— добавлена ссылка на новый опросник v4.0, улучшен hover-эффект
4. Добавлены новые роуты
/marketing-analysis/v3— новый опросник v4.0/marketing-analysis/v3/:id— страница результатов анализа v4.0
🚀 Как запустить и протестировать
1. Установка зависимостей
npm install
2. Запуск проекта
npm run dev
Открой в браузере: http://localhost:5173 (или другой порт, который покажет Vite)
3. Тестирование нового функционала
Шаг 1: Авторизация
- Перейди на
/auth/login - Войди в систему (используй существующие credentials)
Шаг 2: Новый опросник v4.0
- Перейди в раздел "Маркетинг" (
/marketing-analysis) - Выбери "Маркетинговый анализ v4.0 (новый)" — первый пункт в меню
- Или перейди напрямую на
/marketing-analysis/v3
Шаг 3: Заполнение опросника
- Пройди все 5 шагов:
- Базовая информация — ниша, название, цель, этап бизнеса
- География и чек — города, средний чек
- Продукт и поведение — описание, частота покупок, приоритеты
- Текущая ситуация — SMM статус, заявки, ограничения
- Ссылки и настройки — соцсети, конкуренты, уровень детализации
Особенности:
- Ограничение выбора: некоторые поля позволяют выбрать только 1–2 варианта (карточки серые, если достигнут лимит)
- Динамические поля: города добавляются по Enter, ссылки — кнопкой "Добавить ссылку"
- Казахстанские примеры в placeholder'ах (Алматы, Астана, Шымкент и т.д.)
Шаг 4: Результаты анализа
- После отправки формы тебя перенаправит на
/marketing-analysis/v3/{analysisId} - Страница автоматически делает поллинг каждые 5 секунд
- Пока статус
QUEUEDилиPROCESSING— показывается красивый лоадер с меняющимися сообщениями - Когда статус
COMPLETED— отображается дашборд с:- Hero-карточками (Executive Summary)
- Графиками (сезонность, платформы конкурентов)
- Таблицей конкурентов с аккордеоном
- Выводами и стратегией
📋 Структура файлов
src/
├── components/
│ └── marketing/
│ ├── MarketingBriefWizardV3.vue # Главный опросник v4.0
│ ├── MetricCard.vue # Карточка метрики
│ └── wizard/ # Компоненты для опросника
│ ├── StepSection.vue
│ ├── RadioGroupField.vue
│ ├── CheckboxCardsLimitedField.vue
│ ├── CheckboxCardsField.vue
│ ├── TagArrayField.vue
│ └── DynamicLinksField.vue
├── views/
│ └── pages/
│ ├── auth/
│ │ └── Login.vue # Обновлённый дизайн
│ └── marketing/
│ ├── MarketingMain.vue # Обновлённое меню
│ └── MarketingAnalysisV3.vue # Дашборд результатов v4.0
├── service/
│ └── MarketingV3Service.js # API для v4.0
└── types/
└── marketing-v3.js # Типы и enum'ы
🔧 API эндпоинты
Новый функционал использует:
POST /api/v3/marketing-analysis/start— запуск анализа v4.0GET /api/v3/marketing-analysis/{id}— получение статуса и результатов
Важно: Убедись, что на бэкенде эти эндпоинты реализованы и возвращают данные в формате:
POST→{ analysisId: string }GET→MarketingAnalysisV3Documentс полямиstatus,resultData,errorMessage
🎨 Особенности дизайна
Новый стиль опросника
- Премиальные карточки для выбора (Radio Cards)
- Плавные анимации переходов между шагами
- Прогресс-бар с градиентом
- Индикаторы шагов с галочками для завершённых
Обновлённый Login
- Градиентный фон
- Современная карточка с тенью
- Иконка замка в градиентном круге
- Улучшенная типографика
Дашборд результатов
- Карточки метрик с иконками
- Графики Chart.js (линейный и doughnut)
- Таблица конкурентов с аккордеоном
- Адаптивная сетка
⚠️ Важные замечания
-
Поллинг: Дашборд автоматически опрашивает статус каждые 5 секунд. Поллинг останавливается при статусе
COMPLETEDилиFAILED. -
Валидация: Форма валидируется перед отправкой. Обязательные поля и ограничения на массивы проверяются.
-
Казахстанский контекст: Все примеры адаптированы под казахстанский рынок (города, примеры ниш).
-
Совместимость: Новый функционал не ломает существующий опросник — он доступен по старому роуту
/marketing-analysis/analysis.
🐛 Если что-то не работает
-
Ошибки компиляции:
- Проверь, что все зависимости установлены:
npm install - Убедись, что Vue 3 и PrimeVue установлены
- Проверь, что все зависимости установлены:
-
Ошибки API:
- Проверь, что бэкенд запущен и доступен
- Проверь URL в
src/config/api.js - Убедись, что эндпоинты
/api/v3/marketing-analysis/*реализованы на бэкенде
-
Компоненты не отображаются:
- Проверь консоль браузера на ошибки
- Убедись, что все компоненты правильно импортированы
Готово! Теперь можно тестировать новый функционал. 🎉