Files
marketing/SMM_SYSTEM_README.md
T
2025-09-24 10:10:42 +05:00

247 lines
9.5 KiB
Markdown

# SMM Система Konturai
Полная реализация системы управления социальными сетями для фронтенда Vue.js приложения.
## 🚀 Реализованные компоненты
### 1. Сервисы (Services)
#### CampaignService
- **Путь**: `src/service/CampaignService.js`
- **Функции**: CRUD операции для кампаний
- **API эндпоинты**:
- `GET /api/smm/campaigns` - получить все кампании
- `GET /api/smm/campaigns/{id}` - получить кампанию по ID
- `POST /api/smm/campaigns` - создать кампанию
- `PUT /api/smm/campaigns/{id}` - обновить кампанию
- `DELETE /api/smm/campaigns/{id}` - удалить кампанию
#### ChannelService
- **Путь**: `src/service/ChannelService.js`
- **Функции**: CRUD операции для каналов
- **API эндпоинты**:
- `GET /api/smm/channels` - получить все каналы
- `GET /api/smm/channels/{id}` - получить канал по ID
- `POST /api/smm/channels` - создать канал
- `PUT /api/smm/channels/{id}` - обновить канал
- `DELETE /api/smm/channels/{id}` - удалить канал
#### ContentService
- **Путь**: `src/service/ContentService.js`
- **Функции**: CRUD операции для контента, одобрение, получение сообщений
- **API эндпоинты**:
- `GET /api/smm/content` - получить весь контент
- `GET /api/smm/content/{id}` - получить контент по ID
- `POST /api/smm/content` - создать контент
- `PUT /api/smm/content/{id}` - обновить контент
- `DELETE /api/smm/content/{id}` - удалить контент
- `POST /api/smm/content/{id}/approve` - одобрить контент
- `GET /api/smm/content/{id}/messages` - получить сообщения контента
#### PublishingService
- **Путь**: `src/service/PublishingService.js`
- **Функции**: Публикация контента, проверка статуса, массовая публикация
- **API эндпоинты**:
- `POST /api/smm/publishing/post/{contentId}` - опубликовать контент
#### AnalyticsService
- **Путь**: `src/service/AnalyticsService.js`
- **Функции**: Сбор аналитики, получение статистики
- **API эндпоинты**:
- `POST /api/smm/analytics/collect-now` - запустить сбор аналитики
### 2. Типы данных
#### SMM Types
- **Путь**: `src/types/smm.js`
- **Содержит**:
- `CampaignStatus` - статусы кампаний (PLANNED, ACTIVE, COMPLETED)
- `ChannelType` - типы каналов (TELEGRAM, VK, INSTAGRAM)
- `ContentStatus` - статусы контента (DRAFT, PENDING_APPROVAL, APPROVED, PUBLISHED, FAILED)
- DTO классы для всех сущностей
### 3. Vue компоненты
#### CampaignList
- **Путь**: `src/views/smm/CampaignList.vue`
- **Функции**: Управление кампаниями с полным CRUD
- **Особенности**:
- Таблица с фильтрацией и сортировкой
- Диалоги создания/редактирования
- Валидация форм
- Подтверждение удаления
#### ChannelList
- **Путь**: `src/views/smm/ChannelList.vue`
- **Функции**: Управление каналами
- **Особенности**:
- Поддержка разных типов каналов
- Управление активностью каналов
- Валидация API ключей
#### ContentList
- **Путь**: `src/views/smm/ContentList.vue`
- **Функции**: Управление контентом
- **Особенности**:
- Создание и редактирование контента
- Одобрение контента
- Публикация контента
- Просмотр детальной информации
#### AnalyticsDashboard
- **Путь**: `src/views/smm/AnalyticsDashboard.vue`
- **Функции**: Аналитика и статистика
- **Особенности**:
- Статистические карточки
- Детальная статистика по всем модулям
- Ручной запуск сбора аналитики
#### SmmDashboard
- **Путь**: `src/views/smm/SmmDashboard.vue`
- **Функции**: Главная панель SMM системы
- **Особенности**:
- Обзор статистики
- Быстрые действия
- Последние кампании и контент
### 4. Маршрутизация
#### Добавленные маршруты
```javascript
{
path: '/smm',
name: 'smm-dashboard',
component: () => import('@/views/smm/SmmDashboard.vue'),
meta: { requiresAuth: true }
},
{
path: '/smm/campaigns',
name: 'smm-campaigns',
component: () => import('@/views/smm/CampaignList.vue'),
meta: { requiresAuth: true }
},
{
path: '/smm/channels',
name: 'smm-channels',
component: () => import('@/views/smm/ChannelList.vue'),
meta: { requiresAuth: true }
},
{
path: '/smm/content',
name: 'smm-content',
component: () => import('@/views/smm/ContentList.vue'),
meta: { requiresAuth: true }
},
{
path: '/smm/analytics',
name: 'smm-analytics',
component: () => import('@/views/smm/AnalyticsDashboard.vue'),
meta: { requiresAuth: true }
}
```
### 5. Навигация
#### Обновленное меню
Добавлен новый раздел "SMM Система" с пунктами:
- SMM Панель (`/smm`)
- Кампании (`/smm/campaigns`)
- Каналы (`/smm/channels`)
- Контент (`/smm/content`)
- Аналитика (`/smm/analytics`)
## 🔧 Технические особенности
### Аутентификация
- Все сервисы используют JWT токены из localStorage
- Автоматическая проверка авторизации
- Обработка ошибок аутентификации
### Валидация
- Клиентская валидация всех форм
- Проверка обязательных полей
- Валидация форматов данных
### Обработка ошибок
- Централизованная обработка ошибок
- Toast уведомления для пользователя
- Логирование ошибок в консоль
### UI/UX
- Современный дизайн с PrimeVue компонентами
- Адаптивная верстка
- Интуитивная навигация
- Подтверждения действий
## 📋 Использование
### 1. Управление кампаниями
1. Перейдите в "SMM Система" → "Кампании"
2. Нажмите "Создать кампанию" для добавления новой кампании
3. Заполните форму с обязательными полями
4. Используйте фильтры и поиск для навигации по кампаниям
### 2. Управление каналами
1. Перейдите в "SMM Система" → "Каналы"
2. Добавьте каналы для Telegram, VK или Instagram
3. Укажите API ключи для каждого канала
4. Управляйте активностью каналов
### 3. Управление контентом
1. Перейдите в "SMM Система" → "Контент"
2. Создайте контент, привязав к кампании
3. Настройте время публикации и приоритет
4. Одобрите контент для публикации
5. Опубликуйте контент в каналы
### 4. Аналитика
1. Перейдите в "SMM Система" → "Аналитика"
2. Просматривайте статистику по всем модулям
3. Запускайте сбор аналитики вручную
4. Отслеживайте эффективность публикаций
## 🚀 Готовность к использованию
Система полностью готова к использованию и включает:
- ✅ Все API эндпоинты из документации
- ✅ Полный CRUD для всех сущностей
- ✅ Современный UI с PrimeVue
- ✅ Адаптивный дизайн
- ✅ Обработка ошибок
- ✅ Валидация данных
- ✅ Навигация и маршрутизация
## 🔗 Интеграция с бэкендом
Система готова к интеграции с бэкендом по адресу:
- **Базовый URL**: `https://api.konturai.kz/api/smm`
- **Аутентификация**: Bearer JWT токены
- **Формат данных**: JSON
- **Кодировка**: UTF-8
Все сервисы автоматически добавляют заголовки аутентификации и обрабатывают ответы API.