fix: 修复一些前端的小问题 (#641)
This commit is contained in:
@@ -1,35 +1,35 @@
|
||||
import type {
|
||||
ApiResponse,
|
||||
VideoSourcesResponse,
|
||||
VideosRequest,
|
||||
VideosResponse,
|
||||
VideoResponse,
|
||||
ResetVideoResponse,
|
||||
ClearAndResetVideoResponse,
|
||||
ResetFilteredVideosResponse,
|
||||
UpdateVideoStatusRequest,
|
||||
UpdateVideoStatusResponse,
|
||||
ApiError,
|
||||
FavoritesResponse,
|
||||
ApiResponse,
|
||||
ClearAndResetVideoResponse,
|
||||
CollectionsResponse,
|
||||
UppersResponse,
|
||||
InsertFavoriteRequest,
|
||||
InsertCollectionRequest,
|
||||
InsertSubmissionRequest,
|
||||
VideoSourcesDetailsResponse,
|
||||
UpdateVideoSourceRequest,
|
||||
Config,
|
||||
DashBoardResponse,
|
||||
FavoritesResponse,
|
||||
QrcodeGenerateResponse as GenerateQrcodeResponse,
|
||||
InsertCollectionRequest,
|
||||
InsertFavoriteRequest,
|
||||
InsertSubmissionRequest,
|
||||
Notifier,
|
||||
QrcodePollResponse as PollQrcodeResponse,
|
||||
ResetFilteredVideosResponse,
|
||||
ResetFilteredVideoStatusRequest,
|
||||
ResetVideoResponse,
|
||||
ResetVideoStatusRequest,
|
||||
SysInfo,
|
||||
TaskStatus,
|
||||
ResetVideoStatusRequest,
|
||||
UpdateVideoSourceResponse,
|
||||
Notifier,
|
||||
UpdateFilteredVideoStatusRequest,
|
||||
UpdateFilteredVideoStatusResponse,
|
||||
ResetFilteredVideoStatusRequest,
|
||||
QrcodeGenerateResponse as GenerateQrcodeResponse,
|
||||
QrcodePollResponse as PollQrcodeResponse
|
||||
UpdateVideoSourceRequest,
|
||||
UpdateVideoSourceResponse,
|
||||
UpdateVideoStatusRequest,
|
||||
UpdateVideoStatusResponse,
|
||||
UppersResponse,
|
||||
VideoResponse,
|
||||
VideoSourcesDetailsResponse,
|
||||
VideoSourcesResponse,
|
||||
VideosRequest,
|
||||
VideosResponse
|
||||
} from './types';
|
||||
import { wsManager } from './ws';
|
||||
|
||||
@@ -63,6 +63,10 @@ class ApiClient {
|
||||
}
|
||||
}
|
||||
|
||||
getAuthToken(): string | null {
|
||||
return this.defaultHeaders['Authorization'] || localStorage.getItem('authToken');
|
||||
}
|
||||
|
||||
// 清除认证 token
|
||||
clearAuthToken() {
|
||||
delete this.defaultHeaders['Authorization'];
|
||||
@@ -340,6 +344,7 @@ const api = {
|
||||
apiClient.subscribeToTasks(onMessage),
|
||||
|
||||
setAuthToken: (token: string) => apiClient.setAuthToken(token),
|
||||
getAuthToken: () => apiClient.getAuthToken(),
|
||||
clearAuthToken: () => apiClient.clearAuthToken()
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { toast } from 'svelte-sonner';
|
||||
import api from './api';
|
||||
import type { SysInfo, TaskStatus } from './types';
|
||||
|
||||
// 支持的事件类型
|
||||
@@ -61,7 +62,7 @@ export class WebSocketManager {
|
||||
|
||||
this.connectionPromise = new Promise((resolve, reject) => {
|
||||
this.connecting = true;
|
||||
const token = localStorage.getItem('authToken') || '';
|
||||
const token = api.getAuthToken() || '';
|
||||
|
||||
try {
|
||||
const protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://';
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
toast.error('加载配置失败', {
|
||||
description: (error as ApiError).message
|
||||
});
|
||||
throw error;
|
||||
} finally {
|
||||
loading = false;
|
||||
}
|
||||
@@ -123,12 +124,13 @@
|
||||
|
||||
try {
|
||||
api.setAuthToken(frontendToken.trim());
|
||||
localStorage.setItem('authToken', frontendToken.trim());
|
||||
loadConfig();
|
||||
await loadConfig();
|
||||
toast.success('前端认证成功');
|
||||
} catch (error) {
|
||||
console.error('前端认证失败:', error);
|
||||
toast.error('认证失败,请检查Token是否正确');
|
||||
toast.error('认证失败,请检查Token是否正确', {
|
||||
description: (error as ApiError).message
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,13 +193,7 @@
|
||||
|
||||
onMount(() => {
|
||||
setBreadcrumb([{ label: '设置' }]);
|
||||
|
||||
const savedToken = localStorage.getItem('authToken');
|
||||
if (savedToken) {
|
||||
frontendToken = savedToken;
|
||||
api.setAuthToken(savedToken);
|
||||
}
|
||||
|
||||
frontendToken = api.getAuthToken() || '';
|
||||
loadConfig();
|
||||
});
|
||||
</script>
|
||||
@@ -233,7 +229,6 @@
|
||||
onclick={() => {
|
||||
formData = null;
|
||||
config = null;
|
||||
localStorage.removeItem('authToken');
|
||||
api.clearAuthToken();
|
||||
frontendToken = '';
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user