func (c *ConfigCenter) PushConfigs(items map[string]interface{}, labels map[string]string) (map[string]interface{}, error) {
	if len(items) == 0 {
		em := "data is empty , which data need to send cc"
		openlogging.GetLogger().Error(em)
		return nil, errors.New(em)
	}
	if len(labels) == 0 {
		labels = c.opts.Labels
	}
	d, err := GenerateDimension(c.opts.Labels[config.LabelService], c.opts.Labels[config.LabelVersion], c.opts.Labels[config.LabelApp])
	if err != nil {
		return nil, err
	}
	configApi := &configcenter.CreateConfigApi{
		DimensionInfo: d,
		Items:         items,
	}
	return c.c.AddConfig(configApi)
}
PushConfigs push configs to ConfigSource cc , success will return { "Result": "Success" }
package configcenter
import (
	"errors"
	"strings"
	"github.com/go-chassis/go-chassis-config"
	"github.com/go-chassis/go-chassis-config/pkg/configcenter"
	"github.com/go-mesh/openlogging"
	"github.com/gorilla/websocket"
)
const (
	HeaderContentType = "Content-Type"
	HeaderUserAgent = "User-Agent"
	Name = "config_center"
)
var (
	ErrInvalidEP = errors.New("invalid endpoint")
)
type ConfigCenter struct {
	c        *configcenter.Client
	opts     config.Options
	wsDialer *websocket.Dialer
}
func NewConfigCenter(options config.Options) (config.Client, error) {
	if options.ServerURI == "" {
		return nil, ErrInvalidEP
	}
	configCenters := strings.Split(options.ServerURI, ",")
	cCenters := make([]string, 0)
	for _, value := range configCenters {
		value = strings.Replace(value, " ", "", -1)
		cCenters = append(cCenters, value)
	}
	d, err := GenerateDimension(options.Labels[config.LabelService], options.Labels[config.LabelVersion], options.Labels[config.LabelApp])
	if err != nil {
		return nil, err
	}
	c, err := configcenter.New(configcenter.Options{
		ConfigServerAddresses: cCenters,
		DefaultDimension:      d,
		TLSConfig:             options.TLSConfig,
		TenantName:            options.TenantName,
		EnableSSL:             options.EnableSSL,
		RefreshPort:           options.RefreshPort,
	})
	if err != nil {
		return nil, err
	}
	cc := &ConfigCenter{
		c:    c,
		opts: options,
	}
	openlogging.Info("new config center client", openlogging.WithTags(
		openlogging.Tags{
			"dimension": d,
			"ws_port":   options.RefreshPort,
			"ssl":       options.EnableSSL,
			"ep":        cCenters,
		}))
	return cc, nil
}
func (c *ConfigCenter) PullConfigs(labels ...map[string]string) (map[string]interface{}, error) {
	d := ""
	var err error
	d, err = GenerateDimension(c.opts.Labels[config.LabelService], c.opts.Labels[config.LabelVersion], c.opts.Labels[config.LabelApp])
	if err != nil {
		return nil, err
	}
	configurations, error := c.c.Flatten(d)
	if error != nil {
		return nil, error
	}
	return configurations, nil
}
func (c *ConfigCenter) PullConfig(key, contentType string, labels map[string]string) (interface{}, error) {
	if len(labels) == 0 {
		labels = c.opts.Labels
	}
	d, err := GenerateDimension(c.opts.Labels[config.LabelService], c.opts.Labels[config.LabelVersion], c.opts.Labels[config.LabelApp])
	if err != nil {
		return nil, err
	}
	configurations, error := c.c.Flatten(d)
	if error != nil {
		return nil, error
	}
	configurationsValue, ok := configurations[key]
	if !ok {
		openlogging.GetLogger().Error("Error in fetching the configurations for particular value,No Key found : " + key)
	}
	return configurationsValue, nil
}