247 lines
9.5 KiB
Markdown
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.
|