mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 02:48:34 +08:00
36 lines
698 B
Go
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("未获取到请求方法")
|
|
}
|