Files
zn-ai/src/renderer/api/SessionsApi.ts
2026-03-05 16:29:03 +08:00

86 lines
2.0 KiB
TypeScript

import { getRequest, postRequest, ResponseModel } from '@utils/request'
// 创建会话 的请求参数和响应数据结构
export interface CreateSessionRequest {
title?: string
tenant_id_query?: string
}
export interface CreateSessionResponse {
session_id: string
user_id: string
tenant_id: string
title: string
}
export const createSession = async (params: CreateSessionRequest) => {
const res: ResponseModel = await postRequest('/nianxx/api/sessions', params)
return res.data as CreateSessionResponse
}
// 获取会话列表 的请求参数和响应数据结构
export interface SessionListRequest {
tenant_id_query?: string
limit?: number
offset?: number
}
export interface SessionListResponse {
sessions: Array<SessionListRecords>
total: number
}
export interface SessionListRecords {
session_id: string
user_id: string
tenant_id: string
title: string
status: string
created_at: string
updated_at: string
}
export const getSessionList = async (params: SessionListRequest) => {
const res: ResponseModel = await getRequest('/nianxx/api/sessions', params)
return res.data as SessionListResponse
}
/// 获取会话消息历史 的请求参数和响应数据结构
export interface SessionMessagesRequest {
user_id_query?: string
tenant_id_query?: number
limit?: number
offset?: number
session_id: string
}
export interface SessionMessagesResponse {
messages: Array<SessionMessageRecords>
total: number
}
export interface SessionMessageRecords {
id: number
session_id: string
role: string
content: string
source: string
message_id: string | null
created_at: string
timestamp?: number
}
// 获取会话消息历史 的函数实现
export const getSessionMessages = async (params: SessionMessagesRequest) => {
const res: ResponseModel = await getRequest(`/nianxx/api/sessions/${params.session_id}/messages`, {
limit: params.limit,
offset: params.offset,
user_id_query: params.user_id_query,
tenant_id_query: params.tenant_id_query,
})
return res.data as SessionMessagesResponse
}