feat: 安装dify-client,测试接口
This commit is contained in:
+8
-5
@@ -9,19 +9,22 @@
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"dify-client": "^2.3.2",
|
||||
"next": "15.4.5",
|
||||
"react": "19.1.0",
|
||||
"react-dom": "19.1.0",
|
||||
"next": "15.4.5"
|
||||
"uuid": "^11.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5",
|
||||
"@eslint/eslintrc": "^3",
|
||||
"@tailwindcss/postcss": "^4",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"@tailwindcss/postcss": "^4",
|
||||
"tailwindcss": "^4",
|
||||
"code-inspector-plugin": "^1.0.4",
|
||||
"eslint": "^9",
|
||||
"eslint-config-next": "15.4.5",
|
||||
"@eslint/eslintrc": "^3"
|
||||
"tailwindcss": "^4",
|
||||
"typescript": "^5"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+4037
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
import { type NextRequest } from 'next/server'
|
||||
import { client, getInfo } from '@/utils/common'
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
const body = await request.json()
|
||||
const {
|
||||
inputs,
|
||||
query,
|
||||
files,
|
||||
conversation_id: conversationId,
|
||||
response_mode: responseMode,
|
||||
} = body
|
||||
const { user } = getInfo(request)
|
||||
const res = await client.createChatMessage(inputs, query, user, responseMode, conversationId, files)
|
||||
return new Response(res.data as any)
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import { client } from '@/utils/common';
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
// 模拟获取请求信息的函数
|
||||
function getInfo(request: NextRequest) {
|
||||
return {
|
||||
sessionId: 'session-' + Date.now(),
|
||||
user: { id: 'user-' + Math.random().toString(36).substr(2, 9) }
|
||||
};
|
||||
}
|
||||
|
||||
// 模拟设置会话的函数
|
||||
function setSession(sessionId: string) {
|
||||
return {
|
||||
'Set-Cookie': `sessionId=${sessionId}; Path=/; HttpOnly`
|
||||
};
|
||||
}
|
||||
|
||||
export async function GET(request: NextRequest) {
|
||||
const { sessionId, user } = getInfo(request);
|
||||
|
||||
try {
|
||||
const { data } = await client.getApplicationParameters(user);
|
||||
return NextResponse.json(data as object, {
|
||||
headers: setSession(sessionId),
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('获取参数失败:', error);
|
||||
return NextResponse.json({ error: '获取参数失败' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import { ChatClient } from 'dify-client'
|
||||
import { v4 } from 'uuid'
|
||||
import { type NextRequest } from 'next/server'
|
||||
const API_KEY = 'app-8LRYB7Gz1nyEQHW22p5u3nMv'
|
||||
const APP_ID = 'a794acb6-ee01-4d11-8284-83994fb41fea'
|
||||
const API_URL = 'http://10.21.77.20:30001/v1'
|
||||
|
||||
|
||||
const client = new ChatClient(API_KEY, API_URL)
|
||||
|
||||
const userPrefix = `user_${APP_ID}:`
|
||||
|
||||
const getInfo = (request: NextRequest) => {
|
||||
const sessionId = request.cookies.get('session_id')?.value || v4()
|
||||
const user = userPrefix + sessionId
|
||||
return {
|
||||
sessionId,
|
||||
user,
|
||||
}
|
||||
}
|
||||
|
||||
const setSession = (sessionId: string) => {
|
||||
return { 'Set-Cookie': `session_id=${sessionId}` }
|
||||
}
|
||||
|
||||
export {
|
||||
client,
|
||||
getInfo,
|
||||
setSession
|
||||
}
|
||||
Reference in New Issue
Block a user