package bhomedbapi import ( "basic.com/pubsub/protomsg.git" jsoniter "github.com/json-iterator/go" ) type ChanManageApi struct { } //保存轮询配置 func (api ChanManageApi) SavePollPeriod(period int) (bool, interface{}) { url := DATA_URL_PREFIX + "/pollConfig/savePollPeriod" netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url)) client := NewClient(WithNodes(netNode)) 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 var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { logPrint(err) return false, nil } return res.Success, res.Data } func (api ChanManageApi) SavePollDelay(delay int) (bool, interface{}) { url := DATA_URL_PREFIX + "/pollConfig/savePollDelay" netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url)) client := NewClient(WithNodes(netNode)) 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 var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { logPrint(err) return false, nil } return res.Success, res.Data } //获取轮询配置 func (api ChanManageApi) GetPollConfig() (flag bool, config protomsg.PollConfig) { url := DATA_URL_PREFIX + "/pollConfig/getPollConfig" netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url)) client := NewClient(WithNodes(netNode)) body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, config } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal to Result err:", err) return false, config } b, err := json.Marshal(res.Data) if err != nil { logPrint("marshal res.Data err:", err) return false, config } else { err = json.Unmarshal(b, &config) if err != nil { logPrint("unmarshal config err:", err) return false, config } else { return true, config } } } //切换轮询是否开启和关闭 func (api ChanManageApi) UpdatePollEnable(enable bool) bool { url := DATA_URL_PREFIX + "/pollConfig/updateEnable" netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url)) client := NewClient(WithNodes(netNode)) 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 var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false } return res.Success } func (api ChanManageApi) UpdateChannelCount(pollChannelCount int, videoChannelCount int) bool { url := DATA_URL_PREFIX + "/pollConfig/updateChannelCount" netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url)) client := NewClient(WithNodes(netNode)) paramBody := make(map[string]interface{}, 0) paramBody["pollChannelCount"] = pollChannelCount paramBody["videoChannelCount"] = videoChannelCount body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) if err != nil { return false } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false } return res.Success }