chart_property.go 1.9 KB
package domain

type ChartProperty struct {
	Title      *Title      `json:"title,optional"`      // 标题
	FilterRule *FilterRule `json:"filterRule,optional"` // 过滤规则
	Series     []*Series   `json:"series,optional"`     // 系列
	Cover      string      `json:"cover,optional"`      // 封面

	//XAxis interface{} `json:"xAxis"` // X轴
	//YAxis interface{} `json:"yAxis"` // Y轴
}

type Series struct {
	Type   string      `json:"type"`   // 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1)
	Name   string      `json:"name"`   // 名称
	Data   interface{} `json:"data"`   // 保存配置的时候置空
	Config *DataConfig `json:"config"` // 配置
}

type Title struct {
	MainTitle *TitleInfo `json:"main,optional"` // 主标题
	SubTitle  *TitleInfo `json:"sub,optional"`  // 副标题
}

type TitleInfo struct {
	Content     string       `json:"content,optional"`     // 标题内容
	Description *Description `json:"description,optional"` // 描述
}

type Description struct {
	Type       string `json:"type"`                // text:文字 attachment:附件
	Remark     string `json:"remark,optional"`     // 备注说明
	Attachment *File  `json:"attachment,optional"` // 附件
}

type File struct {
	FileName string `json:"name"`
	Url      string `json:"url"`
}

type FilterRule struct {
	FilterItems []*FilterItem `json:"items"`
}

type FilterItem struct {
	FieldItem
}

// FieldItem 字段项
type FieldItem struct {
	Source
	Field string `json:"field"`
}

type Source struct {
	From       string      `json:"from"`       // 数据源类型 ByteBank:字库  User:用户自定义
	SourceId   int64       `json:"id"`         // 数据源ID(from值为ByteBank时有值)
	CustomData interface{} `json:"customData"` // 自定义数据(from值为User时有值)
}

type DataConfig struct {
	Source Source `json:"source"`
}