console của DevTools và hiển thị trực tiếp trên giao diện qua hệ thống thông báo Naive UI.src/configs/axios.ts:getCatchMsg trong src/composables/utils.ts chuyển đổi bất kỳ loại lỗi nào thành chuỗi văn bản:showMessageError bọc getCatchMsg và hiển thị kết quả lên giao diện:h() với class whitespace-pre để bảo toàn ký tự xuống dòng \n trong thông điệp lỗi validation nhiều trường.| Mã HTTP | Ý nghĩa | Cách xử lý |
|---|---|---|
| 400 | Dữ liệu gửi lên không hợp lệ. | showMessageError() hiển thị danh sách lỗi validation. |
| 401 | Token không hợp lệ hoặc hết hạn. | authStore.logout() → redirect về /login. |
| 403 | Tài khoản không có quyền. | showMessageError() hiển thị lỗi quyền hạn. |
| 404 | Endpoint không tồn tại. | showMessageError() hiển thị lỗi. |
| 408 / Timeout | Request không hoàn thành trong thời gian cho phép. | Axios tự reject sau timeout. |
| 500 | Lỗi nội bộ của Backend Engine. | showMessageError() hiển thị lỗi server. |
| Network Error | Mất kết nối hoặc server không phản hồi. | showMessageError() với error.message = "Network Error". |
authStore.login() thành công:authStore.authToken.authStore.is_2fa cập nhật theo dataRes.is_2fa.sessionStorage.is_2fa cập nhật.localStorage.setItem('auth_token', ...) — lưu token bền vững.sessionStorage.setItem('move_to_dashboard', 'true').window.$message.success(authStore.message).router.beforeEach trong src/router/index.ts ghi log vào console.error cho ba trường hợp lỗi:Tìm 'auth_token' trong localStorage
|
Tìm thấy?
/ \
Có Không → Redirect về /login
|
Parse JSON → Gán vào authStore.authToken
|
Gọi GET /api/user/profile
|
Thành công?
/ \
Có Không
| |
Profile lưu vào console.error(...)
authStore xóa localStorage
redirect về /login| Sự kiện | Hành động | Nơi thực thi |
|---|---|---|
| Bắt đầu chuyển trang | .start() — thanh xanh chạy từ trái sang phải | router.beforeEach |
| Chuyển trang thành công | .finish() — thanh chạy đến cuối và biến mất | router.afterEach |
window.$message của Naive UI, góc trên bên phải màn hình, tự ẩn sau 3 giây.$message.success(authStore.message) trong useLoginAuth.ts.$message.success(authStore.message) trong verifyCode.$message.success(...) trong từng form component.$message.success(...) sau khi API DELETE trả về 200.showMessageError(error) từ src/composables/utils.ts.$message.error(...).useDialog() của Naive UI:/dashboard1)/dashboard1/click-ads):/dashboard1/negative-seo):/dashboard1/traffic-natural):/auto-search/server-performance)src/services/api/serverPerformance.ts → GET /api/server-performance| Chỉ số | Ý nghĩa | Dấu hiệu bất thường |
|---|---|---|
| Số phiên đang chạy | Máy chủ đang thực thi bao nhiêu lượt tìm kiếm đồng thời. | Một server nhận quá nhiều task so với các server khác — dấu hiệu tải không đều. |
| Tỷ lệ thành công | Phần trăm task hoàn thành không lỗi. | Dưới 70% liên tục là dấu hiệu proxy pool đang bị chặn hàng loạt. |
| Tỷ lệ thất bại | Phần trăm task bị lỗi kỹ thuật. | Tăng đột biến thường do Chrome crash hoặc CAPTCHA không giải được. |
| Thời gian xử lý | Thời gian từ khi nhận task đến khi hoàn thành. | Tăng đột biến có thể do proxy chậm hoặc trang đích load lâu. |
/system-management/server-management)/system-management/proxy-management)| File | Điều kiện kích hoạt | Nội dung log |
|---|---|---|
src/router/index.ts:48 | Parse JSON token từ localStorage thất bại | 'Error checking token:' + error |
src/router/index.ts:78 | getMe() thất bại khi phục hồi phiên | 'Error restoring session:' + error |
src/router/index.ts:88 | Lỗi xác thực khi navigate | 'Authentication error:' + error |
src/views/auth/composables/useLoginAuth.ts | try/catch bọc handleLogin | 'Login error:' + error |
console.error cho lỗi thực sự cần chú ý (API lỗi, token lỗi, navigation lỗi).console.log trước khi merge vào nhánh chính.auth_token có tồn tại không.Error restoring session hoặc Authentication error./api/user/profile và xem response status.VITE_API_SERVER có đúng không./login và /auth-factor:sessionStorage.getItem('move_to_dashboard') — phải là 'true'.authStore.profile.two_factor có phải true không.[].