mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 10:58:35 +08:00
优化
This commit is contained in:
35
pkg/device_rpc/rpc.go
Normal file
35
pkg/device_rpc/rpc.go
Normal file
@@ -0,0 +1,35 @@
|
||||
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("未获取到请求方法")
|
||||
}
|
||||
Reference in New Issue
Block a user