fix: 移除调试模块中的encodeURIComponent

This commit is contained in:
时瑾 2026-01-30 18:33:57 +08:00
parent 0f132a5972
commit 3ea2cc9ba7
No known key found for this signature in database
GPG Key ID: 023F70A1B8F8C196

View File

@ -58,7 +58,7 @@ export default function ExtensionPage () {
pluginName: page.pluginName, pluginName: page.pluginName,
path: page.path, path: page.path,
icon: page.icon, icon: page.icon,
description: page.description description: page.description,
})); }));
}, [extensionPages]); }, [extensionPages]);
@ -69,7 +69,7 @@ export default function ExtensionPage () {
const path = pathParts.join(':').replace(/^\//, ''); const path = pathParts.join(':').replace(/^\//, '');
// 获取认证 token // 获取认证 token
const token = localStorage.getItem('token') || ''; const token = localStorage.getItem('token') || '';
return `/api/Plugin/page/${pluginId}/${path}?webui_token=${encodeURIComponent(token)}`; return `/api/Plugin/page/${pluginId}/${path}?webui_token=${token}`;
}, [selectedTab]); }, [selectedTab]);
useEffect(() => { useEffect(() => {
@ -89,73 +89,75 @@ export default function ExtensionPage () {
return ( return (
<> <>
<title> - NapCat WebUI</title> <title> - NapCat WebUI</title>
<div className="p-2 md:p-4 relative h-full flex flex-col"> <div className='p-2 md:p-4 relative h-full flex flex-col'>
<PageLoading loading={loading} /> <PageLoading loading={loading} />
<div className="flex mb-4 items-center gap-4"> <div className='flex mb-4 items-center gap-4'>
<div className="flex items-center gap-2 text-default-600"> <div className='flex items-center gap-2 text-default-600'>
<MdExtension size={24} /> <MdExtension size={24} />
<span className="text-lg font-medium"></span> <span className='text-lg font-medium'></span>
</div> </div>
<Button <Button
isIconOnly isIconOnly
className="bg-default-100/50 hover:bg-default-200/50 text-default-700 backdrop-blur-md" className='bg-default-100/50 hover:bg-default-200/50 text-default-700 backdrop-blur-md'
radius="full" radius='full'
onPress={refresh} onPress={refresh}
> >
<IoMdRefresh size={24} /> <IoMdRefresh size={24} />
</Button> </Button>
</div> </div>
{extensionPages.length === 0 && !loading ? ( {extensionPages.length === 0 && !loading
<div className="flex-1 flex flex-col items-center justify-center text-default-400"> ? (
<MdExtension size={64} className="mb-4 opacity-50" /> <div className='flex-1 flex flex-col items-center justify-center text-default-400'>
<p className="text-lg"></p> <MdExtension size={64} className='mb-4 opacity-50' />
<p className="text-sm mt-2"> WebUI </p> <p className='text-lg'></p>
</div> <p className='text-sm mt-2'> WebUI </p>
) : ( </div>
<div className="flex-1 flex flex-col min-h-0"> )
<Tabs : (
aria-label="Extension Pages" <div className='flex-1 flex flex-col min-h-0'>
className="max-w-full" <Tabs
selectedKey={selectedTab} aria-label='Extension Pages'
onSelectionChange={(key) => setSelectedTab(key as string)} className='max-w-full'
classNames={{ selectedKey={selectedTab}
tabList: 'bg-white/40 dark:bg-black/20 backdrop-blur-md flex-wrap', onSelectionChange={(key) => setSelectedTab(key as string)}
cursor: 'bg-white/80 dark:bg-white/10 backdrop-blur-md shadow-sm', classNames={{
panel: 'flex-1 min-h-0 p-0' tabList: 'bg-white/40 dark:bg-black/20 backdrop-blur-md flex-wrap',
}} cursor: 'bg-white/80 dark:bg-white/10 backdrop-blur-md shadow-sm',
> panel: 'flex-1 min-h-0 p-0',
{tabs.map((tab) => ( }}
<Tab >
key={tab.key} {tabs.map((tab) => (
title={ <Tab
<div className="flex items-center gap-2"> key={tab.key}
{tab.icon && <span>{tab.icon}</span>} title={
<span>{tab.title}</span> <div className='flex items-center gap-2'>
<span className="text-xs text-default-400">({tab.pluginName})</span> {tab.icon && <span>{tab.icon}</span>}
</div> <span>{tab.title}</span>
} <span className='text-xs text-default-400'>({tab.pluginName})</span>
>
<div className="relative w-full h-[calc(100vh-220px)] bg-white/40 dark:bg-black/20 backdrop-blur-md rounded-lg overflow-hidden">
{iframeLoading && (
<div className="absolute inset-0 flex items-center justify-center bg-default-100/50 z-10">
<Spinner size="lg" />
</div> </div>
)} }
<iframe >
src={currentPageUrl} <div className='relative w-full h-[calc(100vh-220px)] bg-white/40 dark:bg-black/20 backdrop-blur-md rounded-lg overflow-hidden'>
className="w-full h-full border-0" {iframeLoading && (
onLoad={handleIframeLoad} <div className='absolute inset-0 flex items-center justify-center bg-default-100/50 z-10'>
title={tab.title} <Spinner size='lg' />
sandbox="allow-scripts allow-same-origin allow-forms allow-popups" </div>
/> )}
</div> <iframe
</Tab> src={currentPageUrl}
))} className='w-full h-full border-0'
</Tabs> onLoad={handleIframeLoad}
</div> title={tab.title}
)} sandbox='allow-scripts allow-same-origin allow-forms allow-popups'
/>
</div>
</Tab>
))}
</Tabs>
</div>
)}
</div> </div>
</> </>
); );