diff --git a/napcat.webui/src/components/file_manage/move_modal.tsx b/napcat.webui/src/components/file_manage/move_modal.tsx index 621b4c8d..e5dad8ba 100644 --- a/napcat.webui/src/components/file_manage/move_modal.tsx +++ b/napcat.webui/src/components/file_manage/move_modal.tsx @@ -15,12 +15,12 @@ import { IoAdd, IoRemove } from 'react-icons/io5'; import FileManager from '@/controllers/file_manager'; interface MoveModalProps { - isOpen: boolean - moveTargetPath: string - selectionInfo: string - onClose: () => void - onMove: () => void - onSelect: (dir: string) => void // 新增回调 + isOpen: boolean; + moveTargetPath: string; + selectionInfo: string; + onClose: () => void; + onMove: () => void; + onSelect: (dir: string) => void; // 新增回调 } // 将 DirectoryTree 改为递归组件 @@ -30,9 +30,9 @@ function DirectoryTree ({ onSelect, selectedPath, }: { - basePath: string - onSelect: (dir: string) => void - selectedPath?: string + basePath: string; + onSelect: (dir: string) => void; + selectedPath?: string; }) { const [dirs, setDirs] = useState([]); const [expanded, setExpanded] = useState(false); @@ -112,9 +112,9 @@ function DirectoryTree ({ : ( dirs.map((dirName) => { const childPath = - basePath === '/' && /^[A-Z]:$/i.test(dirName) - ? dirName - : path.join(basePath, dirName); + basePath === '/' && /^[A-Z]:$/i.test(dirName) + ? dirName + : path.join(basePath, dirName); return ( Promise | void - onDelete?: () => Promise | void - label?: string - accept?: string + onChange: (file: File) => Promise | void; + onDelete?: () => Promise | void; + label?: string; + accept?: string; } const FileInput: React.FC = ({ @@ -34,7 +34,7 @@ const FileInput: React.FC = ({ if (file) { await onChange(file); } - } catch (_error) { + } catch (error) { console.error(error); } finally { setIsLoading(false); @@ -49,7 +49,7 @@ const FileInput: React.FC = ({ try { setIsLoading(true); if (onDelete) await onDelete(); - } catch (_error) { + } catch (error) { console.error(error); } finally { setIsLoading(false); diff --git a/napcat.webui/src/components/log_com/realtime.tsx b/napcat.webui/src/components/log_com/realtime.tsx index 94106715..4a28531d 100644 --- a/napcat.webui/src/components/log_com/realtime.tsx +++ b/napcat.webui/src/components/log_com/realtime.tsx @@ -51,7 +51,7 @@ const RealTimeLogs = () => { .join('\r\n'); Xterm.current?.clear(); Xterm.current?.write(_data); - } catch (_error) { + } catch (error) { console.error(error); toast.error('获取实时日志失败'); } diff --git a/napcat.webui/src/components/network_edit/modal.tsx b/napcat.webui/src/components/network_edit/modal.tsx index 669f38f9..dab5b78e 100644 --- a/napcat.webui/src/components/network_edit/modal.tsx +++ b/napcat.webui/src/components/network_edit/modal.tsx @@ -20,13 +20,13 @@ const modalTitle = { export interface NetworkFormModalProps< T extends keyof OneBotConfig['network'] > { - isOpen: boolean - field: T - data?: OneBotConfig['network'][T][0] - onOpenChange: (isOpen: boolean) => void + isOpen: boolean; + field: T; + data?: OneBotConfig['network'][T][0]; + onOpenChange: (isOpen: boolean) => void; } -const NetworkFormModal = ( +const NetworkFormModal = ( props: NetworkFormModalProps ) => { const { isOpen, onOpenChange, field, data } = props; @@ -41,7 +41,7 @@ const NetworkFormModal = ( await updateNetworkConfig(field, data); } toast.success('保存配置成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存配置失败: ${msg}`); diff --git a/napcat.webui/src/components/onebot/api/debug.tsx b/napcat.webui/src/components/onebot/api/debug.tsx index 08bad899..7e7cf94f 100644 --- a/napcat.webui/src/components/onebot/api/debug.tsx +++ b/napcat.webui/src/components/onebot/api/debug.tsx @@ -23,8 +23,8 @@ import { generateDefaultJson, parse } from '@/utils/zod'; import DisplayStruct from './display_struct'; export interface OneBotApiDebugProps { - path: OneBotHttpApiPath - data: OneBotHttpApiContent + path: OneBotHttpApiPath; + data: OneBotHttpApiContent; } const OneBotApiDebug: React.FC = (props) => { diff --git a/napcat.webui/src/components/page_background.tsx b/napcat.webui/src/components/page_background.tsx index d3ffbf3b..dbe89877 100644 --- a/napcat.webui/src/components/page_background.tsx +++ b/napcat.webui/src/components/page_background.tsx @@ -1,5 +1,4 @@ import { Image } from '@heroui/image'; -import React from 'react'; import bkg_color from '@/assets/images/bkg-color.png'; diff --git a/napcat.webui/src/controllers/webui_manager.ts b/napcat.webui/src/controllers/webui_manager.ts index 9e4e3a7b..051f36c6 100644 --- a/napcat.webui/src/controllers/webui_manager.ts +++ b/napcat.webui/src/controllers/webui_manager.ts @@ -6,8 +6,8 @@ import { LogLevel } from '@/const/enum'; import { serverRequest } from '@/utils/request'; export interface Log { - level: LogLevel - message: string + level: LogLevel; + message: string; } export default class WebUIManager { @@ -34,7 +34,7 @@ export default class WebUIManager { return data.data; } - public static async proxy(url = '') { + public static async proxy (url = '') { const data = await serverRequest.get>( '/base/proxy?url=' + encodeURIComponent(url) ); @@ -100,7 +100,7 @@ export default class WebUIManager { const data = JSON.parse(event.data); data.message = data.message.replace(/\n/g, '\r\n'); writer([data]); - } catch (_error) { + } catch (error) { console.error(error); } }; @@ -134,7 +134,7 @@ export default class WebUIManager { try { const data = JSON.parse(event.data) as SystemStatus; writer(data); - } catch (_error) { + } catch (error) { console.error(error); } }; diff --git a/napcat.webui/src/layouts/default.tsx b/napcat.webui/src/layouts/default.tsx index a997cbd0..7bb0d385 100644 --- a/napcat.webui/src/layouts/default.tsx +++ b/napcat.webui/src/layouts/default.tsx @@ -42,7 +42,7 @@ const findTitle = (menus: MenuItem[], pathname: string): string[] => { return paths; }; -const Layout: React.FC<{ children: React.ReactNode }> = ({ children }) => { +const Layout: React.FC<{ children: React.ReactNode; }> = ({ children }) => { const location = useLocation(); const contentRef = useRef(null); const [openSideBar, setOpenSideBar] = useLocalStorage(key.sideBarOpen, true); diff --git a/napcat.webui/src/pages/dashboard/config/change_password.tsx b/napcat.webui/src/pages/dashboard/config/change_password.tsx index ce1c84f9..268acfbf 100644 --- a/napcat.webui/src/pages/dashboard/config/change_password.tsx +++ b/napcat.webui/src/pages/dashboard/config/change_password.tsx @@ -42,7 +42,7 @@ const ChangePasswordCard = () => { setToken(''); localStorage.removeItem(key.token); navigate('/web_login'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`修改失败: ${msg}`); } diff --git a/napcat.webui/src/pages/dashboard/config/login.tsx b/napcat.webui/src/pages/dashboard/config/login.tsx index c18d3e72..e0fa6303 100644 --- a/napcat.webui/src/pages/dashboard/config/login.tsx +++ b/napcat.webui/src/pages/dashboard/config/login.tsx @@ -22,7 +22,7 @@ const LoginConfigCard = () => { formState: { isSubmitting }, setValue: setOnebotValue, } = useForm<{ - quickLoginQQ: string + quickLoginQQ: string; }>({ defaultValues: { quickLoginQQ: '', @@ -37,7 +37,7 @@ const LoginConfigCard = () => { try { await QQManager.setQuickLoginQQ(data.quickLoginQQ); toast.success('保存成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存失败: ${msg}`); } @@ -47,7 +47,7 @@ const LoginConfigCard = () => { try { await refreshQuickLogin(); toast.success('刷新成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`刷新失败: ${msg}`); } diff --git a/napcat.webui/src/pages/dashboard/config/onebot.tsx b/napcat.webui/src/pages/dashboard/config/onebot.tsx index 95111da4..f6423fc2 100644 --- a/napcat.webui/src/pages/dashboard/config/onebot.tsx +++ b/napcat.webui/src/pages/dashboard/config/onebot.tsx @@ -34,7 +34,7 @@ const OneBotConfigCard = () => { try { await saveConfigWithoutNetwork(data); toast.success('保存成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存失败: ${msg}`); } @@ -45,7 +45,7 @@ const OneBotConfigCard = () => { setLoading(true); await refreshConfig(); if (shotTip) toast.success('刷新成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`刷新失败: ${msg}`); } finally { diff --git a/napcat.webui/src/pages/dashboard/config/server.tsx b/napcat.webui/src/pages/dashboard/config/server.tsx index 8f80a326..0d00c325 100644 --- a/napcat.webui/src/pages/dashboard/config/server.tsx +++ b/napcat.webui/src/pages/dashboard/config/server.tsx @@ -53,7 +53,7 @@ const ServerConfigCard = () => { try { await WebUIManager.updateWebUIConfig(data); toast.success('保存成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存失败: ${msg}`); } @@ -63,7 +63,7 @@ const ServerConfigCard = () => { try { await refreshConfig(); toast.success('刷新成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`刷新失败: ${msg}`); } diff --git a/napcat.webui/src/pages/dashboard/config/theme.tsx b/napcat.webui/src/pages/dashboard/config/theme.tsx index e97ea6c3..dd9f6e68 100644 --- a/napcat.webui/src/pages/dashboard/config/theme.tsx +++ b/napcat.webui/src/pages/dashboard/config/theme.tsx @@ -21,8 +21,8 @@ import { colorKeys, generateTheme, loadTheme } from '@/utils/theme'; import WebUIManager from '@/controllers/webui_manager'; export type PreviewThemeCardProps = { - theme: ThemeInfo - onPreview: () => void + theme: ThemeInfo; + onPreview: () => void; }; const values = [ @@ -110,7 +110,7 @@ const ThemeConfigCard = () => { formState: { isSubmitting }, setValue: setOnebotValue, } = useForm<{ - theme: ThemeConfig + theme: ThemeConfig; }>({ defaultValues: { theme: { @@ -146,7 +146,7 @@ const ThemeConfigCard = () => { await WebUIManager.setThemeConfig(data.theme); toast.success('保存成功'); loadTheme(); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存失败: ${msg}`); } @@ -156,7 +156,7 @@ const ThemeConfigCard = () => { try { await refreshAsync(); toast.success('刷新成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`刷新失败: ${msg}`); } diff --git a/napcat.webui/src/pages/dashboard/config/webui.tsx b/napcat.webui/src/pages/dashboard/config/webui.tsx index b01a1bb2..81d47da8 100644 --- a/napcat.webui/src/pages/dashboard/config/webui.tsx +++ b/napcat.webui/src/pages/dashboard/config/webui.tsx @@ -48,7 +48,7 @@ const WebUIConfigCard = () => { setCustomIcons(data.customIcons); setB64img(data.background); toast.success('保存成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`保存失败: ${msg}`); } @@ -74,7 +74,7 @@ const WebUIConfigCard = () => { setTimeout(() => { window.location.reload(); }, 1000); - } catch (_error) { + } catch (error) { toast.error('上传失败: ' + (error as Error).message); } }} @@ -85,7 +85,7 @@ const WebUIConfigCard = () => { setTimeout(() => { window.location.reload(); }, 1000); - } catch (_error) { + } catch (error) { toast.error('删除失败: ' + (error as Error).message); } }} diff --git a/napcat.webui/src/pages/dashboard/file_manager.tsx b/napcat.webui/src/pages/dashboard/file_manager.tsx index 1fd3914e..ffab3a29 100644 --- a/napcat.webui/src/pages/dashboard/file_manager.tsx +++ b/napcat.webui/src/pages/dashboard/file_manager.tsx @@ -41,8 +41,8 @@ export default function FileManagerPage () { currentPath = currentPath.slice(1); } const [editingFile, setEditingFile] = useState<{ - path: string - content: string + path: string; + content: string; } | null>(null); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const [newFileName, setNewFileName] = useState(''); @@ -175,7 +175,7 @@ export default function FileManagerPage () { setIsCreateModalOpen(false); setNewFileName(''); loadFiles(); - } catch (_error) { + } catch (error) { toast.error((error as Error)?.message || '创建失败'); } }; diff --git a/napcat.webui/src/pages/dashboard/logs.tsx b/napcat.webui/src/pages/dashboard/logs.tsx index 1238d45f..a6150483 100644 --- a/napcat.webui/src/pages/dashboard/logs.tsx +++ b/napcat.webui/src/pages/dashboard/logs.tsx @@ -29,7 +29,7 @@ export default function LogsPage () { try { const result = await WebUIManager.getLogContent(selectedLog); setLogContent(result); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`加载日志失败: ${msg}`); } finally { diff --git a/napcat.webui/src/pages/dashboard/network.tsx b/napcat.webui/src/pages/dashboard/network.tsx index c924655f..8c15619c 100644 --- a/napcat.webui/src/pages/dashboard/network.tsx +++ b/napcat.webui/src/pages/dashboard/network.tsx @@ -19,21 +19,21 @@ import useConfig from '@/hooks/use-config'; import useDialog from '@/hooks/use-dialog'; export interface SectionProps { - title: string + title: string; color?: - | 'violet' - | 'yellow' - | 'blue' - | 'cyan' - | 'green' - | 'pink' - | 'foreground' - icon: React.ReactNode - children: React.ReactNode + | 'violet' + | 'yellow' + | 'blue' + | 'cyan' + | 'green' + | 'pink' + | 'foreground'; + icon: React.ReactNode; + children: React.ReactNode; } export interface EmptySectionProps { - isEmpty: boolean + isEmpty: boolean; } const EmptySection: React.FC = ({ isEmpty }) => { @@ -84,7 +84,7 @@ export default function NetworkPage () { try { await refreshConfig(); setLoading(false); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`获取配置失败: ${msg}`); @@ -112,7 +112,7 @@ export default function NetworkPage () { await deleteNetworkConfig(field, name); toast.success('删除配置成功'); resolve(); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`删除配置失败: ${msg}`); @@ -134,7 +134,7 @@ export default function NetworkPage () { try { await enableNetworkConfig(field, name); toast.success('更新配置成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`更新配置失败: ${msg}`); @@ -150,7 +150,7 @@ export default function NetworkPage () { try { await enableDebugNetworkConfig(field, name); toast.success('更新配置成功'); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`更新配置失败: ${msg}`); @@ -165,7 +165,7 @@ export default function NetworkPage () { onOpen(); }; - const renderCard = ( + const renderCard = ( type: T, item: OneBotConfig['network'][T][0], showType = false diff --git a/napcat.webui/src/pages/dashboard/terminal.tsx b/napcat.webui/src/pages/dashboard/terminal.tsx index 1cad1647..9484d310 100644 --- a/napcat.webui/src/pages/dashboard/terminal.tsx +++ b/napcat.webui/src/pages/dashboard/terminal.tsx @@ -23,8 +23,8 @@ import { TerminalInstance } from '@/components/terminal/terminal-instance'; import terminalManager from '@/controllers/terminal_manager'; interface TerminalTab { - id: string - title: string + id: string; + title: string; } export default function TerminalPage () { diff --git a/napcat.webui/src/pages/qq_login.tsx b/napcat.webui/src/pages/qq_login.tsx index 90da6d46..59fdfb90 100644 --- a/napcat.webui/src/pages/qq_login.tsx +++ b/napcat.webui/src/pages/qq_login.tsx @@ -34,7 +34,7 @@ export default function QQLoginPage () { setIsLoading(true); try { await QQManager.setQuickLogin(uinValue); - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`快速登录QQ失败: ${msg}`); @@ -60,7 +60,7 @@ export default function QQLoginPage () { } else { setQrcode(data.qrcodeurl); } - } catch (_error) { + } catch (error) { const msg = (error as Error).message; toast.error(`获取二维码失败: ${msg}`); @@ -82,7 +82,7 @@ export default function QQLoginPage () { setQQList(qqList); } catch (_error) { - const msg = (error as Error).message; + const msg = (_error as Error).message; toast.error(`获取QQ列表失败: ${msg}`); } diff --git a/napcat.webui/src/pages/web_login.tsx b/napcat.webui/src/pages/web_login.tsx index 7b222785..07786912 100644 --- a/napcat.webui/src/pages/web_login.tsx +++ b/napcat.webui/src/pages/web_login.tsx @@ -39,7 +39,7 @@ export default function WebLoginPage () { setLocalToken(data); navigate('/qq_login', { replace: true }); } - } catch (_error) { + } catch (error) { toast.error((error as Error).message); } finally { setIsLoading(false); diff --git a/package.json b/package.json index a574dc51..dbe512a7 100644 --- a/package.json +++ b/package.json @@ -4,14 +4,14 @@ "type": "module", "version": "4.9.21", "scripts": { - "build:universal": "npm run build:webui && vite build --mode universal || exit 1", - "build:framework": "npm run build:webui && vite build --mode framework || exit 1", - "build:shell": "npm run build:webui && vite build --mode shell || exit 1", + "build:universal": "npm run build:webui && npm run dev:universal || exit 1", + "build:framework": "npm run build:webui && npm run dev:framework || exit 1", + "build:shell": "npm run build:webui && npm run dev:shell || exit 1", "build:webui": "cd napcat.webui && npm run build", - "dev:universal": "vite build --mode universal", - "dev:framework": "vite build --mode framework", - "dev:shell": "vite build --mode shell", - "dev:shell-analysis": "vite build --mode shell-analysis", + "dev:universal": "tsc --noEmit && vite build --mode universal", + "dev:framework": "tsc --noEmit && vite build --mode framework", + "dev:shell": "tsc --noEmit && vite build --mode shell", + "dev:shell-analysis": "tsc --noEmit && vite build --mode shell-analysis", "dev:webui": "cd napcat.webui && npm run dev", "tsc": "npm run tsc:core && npm run tsc:webui", "tsc:core": "tsc --noEmit",