1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package models
- import (
- "encoding/json"
- "github.com/mitchellh/mapstructure"
- "log"
- "strconv"
- )
- const (
- AgentCmdType = "AGENT_CMD_TYPE"
- SendFileType = "AGENT_SEND_FILE"
- RegisterNginxType = "REGISTER_NGINX"
- NginxUpdateType = "NGINX_UPDATE"
- AgentConnected = "AGENT_CONNECTED"
- ServerConnected = "SERVER_CONNECTED"
- )
- /*
- AgentData agent与server之间通信的消息类型
- 属性:
- - Type 操作类型
- */
- type AgentData struct {
- RequestId string `json:"requestId"`
- Data interface{} `json:"data"`
- Success bool `json:"success"`
- Msg string `json:"msg"`
- Type string `json:"type"`
- }
- func (r *AgentData) ReadData(result interface{}) error {
- err := mapstructure.Decode(r.Data, result)
- return err
- }
- func (r *AgentData) ReadStringData() string {
- msg, ok := r.Data.(string)
- if ok {
- return msg
- }
- b, ok := r.Data.([]byte)
- if ok {
- return string(b)
- }
- i, ok := r.Data.(int)
- if ok {
- return strconv.Itoa(i)
- }
- b, err := json.Marshal(r.Data)
- if err != nil {
- log.Printf("read string data error: %v", err)
- return ""
- }
- return string(b)
- }
- type AgentCMD struct {
- Cmd string `json:"cmd"`
- }
- type AgentSendFile struct {
- FileName string `json:"fileName"`
- Dst string `json:"dst"`
- }
|