room.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { GET_ROOM_LIST, GET_ROOM, GET_SIG, LEAVE_ROOM } from './constant'
  2. import { request } from '../../../../utils/util'
  3. const serverToLocal = (sroom) => ({
  4. id: sroom.roomId,
  5. title: sroom.roomTitle,
  6. desc: sroom.roomInfo,
  7. time: sroom.createTime.substr(0, 10),
  8. viewCount: sroom.roomViewCount,
  9. cover: sroom.roomCoverUrl,
  10. status: sroom.roomStatus || 0,
  11. lastLookTime: (sroom.lookTime || sroom.createTime).substr(0, 16),
  12. leaderName: sroom.roomHostName
  13. })
  14. const localToServer = (room) => ({
  15. roomId: room.id,
  16. roomTitle: room.title,
  17. roomInfo: room.desc,
  18. roomHostName: room.leaderName,
  19. roomCoverUrl: room.cover,
  20. roomViewCount: room.viewCount,
  21. createTime: room.time.substr(0, 10)
  22. })
  23. export const fetchRomms = async () => {
  24. console.log(GET_ROOM_LIST)
  25. const res = await request(GET_ROOM_LIST, JSON.stringify({
  26. pageNum: 1,
  27. pageSize: 1000
  28. }), 'POST', 'application/json')
  29. if (res.data && res.data.list) {
  30. return res.data.list
  31. .map(serverToLocal)
  32. // .sort((a, b) => a.status - b.status)
  33. } else {
  34. return []
  35. }
  36. }
  37. export const leaveRoom = async (roomId) => {
  38. console.error(`${LEAVE_ROOM}?roomId=${roomId}&type=1&role=leader`)
  39. const data = await request(`${LEAVE_ROOM}?roomId=${roomId}&type=1&role=leader`, null, 'GET')
  40. console.error('success', data)
  41. }
  42. export const enterRoom = async (roomId) => {
  43. await request(`${LEAVE_ROOM}?roomId=${roomId}&type=0&role=leader`, null, 'GET')
  44. }
  45. export const fetchRoom = async (roomId) => {
  46. const res = await request(`${GET_ROOM}?roomId=${roomId}`, null, 'GET')
  47. console.log('fetchRoom', roomId, res)
  48. const scenes = res.data.sceneData
  49. if (scenes.some(scene => scene.status !== 2)) {
  50. throw new Error('房间异常,请联系主持人')
  51. }
  52. return {
  53. ...serverToLocal(res.data),
  54. scenes
  55. }
  56. }
  57. export const getRTCSig = async (userId) => {
  58. const res = await request(GET_SIG + '?userId=' + userId, null, 'GET')
  59. return res.data
  60. }