chore: 统一代码风格并配置ESLint和Prettier

配置ESLint和Prettier规则
添加前端和后端的忽略文件
统一代码格式和缩进
修复代码风格问题
This commit is contained in:
zhang1106
2026-02-10 11:04:01 +08:00
parent f82d82e57e
commit afc372a432
61 changed files with 14976 additions and 6124 deletions
+10 -14
View File
@@ -13,13 +13,13 @@ export const useAuth = () => {
export const AuthProvider = ({ children }) => {
console.log('[AuthContext] Initializing...');
const savedToken = localStorage.getItem('token');
const savedUser = localStorage.getItem('user');
console.log('[AuthContext] Saved token:', savedToken ? 'exists' : 'null');
console.log('[AuthContext] Saved user:', savedUser ? 'exists' : 'null');
const [user, setUser] = useState(() => {
try {
if (savedUser) {
@@ -30,7 +30,7 @@ export const AuthProvider = ({ children }) => {
}
return null;
});
const [token, setToken] = useState(() => savedToken);
const [loading, setLoading] = useState(false);
const [initialized, setInitialized] = useState(false);
@@ -38,7 +38,7 @@ export const AuthProvider = ({ children }) => {
useEffect(() => {
const currentToken = localStorage.getItem('token');
const currentUser = localStorage.getItem('user');
if (currentToken && currentToken === token) {
if (currentUser) {
try {
@@ -97,7 +97,7 @@ export const AuthProvider = ({ children }) => {
}
};
const register = async (userData) => {
const register = async userData => {
try {
const response = await authAPI.register(userData);
if (response.success) {
@@ -123,13 +123,13 @@ export const AuthProvider = ({ children }) => {
setUser(null);
}, []);
const updateUser = (newUserData) => {
const updateUser = newUserData => {
const updatedUser = { ...user, ...newUserData };
setUser(updatedUser);
localStorage.setItem('user', JSON.stringify(updatedUser));
};
const hasPermission = (permission) => {
const hasPermission = permission => {
if (!user) return false;
return true;
};
@@ -144,14 +144,10 @@ export const AuthProvider = ({ children }) => {
logout,
updateUser,
hasPermission,
checkAdmin: () => authAPI.checkAdmin()
checkAdmin: () => authAPI.checkAdmin(),
};
return (
<AuthContext.Provider value={value}>
{children}
</AuthContext.Provider>
);
return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
};
export default AuthContext;
+6 -6
View File
@@ -17,7 +17,7 @@ export const ConfigProvider = ({ children }) => {
date_format: 'YYYY-MM-DD',
session_timeout: 30,
max_login_attempts: 5,
maintenance_mode: false
maintenance_mode: false,
});
const [loading, setLoading] = useState(true);
@@ -27,15 +27,15 @@ export const ConfigProvider = ({ children }) => {
const response = await axios.get('/api/system-settings');
const settings = response.data;
const configValues = {};
// 将配置转换为扁平结构
Object.entries(settings).forEach(([key, value]) => {
configValues[key] = value.value;
});
setConfig(prev => ({
...prev,
...configValues
...configValues,
}));
} catch (error) {
console.error('加载系统配置失败:', error);
@@ -50,10 +50,10 @@ export const ConfigProvider = ({ children }) => {
}, []);
// 更新配置
const updateConfig = (newConfig) => {
const updateConfig = newConfig => {
setConfig(prev => ({
...prev,
...newConfig
...newConfig,
}));
};
+60 -48
View File
@@ -17,11 +17,11 @@ export const Scene3DProvider = ({ children }) => {
const [loadingDevices, setLoadingDevices] = useState(false);
// 使用 useCallback 稳定回调函数
const selectDevice = useCallback((device) => {
const selectDevice = useCallback(device => {
setSelectedDevice(device);
}, []);
const hoverDevice = useCallback((device) => {
const hoverDevice = useCallback(device => {
setHoveredDevice(device);
}, []);
@@ -29,72 +29,84 @@ export const Scene3DProvider = ({ children }) => {
setDeviceSlideEnabled(prev => !prev);
}, []);
const setDeviceSlide = useCallback((enabled) => {
const setDeviceSlide = useCallback(enabled => {
setDeviceSlideEnabled(enabled);
}, []);
const updateDevices = useCallback((newDevices) => {
const updateDevices = useCallback(newDevices => {
setDevices(newDevices);
}, []);
const updateRacks = useCallback((newRacks) => {
const updateRacks = useCallback(newRacks => {
setRacks(newRacks);
}, []);
const selectRack = useCallback((rack) => {
const selectRack = useCallback(rack => {
setSelectedRack(rack);
}, []);
const updateDeviceCables = useCallback((cables) => {
const updateDeviceCables = useCallback(cables => {
setDeviceCables(cables);
}, []);
const setLoading = useCallback((loading) => {
const setLoading = useCallback(loading => {
setLoadingDevices(loading);
}, []);
// 使用 useMemo 缓存 context value,避免不必要的重渲染
const value = useMemo(() => ({
// 状态
devices,
selectedDevice,
hoveredDevice,
deviceSlideEnabled,
selectedRack,
racks,
deviceCables,
loadingDevices,
// 方法
selectDevice,
hoverDevice,
toggleDeviceSlide,
setDeviceSlide,
updateDevices,
updateRacks,
selectRack,
updateDeviceCables,
setLoading,
// 直接设置状态的方法(用于兼容现有代码)
setDevices,
setSelectedDevice,
setHoveredDevice,
setDeviceSlideEnabled,
setSelectedRack,
setRacks,
setDeviceCables,
setLoadingDevices,
}), [
devices, selectedDevice, hoveredDevice, deviceSlideEnabled,
selectedRack, racks, deviceCables, loadingDevices,
selectDevice, hoverDevice, toggleDeviceSlide, setDeviceSlide,
updateDevices, updateRacks, selectRack, updateDeviceCables, setLoading
]);
return (
<Scene3DContext.Provider value={value}>
{children}
</Scene3DContext.Provider>
const value = useMemo(
() => ({
// 状态
devices,
selectedDevice,
hoveredDevice,
deviceSlideEnabled,
selectedRack,
racks,
deviceCables,
loadingDevices,
// 方法
selectDevice,
hoverDevice,
toggleDeviceSlide,
setDeviceSlide,
updateDevices,
updateRacks,
selectRack,
updateDeviceCables,
setLoading,
// 直接设置状态的方法(用于兼容现有代码)
setDevices,
setSelectedDevice,
setHoveredDevice,
setDeviceSlideEnabled,
setSelectedRack,
setRacks,
setDeviceCables,
setLoadingDevices,
}),
[
devices,
selectedDevice,
hoveredDevice,
deviceSlideEnabled,
selectedRack,
racks,
deviceCables,
loadingDevices,
selectDevice,
hoverDevice,
toggleDeviceSlide,
setDeviceSlide,
updateDevices,
updateRacks,
selectRack,
updateDeviceCables,
setLoading,
]
);
return <Scene3DContext.Provider value={value}>{children}</Scene3DContext.Provider>;
};
// 自定义 Hook