1. ADMIN
Traffic Tool
  • Traffic Tool Docs
    • Tổng quan
      • Tổng Quan
      • Setup Guide
      • System Architecture
      • Code Structure
      • Logs and Monitoring
      • Environment & Configuration
      • Deployment
        • Local
        • Staging
        • Product
    • Bussiness | Logic
      • 1. Thống kê hàng ngày (Daily Statistics)
      • 2. Thống kê hệ thống (System Statistics)
      • 3. Tìm kiếm tự động (Automated Discovery)
      • 4. Trung tâm Báo cáo (Report Center)
      • 5. Quản lý tài khoản (Account Management)
      • 6. Quản lý Hệ thống (System Management)
      • 7. Quản lý tài khoản Google (Google Account Management)
    • Project
      • ADMIN
        • Tổng quan
        • Hướng dẫn sử dung
          • Đăng Nhập & Xác Thực Hai Bước
          • Thống Kê Hệ Thống
          • Thống Kê Hàng Ngày
          • Tìm Kiếm Tự Động
          • Trung Tâm Báo Cáo
          • Quản Lý Tài Khoản
          • Quản Lý Server
          • Quản Lý Proxy
          • Quản Lý Gói Proxy
          • Quản Lý Nhà Cung Cấp Proxy
          • Quản Lý Backup Proxy
          • Quản Lý Tài Khoản Google
          • User Guide
        • Architecture
          • System Architecture
          • Code Structure
          • Environment & Configuration
          • Logs and Monitoring
        • Deployment
          • Local
          • Staging
          • Production
      • API
        • Tổng quan
        • Architecture
          • Database Schema
          • System Architecture
          • Code Structure
          • Environment & Configuration
          • Logs and Monitoring
        • Deployment
          • Local
          • Staging
          • Production
        • API Interface
          • 🔑 Identity & Session
            • Đăng nhập hệ thống (Login)
            • Đăng ký tài khoản mới (Public)
            • Lấy danh sách người dùng (Phân trang)
            • Admin tạo người dùng mới
            • Lấy thông tin cá nhân hiện tại
            • Khởi tạo bảo mật 2FA
            • Xác thực mã OTP
            • Chi tiết người dùng theo ID
            • Cập nhật thông tin người dùng
            • Xóa tài khoản người dùng
            • Đổi mật khẩu
            • Kiểm tra Cấu hình Thông báo Telegram Toàn hệ thống
            • Bật/Tắt Thông báo Telegram Toàn cục
          • 📁 Campaign Management
            • Danh sách Chiến dịch Toàn cầu
            • Khởi tạo Chiến dịch Mới
            • Chi tiết Chiến dịch
            • Cập nhật Chiến dịch
            • Xóa Chiến dịch
            • Tắt/Mở Chiến dịch (Hàng loạt)
            • Dữ liệu Hình mẫu SEO (Negative SEO)
          • ⚙️ Project Mechanics
            • Danh sách Dự án (Projects List)
            • Khởi tạo Kịch bản Mô phỏng
            • Lấy chi tiết cấu hình Dự án
            • Cập nhật Kịch bản chạy
            • Xóa Dự án
            • Chỉnh sửa Hàng loạt (Bulk)
            • Bật/Tắt Dự án
          • 👤 Profile Management
            • Danh sách Vân tay số (Profiles Data)
            • Tạo Hồ sơ Đơn lẻ (Tạo Vân tay mới)
            • Nhập kho Tài khoản Email (Bulk Import)
            • Chi tiết Session/Cookies
            • Chỉnh sửa Hồ sơ/Ghi chú
            • Xóa Vân tay số và Dữ liệu Local
            • Mở khóa Captcha/Trạng thái Blocked
            • Tra cứu Kho Profile Khả dụng
            • Báo cáo Sức khỏe Kho Tài Khoản
          • 🦾 Worker Interface
            • Đăng ký Khởi tạo Node (Handshake)
            • Nhịp Tim Khảo Sát Tình Trạng (Heartbeat)
            • Nhận Cấu hình Bypass & Hệ thống
            • Kéo (PULL) Nhiệm vụ Traffic SEO
            • Báo cáo Sự cố Node (Crash Report)
          • 📊 Report: Execution
            • Kéo Công việc Báo cáo (Worker Pull)
            • Quản lý Giám sát Nhiệm vụ (Task Dashboard)
            • Bắn Lại Báo Cáo Thất Bại (Manual Retry)
          • 📊 Report: Discovery
            • Danh sách Tên miền Chờ Xử Lý (Discovery Pool)
            • Nhập Mục Tiêu Thủ Công (Manual Insert)
            • Kích hoạt Heuristic Scanner (Cào tự động)
            • Chi tiết Bằng Chứng (Evidence Data)
            • Dán nhãn Vi Phạm / Cập nhật Screenshot
            • Loại Bỏ Mục Tiêu
            • Duyệt Yêu Cầu (Approve to Execution)
          • 📊 Report: Platforms Configuration
            • Truy vấn Danh sách Nền tảng Đối tác (Vendor)
            • Tạo Nền tảng Vendor Báo cáo Mới
            • Bật/Tắt Trang báo cáo theo Loại
            • Cập nhật Metadata Trang
            • Xóa Trang Báo Cáo
            • Lấy Cài đặt LLM cho Vendor cụ thể
            • Cập nhật Cài đặt Tạo mẫu LLM
            • Lấy Cấu hình Schema Biểu mẫu cho Vendor
            • Cập nhật Yêu cầu Trường Biểu mẫu
          • 📊 Report: Email Automation
            • Danh sách SMTP/Mailer Server
            • Thêm kết nối SMTP Mới
            • Nhật ký Nhiệm vụ Gửi Mail (Email Log)
            • Phân tích Tỉ lệ Chuyển đổi (Email Delivery Analytics)
          • 🌐 Global Proxies
            • Danh sách Kho Proxy Phân trang (Proxy Pool)
            • Thêm mới Tuyến IP (Bulk Import)
            • Cập nhật Thông tin máy chủ Proxy
            • Xóa Proxy (Thu hồi tài nguyên)
            • Kích hoạt Xoay vòng (Rotate IP) Cưỡng bức
          • 📈 System Intelligence
            • Báo cáo Luồng Bảo mật Hợp nhất (Colossal Report)
            • Bản Đồ Lưu Lượng GeoIP (Heatmap)
          • 🪝 Webhook Integrations
            • Callback Hoàn tất Gói Lưu lượng SEO (Traffic Node)
            • Callback Thông báo Hoàn tất Bắn Report AI
      • Tool
        • Tổng quan
        • Architecture
          • System Architecture
          • Code Structure
          • Environment & Configuration
          • Logs And Monitoring
          • Database Schema
        • Deployment
          • Local
          • Staging
          • Production
        • API interface
          • Tasks
            • Lấy tasks có phân trang và lọc
            • Xóa tất cả tasks
            • Get all tasks
            • Cập nhật một task
            • Xóa một task theo ID
            • Get all tasks
          • Group task
            • Tạo nhiều task groups
            • Lấy tất cả task groups
            • Xóa tất cả task groups
            • Xóa một task group theo ID
            • Endpoint /api/task-traffics/
            • Test parse proxy string
            • Endpoint /api/task-traffics/
          • Test
            • Mock proxy endpoint cho development
            • Mock profile endpoint cho development
            • Endpoint /api/test
            • Endpoint /api/test/account-stats
            • Endpoint /api/test/session-recommendation
            • Endpoint /api/test/check-browser
            • Endpoint /api/test/clear-browser-sessions
          • Proxies
            • Lấy tất cả proxy records
            • Tạo proxy record mới
            • Xóa tất cả proxies
            • Get all proxies
            • Xóa một proxy theo ID
            • Reset proxy process counter
            • Get all proxies
            • Get all proxies
          • Report Platforms
            • Submit report to multiple platforms
            • Submit report to specific platform
            • Get available platforms
            • Get platform statistics
            • Health check
          • Reports
            • Create a new report
            • Create a new report
            • Get report by ID
            • Get report by ID
            • Get report statistics
            • Get report groups
            • Get report groups
            • Get report group
            • Add report to group
            • Bulk add reports to group
            • Get report group statistics
            • Get analytics data
            • Get platform success rates
            • Get reports by platform
            • Get reports by group
            • Create test reports in bulk
            • Tạo PC report CSV
            • Lấy PC report JSON
            • Lấy report tasks
            • Giám sát report tasks
            • Report tasks đang hoạt động
            • Chi tiết report task
            • Thống kê reports
            • Dữ liệu biểu đồ reports
            • Lấy danh sách report sites
            • Tạo report site
            • Thống kê sites
            • Toggle site enabled/disabled
            • Toggle tất cả sites
            • Toggle sites theo type
            • Cập nhật hàng loạt AI prompts
            • Cập nhật site
            • Xóa site
            • Lấy cấu hình đầy đủ của site
            • Lấy AI prompt của site
            • Cập nhật AI prompt của site
            • Lấy GPT config của site
            • Cập nhật GPT config
            • Lấy response config của site
            • Cập nhật response config
            • Lấy security vendors đang bật
            • Phân tích keywords
            • Top keywords
            • Thống kê analytics
            • PC report dashboard
            • Lấy report domains
            • Thêm report domain
            • Chi tiết report domain
            • Thống kê hàng ngày
            • Cập nhật hàng loạt reports
          • Test Report
            • Test Microsoft report submission
            • Test AdGuard report submission
            • Test Google Ads report submission
            • Test Spamhaus report submission
            • Test ESET report submission
            • Test multi-platform report submission
            • Get available platforms
          • ESET Test
            • Simple test
            • Minimal POST test
            • Generate ESET report content
            • Get sample test data
            • Test form filling
            • Test full form submission
          • Spamhaus Test
            • Simple test
            • Minimal POST test
            • Generate Spamhaus report content
            • Get sample test data
            • Test Spamhaus form filling
            • Test full Spamhaus form submission
          • Report Scheduler
            • Get report scheduler statistics
            • Process ad detection result
            • Submit a scheduled report
            • Start report scheduler
            • Stop report scheduler
            • Get scheduler status
            • Process scheduled reports
            • Test browser session (non-headless)
            • Test report submission (non-headless)
          • Comprehensive Analytics
            • Get comprehensive dashboard analytics
            • Get overview statistics
            • Get brand-wise statistics
            • Get daily statistics
            • Get platform success rates
            • Get account performance
            • Get summary report
          • Search
            • Tạo nhiều search tasks
            • Lấy tổng số search tasks
          • Report Tasks
            • Tạo report tasks cho một domain
            • Tạo report tasks trực tiếp (hỗ trợ profileCountry và domainType rõ ràng)
            • Tạo report tasks cho nhiều domains cùng lúc
            • Tạo email-based report tasks
            • Lấy report task PENDING tiếp theo
            • Cập nhật status của report task
            • Lấy danh sách platforms có sẵn
            • Thống kê report tasks
            • Kích hoạt thực thi thủ công
          • Monitor
            • Thông tin tài nguyên hệ thống
          • System
            • Hello World
            • Health check
            • Đọc file log từ xa
            • Monitor worker status
          • Auth
            • Đăng nhập
            • Đăng ký tài khoản
          • User Management
            • Danh sách users có phân trang
            • Tạo user mới (Admin only)
            • Lấy tất cả users (không phân trang)
            • Lấy thông tin profile của user hiện tại
            • Tạo QR code TOTP cho 2FA
            • Xác thực TOTP để bật 2FA
            • Lấy user theo ID
            • Cập nhật thông tin user
            • Xóa user
            • Đổi mật khẩu user
          • Campaign Management
            • Danh sách campaigns có phân trang
            • Tạo campaign mới
            • Lấy tất cả campaigns
            • Thống kê tổng hợp campaigns
            • Xuất campaigns ra Excel
            • Lấy dữ liệu Negative SEO
            • Xuất dữ liệu Negative SEO ra Excel
            • Xuất Negative SEO theo IDs
            • Lấy dữ liệu Home Traffic
            • Xuất Home Traffic ra Excel
            • Xuất Home Traffic theo IDs
            • Lấy báo cáo campaigns (Public)
            • Lấy tất cả báo cáo campaigns (Public)
            • Lấy chi tiết campaign
            • Cập nhật campaign
            • Xóa campaign
            • Lấy campaigns đã fired theo type
          • Server Management
            • Danh sách servers có phân trang
            • Tạo server mới
            • Lấy tất cả servers
            • Lấy servers từ MongoDB
            • Báo cáo hiệu suất server
            • Thống kê health check
            • Thống kê task monitor
            • Lịch sử lỗi server
            • Thống kê lỗi server
            • Thay đổi trạng thái server
            • Xóa nhiều servers
            • Lấy server theo ID
            • Cập nhật server
            • Xóa server
            • Báo cáo servers (Public)
          • Project Management
            • Lấy tất cả projects
            • Tạo project mới
            • Lấy projects theo campaign
            • Cập nhật dữ liệu traffic
            • Cập nhật nhiều projects
            • Xóa nhiều projects
            • Lấy project theo ID
            • Cập nhật project
            • Cập nhật state của project
            • Cập nhật status của project
            • Tính lại chi tiết project
          • Task Management
            • Worker yêu cầu tasks
            • Reset task creation
          • Proxy Management
            • Danh sách proxies
            • Tạo proxy mới
            • Xóa tất cả proxies
            • Xuất proxies ra Excel
            • Tải template Excel mẫu
            • Tạo nhiều proxies
            • Import proxies từ Excel
            • Import từ tất cả providers
            • Xóa nhiều proxies
            • Lấy proxy theo ID
            • Cập nhật proxy
            • Xóa proxy
            • Toggle trạng thái proxy
          • Backup Proxy
            • Lấy danh sách backup proxies
            • Tạo backup proxy
            • Xóa nhiều backup proxies
            • Import từ Proxifly
            • Chạy health check
            • Lấy backup proxy theo ID
            • Cập nhật backup proxy
            • Xóa backup proxy
            • Test backup proxy
          • Proxy Providers
            • Lấy danh sách proxy providers
            • Tạo proxy provider
            • Xóa nhiều providers
            • Lấy provider theo ID
            • Cập nhật provider
            • Xóa provider
          • Proxy Packages
            • Lấy danh sách proxy packages
            • Tạo proxy package
            • Xóa nhiều packages
            • Lấy package theo ID
            • Cập nhật package
            • Xóa package
          • Profiles
            • Lấy profiles khả dụng (Public)
            • Lấy profile ngẫu nhiên (Public)
            • Danh sách profiles có phân trang
            • Phân tích profiles
            • Health check profiles
            • Tạo profile session
            • Lấy profile session
            • Cập nhật profile session
            • Xóa profile session
            • Đánh dấu profile đã dùng
            • Cập nhật nhiều profiles
            • Tạo nhiều profiles
            • Dọn dẹp sessions hết hạn
            • Dọn dẹp toàn diện
            • Tạo profile mới
            • Lấy profile theo ID
            • Cập nhật profile
            • Xóa profile
            • Thống kê profile
            • Sessions của profile (phân trang)
            • Report tasks của profile
            • Domains đã report bởi profile
            • Tasks theo domain của profile
            • Reset cooldown của profile
            • Test kết nối profile
            • Reset số lần đăng nhập thất bại
            • Ghi nhận đăng nhập thất bại
          • Keywords
            • Danh sách keywords
            • Tạo keyword mới
            • Xuất keywords ra Excel
            • Xác nhận fire keyword
            • Reset tất cả keywords
            • Lấy keyword theo ID
            • Cập nhật keyword
            • Xóa keyword
            • Reset keyword
            • Cập nhật status keyword
            • Kết quả SERP của keyword
          • Dashboard
            • Dữ liệu tổng hợp dashboard
            • Thống kê hệ thống
            • Thống kê traffic theo ID
            • Dữ liệu bảng biểu đồ traffic
            • Xuất báo cáo ra Excel
            • Lấy dữ liệu báo cáo
            • Cập nhật hàng loạt dashboard
            • Tính lại chi tiết projects (Admin only)
          • System Settings
            • Toggle Telegram notifications
            • Trạng thái Telegram notification
          • Activity Logs
            • Lấy activity logs
          • Locations
            • Lấy tất cả locations
            • Tạo location mới
            • Lấy location theo ID
            • Cập nhật location
            • Xóa location
          • Evidence
            • Kiểm tra evidence tồn tại
            • Kiểm tra evidence hàng loạt
            • Lấy evidence mới nhất
          • Files
            • Upload file
            • Download file
          • Server Hourly Reports
            • Lấy server hourly reports
          • Task Logs
            • Lấy task logs
          • Webhooks - Proxy
            • Lấy proxy cho task (Worker webhook)
            • Lấy proxies có thể rotate (Worker webhook)
            • Báo cáo kết quả proxy rotation (Worker webhook)
            • Lấy backup proxy (Worker webhook)
          • Webhooks - Profile
            • Lấy profiles (admin view, webhook)
            • Lấy profile ngẫu nhiên (Worker webhook)
            • Profiles khả dụng (webhook)
            • Lấy profile session (webhook)
            • Tạo profile session (webhook)
            • Đánh dấu profile đã dùng (webhook)
            • Lấy profile tags (webhook)
            • Lấy tất cả profile sessions (webhook)
          • Webhooks - Task
            • Cập nhật kết quả thực thi task (Worker webhook)
          • Webhooks - Search
            • Báo cáo domains đã click (webhook)
            • Lấy clicked domains (webhook)
            • Báo cáo domains (webhook)
            • Third party callback (webhook)
          • Webhooks - Logs
            • Lấy file logs (webhook)
            • Xóa nội dung log (webhook)
            • Kiểm tra IP address (webhook)
          • Webhooks - Keyword
            • Gửi kết quả SERP keyword (webhook)
          • Webhooks - Report
            • Cập nhật trạng thái report task (webhook)
          • Webhooks - CocCoc Token
            • Lấy CocCoc tokens (webhook)
            • Lock CocCoc token (webhook)
            • Unlock CocCoc token (webhook)
    • Schemas
      • LoginRequest
      • UpdateTask
      • WorkerStatus
      • StandardResponse
      • UserResponseDto
      • CreateTaskGroupRequest
      • HealthResponse
      • UserModel
      • CreateProxy
      • ErrorResponse
      • Pagination
      • CreateUserRequest
      • ReportTaskCreation
      • ErrorResponseFull
      • BulkDeleteRequest
      • UpdateUserRequest
      • CreateEmail
      • MessageResponse
      • UserResponse
      • PagingInfo
      • CreateMultipleSearchRequest
      • TrafficType
      • CampaignResponse
      • ProfileModel
      • CreateMultipleReportRequest
      • ServerResponse
      • CreateProfileRequest
      • UpdateReportStatusRequest
      • Task
      • BulkImportProfileReq
      • TestProxyRequest
      • TaskGroup
      • ProxyResponse
      • UpdateProfileRequest
      • CreateTask
      • UpdateTaskBody
      • KeywordResponse
      • CampaignModel
      • CreateSearch
      • TaskPaginatedResponse
      • LocationResponse
      • CreateCampaignRequest
      • ProxyTestResult
      • UpdateCampaignRequest
      • CreateReportTaskBody
      • BulkUpdateCampaignStatusReq
      • CreateEmailReportTaskBody
      • NegativeSeoData
      • BatchReportTaskItem
      • CreateProjectRequest
      • CreateReportTaskResponse
      • UpdateProjectRequest
      • BatchReportTaskResponse
      • ProjectModel
      • BulkUpdateProjectRequest
      • ReportTask
      • WorkerHandshakeRequest
      • UpdateReportTaskStatusBody
      • WorkerHandshakeResponse
      • UpdateReportTaskStatusResponse
      • WorkerHeartbeatPayload
      • PlatformsListResponse
      • WorkerGlobalSettings
      • ReportTaskStatsResponse
      • TaskPullRequest
      • ExecuteReportTaskResponse
      • WorkerFatalLog
      • CreateSearchTask
      • TaskModel
      • Proxy
      • TaskUpdateDto
      • CreateProxyBody
      • ReportTaskModel
      • CreateProxyResponse
      • ReportTaskResult
      • ResetProcessResponse
      • PCReportResponse
      • MonitorResponse
      • ReportSiteItem
      • CreateReportSiteRequest
      • TestProxyResponse
      • GPTConfig
      • TestProfileResponse
      • ResponseConfig
      • ReportDomainsResponse
      • ReportDomainItem
      • AddReportDomainRequest
      • UpdateReportDomainRequest
      • BulkUpdateDashboardRequest
      • ProxyModel
      • CreateProxyRequest
      • UpdateProxyRequest
      • SMTPServerConfig
      • EmailTaskLog
      • GeoLocation
      • CampaignConfigs
      • ProjectAttribute
      • TaskTrafficType
      • ReportTaskItem
      • SummaryStats
      • DailyStats
      • BrandStats
      • ProfileStats
      • FieldConfig
  1. ADMIN

