| | |
| | | |
| | | import ( |
| | | "basic.com/pubsub/protomsg.git" |
| | | json "github.com/json-iterator/go" |
| | | jsoniter "github.com/json-iterator/go" |
| | | ) |
| | | |
| | | type ClusterApi struct { |
| | | |
| | | } |
| | | |
| | | func (api ClusterApi) FindCluster() (flag bool,info protomsg.ClusterAndNodes) { |
| | | func (api ClusterApi) FindCluster() (flag bool, info protomsg.ClusterAndNodes) { |
| | | url := DATA_URL_PREFIX + "/cluster/findCluster" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | body,err := client.DoGetRequest(url, nil,nil) |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return false,info |
| | | return false, info |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,info |
| | | return false, info |
| | | } |
| | | if res.Success { |
| | | b, err := json.Marshal(res.Data) |
| | | if err !=nil { |
| | | if err != nil { |
| | | logPrint("marshal res.Data err") |
| | | return false,info |
| | | return false, info |
| | | } |
| | | if err = json.Unmarshal(b, &info);err !=nil { |
| | | return false,info |
| | | if err = json.Unmarshal(b, &info); err != nil { |
| | | return false, info |
| | | } else { |
| | | return true,info |
| | | return true, info |
| | | } |
| | | } |
| | | |
| | | return false,info |
| | | return false, info |
| | | } |
| | | |
| | | func (api ClusterApi) Create(clusterName string, password string, virtualIp string) (bool,interface{}) { |
| | | func (api ClusterApi) Create(clusterName string, password string, virtualIp string) (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/create" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | paramBody := map[string]interface{}{ |
| | | "clusterName": clusterName, |
| | | "password": password, |
| | | "virtualIp": virtualIp, |
| | | "password": password, |
| | | "virtualIp": virtualIp, |
| | | } |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | func (api ClusterApi) Search(searchNum string, password string) (bool,interface{}) { |
| | | func (api ClusterApi) Search(searchNum string, password string) (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/search" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | paramBody := map[string]interface{}{ |
| | | "searchNum": searchNum, |
| | | "password": password, |
| | | "password": password, |
| | | } |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | func (api ClusterApi) GetSearchNodes() (bool,interface{}) { |
| | | func (api ClusterApi) GetSearchNodes() (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/getSearchNodes" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | body,err := client.DoGetRequest(url, nil,nil) |
| | | body, err := client.DoGetRequest(url, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | func (api ClusterApi) StopSearching(searchNum string) (bool,interface{}) { |
| | | func (api ClusterApi) StopSearching(searchNum string) (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/stopSearching" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | paramBody := map[string]interface{}{ |
| | | "searchNum": searchNum, |
| | | } |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | func (api ClusterApi) UpdateClusterName(clusterName string, virtualIp string) (bool,interface{}) { |
| | | func (api ClusterApi) UpdateClusterName(clusterName string, virtualIp string) (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/updateClusterName" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | paramBody := map[string]interface{}{ |
| | | "clusterName": clusterName, |
| | | "virtualIp": virtualIp, |
| | | "virtualIp": virtualIp, |
| | | } |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | func (api ClusterApi) Leave() (bool,interface{}) { |
| | | func (api ClusterApi) Leave() (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/leave" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, nil,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, nil, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | |
| | | func (api ClusterApi) JoinCluster(paramBody map[string]interface{}) (bool,interface{}) { |
| | | func (api ClusterApi) JoinCluster(paramBody map[string]interface{}) (bool, interface{}) { |
| | | url := DATA_URL_PREFIX + "/cluster/joinCluster" |
| | | netNode := getNetNode(url2Topic(Topic_System_Service,url)) |
| | | netNode := getNetNode(url2Topic(Topic_System_Service, url)) |
| | | client := NewClient(WithNodes(netNode)) |
| | | body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) |
| | | body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) |
| | | if err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | var res Result |
| | | var json = jsoniter.ConfigCompatibleWithStandardLibrary |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false,nil |
| | | return false, nil |
| | | } |
| | | |
| | | return res.Success,res.Data |
| | | return res.Success, res.Data |
| | | } |
| | | |
| | | |
| | | |