github.com/872409/go-netease-im@v1.0.2-0.20201109080841-fdb3e13691c5/videoRoom.go (about)

     1  package netease
     2  
     3  import (
     4  	"errors"
     5  	"net/http"
     6  )
     7  
     8  const (
     9  	neteaseRoomBaseURL = "https://roomserver-dev.netease.im/v1/api"
    10  	roomInfoPoint      = neteaseRoomBaseURL + "/rooms/{id}"
    11  	roomMembersPoint   = neteaseRoomBaseURL + "/rooms/{id}/members"
    12  )
    13  
    14  const (
    15  	// RoomModeDuet 双人模式
    16  	RoomModeDuet = iota + 1
    17  	// RoomModeMulti 多人模式
    18  	RoomModeMulti
    19  )
    20  
    21  const (
    22  	// RoomStatusInit 初始状态
    23  	RoomStatusInit = iota + 1
    24  	// RoomStatusRunning 进行中
    25  	RoomStatusRunning
    26  	// RoomStatusEnded 正常结束
    27  	RoomStatusEnded
    28  	// RoomStatusException 异常结束
    29  	RoomStatusException
    30  )
    31  
    32  // GetRoomInfo .
    33  func (c *ImClient) GetRoomInfo(roomID string) (*RoomInfo, error) {
    34  	param := map[string]string{"id": roomID}
    35  
    36  	client := c.client.R()
    37  	c.setCommonHead(client)
    38  	client.SetPathParams(param)
    39  
    40  	resp, err := client.Get(roomInfoPoint)
    41  	if err != nil {
    42  		return nil, err
    43  	}
    44  
    45  	if resp.StatusCode() != http.StatusOK {
    46  		return nil, errors.New(string(resp.Body()))
    47  	}
    48  
    49  	ri := &RoomInfo{}
    50  	if err := jsonTool.Unmarshal(resp.Body(), ri); err != nil {
    51  		return nil, err
    52  	}
    53  
    54  	return ri, nil
    55  }
    56  
    57  // GetRoomMembers .
    58  // func (c *ImClient) GetRoomMembers(roomID string) {
    59  // 	c.setCommonHead()
    60  // 	param := map[string]string{"id": roomID}
    61  
    62  // 	client := c.client.R()
    63  // 	client.SetPathParams(param)
    64  
    65  // 	resp, err := client.Get(roomMembersPoint)
    66  // }
    67  
    68  // DeleteRoom 删除某个房间
    69  func (c *ImClient) DeleteRoom(roomID string) error {
    70  	param := map[string]string{"id": roomID}
    71  
    72  	client := c.client.R()
    73  	c.setCommonHead(client)
    74  	client.SetPathParams(param)
    75  
    76  	if _, err := client.Delete(roomInfoPoint); err != nil {
    77  		return err
    78  	}
    79  
    80  	return nil
    81  }