Tổng quan

Thiết Kế Tổng Quan — Admin Dashboard Traffic Tools V2#


1. Ứng dụng này làm gì#

Admin Dashboard là giao diện quản trị của hệ thống Traffic Tools V2. Đây là một SPA (Single-Page Application) xây dựng trên Vue 3, dùng để cấu hình, giám sát và điều phối hoạt động của hệ thống traffic.
Bản thân ứng dụng không chạy bất kỳ tác vụ traffic nào. Toàn bộ việc nó làm là giao tiếp với Backend API Engine qua HTTP, rồi hiển thị kết quả dưới dạng bảng dữ liệu, biểu đồ và form.

Các nhóm chức năng chính#

Xác thực người dùng với hỗ trợ 2FA qua Google Authenticator.
Quản lý chiến dịch traffic: tạo, chỉnh sửa, theo dõi tiến độ, xuất báo cáo.
Quản lý từ khóa tìm kiếm tự động cho Google Ads và CocCoc Ads.
Giám sát hiệu suất máy chủ Worker theo thời gian thực, phân tích theo khung giờ.
Quản lý hạ tầng proxy: proxy chính, proxy dự phòng, gói proxy, nhà cung cấp.
Quản lý Browser Profile dùng cho các tác vụ tự động hóa.
Xem nhật ký hoạt động của từng tài khoản trong hệ thống.
Báo cáo thống kê hàng ngày và dashboard tổng hợp.

