From ead92d78c4ef6b0d766e25527b101a300acb3a53 Mon Sep 17 00:00:00 2001 From: "lambert.li" Date: Tue, 5 Aug 2025 14:34:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20=E5=A4=A7=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=B9=B3=E5=8F=B0=20sdk=20api=20=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/chat-messages/route.ts | 2 +- .../[conversationId]/name/route.ts | 19 +++++++++++++++++++ src/app/api/conversations/route.ts | 19 +++++++++++++++++++ src/app/api/file-upload/route.ts | 15 +++++++++++++++ .../messages/[messageId]/feedbacks/route.ts | 16 ++++++++++++++++ src/app/api/messages/route.ts | 13 +++++++++++++ src/app/api/parameters/route.ts | 2 +- 7 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 src/app/api/conversations/[conversationId]/name/route.ts create mode 100644 src/app/api/conversations/route.ts create mode 100644 src/app/api/file-upload/route.ts create mode 100644 src/app/api/messages/[messageId]/feedbacks/route.ts create mode 100644 src/app/api/messages/route.ts diff --git a/src/app/api/chat-messages/route.ts b/src/app/api/chat-messages/route.ts index 1c3ae71..849be1f 100644 --- a/src/app/api/chat-messages/route.ts +++ b/src/app/api/chat-messages/route.ts @@ -1,5 +1,5 @@ import { type NextRequest } from 'next/server' -import { client, getInfo } from '@/utils/common' +import { client, getInfo } from '@/app/api/utils/common' export async function POST(request: NextRequest) { const body = await request.json() diff --git a/src/app/api/conversations/[conversationId]/name/route.ts b/src/app/api/conversations/[conversationId]/name/route.ts new file mode 100644 index 0000000..d9dd327 --- /dev/null +++ b/src/app/api/conversations/[conversationId]/name/route.ts @@ -0,0 +1,19 @@ +import { type NextRequest } from 'next/server' +import { NextResponse } from 'next/server' +import { client, getInfo } from '@/app/api/utils/common' + +export async function POST(request: NextRequest, { params }: { + params: { conversationId: string } +}) { + const body = await request.json() + const { + auto_generate, + name, + } = body + const { conversationId } = params + const { user } = getInfo(request) + + // auto generate name + const { data } = await client.renameConversation(conversationId, name, user, auto_generate) + return NextResponse.json(data) +} diff --git a/src/app/api/conversations/route.ts b/src/app/api/conversations/route.ts new file mode 100644 index 0000000..642da1b --- /dev/null +++ b/src/app/api/conversations/route.ts @@ -0,0 +1,19 @@ +import { type NextRequest } from 'next/server' +import { NextResponse } from 'next/server' +import { client, getInfo, setSession } from '@/app/api/utils/common' + +export async function GET(request: NextRequest) { + const { sessionId, user } = getInfo(request) + try { + const { data }: any = await client.getConversations(user) + return NextResponse.json(data, { + headers: setSession(sessionId), + }) + } + catch (error: any) { + return NextResponse.json({ + data: [], + error: error.message, + }) + } +} diff --git a/src/app/api/file-upload/route.ts b/src/app/api/file-upload/route.ts new file mode 100644 index 0000000..fa09906 --- /dev/null +++ b/src/app/api/file-upload/route.ts @@ -0,0 +1,15 @@ +import { type NextRequest } from 'next/server' +import { client, getInfo } from '@/app/api/utils/common' + +export async function POST(request: NextRequest) { + try { + const formData = await request.formData() + const { user } = getInfo(request) + formData.append('user', user) + const res = await client.fileUpload(formData) + return new Response(res.data.id as any) + } + catch (e: any) { + return new Response(e.message) + } +} diff --git a/src/app/api/messages/[messageId]/feedbacks/route.ts b/src/app/api/messages/[messageId]/feedbacks/route.ts new file mode 100644 index 0000000..c701e15 --- /dev/null +++ b/src/app/api/messages/[messageId]/feedbacks/route.ts @@ -0,0 +1,16 @@ +import { type NextRequest } from 'next/server' +import { NextResponse } from 'next/server' +import { client, getInfo } from '@/app/api/utils/common' + +export async function POST(request: NextRequest, { params }: { + params: { messageId: string } +}) { + const body = await request.json() + const { + rating, + } = body + const { messageId } = params + const { user } = getInfo(request) + const { data } = await client.messageFeedback(messageId, rating, user) + return NextResponse.json(data) +} diff --git a/src/app/api/messages/route.ts b/src/app/api/messages/route.ts new file mode 100644 index 0000000..0edafe7 --- /dev/null +++ b/src/app/api/messages/route.ts @@ -0,0 +1,13 @@ +import { type NextRequest } from 'next/server' +import { NextResponse } from 'next/server' +import { client, getInfo, setSession } from '@/app/api/utils/common' + +export async function GET(request: NextRequest) { + const { sessionId, user } = getInfo(request) + const { searchParams } = new URL(request.url) + const conversationId = searchParams.get('conversation_id') + const { data }: any = await client.getConversationMessages(user, conversationId as string) + return NextResponse.json(data, { + headers: setSession(sessionId), + }) +} diff --git a/src/app/api/parameters/route.ts b/src/app/api/parameters/route.ts index bc5a5ea..139a6eb 100644 --- a/src/app/api/parameters/route.ts +++ b/src/app/api/parameters/route.ts @@ -1,4 +1,4 @@ -import { client } from '@/utils/common'; +import { client } from '@/app/api/utils/common'; import { NextRequest, NextResponse } from 'next/server'; // 模拟获取请求信息的函数 function getInfo(request: NextRequest) {