From 0ba17317fb595bc4ef9dd0ad2c8cdb2683e66bc7 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 27 Feb 2026 19:46:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=88=B7=E6=96=B0=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E6=9D=A5=E7=A1=AE=E4=BF=9DJWT=E8=83=BD=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/lib/jwt.ts | 5 +- .../src/routes/op/ticket_search/+page.svelte | 172 ++++++++---------- 2 files changed, 75 insertions(+), 102 deletions(-) diff --git a/front/src/lib/jwt.ts b/front/src/lib/jwt.ts index f0249b6..c35e01d 100644 --- a/front/src/lib/jwt.ts +++ b/front/src/lib/jwt.ts @@ -29,7 +29,10 @@ export function CheckAndGetJWT(tx: 'raw'): string | null; export function CheckAndGetJWT(tx: 'raw' | 'parsed'): WtsJWT | string | null { if (!browser) { - return null; + return { + access: 'user', + name: '请刷新页面' + } as WtsJWT; } let token: string; token = localStorage.getItem('jwt'); diff --git a/front/src/routes/op/ticket_search/+page.svelte b/front/src/routes/op/ticket_search/+page.svelte index 1ef0bc0..db50303 100644 --- a/front/src/routes/op/ticket_search/+page.svelte +++ b/front/src/routes/op/ticket_search/+page.svelte @@ -29,15 +29,9 @@ import { criteria } from '$lib/states/ticketCriteriaSearch.svelte'; import { goto } from '$app/navigation'; import type { WtsStatus, WtsPriority, WtsCategory, WtsISP } from '$lib/types/enum'; - import { WtsJWT } from '$lib/jwt'; onMount(() => Guard(IsOperator)); - - let token: WtsJWT = $state({} as WtsJWT); - - onMount(() => { - token = CheckAndGetJWT('parsed'); - }); + onMount(() => setTimeout(() => goto('/op/ticket_search'), 500));//暂时的权宜之计 let req = $state(criteria.r as FilterTicketsReq); @@ -84,7 +78,7 @@ } const allZones = Object.keys(ZoneMap) as WtsZone[]; - const allStatuses = IsAdmin(token.access) + const allStatuses = IsAdmin(CheckAndGetJWT('parsed').access) ? (Object.keys(StatusMap) as WtsStatus[]) : (Object.keys(StatusMap).filter( (status) => status !== 'solved' && status !== 'canceled' @@ -118,7 +112,9 @@ 'delay', 'escalated' ] as const satisfies readonly WtsStatus[]; - const statusOptions: readonly WtsStatus[] = statusOptionsAdmin; //之前的区分没有意义,在后端会拦截的,在这里高花样,好像反而会破坏正常功能,感觉这个页面还是重写的样子。。 + const statusOptions: readonly WtsStatus[] = IsAdmin(CheckAndGetJWT('parsed').access) + ? statusOptionsAdmin + : statusOptionsUser; const priorityOptions = [ 'highest', @@ -195,7 +191,7 @@

选择您需要检索报修工单的条件

-{#if IsAdmin(token.access)} +{#if IsAdmin(CheckAndGetJWT('parsed').access)}
@@ -218,30 +214,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + @@ -264,25 +244,23 @@ - - - - - - - - - - - - - {#if IsAdmin(token.access)} - - - - - - + + + + + {#if IsAdmin(CheckAndGetJWT('parsed').access)} + + {/if} @@ -306,24 +284,22 @@ - - - - - - - - - - - - - - - - - - + + + + + + @@ -345,21 +321,21 @@ - - - - - - - - - - - - - - - + + + + + @@ -382,21 +358,15 @@ - - - - - - - - - - - - - - + + + + +