2. Danh sách màn hình và URL#

Toàn bộ cấu trúc điều hướng được định nghĩa trong src/router/modules/. Các route được tự động nạp bằng import.meta.glob và gắn vào layout chính.

2.1. Xác thực#

Màn hìnhURLRoute nameMô tả
Đăng nhập/loginloginForm nhập email và mật khẩu. Sau khi xác thực xong, hệ thống kiểm tra trạng thái 2FA để chuyển hướng tiếp.
Xác thực 2FA/auth-factorauth-factorNhập mã OTP 6 chữ số từ Google Authenticator. Nếu chưa thiết lập 2FA, màn hình này hiển thị mã QR để quét và kích hoạt.
Đăng ký/signupsignupChỉ khả dụng khi MODE=development. Ở môi trường khác sẽ bị redirect về trang đăng nhập.

2.2. Thống kê và báo cáo#

Màn hìnhURLRoute nameMô tả
Thống kê hàng ngày/report-dailyreportDaily.rootTrang mặc định sau khi đăng nhập. Báo cáo sản lượng traffic theo ngày, lọc được theo khoảng thời gian.
Dashboard báo cáo/report-dashboardreport-dashboardTrung tâm báo cáo với nhiều tab: tổng quan, hiệu suất theo nền tảng, phân tích thương hiệu, xu hướng theo ngày.
Thống kê click quảng cáo/dashboard1/click-adsdashboard.click-adsChi tiết các lượt click vào Google Ads và CocCoc Ads.
Thống kê Negative SEO/dashboard1/negative-seodashboard.negative-seoTraffic Kill gửi đến website đối thủ, kèm biểu đồ thứ hạng từ khóa theo thời gian.
Thống kê traffic tự nhiên/dashboard1/traffic-naturaldashboard.traffic-naturalTraffic mô phỏng hành vi truy cập tự nhiên không qua quảng cáo.

