添加服务相关方法&增加日志
This commit is contained in:
@@ -5,16 +5,6 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
var device *Device
|
||||
|
||||
// 获取设备相关RPC类
|
||||
func GetDevice() *Device {
|
||||
if device == nil {
|
||||
device = &Device{}
|
||||
}
|
||||
return device
|
||||
}
|
||||
|
||||
// 设备相关RPC
|
||||
type Device struct{}
|
||||
|
||||
@@ -176,3 +166,13 @@ func (d *Device) SaveUpgradeResult(upgradeTaskId uint32, status uint8, finishTim
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var device *Device
|
||||
|
||||
// 获取设备相关RPC类
|
||||
func GetDevice() *Device {
|
||||
if device == nil {
|
||||
device = &Device{}
|
||||
}
|
||||
return device
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"golang.org/x/net/http2"
|
||||
)
|
||||
|
||||
@@ -24,6 +25,7 @@ type Request struct {
|
||||
port uint16
|
||||
rootCertPath string
|
||||
client *http.Client
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
@@ -58,11 +60,19 @@ func (r *Request) Send(methodName string, body any, responseBody any) error {
|
||||
return fmt.Errorf("response body json unmarshal fail: %v", err)
|
||||
}
|
||||
|
||||
if r.logger != nil {
|
||||
r.logger.Debug("request: ",
|
||||
zap.String("method", methodName),
|
||||
zap.String("request", string(bodyByte)),
|
||||
zap.String("response", string(responseBodyByte)),
|
||||
)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 初始化
|
||||
func Initiate(host string, port uint16, rootCertPath string) error {
|
||||
func Initiate(host string, port uint16, rootCertPath string, logger *zap.Logger) error {
|
||||
rootCert, err := os.ReadFile(rootCertPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cert file read fail")
|
||||
@@ -70,6 +80,7 @@ func Initiate(host string, port uint16, rootCertPath string) error {
|
||||
defaultRequest.host = host
|
||||
defaultRequest.port = port
|
||||
defaultRequest.rootCertPath = rootCertPath
|
||||
defaultRequest.logger = logger
|
||||
|
||||
certPool := x509.NewCertPool()
|
||||
certPool.AppendCertsFromPEM(rootCert)
|
||||
|
||||
46
pkg/rpc/server.go
Normal file
46
pkg/rpc/server.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package rpc
|
||||
|
||||
import "fmt"
|
||||
|
||||
// 服务相关RPC
|
||||
type Server struct{}
|
||||
|
||||
// 获取Websocket签名信息
|
||||
func (s *Server) GetWebsocketSignData(sign string) (*WebsocketSignData, error) {
|
||||
body := map[string]any{
|
||||
"sign": sign,
|
||||
}
|
||||
result := &Result[WebsocketSignData]{}
|
||||
if err := GetRequest().Send("server.get_websocket_sign", body, result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 0 {
|
||||
return nil, fmt.Errorf("%s", result.Message)
|
||||
}
|
||||
return &result.Data, nil
|
||||
}
|
||||
|
||||
// 删除Websocket签名
|
||||
func (s *Server) DeleteWebsocketSign(sign string) error {
|
||||
body := map[string]any{
|
||||
"sign": sign,
|
||||
}
|
||||
result := &Result[WebsocketSignData]{}
|
||||
if err := GetRequest().Send("server.get_websocket_sign", body, result); err != nil {
|
||||
return err
|
||||
}
|
||||
if result.Code != 0 {
|
||||
return fmt.Errorf("%s", result.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var server *Server
|
||||
|
||||
// 获取服务相关RPC类
|
||||
func GetServer() *Server {
|
||||
if server == nil {
|
||||
server = &Server{}
|
||||
}
|
||||
return server
|
||||
}
|
||||
@@ -66,3 +66,9 @@ type DeviceAttributeOption struct {
|
||||
Max *uint32 `json:"max,omitempty"`
|
||||
} `json:"attribute"`
|
||||
}
|
||||
|
||||
// Websocket签名数据
|
||||
type WebsocketSignData struct {
|
||||
UserId uint32 `json:"user_id"`
|
||||
Platform string `json:"platform"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user