import tui from './httpRequest' function unwrap(res) { if (!res) return null if (res.success === false) { uni.showToast({ title: res.message || '请求失败', icon: 'none' }) return null } return res.result !== undefined ? res.result : res } function unwrapIeHome(res) { if (!res) return null if (res.success === false) { const message = res.message || '请求失败' if (message.indexOf('i/e 身份已被封禁') !== -1 || message.indexOf('ie 身份已被封禁') !== -1) { return { banned: true, message } } uni.showToast({ title: message, icon: 'none' }) return null } return res.result !== undefined ? res.result : res } export function ieHome() { return tui.request('/app/ie/home', 'GET', {}, false, false, true).then(unwrapIeHome) } export function getIeUnreadCount() { return tui.request('/app/ie/unread-count', 'GET', {}, false, true, true).then(unwrap) } export function updateIeStatus(data) { return tui.request('/app/ie/status', 'POST', data, false, false, true).then(unwrap) } export function getIeProfile() { return tui.request('/app/ie/profile', 'GET', {}, false, false, true).then(unwrap) } export function getIeUserProfile(targetUserId) { return tui.request(`/app/ie/profiles/${targetUserId}`, 'GET', {}, false, false, true).then(unwrap) } export function getIeRoomTargetProfile(roomId) { return tui.request(`/app/ie/rooms/${roomId}/profile`, 'GET', {}, false, true, true).then(unwrap) } export function saveIeProfile(data) { return tui.request('/app/ie/profile', 'POST', data, false, false, false).then(unwrap) } export function startIeMatch(data) { return tui.request('/app/ie/match/start', 'POST', data, false, false, false).then(unwrap) } export function sendIePresence(roomId, data) { return tui.request(`/app/ie/rooms/${roomId}/presence`, 'POST', data, false, false, true).then(unwrap) } export function finishIeRoom(roomId) { return tui.request(`/app/ie/rooms/${roomId}/finish`, 'POST', {}, false, false, true).then(unwrap) } export function reportIeRoom(roomId, data) { return tui.request(`/app/ie/rooms/${roomId}/report`, 'POST', data, false, false, true).then(unwrap) } export function blockIeUser(blockedUserId, reason = '') { return tui.request(`/app/ie/block/${blockedUserId}`, 'POST', { reason }, false, true, true).then(unwrap) } export function unblockIeUser(blockedUserId) { return tui.request(`/app/ie/block/${blockedUserId}`, 'DELETE', {}, false, false, false).then(unwrap) } export function getIeBlockStatus(blockedUserId) { return tui.request(`/app/ie/block/${blockedUserId}/status`, 'GET', {}, false, true, true).then(unwrap) } export function blockIeRoomTarget(roomId, reason = '') { return tui.request(`/app/ie/rooms/${roomId}/block`, 'POST', { reason }, false, false, false).then(unwrap) } export function unblockIeRoomTarget(roomId) { return tui.request(`/app/ie/rooms/${roomId}/block`, 'DELETE', {}, false, false, false).then(unwrap) } export function getIeRoomBlockStatus(roomId) { return tui.request(`/app/ie/rooms/${roomId}/block/status`, 'GET', {}, false, true, true).then(unwrap) } export function fetchIeOffline() { return tui.request('/app/ie/offline', 'GET', {}, false, false, true).then(unwrap) } export function pageIeMessages(roomId, pageNumber = 1, pageSize = 20) { return tui.request(`/app/ie/rooms/${roomId}/messages/page`, 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function sendIeMessage(roomId, data) { return tui.request(`/app/ie/rooms/${roomId}/messages`, 'POST', data, false, false, false).then(unwrap) } export function pageIeRecords(pageNumber = 1, pageSize = 10) { return tui.request('/app/ie/records/page', 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function pageIeMatches(pageNumber = 1, pageSize = 10) { return tui.request('/app/ie/matches/page', 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function deleteIeRecord(recordId) { return tui.request(`/app/ie/records/${recordId}`, 'DELETE', {}, false, false, false).then(unwrap) } export function pageIeReports(pageNumber = 1, pageSize = 10) { return tui.request('/app/ie/reports/page', 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function pageIeBlocks(pageNumber = 1, pageSize = 10) { return tui.request('/app/ie/blocks/page', 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function getIeRoomStreak(roomId) { return tui.request(`/app/ie/rooms/${roomId}/streak`, 'GET', {}, false, true, true).then(unwrap) } export function startIeQuiz(roomId) { return tui.request(`/app/ie/rooms/${roomId}/quiz/start`, 'POST', {}, false, false, true).then(unwrap) } export function getIeQuizCurrent(roomId) { return tui.request(`/app/ie/rooms/${roomId}/quiz/current`, 'GET', {}, false, true, true).then(unwrap) } export function answerIeQuiz(roomId, answers) { return tui.request(`/app/ie/rooms/${roomId}/quiz/answer`, 'POST', { answers }, false, false, true).then(unwrap) } export function getIeDailyQuestion() { return tui.request('/app/ie/daily-question/today', 'GET', {}, false, true, true).then(unwrap) } export function answerIeDailyQuestion(content) { return tui.request('/app/ie/daily-question/answer', 'POST', { content }, false, false, false).then(unwrap) } export function pageIeDailyAnswers(pageNumber = 1, pageSize = 10) { return tui.request('/app/ie/daily-question/answers/page', 'GET', { pageNumber, pageSize }, false, true, true).then(unwrap) } export function matchIeByAnswer(answerId) { return tui.request(`/app/ie/daily-question/answers/${answerId}/match`, 'POST', {}, false, false, false).then(unwrap) } export function publishIeMoment(data) { return tui.request('/app/ie/moments', 'POST', data, false, false, false).then(unwrap) } export function pageIeMoments(userId, pageNumber = 1, pageSize = 10, roomId = '') { const params = { pageNumber, pageSize } if (userId) params.userId = userId if (roomId) params.roomId = roomId return tui.request('/app/ie/moments/page', 'GET', params, false, true, true).then(unwrap) } export function deleteIeMoment(momentId) { return tui.request(`/app/ie/moments/${momentId}`, 'DELETE', {}, false, false, true).then(unwrap) }