const BASE_Friend_URL = 'http://chat.yuxindazhineng.com' // 获取好友列表 export const getChatFriend = async (sendId) => { return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/chatList/getChatFriend`, method: "POST", header: { 'Content-Type': 'application/json' }, data: { size: 500, current: 1, sendId: sendId }, success: (res) => { if (res.statusCode === 200) { const respond = res.data console.log("获取到的好友列表消息", respond); if (respond?.code === 0 || respond?.msg === '成功') { const friendList = respond.data?.records if (friendList.length > 0) { const receiverId = friendList[0].receiver // 再加一层判断,防止 receiver 为空 if (receiverId) { uni.setStorageSync('receiverId', receiverId) } } resolve(friendList) } else { const msg = res.data.error || '获取好友列表出错啦' reject(msg) } } else { reject(`获取好友列表失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 获取群聊列表 export const getGroup = async (sendId) => { return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/group/getGroup`, method: "POST", header: { 'Content-Type': 'application/json' }, data: { size: 500, current: 1, contactId: sendId }, success: (res) => { if (res.statusCode === 200) { const respond = res.data if (respond?.code === 0 || respond?.msg === '成功') { const groupList = respond.data?.records resolve(groupList) } else { const msg = res.data.error || '获取群聊列表出错啦' reject(msg) } } else { reject(`获取群聊列表失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 获取与好友的对话内容 export const getFriendMessages = async (sessionId, current = 1) => { console.log('请求的好友消息id:', sessionId); return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/message/list`, method: 'POST', data: { "sessionId": sessionId, "size": 100, "current": current, "beginTime": "", "endTime": "" }, header: { 'Content-Type': 'application/json' }, success: (res) => { if (res.statusCode === 200) { const messagesInfo = res.data // console.log("获取到的好友信息:",messagesInfo); if (messagesInfo.code === 0) { // uni.setStorageSync('currentSessionId', messagesInfo?.data // ?.sessionId) const messageList = messagesInfo?.data?.records || []; const reversedList = messageList.reverse(); resolve(reversedList); // resolve(messagesInfo?.data?.records) } else { const msg = res.data.error || '获取好友消息出错啦' reject(msg) } } else { reject(`请求失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 获取群聊的对话内容 export const getGroupMessages = async (groupId, current = 1) => { console.log('请求的群聊消息id:', groupId); return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/group/getGroupList`, method: 'POST', data: { "current": current, "size": 100, "groupId": groupId, "beginTime": "", "endTime": "" }, header: { 'Content-Type': 'application/json' }, success: (res) => { if (res.statusCode === 200) { const messagesInfo = res.data console.log("获取到的群聊信息:", messagesInfo); if (messagesInfo.code === 0) { // uni.setStorageSync('currentSessionId', messagesInfo?.data // ?.groupId) const messageList = messagesInfo?.data?.records || [] const reversedList = messageList.reverse() resolve(reversedList) // resolve(messagesInfo?.data?.records) } else { const msg = res.data.error || '获取群聊消息出错啦' reject(msg) } } else { reject(`请求失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 获取群成员 export const getGroupMemberList = async (groupId) => { return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/group/getGroupMemberList`, method: "POST", header: { 'Content-Type': 'application/json' }, data: { "groupId": groupId, "current": 1, "size": 100 }, success: (res) => { if (res.statusCode === 200) { const respond = res.data if (respond.code === 0) { const groupMemberList = respond.data.records resolve(groupMemberList) } else { const msg = res.data.error || '获取群成员出错啦' reject(msg) } } else { reject(`请求群成员失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 聊天上传文件 export const uploadFileToServer = (filePath) => { return new Promise((resolve, reject) => { uni.uploadFile({ url: `${BASE_Friend_URL}/api/file/upload`, filePath: filePath, name: 'file', success: (res) => { const data = JSON.parse(res.data) if (data.code === 0) { resolve(data.data) } else { reject(data.msg || '上传失败') } }, fail: (err) => { reject(err.errMsg || '网络错误') } }) }) } // 添加好友请求 export const sendFriendRequest = async (sendId, friendNickName, friendId) => { return new Promise((resolve, reject) => { console.log("进入sendFriendRequest"); uni.request({ url: `${BASE_Friend_URL}/api/friendship/saveShip`, method: 'POST', data: { sendId: sendId, friendNickName: friendNickName, recipientId: friendId }, success: (res) => { if (res.statusCode === 200) { const respond = res.data if (respond?.code === 0 || respond?.msg === '成功') { resolve("已成功发送好友申请") } else { const msg = res.data.msg || '发送好友申请出错啦' reject(msg) } } else { reject(`发送好友申请失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 保存好友关系(即同意好友,双向保存) export const saveFriend = async (friendList) => { return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/chatList/save`, method: 'POST', header: { 'Content-Type': 'application/json' }, data: friendList, success: (res) => { if (res.statusCode === 200) { const respond = res.data if (respond?.code === 0 || respond?.msg === '成功') { resolve("保存好友成功") } else { const msg = respond?.msg || '保存好友出错啦' reject(msg) } } else { reject(`保存好友失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) } // 获取添加我的好友 export const getFriendRequestList = async (sendId) => { return new Promise((resolve, reject) => { uni.request({ url: `${BASE_Friend_URL}/api/friendship/getFriendship`, method: 'POST', data: { "current": 1, "size": 100, "sendId": sendId }, success: (res) => { if (res.statusCode === 200) { const respond = res.data if (respond?.code === 0 || respond?.msg === '成功') { const records = respond?.data?.records || [] resolve(records) } else { const msg = res.data.msg || '获取添加我的好友出错啦' reject(msg) } } else { reject(`获取添加我的好友失败:${res.statusCode}`) } }, fail: (err) => { const msg = err.errMsg || '网络错误' reject(msg) } }) }) }