Files
marketing/INTEGRATION_GUIDE.md
T
2026-02-25 10:33:51 +05:00

184 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Интеграция маркетингового анализа v4.0 в существующую архитектуру
## ✅ Что было сделано
### 1. Восстановлена старая архитектура Vue.js
- Восстановлены все файлы из `origin/main`
- Сохранена структура проекта (Vue 3 + PrimeVue + Vite)
### 2. Добавлен новый функционал v4.0
#### Типы и сервисы
- `src/types/marketing-v3.js` — все enum'ы и маппинги для UI
- `src/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. Установка зависимостей
```bash
npm install
```
### 2. Запуск проекта
```bash
npm run dev
```
Открой в браузере: **http://localhost:5173** (или другой порт, который покажет Vite)
### 3. Тестирование нового функционала
#### Шаг 1: Авторизация
1. Перейди на `/auth/login`
2. Войди в систему (используй существующие credentials)
#### Шаг 2: Новый опросник v4.0
1. Перейди в раздел "Маркетинг" (`/marketing-analysis`)
2. Выбери **"Маркетинговый анализ v4.0 (новый)"** — первый пункт в меню
3. Или перейди напрямую на `/marketing-analysis/v3`
#### Шаг 3: Заполнение опросника
- Пройди все 5 шагов:
1. **Базовая информация** — ниша, название, цель, этап бизнеса
2. **География и чек** — города, средний чек
3. **Продукт и поведение** — описание, частота покупок, приоритеты
4. **Текущая ситуация** — SMM статус, заявки, ограничения
5. **Ссылки и настройки** — соцсети, конкуренты, уровень детализации
**Особенности:**
- Ограничение выбора: некоторые поля позволяют выбрать только 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.0
- `GET /api/v3/marketing-analysis/{id}` — получение статуса и результатов
**Важно:** Убедись, что на бэкенде эти эндпоинты реализованы и возвращают данные в формате:
- `POST``{ analysisId: string }`
- `GET``MarketingAnalysisV3Document` с полями `status`, `resultData`, `errorMessage`
---
## 🎨 Особенности дизайна
### Новый стиль опросника
- Премиальные карточки для выбора (Radio Cards)
- Плавные анимации переходов между шагами
- Прогресс-бар с градиентом
- Индикаторы шагов с галочками для завершённых
### Обновлённый Login
- Градиентный фон
- Современная карточка с тенью
- Иконка замка в градиентном круге
- Улучшенная типографика
### Дашборд результатов
- Карточки метрик с иконками
- Графики Chart.js (линейный и doughnut)
- Таблица конкурентов с аккордеоном
- Адаптивная сетка
---
## ⚠️ Важные замечания
1. **Поллинг:** Дашборд автоматически опрашивает статус каждые 5 секунд. Поллинг останавливается при статусе `COMPLETED` или `FAILED`.
2. **Валидация:** Форма валидируется перед отправкой. Обязательные поля и ограничения на массивы проверяются.
3. **Казахстанский контекст:** Все примеры адаптированы под казахстанский рынок (города, примеры ниш).
4. **Совместимость:** Новый функционал не ломает существующий опросник — он доступен по старому роуту `/marketing-analysis/analysis`.
---
## 🐛 Если что-то не работает
1. **Ошибки компиляции:**
- Проверь, что все зависимости установлены: `npm install`
- Убедись, что Vue 3 и PrimeVue установлены
2. **Ошибки API:**
- Проверь, что бэкенд запущен и доступен
- Проверь URL в `src/config/api.js`
- Убедись, что эндпоинты `/api/v3/marketing-analysis/*` реализованы на бэкенде
3. **Компоненты не отображаются:**
- Проверь консоль браузера на ошибки
- Убедись, что все компоненты правильно импортированы
---
Готово! Теперь можно тестировать новый функционал. 🎉