2.3. Tìm kiếm tự động#

Màn hìnhURLRoute nameMô tả
Tìm kiếm tự động/auto-searchauto-searchRoute gốc, tự động chuyển hướng đến tab Google Ads.
Google Ads/auto-search/google-searchauto-search.google-searchQuản lý nhóm từ khóa giả lập click quảng cáo Google. Hỗ trợ tạo hàng loạt, cập nhật trạng thái và xem lịch sử kết quả.
CocCoc Ads/auto-search/coccoc-searchauto-search.cococ-searchTương tự Google Ads nhưng dùng engine CocCoc.
Hiệu suất máy chủ/auto-search/server-performanceauto-search.server-performanceTheo dõi hiệu suất Worker theo thời gian thực. Biểu đồ phân tích theo khung giờ với các chỉ số: xử lý, thành công, thất bại, captcha, lỗi.
Quản lý vị trí/auto-search/locationauto-search.locationDanh sách vị trí địa lý (lat/lng) gán cho các chiến dịch traffic.

2.4. Quản lý hệ thống#

Màn hìnhURLRoute nameMô tả
Quản lý máy chủ/system-management/server-managementsystem-management.server-managementDanh sách Worker với thông tin IP, giới hạn tiến trình, số tiến trình hiện tại và trạng thái. Hỗ trợ kích hoạt/vô hiệu hóa và xóa hàng loạt.
Quản lý proxy/system-management/proxy-managementsystem-management.proxy-managementDanh sách proxy IP với đầy đủ thông tin: host, port, username, password, khu vực, nhà cung cấp, ngày hết hạn, giá và trạng thái. Hỗ trợ import từ Excel và xóa hàng loạt.
Quản lý backup proxy/system-management/backup-proxy-managementsystem-management.backup-proxy-managementProxy dự phòng kích hoạt khi proxy chính gặp sự cố. Hỗ trợ kiểm tra sức khỏe, import từ Proxifly và xóa hàng loạt.
Quản lý gói proxy/system-management/proxy-package-managementsystem-management.proxy-package-managementTheo dõi các gói proxy đã mua: mã gói, tên, giá, nhà cung cấp và trạng thái kích hoạt.
Quản lý nhà cung cấp/system-management/proxy-provider-managementsystem-management.proxy-provider-managementThông tin nhà cung cấp proxy: tên, tài khoản, domain, loại kết nối (4G/ADSL), chu kỳ reset và dữ liệu sử dụng. Hỗ trợ sắp xếp thứ tự ưu tiên.

