This commit is contained in:
2025-07-07 20:11:59 +08:00
parent ab0fdbc447
commit 06e3aa2eb3
2009 changed files with 193082 additions and 0 deletions

107
third/plane/progress.go Normal file
View File

@ -0,0 +1,107 @@
package plane
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/tiger1103/gfast/v3/third/plane/globe"
)
type Progerss_putter_close_Req struct {
g.Meta `path:"progress/putter_close" summary:"推杆闭合进度" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_putter_close(ctx context.Context, req *Progerss_putter_close_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_putter_close_map)
}
type Progerss_putter_open_Req struct {
g.Meta `path:"progress/putter_open" summary:"推杆展开进度" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_putter_open(ctx context.Context, req *Progerss_putter_open_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_putter_open_map)
}
type Progerss_Reply_Req struct {
g.Meta `path:"progress/err_reply" summary:"up回复错误状态" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_Reply(ctx context.Context, req *Progerss_Reply_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Reply)
}
type Progerss_device_reboot_Req struct {
g.Meta `path:"progress/device_reboot" summary:"机库重启进度推送" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_device_reboot(ctx context.Context, req *Progerss_device_reboot_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_device_reboot_map)
}
type Progerss_cover_close_Req struct {
g.Meta `path:"progress/cover_close" summary:"机库关闭舱盖进度推送" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_cover_close(ctx context.Context, req *Progerss_cover_close_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_cover_close_map)
}
type Progerss_cover_open_Req struct {
g.Meta `path:"progress/cover_open" summary:"机库打开舱盖进度推送" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_cover_open(ctx context.Context, req *Progerss_cover_open_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_cover_open_map)
}
type Progerss_drone_close_Req struct {
g.Meta `path:"progress/drone_close" summary:"飞行器关机进度推送" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_drone_close(ctx context.Context, req *Progerss_drone_close_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_drone_close_map)
}
type Progerss_drone_open_Req struct {
g.Meta `path:"progress/drone_open" summary:"飞行器开机进度推送" method:"get" tags:"无人机进度数据相关ws"`
}
func (receiver PLANE) Progerss_drone_open(ctx context.Context, req *Progerss_drone_open_Req) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Progress_drone_open_map)
}
type DeviceStatusReq struct {
g.Meta `path:"device_status" summary:"ws推送飞机状态" method:"get" tags:"无人机进度数据相关ws"`
}
type DeviceStatusRes struct {
Code int `json:"code"`
Data interface{} `json:"data"`
}
func (receiver PLANE) DeviceStatus(ctx context.Context, req *DeviceStatusReq) (res *UsualRes, err error) {
return save_ws(ctx, &globe.WS_Status_map)
}
func save_ws(ctx context.Context, _map *globe.WS_MAP) (res *UsualRes, err error) {
r := ghttp.RequestFromCtx(ctx)
ws, err := r.WebSocket()
if err != nil {
return nil, err
}
ip := r.Get("token").String()
globe.MutexRw.Lock()
(*_map)[ip] = ws
globe.MutexRw.Unlock()
fmt.Println("ws连接了", ip)
for {
_, _, err = ws.ReadMessage()
if err != nil {
fmt.Println("ws断开了", ip)
delete(*_map, ip)
return nil, err
}
}
}