Skip to content

Commit 3e0d714

Browse files
committed
change mirchecker to unsafechecker
1 parent ce44b16 commit 3e0d714

File tree

4 files changed

+73
-10
lines changed

4 files changed

+73
-10
lines changed

app/[nsfront]/[nsbehind]/[name]/[version]/layout.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ export default function Layout({
1515
// 判断当前页面是否为SenseLeak页面
1616
const isSenseLeakPage = pathname.includes('/senseleak');
1717
const isMircheckerPage = pathname.includes('/mirchecker');
18+
const isUnsafecheckerPage = pathname.includes('/unsafechecker');
1819
return (
1920
<div className="mb-0">
2021
{/* 仅在非SenseLeak页面显示导航栏 */}
21-
{!isSenseLeakPage && !isMircheckerPage && (
22+
{!isSenseLeakPage && !isMircheckerPage && !isUnsafecheckerPage && (
2223
<CrateNav
2324
nsfront={params.nsfront as string}
2425
nsbehind={params.nsbehind as string}

app/[nsfront]/[nsbehind]/[name]/[version]/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -613,18 +613,18 @@ const CratePage = () => {
613613
className="flex-shrink-0 rounded-[16.05px] border-[1.6px] border-[#333333]"
614614
/>
615615
<h2 className="text-[18px] font-bold text-[#333333] tracking-[0.72px] font-['HarmonyOS_Sans_SC']">
616-
Mirchecker
616+
Unsafechecker
617617
</h2>
618618
</div>
619619
<div className="space-y-4">
620620
<div>
621621
<a
622-
href={basePath + '/mirchecker'}
622+
href={basePath + '/unsafechecker'}
623623
className="text-[#4B68FF] text-[14px] font-['HarmonyOS_Sans_SC'] font-normal hover:underline break-all"
624624
target="_blank"
625625
rel="noopener noreferrer"
626626
>
627-
{basePath + '/mirchecker' || 'No results available'}
627+
{basePath + '/unsafechecker' || 'No results available'}
628628
</a>
629629
</div>
630630
</div>

app/[nsfront]/[nsbehind]/[name]/[version]/senseleak/page.tsx

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,71 @@ const SenseLeakPage = () => {
226226
<div className="bg-white rounded-2xl p-6 shadow-[0_0_12px_0_rgba(43,88,221,0.09)]">
227227
{senseLeakData ? (
228228
senseLeakData.exist ? (
229-
<pre className="whitespace-pre-wrap font-['HarmonyOS_Sans_SC'] text-[14px] leading-relaxed text-[#333333] p-4 bg-[#F8F9FC] rounded-lg overflow-x-auto">
230-
{senseLeakData.res}
231-
</pre>
229+
(() => {
230+
interface SenseLeakItem {
231+
file: string;
232+
line_number: number;
233+
line: string;
234+
rule: string;
235+
commit_message: string;
236+
author: string;
237+
email: string;
238+
commit: string;
239+
date: string;
240+
}
241+
let items: SenseLeakItem[] = [];
242+
try {
243+
items = JSON.parse(senseLeakData.res);
244+
} catch {
245+
return <div className="text-red-500">SenseLeak 数据解析失败</div>;
246+
}
247+
if (!Array.isArray(items) || items.length === 0) {
248+
return <div className="text-gray-400">无泄漏数据</div>;
249+
}
250+
return (
251+
<div className="space-y-6">
252+
{items.map((item, idx) => (
253+
<div
254+
key={idx}
255+
className="bg-[#F5F7FF] rounded-xl p-6 shadow border border-[#E0E7FF] flex flex-col gap-2"
256+
>
257+
<div>
258+
<span className="font-bold text-[#4B68FF]">File:</span>
259+
<span className="text-[#333]">{item.file}</span>
260+
</div>
261+
<div>
262+
<span className="font-bold text-[#4B68FF]">Line Number:</span>
263+
<span className="text-[#333]">{item.line_number}</span>
264+
</div>
265+
<div>
266+
<span className="font-bold text-[#4B68FF]">Offender:</span>
267+
<span className="text-[#333]">{item.line}</span>
268+
</div>
269+
<div>
270+
<span className="font-bold text-[#4B68FF]">Rule:</span>
271+
<span className="text-[#333]">{item.rule}</span>
272+
</div>
273+
<div>
274+
<span className="font-bold text-[#4B68FF]">Commit Message:</span>
275+
<span className="text-[#333]">{item.commit_message}</span>
276+
</div>
277+
<div>
278+
<span className="font-bold text-[#4B68FF]">Author:</span>
279+
<span className="text-[#333]">{item.author} ({item.email})</span>
280+
</div>
281+
<div>
282+
<span className="font-bold text-[#4B68FF]">Commit Hash:</span>
283+
<span className="text-[#333]">{item.commit}</span>
284+
</div>
285+
<div>
286+
<span className="font-bold text-[#4B68FF]">Date:</span>
287+
<span className="text-[#333]">{item.date}</span>
288+
</div>
289+
</div>
290+
))}
291+
</div>
292+
);
293+
})()
232294
) : (
233295
<div className="flex flex-col items-center p-8">
234296
<Image

app/[nsfront]/[nsbehind]/[name]/[version]/mirchecker/page.tsx renamed to app/[nsfront]/[nsbehind]/[name]/[version]/unsafechecker/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const MircheckerPage = () => {
3939
setVersionsList(versionsData.versions || []);
4040

4141
// 获取 Mirchecker 数据
42-
const mircheckerResponse = await fetch(`/api/crates/${params.nsfront}/${params.nsbehind}/${params.name}/${params.version}/mirchecker`);
42+
const mircheckerResponse = await fetch(`/api/crates/${params.nsfront}/${params.nsbehind}/${params.name}/${params.version}/unsafechecker`);
4343
if (!mircheckerResponse.ok) {
4444
throw new Error(`HTTP error! status: ${mircheckerResponse.status}`);
4545
}
@@ -177,7 +177,7 @@ const MircheckerPage = () => {
177177
{filteredVersions.map((version, index) => (
178178
<Link
179179
key={index}
180-
href={`/${params.nsfront}/${params.nsbehind}/${params.name}/${version}/mirchecker`}
180+
href={`/${params.nsfront}/${params.nsbehind}/${params.name}/${version}/unsafechecker`}
181181
>
182182
<div className={`transition-colors cursor-pointer ${version === currentVersion
183183
? 'bg-[#4b68ff] w-[278px] h-[37px] flex items-center text-white rounded-l-full rounded-r-none'
@@ -214,7 +214,7 @@ const MircheckerPage = () => {
214214
<div className="mb-6 flex items-center gap-3">
215215
<div className="w-[4px] h-[24px] flex-shrink-0 rounded-[2px] bg-[#4B68FF]"></div>
216216
<h1 className="text-[24px] font-bold text-[#333333] tracking-[0.96px] font-['HarmonyOS_Sans_SC']">
217-
Mirchecker Analysis: {params.name}/{params.version}
217+
Unsafechecker Analysis: {params.name}/{params.version}
218218
</h1>
219219
</div>
220220

0 commit comments

Comments
 (0)