This commit is contained in:
2025-11-24 18:44:17 +08:00
parent 19aa7a1f8f
commit 8d861d5b6f
11 changed files with 1017 additions and 158 deletions

View File

@@ -1,5 +1,6 @@
// API服务文件
import { useUserStore } from '@/stores/user.js';
import { API_CONFIG, getApiUrl } from '@/utils/config.js';
// 图片URL处理函数 - 处理小程序中图片路径问题
export const getResourceUrl = (url) => {
@@ -14,12 +15,12 @@ export const getResourceUrl = (url) => {
// 如果是相对路径,拼接完整的服务器地址
if (url.startsWith('/file/')) {
return BASE_URL + url;
return API_CONFIG.BASE_URL + url;
}
// 如果是其他相对路径,也拼接服务器地址
if (url.startsWith('/')) {
return BASE_URL + url;
return API_CONFIG.BASE_URL + url;
}
// 默认返回原路径
@@ -73,9 +74,6 @@ export const cleanText = (text) => {
return cleaned;
};
// 基础配置
const BASE_URL = 'http://192.168.1.2:8091'; // 根据后端地址调整
// 检查用户登录状态
const checkLoginStatus = () => {
const userStore = useUserStore();
@@ -111,7 +109,7 @@ const request = (options) => {
// 默认配置
const defaultOptions = {
url: BASE_URL + options.url,
url: getApiUrl(options.url),
method: options.method || 'GET',
header: {
'Content-Type': 'application/json',
@@ -119,7 +117,7 @@ const request = (options) => {
...options.header
},
data: options.data || {},
timeout: options.timeout || 30000
timeout: options.timeout || API_CONFIG.TIMEOUT
};
// 发送请求
@@ -181,7 +179,7 @@ export const chatAPI = {
console.log('发送AI聊天请求参数:', requestData);
const response = await request({
url: '/api/chat/sync',
url: API_CONFIG.ENDPOINTS.CHAT_SYNC,
method: 'POST',
data: requestData
});
@@ -288,7 +286,7 @@ export const chatAPI = {
asyncChat: async (params) => {
try {
const response = await request({
url: '/api/chat/async',
url: API_CONFIG.ENDPOINTS.CHAT_ASYNC,
method: 'POST',
data: {
message: params.message,
@@ -315,7 +313,7 @@ export const chatAPI = {
getChatHistory: async (conversationId) => {
try {
const response = await request({
url: `/api/chat/history/${conversationId}`,
url: `${API_CONFIG.ENDPOINTS.CHAT_HISTORY}/${conversationId}`,
method: 'GET'
});
@@ -336,7 +334,7 @@ export const chatAPI = {
createConversation: async (characterId) => {
try {
const response = await request({
url: '/api/chat/conversation',
url: API_CONFIG.ENDPOINTS.CHAT_CONVERSATION,
method: 'POST',
data: {
characterId: characterId
@@ -360,7 +358,7 @@ export const chatAPI = {
clearSession: async (sessionId) => {
try {
const response = await request({
url: `/api/chat/session/${sessionId}`,
url: `${API_CONFIG.ENDPOINTS.CHAT_SESSION}/${sessionId}`,
method: 'DELETE'
});
@@ -393,7 +391,7 @@ export const chatAPI = {
try {
const response = await request({
url: '/app/message/history',
url: API_CONFIG.ENDPOINTS.MESSAGE_HISTORY,
method: 'GET',
data: {
sessionId: sessionId
@@ -451,7 +449,7 @@ export const voiceAPI = {
console.log('开始文本转语音:', text);
const response = await request({
url: '/api/chat/tts',
url: API_CONFIG.ENDPOINTS.TTS,
method: 'POST',
data: {
text: text,
@@ -506,7 +504,7 @@ export const voiceAPI = {
console.log('开始对话+语音合成:', message);
const response = await request({
url: '/api/chat/answer-tts',
url: API_CONFIG.ENDPOINTS.ANSWER_TTS,
method: 'POST',
data: {
message: message,
@@ -569,7 +567,7 @@ export const voiceAPI = {
return new Promise((resolve) => {
uni.uploadFile({
url: BASE_URL + '/api/chat/voice-chat',
url: getApiUrl(API_CONFIG.ENDPOINTS.VOICE_CHAT),
filePath: filePath,
name: 'audio',
header: authHeader ? {
@@ -695,7 +693,7 @@ export const voiceAPI = {
return new Promise((resolve) => {
uni.uploadFile({
url: BASE_URL + '/api/chat/upload-voice-chat',
url: getApiUrl(API_CONFIG.ENDPOINTS.UPLOAD_VOICE_CHAT),
filePath: filePath,
name: 'audio',
header: authHeader ? {
@@ -817,7 +815,7 @@ export const rechargeAPI = {
getUserBalance: async () => {
try {
const response = await request({
url: '/api/recharge/balance',
url: API_CONFIG.ENDPOINTS.RECHARGE_BALANCE,
method: 'GET'
});
@@ -838,7 +836,7 @@ export const rechargeAPI = {
createRechargeOrder: async (orderData) => {
try {
const response = await request({
url: '/api/recharge/create-order',
url: API_CONFIG.ENDPOINTS.RECHARGE_CREATE_ORDER,
method: 'POST',
data: {
amount: orderData.amount,
@@ -864,7 +862,7 @@ export const rechargeAPI = {
getOrderStatus: async (orderId) => {
try {
const response = await request({
url: `/api/recharge/order-status/${orderId}`,
url: `${API_CONFIG.ENDPOINTS.RECHARGE_ORDER_STATUS}/${orderId}`,
method: 'GET'
});
@@ -885,7 +883,7 @@ export const rechargeAPI = {
getRechargeHistory: async (params = {}) => {
try {
const response = await request({
url: '/api/recharge/history',
url: API_CONFIG.ENDPOINTS.RECHARGE_HISTORY,
method: 'GET',
data: {
page: params.page || 1,
@@ -915,7 +913,7 @@ export const roleAPI = {
getRoles: async () => {
try {
const response = await request({
url: '/app/role/query',
url: API_CONFIG.ENDPOINTS.ROLE_QUERY,
method: 'GET'
});
@@ -936,7 +934,7 @@ export const roleAPI = {
getRoleById: async (roleId) => {
try {
const response = await request({
url: `/api/role/query?roleId=${roleId}`,
url: `${API_CONFIG.ENDPOINTS.ROLE_DETAIL}?roleId=${roleId}`,
method: 'GET'
});
@@ -960,7 +958,7 @@ export const configAPI = {
getAllConfigs: async () => {
try {
const response = await request({
url: '/app/config/query',
url: API_CONFIG.ENDPOINTS.CONFIG_QUERY,
method: 'GET'
});
@@ -981,7 +979,7 @@ export const configAPI = {
getModels: async () => {
try {
const response = await request({
url: '/app/config/models',
url: API_CONFIG.ENDPOINTS.CONFIG_MODELS,
method: 'GET'
});
@@ -1002,7 +1000,7 @@ export const configAPI = {
getSTTConfigs: async () => {
try {
const response = await request({
url: '/app/config/stt',
url: API_CONFIG.ENDPOINTS.CONFIG_STT,
method: 'GET'
});
@@ -1023,7 +1021,7 @@ export const configAPI = {
getTemplates: async () => {
try {
const response = await request({
url: '/app/config/templates',
url: API_CONFIG.ENDPOINTS.CONFIG_TEMPLATES,
method: 'GET'
});
@@ -1044,7 +1042,7 @@ export const configAPI = {
getTTSConfigs: async () => {
try {
const response = await request({
url: '/app/config/tts',
url: API_CONFIG.ENDPOINTS.CONFIG_TTS,
method: 'GET'
});