package dbapi import ( "basic.com/pubsub/protomsg.git" "encoding/json" "fmt" "strconv" ) type SysSetApi struct { Ip string Port int } func (api SysSetApi) getBasicUrl() string { if api.Ip == "" { return BASIC_URL } if api.Ip == "" { api.Ip = DEFAULT_IP } if api.Port == 0 { api.Port = DEFAULT_PORT } return "http://"+api.Ip+":"+strconv.Itoa(api.Port) } //获取服务器本机配置信息 func (api SysSetApi) GetServerInfo() (flag bool,sysconf protomsg.LocalConfig){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/getServerInfo" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, sysconf } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, sysconf } b, err := json.Marshal(res.Data) if err !=nil { return false,sysconf } else { err = json.Unmarshal(b, &sysconf) if err !=nil { return false,sysconf } else { return true,sysconf } } } //保存轮询配置 func (api SysSetApi) SavePollPeriod(period int) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/pollConfig/savePollPeriod" client := NewClient() paramBody := make(map[string]interface{},0) paramBody["period"] = period body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { fmt.Println(err) return false,nil } return res.Success,res.Data } func (api SysSetApi) SavePollDelay(delay int) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/pollConfig/savePollDelay" client := NewClient() paramBody := make(map[string]interface{},0) paramBody["delay"] = delay body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { fmt.Println(err) return false,nil } return res.Success,res.Data } //获取轮询配置 func (api SysSetApi) GetPollConfig() (flag bool,config protomsg.PollConfig) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/pollConfig/getPollConfig" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, config } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, config } b, err := json.Marshal(res.Data) if err !=nil { return false,config } else { err = json.Unmarshal(b, &config) if err !=nil { return false,config } else { return true,config } } } //切换轮询是否开启和关闭 func (api SysSetApi) UpdatePollEnable(enable bool) bool{ url := api.getBasicUrl() + DATA_URL_PREFIX + "/pollConfig/updateEnable" client := NewClient() paramBody :=make(map[string]interface{},0) paramBody["enable"] = enable body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false } var res Result if err = json.Unmarshal(body, &res); err != nil { return false } return res.Success } func (api SysSetApi) AlarmEdit(paramBody map[string]interface{}) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/alarmEdit" client := NewClient() body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return res.Success,res.Data } func (api SysSetApi) VideoLenShow() (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/videoLenShow" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success,res.Data } func (api SysSetApi) VideoLenEdit(maxVideoLen string,minVideoLen string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/videoLenEdit" client := NewClient() paramBody :=make(map[string]interface{},0) paramBody["max_video_len"] = maxVideoLen paramBody["min_video_len"] = minVideoLen body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return res.Success,res.Data } func (api SysSetApi) SaveServerInfo(paramBody map[string]interface{}) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/saveServerInfo" client := NewClient() body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return res.Success,res.Data } func (api SysSetApi) Gb28181ConfigShow() (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/gb28181ConfigShow" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success,res.Data } func (api SysSetApi) Gb28181ConfigEdit(paramBody map[string]interface{}) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/gb28181ConfigEdit" client := NewClient() body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return res.Success,res.Data } //获取目标服务器的全部信息(从webserver获取) func (api SysSetApi) GetRemoteFullServerInfo() (flag bool,d interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/sysset/getDevInfo" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success,res.Data }