作者 庄敏学
@@ -24,6 +24,7 @@ _testmain.go @@ -24,6 +24,7 @@ _testmain.go
24 .log 24 .log
25 .idea 25 .idea
26 .vscode 26 .vscode
  27 +cmd/chart-server/api/go_build_bchart
27 28
28 app.log 29 app.log
29 #go.sum 30 #go.sum
@@ -82,6 +82,7 @@ type ChartItem struct { @@ -82,6 +82,7 @@ type ChartItem struct {
82 Name string `json:"name,optional"` // 名称 82 Name string `json:"name,optional"` // 名称
83 Cover string `json:"cover,optional"` // 封面 83 Cover string `json:"cover,optional"` // 封面
84 ChartType string `json:"chartType,optional"` // 图表类型 84 ChartType string `json:"chartType,optional"` // 图表类型
  85 + UpdatedAt int `json:"updatedAt,optional"` // 更新时间
85 ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 86 ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性
86 } 87 }
87 88
1 -  
2 syntax = "v1" 1 syntax = "v1"
3 2
4 info( 3 info(
@@ -60,106 +59,106 @@ type ( @@ -60,106 +59,106 @@ type (
60 ChartGetRequest { 59 ChartGetRequest {
61 Id int64 `path:"id"` 60 Id int64 `path:"id"`
62 } 61 }
63 - ChartGetResponse struct{ 62 + ChartGetResponse {
64 Chart ChartItem `json:"chart"` 63 Chart ChartItem `json:"chart"`
65 } 64 }
66 65
67 - ChartSaveRequest struct{  
68 - Pid int64 `json:"pid,optional"`// 父级ID  
69 - Type string `json:"type"`// 类型 report:报表 group:分组 chart:图表  
70 - Name string `json:"name,optional"`// 名称 66 + ChartSaveRequest {
  67 + Pid int64 `json:"pid,optional"` // 父级ID
  68 + Type string `json:"type"` // 类型 report:报表 group:分组 chart:图表
  69 + Name string `json:"name,optional"` // 名称
71 ChartType string `json:"chartType"` // 图表类型 70 ChartType string `json:"chartType"` // 图表类型
72 Cover string `json:"cover,optional"` // 封面 71 Cover string `json:"cover,optional"` // 封面
73 ChartProperty ChartProperty `json:"property"` // 图表属性 72 ChartProperty ChartProperty `json:"property"` // 图表属性
74 } 73 }
75 - ChartSaveResponse struct{ 74 + ChartSaveResponse {
76 Chart ChartItem `json:"chart"` 75 Chart ChartItem `json:"chart"`
77 } 76 }
78 77
79 - ChartSaveAsRequest struct{ 78 + ChartSaveAsRequest {
80 ChartId int64 `json:"chartId"` // 图表Id 79 ChartId int64 `json:"chartId"` // 图表Id
81 - Name string `json:"name"`// 名称 80 + Name string `json:"name"` // 名称
82 } 81 }
83 - ChartSaveAsResponse struct{ 82 + ChartSaveAsResponse {
84 Chart ChartItem `json:"chart"` 83 Chart ChartItem `json:"chart"`
85 } 84 }
86 85
87 - ChartDeleteRequest struct{ 86 + ChartDeleteRequest {
88 Id int64 `path:"id"` 87 Id int64 `path:"id"`
89 } 88 }
90 ChartDeleteResponse struct{} 89 ChartDeleteResponse struct{}
91 90
92 - ChartUpdateRequest struct{ 91 + ChartUpdateRequest {
93 Id int64 `path:"id"` 92 Id int64 `path:"id"`
94 Cover string `json:"cover,optional"` // 封面 93 Cover string `json:"cover,optional"` // 封面
95 ChartProperty ChartProperty `json:"property"` // 图表属性 94 ChartProperty ChartProperty `json:"property"` // 图表属性
96 } 95 }
97 ChartUpdateResponse struct{} 96 ChartUpdateResponse struct{}
98 97
99 - ChartSearchRequest struct { 98 + ChartSearchRequest {
100 IncludeTypes []string `json:"includeTypes,optional"` //包含的类型: 类型 report:报表 group:分组 chart:图表(未指定返回所有) 99 IncludeTypes []string `json:"includeTypes,optional"` //包含的类型: 类型 report:报表 group:分组 chart:图表(未指定返回所有)
101 DataStyle string `json:"dataStyle,optional"` // 数据样式 tree:树形 flat:平铺 100 DataStyle string `json:"dataStyle,optional"` // 数据样式 tree:树形 flat:平铺
102 } 101 }
103 - ChartSearchResponse{ 102 + ChartSearchResponse {
104 List []ChartItem `json:"list"` 103 List []ChartItem `json:"list"`
105 Total int64 `json:"total"` 104 Total int64 `json:"total"`
106 } 105 }
107 - ChartUpdateSortRequest struct{ 106 + ChartUpdateSortRequest {
108 Id int64 `json:"id"` 107 Id int64 `json:"id"`
109 Pid int64 `json:"pid"` 108 Pid int64 `json:"pid"`
110 Index int `json:"index"` // 元素下标 109 Index int `json:"index"` // 元素下标
111 } 110 }
112 ChartUpdateSortResponse struct{} 111 ChartUpdateSortResponse struct{}
113 - ChartRenameRequest struct{ 112 + ChartRenameRequest {
114 Id int64 `json:"id"` 113 Id int64 `json:"id"`
115 - Name string `json:"name"`// 名称 114 + Name string `json:"name"` // 名称
116 } 115 }
117 ChartRenameResponse struct{} 116 ChartRenameResponse struct{}
118 - ChartItem struct{  
119 - Id int64 `json:"id,optional"`// ID  
120 - Pid int64 `json:"pid,optional"`// 父级ID  
121 - Type string `json:"type,optional"`// 类型 report:报表 group:分组 chart:图表  
122 - Sort int64 `json:"sort,optional"`// 排序  
123 - Name string `json:"name,optional"`// 名称 117 + ChartItem {
  118 + Id int64 `json:"id,optional"` // ID
  119 + Pid int64 `json:"pid,optional"` // 父级ID
  120 + Type string `json:"type,optional"` // 类型 report:报表 group:分组 chart:图表
  121 + Sort int64 `json:"sort,optional"` // 排序
  122 + Name string `json:"name,optional"` // 名称
124 Cover string `json:"cover,optional"` // 封面 123 Cover string `json:"cover,optional"` // 封面
125 ChartType string `json:"chartType,optional"` // 图表类型 124 ChartType string `json:"chartType,optional"` // 图表类型
  125 + UpdatedAt int `json:"updatedAt,optional"` // 更新时间
126 ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性 126 ChartProperty *ChartProperty `json:"property,optional,omitempty"` //属性
127 } 127 }
128 - LoadChartDataRequest struct{ 128 + LoadChartDataRequest {
129 ChartId int64 `json:"chartId"` 129 ChartId int64 `json:"chartId"`
130 } 130 }
131 - LoadChartDataResponse struct{  
132 - 131 + LoadChartDataResponse {
133 } 132 }
134 ) 133 )
135 134
136 -type(  
137 - ChartComponentSearchRequest{ 135 +type (
  136 + ChartComponentSearchRequest {
138 Name string `json:"name,optional"` 137 Name string `json:"name,optional"`
139 } 138 }
140 - ChartComponentSearchResponse{ 139 + ChartComponentSearchResponse {
141 List []ChartComponentItem `json:"list"` 140 List []ChartComponentItem `json:"list"`
142 Total int64 `json:"total"` 141 Total int64 `json:"total"`
143 } 142 }
144 - ChartComponentItem struct{  
145 - Name string `json:"name,optional"`// 名称  
146 - Code string `json:"code,optional"`// 编码 143 + ChartComponentItem {
  144 + Name string `json:"name,optional"` // 名称
  145 + Code string `json:"code,optional"` // 编码
147 Cover string `json:"cover,optional"` // 封面 146 Cover string `json:"cover,optional"` // 封面
148 - Desc string `json:"desc,optional"`// 描述 147 + Desc string `json:"desc,optional"` // 描述
149 } 148 }
150 ) 149 )
151 150
152 -type(  
153 - ChartProperty struct { 151 +type (
  152 + ChartProperty {
154 Title Title `json:"title,optional"` // 标题 153 Title Title `json:"title,optional"` // 标题
155 TableAbility TableAbility `json:"table,optional"` // 表筛选功能 154 TableAbility TableAbility `json:"table,optional"` // 表筛选功能
156 Series []Series `json:"series,optional"` // 系列(数据源) 155 Series []Series `json:"series,optional"` // 系列(数据源)
157 Other Other `json:"other,optional"` // 其他额外配置 156 Other Other `json:"other,optional"` // 其他额外配置
158 } 157 }
159 - Other struct { 158 + Other {
160 Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图 159 Quarter *Quarter `json:"quarter,optional,omitempty"` // 四分图
161 } 160 }
162 - Quarter struct { 161 + Quarter {
163 XAxisLabel string `json:"xAxisLabel"` // x轴标签名 162 XAxisLabel string `json:"xAxisLabel"` // x轴标签名
164 XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1 163 XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1
165 XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2 164 XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2
@@ -170,10 +169,10 @@ type( @@ -170,10 +169,10 @@ type(
170 AreaColor bool `json:"areaColor"` // 颜色 169 AreaColor bool `json:"areaColor"` // 颜色
171 SeriesList []QuarterSeries `json:"seriesList"` // 图形系列 170 SeriesList []QuarterSeries `json:"seriesList"` // 图形系列
172 } 171 }
173 - QuarterSeries struct { 172 + QuarterSeries {
174 SeriesValue string `json:"seriesValue"` 173 SeriesValue string `json:"seriesValue"`
175 } 174 }
176 - Title struct { 175 + Title {
177 TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关 176 TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关
178 IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关 177 IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关
179 TitleType string `json:"titleType"` // 标题类型 178 TitleType string `json:"titleType"` // 标题类型
@@ -187,17 +186,17 @@ type( @@ -187,17 +186,17 @@ type(
187 HeadingAlign string `json:"headingAlign,optional"` // 主标题 文本对齐方式 left center right 186 HeadingAlign string `json:"headingAlign,optional"` // 主标题 文本对齐方式 left center right
188 SubAlign string `json:"subAlign,optional"` // 副标题 文本对齐方式 left center right 187 SubAlign string `json:"subAlign,optional"` // 副标题 文本对齐方式 left center right
189 } 188 }
190 - TableAbility struct { 189 + TableAbility {
191 FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关 190 FilterSwitch bool `json:"filterSwitch,optional"` // 表筛选功能开关
192 DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表 191 DimensionList []Dimension `json:"dimensionList,optional"` // 维度列表
193 CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关 192 CardSwitch bool `json:"cardSwitch,optional"` // 顺序标识开关
194 CardIdent string `json:"cardIdent,optional"` // 顺序标识 193 CardIdent string `json:"cardIdent,optional"` // 顺序标识
195 CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序 194 CardOrderList []CardOrderItem `json:"cardOrderList,optional"` // 卡片列表顺序
196 } 195 }
197 - CardOrderItem struct { 196 + CardOrderItem {
198 CardId string `json:"cardId,optional"` 197 CardId string `json:"cardId,optional"`
199 } 198 }
200 - Series struct {// 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1) 199 + Series { // 图表类型 (记录型表格:RecordTable-1 总体指标:MetricsCard-1 容器卡片:ContainerCard-1 四分图:QuarterChart-1)
201 Name string `json:"name"` // 名称 (例如 指标1、指标2) 200 Name string `json:"name"` // 名称 (例如 指标1、指标2)
202 SourceFrom string `json:"from,options=[ByteBank,User]"` // 数据源类型 ByteBank:字库 User:用户自定义 201 SourceFrom string `json:"from,options=[ByteBank,User]"` // 数据源类型 ByteBank:字库 User:用户自定义
203 DataSourceId int64 `json:"dataSourceId,optional,omitempty"` // 数据源ID(from值为ByteBank时有值) 202 DataSourceId int64 `json:"dataSourceId,optional,omitempty"` // 数据源ID(from值为ByteBank时有值)
@@ -207,12 +206,12 @@ type( @@ -207,12 +206,12 @@ type(
207 TargetNum string `json:"targetNum,optional,omitempty"` // 指标数值 206 TargetNum string `json:"targetNum,optional,omitempty"` // 指标数值
208 TargetUnit string `json:"targetUnit,optional,omitempty"` // 指标单位 207 TargetUnit string `json:"targetUnit,optional,omitempty"` // 指标单位
209 } 208 }
210 - Expression struct { 209 + Expression {
211 Operator string `json:"operator"` // 操作符号 <,>,==,<>,<=,>= 210 Operator string `json:"operator"` // 操作符号 <,>,==,<>,<=,>=
212 CompareValue string `json:"compareValue"` // 比较值 211 CompareValue string `json:"compareValue"` // 比较值
213 ToValue string `json:"toValue"` // 显示值(转为) 212 ToValue string `json:"toValue"` // 显示值(转为)
214 } 213 }
215 - Dimension struct{ 214 + Dimension {
216 Name string `json:"name,optional,omitempty"` 215 Name string `json:"name,optional,omitempty"`
217 Value string `json:"dimensionVal,optional"` 216 Value string `json:"dimensionVal,optional"`
218 } 217 }