Files
zhxg_pc/src/api/aiChat/ai_index.js

110 lines
2.5 KiB
JavaScript
Raw Normal View History

2025-08-15 16:51:24 +08:00
import request from '@/utils/request'
2025-08-14 15:43:24 +08:00
/**
* 获取聊天历史记录
* @param {Object} params 请求参数
* @param {string} params.conversationId 会话ID
* @param {string} params.user 用户ID
* @param {number} [params.limit=20] 返回记录数量
* @param {string} [params.beforeId] 获取此ID之前的记录
* @returns {Promise} 包含历史记录的Promise
*/
export const getHistory = ({
conversationId,
user,
limit = 20,
beforeId
}) => {
const params = {
conversationId,
user,
limit
}
// 如果有beforeId参数添加到请求中后端参数名为firstId
2025-08-14 15:43:24 +08:00
if (beforeId) {
params.firstId = beforeId
2025-08-14 15:43:24 +08:00
}
return request({
url: '/aitutor/aichat/getMessagesToUser',
method: 'get',
params
})
}
/**
* 发送反馈点赞/点踩
* @param {Object} params 请求参数
* @param {string} params.messageId 消息ID
* @param {number} params.action 1-点赞 0-点踩
* @param {string} params.user 用户ID
* @returns {Promise} 包含操作结果的Promise
*/
export const sendFeedback = ({
messageId,
action,
user
}) => {
return request({
url: '/aitutor/aichat/feedback',
method: 'post',
data: {
message_id: messageId,
rating: action === 1 ? 'like' : 'dislike',
user
}
})
}
/**
* 上传文件
* @param {FormData} formData 包含文件的FormData
* @param {string} user 用户ID
* @returns {Promise} 包含文件URL的Promise
*/
export const uploadFile = (formData, user) => {
formData.append('user', user)
return request({
url: '/aitutor/aichat/files/upload',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
/**
* 创建新会话
* @param {string} user 用户ID
* @param {string} title 会话标题
* @returns {Promise} 包含新会话ID的Promise
*/
export const createConversation = (user, title) => {
return request({
url: '/aitutor/aichat/conversation/create',
method: 'post',
data: {
user,
title
}
})
}
/**
* 删除会话
* @param {string} conversationId 会话ID
* @param {string} user 用户ID
* @returns {Promise} 包含操作结果的Promise
*/
export const deleteConversation = (conversationId, user) => {
return request({
url: '/aitutor/aichat/conversation/delete',
method: 'post',
data: {
conversation_id: conversationId,
user
}
})
}