2.5. Quản lý người dùng#

Màn hìnhURLRoute nameMô tả
Quản lý tài khoản/user-management/usersuser-management.userTạo, chỉnh sửa, xóa tài khoản nhân sự. Hỗ trợ đổi mật khẩu và kích hoạt/vô hiệu hóa.
Nhật ký hoạt động/user-management/activitiesuser-management.activeLịch sử hành động của từng tài khoản: thao tác gì, trên đối tượng nào, giá trị trước/sau khi thay đổi, IP và User-Agent.

2.6. Các màn hình khác#

Màn hìnhURLRoute nameMô tả
Quản lý chiến dịch/campaignscampaignsDanh sách chiến dịch traffic với thống kê tổng hợp. Hỗ trợ xuất dữ liệu ra Excel theo khoảng thời gian.
Quản lý hồ sơ/profile-managementprofile-managementQuản lý Browser Profile dùng cho tự động hóa. Theo dõi trạng thái, lần sử dụng cuối, số lần click và tìm kiếm.
Danh sách tác vụ/taskstasksChi tiết các tác vụ traffic đang thực thi: tiến độ, loại traffic, thiết bị và từ khóa.
Trang 404—notFoundHiển thị khi URL không khớp với bất kỳ route nào.
Trang 403—forbiddenHiển thị khi tài khoản không có quyền truy cập.

