From 3ca5a561279db1e2d0a9f889e6cf8c7e61ebe25d Mon Sep 17 00:00:00 2001 From: liuyonghe0111 <1763195287@qq.com> Date: Thu, 6 Nov 2025 18:07:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AF=B9=E6=8E=A5=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../[id]/(detail)/components/BasicInfo.tsx | 1 + .../(main)/character/[id]/(detail)/page.tsx | 2 +- .../(main)/character/[id]/(detail)/service.ts | 19 ------------------- src/app/(main)/character/page.tsx | 2 +- .../{service.ts => service-client.ts} | 4 ++-- src/app/(main)/character/service-server.ts | 12 ++++++++++++ src/lib/{ => client}/auth.ts | 0 src/lib/{ => client}/request.ts | 0 src/lib/{server-auth.ts => server/auth.ts} | 0 .../{server-request.ts => server/request.ts} | 2 +- src/services/tag.ts | 4 ++-- 11 files changed, 20 insertions(+), 26 deletions(-) delete mode 100644 src/app/(main)/character/[id]/(detail)/service.ts rename src/app/(main)/character/{service.ts => service-client.ts} (67%) create mode 100644 src/app/(main)/character/service-server.ts rename src/lib/{ => client}/auth.ts (100%) rename src/lib/{ => client}/request.ts (100%) rename src/lib/{server-auth.ts => server/auth.ts} (100%) rename src/lib/{server-request.ts => server/request.ts} (97%) diff --git a/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx b/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx index 0cf80f4..febdf95 100644 --- a/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx +++ b/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx @@ -29,6 +29,7 @@ export default function CharacterBasicInfo({ {/* 角色头像 - 使用 figure 语义化标签 */}
{`${characterName} { - return {}; - const { data } = await publicServerRequest( - `/character/select/roleInfo/${id}`, - { - method: 'GET', - } - ); - return data; -}); diff --git a/src/app/(main)/character/page.tsx b/src/app/(main)/character/page.tsx index 131a5fa..4d6c3da 100644 --- a/src/app/(main)/character/page.tsx +++ b/src/app/(main)/character/page.tsx @@ -4,7 +4,7 @@ import React from 'react'; import Image from 'next/image'; import { useRouter } from 'next/navigation'; import { useInfiniteScroll } from '@/hooks/useInfiniteScroll'; -import { fetchCharacters } from './service'; +import { fetchCharacters } from './service-client'; import { fetchTags } from '@/services/tag'; import { useQuery } from '@tanstack/react-query'; import Tags from '@/components/ui/Tags'; diff --git a/src/app/(main)/character/service.ts b/src/app/(main)/character/service-client.ts similarity index 67% rename from src/app/(main)/character/service.ts rename to src/app/(main)/character/service-client.ts index 72b4327..95b92dc 100644 --- a/src/app/(main)/character/service.ts +++ b/src/app/(main)/character/service-client.ts @@ -1,8 +1,8 @@ -import request from '@/lib/request'; +import request from '@/lib/client/request'; export async function fetchCharacters({ index, limit, query }: any) { await new Promise((resolve) => setTimeout(resolve, 1000)); - const { data } = await request('/api/character/select/list', { + const { data } = await request('/api/character/list', { method: 'POST', data: { index, limit, ...query }, }); diff --git a/src/app/(main)/character/service-server.ts b/src/app/(main)/character/service-server.ts new file mode 100644 index 0000000..bfd8b3d --- /dev/null +++ b/src/app/(main)/character/service-server.ts @@ -0,0 +1,12 @@ +import { cache } from 'react'; +import { publicServerRequest } from '@/lib/server/request'; + +export const fetchCharacterDetail = cache(async (id: string) => { + const res = await publicServerRequest(`/character/detail`, { + method: 'post', + params: { + roleId: id, + }, + }); + return res.data ?? {}; +}); diff --git a/src/lib/auth.ts b/src/lib/client/auth.ts similarity index 100% rename from src/lib/auth.ts rename to src/lib/client/auth.ts diff --git a/src/lib/request.ts b/src/lib/client/request.ts similarity index 100% rename from src/lib/request.ts rename to src/lib/client/request.ts diff --git a/src/lib/server-auth.ts b/src/lib/server/auth.ts similarity index 100% rename from src/lib/server-auth.ts rename to src/lib/server/auth.ts diff --git a/src/lib/server-request.ts b/src/lib/server/request.ts similarity index 97% rename from src/lib/server-request.ts rename to src/lib/server/request.ts index 307f5d8..2508d57 100644 --- a/src/lib/server-request.ts +++ b/src/lib/server/request.ts @@ -1,5 +1,5 @@ import axios, { AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios'; -import { getServerToken } from './server-auth'; +import { getServerToken } from './auth'; type ResponseType = { code: number; diff --git a/src/services/tag.ts b/src/services/tag.ts index 33404c3..d420927 100644 --- a/src/services/tag.ts +++ b/src/services/tag.ts @@ -1,7 +1,7 @@ -import request from '@/lib/request'; +import request from '@/lib/client/request'; export async function fetchTags(params: any = {}) { - const { data } = await request('/api/tag/selectByCondition', { + const { data } = await request('/api/tag/list', { method: 'POST', data: { limit: 20, ...params }, });