feat(settings): add system status page and improve models page
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { useUserData } from "./useUserData";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useEffect, useState, useCallback } from "react";
|
||||
import logger from "@/utils/logger";
|
||||
import type { IUserInfo } from "@/interfaces/database/user-setting";
|
||||
import type { IUserInfo, ISystemStatus } from "@/interfaces/database/user-setting";
|
||||
import userService from "@/services/user_service";
|
||||
import { rsaPsw } from "../utils/encryption";
|
||||
import type { IFactory, IMyLlmModel } from "@/interfaces/database/llm";
|
||||
@@ -92,3 +92,38 @@ export function useLlmModelSetting() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统状态设置
|
||||
*/
|
||||
export function useSystemStatus() {
|
||||
const [systemStatus, setSystemStatus] = useState<ISystemStatus | null>(null);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
|
||||
const fetchSystemStatus = useCallback(async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
setError(null);
|
||||
const res = await userService.system_status();
|
||||
if (res.data.code === 0) {
|
||||
setSystemStatus(res.data.data);
|
||||
} else {
|
||||
throw new Error(res.data.message || '获取系统状态失败');
|
||||
}
|
||||
} catch (error: any) {
|
||||
const errorMessage = error.response?.data?.message || error.message || '获取系统状态失败';
|
||||
setError(errorMessage);
|
||||
logger.error('获取系统状态失败:', error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, []);
|
||||
|
||||
return {
|
||||
systemStatus,
|
||||
loading,
|
||||
error,
|
||||
fetchSystemStatus,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user