3. Luồng xác thực và bảo mật#

3.1. Luồng đăng nhập#

1.
Người dùng nhập email và mật khẩu tại /login.
2.
Ứng dụng gọi POST /api/user/login. Server trả về AuthToken gồm token, refresh_token, device_token và cờ is_2fa.
3.
authStore.login() lưu AuthToken vào Pinia store và cập nhật sessionStorage.is_2fa.
4.
Ứng dụng gọi GET /api/user/profile để lấy thông tin người dùng, lưu vào authStore.profile.
5.
Kiểm tra profile.two_factor: nếu false thì chuyển đến màn hình quét QR, nếu true thì chuyển đến màn hình nhập OTP.
6.
Sau khi xác thực 2FA thành công qua POST /api/user/verify-totp, token được lưu vào localStorage với key auth_token và sessionStorage.move_to_dashboard được đặt thành 'true'.
7.
Router Guard đọc cờ move_to_dashboard và cho phép vào trang reportDaily.

3.2. Phục hồi phiên tự động#

Khi người dùng mở lại tab hoặc F5 trang, Router Guard trong src/router/index.ts thực hiện:
1.
Đọc auth_token từ localStorage và parse thành AuthToken.
2.
Gán token vào authStore.authToken.
3.
Gọi GET /api/user/profile để xác minh token còn hiệu lực.
4.
Nếu thành công: đặt sessionStorage.move_to_dashboard = 'true' và tiếp tục điều hướng.
5.
Nếu thất bại: xóa auth_token khỏi localStorage, ghi log lỗi và redirect về trang đăng nhập.

3.3. Router Guard#

router.beforeEach kiểm soát toàn bộ điều hướng theo thứ tự sau:
Nếu đích là trang login và đã có auth_token hợp lệ: phục hồi phiên và vào thẳng Dashboard.
Nếu đích là trang signup và không phải môi trường development: redirect về login.
Nếu authStore.authToken hoặc authStore.profile trống: kiểm tra localStorage. Không có token thì lưu URL hiện tại vào sessionStorage.redirectTo và redirect về login.
Nếu đích là trang auth-factor: luôn cho phép để người dùng hoàn tất 2FA.
Nếu sessionStorage.move_to_dashboard không phải 'true': chặn và redirect về login.
Nếu sessionStorage.redirectTo tồn tại: xóa giá trị này và chuyển người dùng về URL họ muốn truy cập ban đầu.

3.4. Lưu trữ token#

Nơi lưuDữ liệuLý do
localStorage (key: auth_token)Toàn bộ AuthToken dạng JSONTồn tại qua các lần đóng/mở trình duyệt, cho phép phục hồi phiên tự động.
sessionStorage (key: move_to_dashboard)Chuỗi 'true'Bị xóa khi đóng tab, đảm bảo mỗi phiên mới phải qua xác thực. Ngăn truy cập trực tiếp vào Dashboard khi chưa hoàn tất 2FA.
sessionStorage (key: redirectTo)Đường dẫn URLSau khi đăng nhập xong, hệ thống đưa người dùng về đúng trang họ muốn vào.
sessionStorage (key: is_2fa)'true' hoặc 'false'Màn hình auth-factor dùng để biết hiển thị form OTP hay form quét QR.
Pinia store (persist)sideBarCollapsed, i18nLocaleGhi nhớ tùy chọn giao diện giữa các phiên qua pinia-plugin-persistedstate.

3.5. Xử lý token hết hạn#

Khi server trả về HTTP 401, Axios response interceptor trong src/configs/axios.ts tự động gọi useAuthStore().logout(). Hàm này:
Đặt authStore.authToken = null và authStore.profile = null.
Xóa auth_token khỏi localStorage.
Xóa is_2fa và move_to_dashboard khỏi sessionStorage.
Redirect về trang login.
authStore cũng có hàm refreshToken() gọi POST /api/user/refresh để làm mới token trước khi hết hạn, sau đó cập nhật store và localStorage.

4. Layout giao diện#

4.1. LayoutDefault#

