110 lines
2.5 KiB
JavaScript
110 lines
2.5 KiB
JavaScript
import request from '@/utils/request'
|
||
|
||
/**
|
||
* 获取聊天历史记录
|
||
* @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)
|
||
if (beforeId) {
|
||
params.firstId = beforeId
|
||
}
|
||
|
||
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
|
||
}
|
||
})
|
||
} |