评论连接优化,新增私信页面,等私信后端写完

Change-Id: I63c05945c47be9bcba6113ddd299058f302cb927
diff --git a/react-ui/src/pages/Message/service.ts b/react-ui/src/pages/Message/service.ts
new file mode 100644
index 0000000..958290e
--- /dev/null
+++ b/react-ui/src/pages/Message/service.ts
@@ -0,0 +1,155 @@
+import { request } from '@umijs/max';
+import type {
+    SysUserMessage,
+    ChatContact,
+    ChatContactListParams,
+    ChatHistoryParams,
+    SendMessageParams,
+} from './data.d';
+
+// API 路径配置 - 可根据实际后端接口调整
+const API_CONFIG = {
+    CHAT_CONTACTS: '/api/system/message/contacts',  // 可改为: '/api/message/contacts' 或其他路径
+    CHAT_HISTORY: '/api/system/message/list',    // 可改为: '/api/message/history' 或其他路径
+    SEND_MESSAGE: '/api/system/message',       // 可改为: '/api/message/send' 或其他路径
+    USER_INFO: '/api/system/user',                  // 可改为: '/api/user' 或其他路径
+};
+
+/** 获取聊天对象列表 */
+export async function getChatContactList(params?: ChatContactListParams) {
+    // 默认数据
+    const defaultData = [
+        {
+            userId: 2,
+            userName: '张三',
+            avatar: '',
+            lastMessage: '你好,请问有什么可以帮助你的吗?',
+            lastMessageTime: new Date(Date.now() - 1000 * 60 * 30),
+            unreadCount: 2
+        },
+        {
+            userId: 3,
+            userName: '李四',
+            avatar: '',
+            lastMessage: '关于最近的活动,我想了解更多细节。',
+            lastMessageTime: new Date(Date.now() - 1000 * 60 * 60 * 2),
+            unreadCount: 0
+        },
+        {
+            userId: 4,
+            userName: '王五',
+            avatar: '',
+            lastMessage: '好的,我知道了,谢谢!',
+            lastMessageTime: new Date(Date.now() - 1000 * 60 * 60 * 24),
+            unreadCount: 1
+        }
+    ];
+
+    try {
+        const queryString = params
+            ? `?${new URLSearchParams(params as Record<string, any>).toString()}`
+            : '';
+        const response = await request(`${API_CONFIG.CHAT_CONTACTS}${queryString}`, {
+            method: 'get',
+        });
+
+        // 如果接口返回空数据,使用默认数据
+        if (!response || response.length === 0) {
+            return defaultData;
+        }
+        return response;
+    } catch (error) {
+        // 接口报错时返回默认数据
+        console.warn('获取聊天对象列表接口异常,使用默认数据:', error);
+        return defaultData;
+    }
+
+}
+
+/** 获取与指定用户的聊天记录 */
+export async function getChatHistory(params: ChatHistoryParams) {
+    // 默认数据
+    const defaultData = [
+        {
+            messageId: 1,
+            senderId: params.userId,
+            receiverId: params.currentUserId || 1,
+            content: `这是来自用户${params.userId}的第一条消息`,
+            createTime: new Date(Date.now() - 1000 * 60 * 60 * 2),
+            delFlag: '0'
+        },
+        {
+            messageId: 2,
+            senderId: params.currentUserId || 1,
+            receiverId: params.userId,
+            content: '收到,感谢你的消息',
+            createTime: new Date(Date.now() - 1000 * 60 * 60),
+            delFlag: '0'
+        },
+        {
+            messageId: 3,
+            senderId: params.userId,
+            receiverId: params.currentUserId || 1,
+            content: `这是来自用户${params.userId}的最新消息,包含更多详细信息`,
+            createTime: new Date(Date.now() - 1000 * 60 * 30),
+            delFlag: '0'
+        }
+    ];
+
+    // try {
+    //     const queryString = `?${new URLSearchParams(params as Record<string, any>).toString()}`;
+    //     const response = await request(`${API_CONFIG.CHAT_HISTORY}${queryString}`, {
+    //         method: 'get',
+    //     });
+
+    //     // 如果接口返回空数据,使用默认数据
+    //     if (!response || response.length === 0) {
+    //         return defaultData;
+    //     }
+    //     return response;
+    // } catch (error) {
+    //     // 接口报错时返回默认数据
+    //     console.warn('获取聊天记录接口异常,使用默认数据:', error);
+    //     return defaultData;
+    // }
+    return defaultData;
+}
+
+/** 发送消息 */
+export async function sendMessage(params: SendMessageParams) {
+    try {
+        return await request(API_CONFIG.SEND_MESSAGE, {
+            method: 'post',
+            data: params,
+        });
+    } catch (error) {
+        // 发送消息失败时记录错误但不返回默认数据,让组件处理错误
+        console.error('发送消息接口异常:', error);
+        throw error; // 重新抛出错误,让调用方处理
+    }
+}
+
+/** 获取用户信息(用于聊天对象显示) */
+export async function getUserInfo(userId: number) {
+    // 默认用户信息
+    const defaultUserInfo = {
+        userId,
+        userName: `用户${userId}`,
+        avatar: ''
+    };
+
+    try {
+        const response = await request(`${API_CONFIG.USER_INFO}/${userId}`, {
+            method: 'get',
+        });
+
+        if (!response) {
+            return defaultUserInfo;
+        }
+        return response;
+    } catch (error) {
+        // 接口报错时返回默认用户信息
+        console.warn(`获取用户${userId}信息接口异常,使用默认数据:`, error);
+        return defaultUserInfo;
+    }
+}
\ No newline at end of file