feat: add MQTT client for camera configuration and enhance camera management
This commit is contained in:
@@ -9,8 +9,9 @@ import {
|
||||
getRefreshToken,
|
||||
setAccessToken,
|
||||
} from '@/utils/storage';
|
||||
import { history, request, RequestConfig } from '@umijs/max';
|
||||
import { history, RequestConfig } from '@umijs/max';
|
||||
import { message } from 'antd';
|
||||
import axios from 'axios';
|
||||
|
||||
// Trạng thái dùng chung cho cơ chế refresh token + hàng đợi
|
||||
let refreshingTokenPromise: Promise<string | null> | null = null;
|
||||
@@ -125,7 +126,7 @@ export const handleRequestConfig: RequestConfig = {
|
||||
const isRefreshRequest = response.config.url?.includes(
|
||||
API_PATH_REFRESH_TOKEN,
|
||||
);
|
||||
console.log('Is refresh request:', isRefreshRequest);
|
||||
// console.log('Is refresh request:', isRefreshRequest);
|
||||
|
||||
// Xử lý 401: đưa request vào hàng đợi, gọi refresh token, rồi gọi lại
|
||||
if (
|
||||
@@ -161,19 +162,30 @@ export const handleRequestConfig: RequestConfig = {
|
||||
|
||||
// Rebuild request options from config
|
||||
const originalConfig = response.config;
|
||||
|
||||
// Parse data if it is a JSON string to avoid double serialization when using axios directly
|
||||
let data = originalConfig.data;
|
||||
if (typeof data === 'string') {
|
||||
try {
|
||||
data = JSON.parse(data);
|
||||
} catch (e) {
|
||||
// Ignore parse error, use original string
|
||||
}
|
||||
}
|
||||
|
||||
const newOptions = {
|
||||
url: originalConfig.url,
|
||||
method: originalConfig.method,
|
||||
headers: {
|
||||
...(originalConfig.headers || {}),
|
||||
Authorization: `${newToken}`,
|
||||
},
|
||||
data: originalConfig.data,
|
||||
data: data,
|
||||
params: originalConfig.params,
|
||||
skipAuthRefresh: true,
|
||||
};
|
||||
|
||||
// Gọi lại request gốc với accessToken mới
|
||||
return request(originalConfig.url, newOptions);
|
||||
// Gọi lại request gốc với accessToken mới bằng axios để tránh double-unwrap
|
||||
return axios(newOptions);
|
||||
}
|
||||
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user