109 lines
2.5 KiB
JavaScript
109 lines
2.5 KiB
JavaScript
|
|
import request from '@/utils/ai_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
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (beforeId) {
|
|||
|
|
params.beforeId = 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
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|