Files
PandaX/pkg/device_rpc/rpc.go
2024-08-21 17:35:50 +08:00

36 lines
698 B
Go

package devicerpc
import (
"errors"
"fmt"
"time"
"github.com/kakuilan/kgo"
)
type RpcPayload struct {
Method string `json:"method"`
Params any `json:"params"`
}
func (rp *RpcPayload) ToMap() map[string]any {
data, err := kgo.KConv.Struct2Map(rp, "")
if err != nil {
return nil
}
return data
}
// GetRequestResult 处理设备端请求服务端方法
func (rpc RpcPayload) GetRequestResult() (string, error) {
//TODO 此处处理设备的请求参数逻辑
//自己定义请求逻辑
if rpc.Params == "getCurrentTime" {
unix := time.Now().Unix()
msg := fmt.Sprintf("%d", unix)
return msg, nil
}
// 获取属性 ...
return "", errors.New("未获取到请求方法")
}