作者 庄敏学
... ... @@ -24,6 +24,7 @@ _testmain.go
.log
.idea
.vscode
cmd/chart-server/api/go_build_bchart
app.log
#go.sum
... ...
... ... @@ -82,6 +82,7 @@ type ChartItem struct {
Name string `json:"name,optional"` // 名称
Cover string `json:"cover,optional"` // 封面
ChartType string `json:"chartType,optional"` // 图表类型
UpdatedAt int `json:"updatedAt,optional"` // 更新时间
ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性
}
... ...
syntax = "v1"
info(
... ... @@ -60,106 +59,106 @@ type (
ChartGetRequest {
Id int64 `path:"id"`
}
ChartGetResponse struct{
ChartGetResponse {
Chart ChartItem `json:"chart"`
}
ChartSaveRequest struct{
Pid int64 `json:"pid,optional"`// 父级ID
Type string `json:"type"`// 类型 report:报表 group:分组 chart:图表
Name string `json:"name,optional"`// 名称
ChartSaveRequest {
Pid int64 `json:"pid,optional"` // 父级ID
Type string `json:"type"` // 类型 report:报表 group:分组 chart:图表
Name string `json:"name,optional"` // 名称
ChartType string `json:"chartType"` // 图表类型
Cover string `json:"cover,optional"` // 封面
ChartProperty ChartProperty `json:"property"` // 图表属性
}
ChartSaveResponse struct{
ChartSaveResponse {
Chart ChartItem `json:"chart"`
}
ChartSaveAsRequest struct{
ChartSaveAsRequest {
ChartId int64 `json:"chartId"` // 图表Id
Name string `json:"name"`// 名称
Name string `json:"name"` // 名称
}
ChartSaveAsResponse struct{
ChartSaveAsResponse {
Chart ChartItem `json:"chart"`
}
ChartDeleteRequest struct{
ChartDeleteRequest {
Id int64 `path:"id"`
}
ChartDeleteResponse struct{}
ChartUpdateRequest struct{
ChartUpdateRequest {
Id int64 `path:"id"`
Cover string `json:"cover,optional"` // 封面
ChartProperty ChartProperty `json:"property"` // 图表属性
}
ChartUpdateResponse struct{}
ChartSearchRequest struct {
ChartSearchRequest {
IncludeTypes []string `json:"includeTypes,optional"` //包含的类型: 类型 report:报表 group:分组 chart:图表(未指定返回所有)
DataStyle string `json:"dataStyle,optional"` // 数据样式 tree:树形 flat:平铺
}
ChartSearchResponse{
ChartSearchResponse {
List []ChartItem `json:"list"`
Total int64 `json:"total"`
}
ChartUpdateSortRequest struct{
ChartUpdateSortRequest {
Id int64 `json:"id"`
Pid int64 `json:"pid"`
Index int `json:"index"` // 元素下标
}
ChartUpdateSortResponse struct{}
ChartRenameRequest struct{
ChartRenameRequest {
Id int64 `json:"id"`
Name string `json:"name"`// 名称
Name string `json:"name"` // 名称
}
ChartRenameResponse struct{}
ChartItem struct{
Id int64 `json:"id,optional"`// ID
Pid int64 `json:"pid,optional"`// 父级ID
Type string `json:"type,optional"`// 类型 report:报表 group:分组 chart:图表
Sort int64 `json:"sort,optional"`// 排序
Name string `json:"name,optional"`// 名称
ChartItem {
Id int64 `json:"id,optional"` // ID
Pid int64 `json:"pid,optional"` // 父级ID
Type string `json:"type,optional"` // 类型 report:报表 group:分组 chart:图表
Sort int64 `json:"sort,optional"` // 排序
Name string `json:"name,optional"` // 名称
Cover string `json:"cover,optional"` // 封面
ChartType string `json:"chartType,optional"` // 图表类型
UpdatedAt int `json:"updatedAt,optional"` // 更新时间
ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性
}
LoadChartDataRequest struct{
LoadChartDataRequest {
ChartId int64 `json:"chartId"`
}
LoadChartDataResponse struct{
LoadChartDataResponse {
}
)
type(
ChartComponentSearchRequest{
type (
ChartComponentSearchRequest {
Name string `json:"name,optional"`
}
ChartComponentSearchResponse{
ChartComponentSearchResponse {
List []ChartComponentItem `json:"list"`
Total int64 `json:"total"`
}
ChartComponentItem struct{
Name string `json:"name,optional"`// 名称
Code string `json:"code,optional"`// 编码
ChartComponentItem {
Name string `json:"name,optional"` // 名称
Code string `json:"code,optional"` // 编码
Cover string `json:"cover,optional"` // 封面
Desc string `json:"desc,optional"`// 描述
Desc string `json:"desc,optional"` // 描述
}
)
type(
ChartProperty struct {
type (
ChartProperty {
Title Title `json:"title,optional"` // 标题
TableAbility TableAbility `json:"table,optional"` // 表筛选功能
Series []Series `json:"series,optional"` // 系列(数据源)
Other Other `json:"other,optional"` // 其他额外配置
}
Other struct {
Other {
Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图
}
Quarter struct {
Quarter {
XAxisLabel string `json:"xAxisLabel"` // x轴标签名
XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1
XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2
... ... @@ -170,10 +169,10 @@ type(
AreaColor bool `json:"areaColor"` // 颜色
SeriesList []QuarterSeries `json:"seriesList"` // 图形系列
}
QuarterSeries struct {
QuarterSeries {
SeriesValue string `json:"seriesValue"`
}
Title struct {
Title {
TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关
IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关
TitleType string `json:"titleType"` // 标题类型
... ... @@ -187,17 +186,17 @@ type(
HeadingAlign string `json:"headingAlign,optional"` // 主标题 文本对齐方式 left center right
SubAlign string `json:"subAlign,optional"` // 副标题 文本对齐方式 left center right
}
TableAbility struct {
TableAbility {
FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关
DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表
CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关
CardIdent string `json:"cardIdent,optional"` // 顺序标识
CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序
}
CardOrderItem struct {
CardOrderItem {
CardId string `json:"cardId,optional"`
}
Series struct {// 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1)
Series { // 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1)
Name string `json:"name"` // 名称 (例如 指标1、指标2)
SourceFrom string `json:"from,options=[ByteBank,User]"` // 数据源类型 ByteBank:字库 User:用户自定义
DataSourceId int64 `json:"dataSourceId,optional,omitempty"` // 数据源ID(from值为ByteBank时有值)
... ... @@ -207,12 +206,12 @@ type(
TargetNum string `json:"targetNum,optional,omitempty"` // 指标数值
TargetUnit string `json:"targetUnit,optional,omitempty"` // 指标单位
}
Expression struct {
Expression {
Operator string `json:"operator"` // 操作符号 <,>,==,<>,<=,>=
CompareValue string `json:"compareValue"` // 比较值
ToValue string `json:"toValue"` // 显示值(转为)
}
Dimension struct{
Dimension {
Name string `json:"name,optional,omitempty"`
Value string `json:"dimensionVal,optional"`
}
... ...