Tất cả trang sau khi đăng nhập đều được bọc trong src/layouts/LayoutDefault.vue, chia màn hình thành hai vùng:
Bên trái — SidebarMenu: Menu điều hướng dọc theo cấp bậc. Hỗ trợ thu gọn (sideBarCollapsed) lưu vào localStorage qua appStore. Khi thu gọn chỉ hiện icon, khi mở rộng hiện đầy đủ tên.
Bên phải — Nội dung chính: HeaderBar phía trên và RouterView bên dưới để render màn hình hiện tại.

4.2. HeaderBar#

Breadcrumbs tự động: Tạo từ route.meta.title của các route đang active. Không cần khai báo thủ công ở bất kỳ component nào.
Thông tin tài khoản: Tên và email từ authStore.profile.
Nút đăng xuất: Gọi authStore.logout().
Bộ chọn ngôn ngữ: Chuyển đổi giữa Tiếng Việt và Tiếng Anh, lưu vào appStore.i18nLocale.

4.3. Breadcrumb tự động#

router.afterEach chạy sau mỗi lần điều hướng thành công:
1.
Đọc to.matched — mảng tất cả route đang active từ gốc đến lá.
2.
Với mỗi route có meta.title, tạo một breadcrumb gồm text, to và routeName.
3.
Cập nhật appStore.breadcrumbs.
4.
HeaderBar lắng nghe và render tự động.

4.4. Loading bar#

window.$loadingBar được mount toàn cục từ Naive UI:
router.beforeEach gọi window.$loadingBar.start() khi bắt đầu xử lý điều hướng.
router.afterEach gọi window.$loadingBar.finish() sau khi hoàn tất.

5. Hệ thống thông báo#

Ứng dụng dùng ba kênh thông báo của Naive UI, mount toàn cục trong src/main.ts và truy cập qua window.$message, window.$notification, window.$loadingBar.
KênhKhi nào dùngThời gian hiển thị
window.$message.success()Tác vụ thành công: lưu cấu hình, tạo bản ghi, xóa xong.3 giây, tự ẩn.
window.$message.error()Lỗi từ API hoặc lỗi JavaScript.5 giây, tự ẩn.
window.$message.warning()Cảnh báo: chưa chọn bản ghi, dữ liệu không hợp lệ.3 giây, tự ẩn.
window.$message.info()Thông tin trung tính không cần hành động.3 giây, tự ẩn.
Hàm showMessageError trong src/composables/utils.ts là điểm duy nhất xử lý và hiển thị lỗi API. Nó chuẩn hóa lỗi theo thứ tự ưu tiên:
1.
response.data.errors (lỗi validation nhiều trường): nối tất cả thành chuỗi xuống dòng.
2.
response.data.message (chuỗi đơn): dùng trực tiếp.
3.
error.message (lỗi JavaScript thuần): dùng trực tiếp.
4.
defaultMsg hoặc 'An error occurred' làm fallback cuối.

6. Đa ngôn ngữ#

Ứng dụng dùng vue-i18n v9, cấu hình trong src/plugins/i18n.ts.
Ngôn ngữ mặc định: Tiếng Việt (vi-VN).
Ngôn ngữ hỗ trợ: vi-VN và en-US.
File ngôn ngữ: locales/vi-VN.json và locales/en-US.json.
Fallback: Nếu key không tồn tại trong ngôn ngữ hiện tại, tự động fallback về Tiếng Anh.
Ngôn ngữ hiện tại lưu vào appStore.i18nLocale, persist qua pinia-plugin-persistedstate.
Thay đổi ngôn ngữ có hiệu lực ngay, không cần tải lại trang.
Trong component Vue dùng useI18n() hoặc $t(). Trong file TypeScript thuần dùng (window as any).$t vì useI18n() chỉ hoạt động trong Vue component context.

7. Axios — lớp giao tiếp API#

7.1. Cấu hình#

Class AxiosHttp trong src/configs/axios.ts tạo một Axios instance duy nhất:
baseURL: Đọc từ useEnv('VITE_API_SERVER') và nối thêm /api.
timeout: 10,000ms mặc định.

7.2. Request interceptor#

Đính kèm Authorization: Bearer {token} vào mọi request.
Nếu có device_token, đính kèm thêm header Device-Token.
Timeout đặc biệt cho các endpoint nặng:
URL chứa /import-all: 300,000ms (5 phút) — import proxy hàng loạt.
URL chứa /get-data-report: 60,000ms (1 phút) — tổng hợp báo cáo lớn.

7.3. Response interceptor#

HTTP 200–299: Trả về response bình thường.
HTTP 401: Gọi authStore.logout() và redirect về login.
Lỗi khác: Reject Promise để component xử lý qua showMessageError.

8. Kiểu dữ liệu TypeScript#

8.1. Cấu trúc response API#

8.2. Tổ chức namespace#

Mỗi module có một namespace riêng trong src/types/modules/. File src/types/index.ts re-export tất cả để các file khác chỉ cần import từ một nơi: import type { Auth, Server, Proxy } from '@/types'.
Danh sách namespace: Auth, AutoSearchKeyword, Server, ServerPerformance, Proxy, Campaign, Task, User, Package, Provider, Location, NegativeSeo, TrafficNatural, Activity, Profile.

9. Nguyên tắc thiết kế#

