Files
zhxg_pc/src/api/aiChat/ai_index.js
2025-08-15 16:51:24 +08:00

110 lines
2.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
})
}