import { GET_ROOM_LIST, GET_ROOM, GET_SIG, LEAVE_ROOM } from './constant' import { request } from '../../../../utils/util' const serverToLocal = (sroom) => ({ id: sroom.roomId, title: sroom.roomTitle, desc: sroom.roomInfo, time: sroom.createTime.substr(0, 10), viewCount: sroom.roomViewCount, cover: sroom.roomCoverUrl, status: sroom.roomStatus || 0, lastLookTime: (sroom.lookTime || sroom.createTime).substr(0, 16), leaderName: sroom.roomHostName }) const localToServer = (room) => ({ roomId: room.id, roomTitle: room.title, roomInfo: room.desc, roomHostName: room.leaderName, roomCoverUrl: room.cover, roomViewCount: room.viewCount, createTime: room.time.substr(0, 10) }) export const fetchRomms = async () => { console.log(GET_ROOM_LIST) const res = await request(GET_ROOM_LIST, JSON.stringify({ pageNum: 1, pageSize: 1000 }), 'POST', 'application/json') if (res.data && res.data.list) { return res.data.list .map(serverToLocal) // .sort((a, b) => a.status - b.status) } else { return [] } } export const leaveRoom = async (roomId) => { console.error(`${LEAVE_ROOM}?roomId=${roomId}&type=1&role=leader`) const data = await request(`${LEAVE_ROOM}?roomId=${roomId}&type=1&role=leader`, null, 'GET') console.error('success', data) } export const enterRoom = async (roomId) => { await request(`${LEAVE_ROOM}?roomId=${roomId}&type=0&role=leader`, null, 'GET') } export const fetchRoom = async (roomId) => { const res = await request(`${GET_ROOM}?roomId=${roomId}`, null, 'GET') console.log('fetchRoom', roomId, res) const scenes = res.data.sceneData if (scenes.some(scene => scene.status !== 2)) { throw new Error('房间异常,请联系主持人') } return { ...serverToLocal(res.data), scenes } } export const getRTCSig = async (userId) => { const res = await request(GET_SIG + '?userId=' + userId, null, 'GET') return res.data }