From d1ec9b49165c87eeeedcee1641c1a21e4cb03257 Mon Sep 17 00:00:00 2001 From: lejianwen <84855512@qq.com> Date: Sun, 23 Feb 2025 15:32:44 +0800 Subject: [PATCH] feat(api): Add /device-group/accessible for 1.3.8 --- http/controller/api/group.go | 30 ++++++++++++++++++++++++++---- http/response/api/peer.go | 13 +++++++------ http/router/api.go | 3 +++ 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/http/controller/api/group.go b/http/controller/api/group.go index 6efde55..472a4c0 100644 --- a/http/controller/api/group.go +++ b/http/controller/api/group.go @@ -45,7 +45,7 @@ func (g *Group) Users(c *gin.Context) { userList = service.AllService.UserService.ListByGroupId(u.GroupId, q.Page, q.PageSize) } - var data []*apiResp.UserPayload + data := make([]*apiResp.UserPayload, 0, len(userList.Users)) for _, user := range userList.Users { up := &apiResp.UserPayload{} up.FromUser(user) @@ -88,14 +88,14 @@ func (g *Group) Peers(c *gin.Context) { users = service.AllService.UserService.ListIdAndNameByGroupId(u.GroupId) } - namesById := make(map[uint]string) - userIds := make([]uint, 0) + namesById := make(map[uint]string, len(users)) + userIds := make([]uint, 0, len(users)) for _, user := range users { namesById[user.Id] = user.Username userIds = append(userIds, user.Id) } peerList := service.AllService.PeerService.ListByUserIds(userIds, q.Page, q.PageSize) - var data []*apiResp.GroupPeerPayload + data := make([]*apiResp.GroupPeerPayload, 0, len(peerList.Peers)) for _, peer := range peerList.Peers { uname, ok := namesById[peer.UserId] if !ok { @@ -103,6 +103,7 @@ func (g *Group) Peers(c *gin.Context) { } pp := &apiResp.GroupPeerPayload{} pp.FromPeer(peer, uname) + //pp.DeviceGroupName = uname data = append(data, pp) } @@ -111,3 +112,24 @@ func (g *Group) Peers(c *gin.Context) { Data: data, }) } + +// Device +// @Tags 群组 +// @Summary 设备 +// @Description 机器 +// @Accept json +// @Produce json +// @Param page query int false "页码" +// @Param pageSize query int false "每页数量" +// @Param status query int false "状态" +// @Param accessible query string false "accessible" +// @Success 200 {object} response.DataResponse +// @Failure 500 {object} response.Response +// @Router /device-group/accessible [get] +// @Security BearerAuth +func (g *Group) Device(c *gin.Context) { + c.JSON(http.StatusOK, response.DataResponse{ + Total: 0, + Data: nil, + }) +} diff --git a/http/response/api/peer.go b/http/response/api/peer.go index f201bc9..8de3ea6 100644 --- a/http/response/api/peer.go +++ b/http/response/api/peer.go @@ -32,12 +32,13 @@ https://github.com/rustdesk/rustdesk/blob/master/flutter/lib/common/hbbs/hbbs.da } */ type GroupPeerPayload struct { - Id string `json:"id"` - Info *PeerPayloadInfo `json:"info"` - Status int `json:"status"` - User string `json:"user"` - UserName string `json:"user_name"` - Note string `json:"note"` + Id string `json:"id"` + Info *PeerPayloadInfo `json:"info"` + Status int `json:"status"` + User string `json:"user"` + UserName string `json:"user_name"` + Note string `json:"note"` + DeviceGroupName string `json:"device_group_name"` } type PeerPayloadInfo struct { DeviceName string `json:"device_name"` diff --git a/http/router/api.go b/http/router/api.go index 38a8ee4..eeb097f 100644 --- a/http/router/api.go +++ b/http/router/api.go @@ -79,6 +79,8 @@ func ApiInit(g *gin.Engine) { gr := &api.Group{} frg.GET("/users", gr.Users) frg.GET("/peers", gr.Peers) + // /api/device-group/accessible?current=1&pageSize=100 + frg.GET("/device-group/accessible", gr.Device) } { @@ -88,6 +90,7 @@ func ApiInit(g *gin.Engine) { //更新地址 frg.POST("/ab", ab.UpAb) } + PersonalRoutes(frg) //访问静态文件 g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/public/upload"))