Files
jh-zz/clients/jd/edge-device.go
2025-08-09 14:42:19 +08:00

53 lines
1.1 KiB
Go

package jd
import (
"encoding/json"
"fmt"
)
func EdgeDevice(req EdgeDeviceReq) (*EdgeDeviceData, error) {
path := "/edge/device"
resp, err := Post(path, req)
if err != nil {
return nil, err
}
var respData EdgeDeviceResp
if err := json.NewDecoder(resp).Decode(&respData); err != nil {
return nil, fmt.Errorf("%s 响应解析失败: %v", path, err)
}
if respData.Code != 0 {
return nil, fmt.Errorf("%s 响应失败: %s", path, respData.Meta)
}
return &respData.Data, nil
}
type EdgeDeviceReq struct {
Geo string `json:"geo"`
Offset int `json:"offset"`
Num int `json:"num"`
}
type EdgeDeviceResp struct {
Code int `json:"code"`
Meta string `json:"meta"`
Data EdgeDeviceData `json:"data"`
}
type EdgeDeviceData struct {
Count int `json:"count"`
Edges []EdgeDeviceEdge `json:"edges"`
}
type EdgeDeviceEdge struct {
Macaddr string `json:"macaddr"`
Public string `json:"public"`
Isp string `json:"isp"`
Single int `json:"single"`
Sole bool `json:"sole"`
Arch int `json:"arch"`
Online int `json:"online"`
}