Hệ thống xây dựng theo hướng "Convention over Configuration" — các hành vi phổ biến như breadcrumb tự động, xác thực redirect, xử lý lỗi API và loading indicator đều được xử lý tập trung ở tầng framework, không lặp lại ở từng màn hình.
Một số quyết định thiết kế quan trọng:
Toàn bộ HTTP đi qua một Axios instance duy nhất với interceptor tập trung, đảm bảo mọi request đều có header xác thực và mọi lỗi 401 được xử lý nhất quán.
TypeScript namespace tổ chức theo module nghiệp vụ, tránh xung đột tên.
Pinia store chỉ lưu dữ liệu thực sự cần chia sẻ giữa nhiều component. Dữ liệu cục bộ của từng màn hình dùng ref và reactive trong composable riêng.
Auto-import loại bỏ hoàn toàn các câu lệnh import lặp đi lặp lại cho Vue APIs, Pinia, Vue Router và Naive UI.
Mọi thao tác không thể hoàn tác (xóa, vô hiệu hóa) đều yêu cầu xác nhận qua dialog trước khi thực thi.

10. Chi tiết từng module nghiệp vụ#

10.1. Module tìm kiếm tự động#

Quản lý các nhóm từ khóa dùng để giả lập hành vi tìm kiếm và click quảng cáo.
Luồng hoạt động:
1.
Quản trị viên tạo nhóm từ khóa với cấu hình: từ khóa, engine (Google VN/Google/CocCoc), loại thiết bị, hệ điều hành, số kết quả cần lấy, vị trí địa lý và độ ưu tiên.
2.
Backend Engine thực hiện tìm kiếm thực tế và ghi kết quả vào keyword_results.
3.
Admin Dashboard hiển thị kết quả dưới dạng bảng: URL, vị trí (rank), loại (quảng cáo/tự nhiên), trạng thái hành động và trạng thái xác nhận.
4.
Quản trị viên có thể cập nhật action_status và confirm_status cho từng kết quả.
Trạng thái action_status:
pending — Chờ xử lý, Worker chưa thực hiện hành động.
clicked — Worker đã click thành công.
skipped — Worker bỏ qua theo cấu hình.
error — Worker gặp lỗi khi xử lý.
Tính năng đặc biệt:
Tạo hàng loạt: nhập nhiều từ khóa cùng lúc, mỗi từ khóa một dòng.
Reset từ khóa: xóa toàn bộ kết quả và đặt lại trạng thái để chạy lại.
Lịch sử từ khóa: xem các lần tìm kiếm trước đó.
Xuất Excel: xuất toàn bộ dữ liệu ra file .xlsx.

10.2. Module quản lý chiến dịch#

Chiến dịch là đơn vị tổ chức cấp cao nhất, chứa nhiều tác vụ traffic.
Một Campaign chứa nhiều Task.Item.
Mỗi tác vụ có cấu hình riêng: loại traffic, thiết bị, từ khóa, danh sách URL đích, khung giờ hoạt động và thời gian ở lại trang.
Xuất dữ liệu: gọi GET /api/campaign/export với tham số ngày, server trả về file Excel (Blob) được tải xuống tự động qua useDownload.

10.3. Module quản lý Browser Profile#

Browser Profile là danh tính kỹ thuật số được Worker dùng khi thực hiện tác vụ tự động hóa.
Thông tin của một Profile:
Tài khoản: email, password, app_password (cho 2FA).
Trạng thái: active, inactive, cooldown, banned.
Thống kê: total_clicks, total_searches, report_task_count, profile_age.
Kỹ thuật: server_id, server_region, used_for.
Khi profile cần nghỉ ngơi, nó chuyển sang cooldown với thời gian kết thúc lưu trong cooldown_until. Worker không dùng profile này cho đến khi hết cooldown.

10.4. Module báo cáo#

Cung cấp cái nhìn tổng quan về hiệu quả các chiến dịch chống quảng cáo gian lận.
Loại báo cáo: MALICIOUS_AD, PHISHING_AD, MISREPRESENTATION_AD.
Mức độ nghiêm trọng: LOW, MEDIUM, HIGH, CRITICAL.
Trạng thái: PENDING, SUBMITTING, COMPLETED, FAILED, PARTIAL.

10.5. Module nhật ký hoạt động#

Ghi lại mọi hành động của người dùng, phục vụ kiểm toán và bảo mật.
Thông tin được ghi: user_id, action (create/update/delete), model_name, model_id, old_value, new_value, ip_address, user_agent, created_at.
Nhật ký không thể bị xóa hay chỉnh sửa từ Admin Dashboard.

11. Biểu đồ#

Apache ECharts (qua vue-echarts): Biểu đồ cột, đường, tròn cho Server Performance và Dashboard.
Chart.js: Biểu đồ đơn giản hơn trong module báo cáo.
D3.js: Trực quan hóa dữ liệu tùy chỉnh không có sẵn trong ECharts hay Chart.js.

12. Xuất dữ liệu ra Excel#

Dự án dùng hai thư viện:
xlsx — Đọc/ghi file Excel cơ bản.
xlsx-js-style — Mở rộng của xlsx với hỗ trợ định dạng màu sắc, font và border.
Quy trình xuất từ server: gọi API với responseType: 'blob', server trả về file Excel dạng binary, hàm useDownload(blob, fileName) tạo URL tạm và kích hoạt download tự động.
Một số màn hình xuất Excel trực tiếp phía client bằng xlsx-js-style mà không cần gọi API.
Modified at 2026-03-27 04:29:12
Previous
7. Quản lý tài khoản Google (Google Account Management)
Next
Đăng Nhập & Xác Thực Hai Bước
Built with