|
|
|
|
|
syntax = "v1"
|
|
|
|
|
|
info(
|
...
|
...
|
@@ -13,7 +12,7 @@ info( |
|
|
prefix: v1
|
|
|
group: chart
|
|
|
jwt: JwtAuth
|
|
|
//middleware: Authority
|
|
|
middleware: LoginStatusCheck,LogRequest
|
|
|
)
|
|
|
service Core {
|
|
|
@doc "保存图表"
|
...
|
...
|
@@ -46,6 +45,7 @@ service Core { |
|
|
@server(
|
|
|
prefix: v1
|
|
|
group: chart
|
|
|
middleware: LogRequest
|
|
|
)
|
|
|
service Core {
|
|
|
@doc "加载图表数据"
|
...
|
...
|
@@ -60,120 +60,148 @@ 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"` // 四分图
|
|
|
Divider *Divider `json:"divider,optional,omitempty"` // 分割线
|
|
|
Rank *Rank `json:"rank,optional,omitempty"` // 排名图
|
|
|
Deviation *Deviation `json:"deviation,optional,omitempty"` // 偏差图
|
|
|
Notepaper *Notepaper `json:"notepaper,optional,omitempty"` // 便签(富文本)
|
|
|
}
|
|
|
Quarter struct {
|
|
|
Quarter {
|
|
|
XAxisLabel string `json:"xAxisLabel"` // x轴标签名
|
|
|
XAxisFirstLabel string `json:"xAxisFirstLabel"` // 签名1
|
|
|
XAxisSecondLabel string `json:"xAxisSecondLabel"` // 签名2
|
|
|
XAxisFirstColor string `json:"xAxisFirstColor,optional,omitempty"` // x轴标签1默认颜色
|
|
|
XAxisSecondColor string `json:"xAxisSecondColor,optional,omitempty"` // x轴标签2默认颜色
|
|
|
YAxisLabel string `json:"yAxisLabel"` // y轴标签名
|
|
|
YAxisFirstLabel string `json:"yAxisFirstLabel"` // y标签1
|
|
|
YAxisSecondLabel string `json:"yAxisSecondLabel"` // y标签2
|
|
|
YAxisFirstColor string `json:"yAxisFirstColor,optional,omitempty"` // y轴标签1默认颜色
|
|
|
YAxisSecondColor string `json:"yAxisSecondColor,optional,omitempty"` // y轴标签2默认颜色
|
|
|
Area string `json:"area"` // 图形面积
|
|
|
AreaColor bool `json:"areaColor"` // 颜色
|
|
|
SeriesList []QuarterSeries `json:"seriesList"` // 图形系列
|
|
|
TableSwitch bool `json:"tableSwitch"` // 是否展示记录型表格
|
|
|
}
|
|
|
QuarterSeries struct {
|
|
|
QuarterSeries {
|
|
|
SeriesValue string `json:"seriesValue"`
|
|
|
}
|
|
|
Title struct {
|
|
|
Divider {
|
|
|
SelectedIdx string `json:"selectedIdx,optional,omitempty"` // 选择的分割线样式
|
|
|
TextSwitch bool `json:"textSwitch,optional,omitempty"` // 是否展示组件文本
|
|
|
Text string `json:"text"` // 组件文本内容
|
|
|
}
|
|
|
Rank {
|
|
|
FirstLine []RankLine `json:"firstLine,optional,omitempty"` // 第一名设置
|
|
|
SecondLine []RankLine `json:"secondLine,optional,omitempty"` // 第二名设置
|
|
|
SortBySwitch bool `json:"sortBySwitch,optional,omitempty"` // 排序开关
|
|
|
SortBySeries string `json:"sortBySeries,optional,omitempty"` // 排序依据
|
|
|
SortByArrow string `json:"sortByArrow,optional,omitempty"` // 排序方向 1-降序 2-升序
|
|
|
}
|
|
|
RankLine {
|
|
|
SeriesValue string `json:"seriesValue"` // 排名图序列值
|
|
|
LabelSwitch bool `json:"labelSwitch"` // 标签开关
|
|
|
Label string `json:"label"` // 标签
|
|
|
ArrowSwitch bool `json:"arrowSwitch"` // 箭头开关
|
|
|
Unit string `json:"unit"` // 单位
|
|
|
}
|
|
|
Title {
|
|
|
TitleSwitch bool `json:"titleSwitch,optional"` // 组件标题开关
|
|
|
IntroduceSwitch bool `json:"introduceSwitch,optional"` // 组件说明开关
|
|
|
TitleType string `json:"titleType"` // 标题类型
|
...
|
...
|
@@ -187,11 +215,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 {
|
|
|
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时有值)
|
...
|
...
|
@@ -201,13 +235,46 @@ 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"`
|
|
|
}
|
|
|
)
|
|
|
|
|
|
type (
|
|
|
Deviation struct {
|
|
|
XAxisLabel string `json:"xAxisLabel,optional,omitempty"` // 分类标签
|
|
|
TopChart TopChart `json:"topChart,optional,omitempty"`
|
|
|
MidChart MidChart `json:"midChart,optional,omitempty"`
|
|
|
BotChart []BotChart `json:"botChart,optional,omitempty"`
|
|
|
}
|
|
|
Notepaper struct {
|
|
|
Text string `json:"text,optional,omitempty"` // 富文本内容
|
|
|
Theme string `json:"theme,optional,omitempty"` // 主题风格
|
|
|
}
|
|
|
TopChart struct {
|
|
|
SeriesValue string `json:"seriesValue,optional,omitempty"` // 系列
|
|
|
Legend string `json:"legend,optional,omitempty"` // 图例
|
|
|
FormatType string `json:"formatType,optional,omitempty"` //
|
|
|
FormatPoint string `json:"formatPoint,optional,omitempty"` //
|
|
|
}
|
|
|
MidChart struct {
|
|
|
SeriesValue string `json:"seriesValue,optional,omitempty"` // 系列
|
|
|
Legend string `json:"legend,optional,omitempty"` // 图例
|
|
|
FormatType string `json:"formatType,optional,omitempty"` //
|
|
|
FormatPoint string `json:"formatPoint,optional,omitempty"` //
|
|
|
}
|
|
|
BotChart struct {
|
|
|
SeriesSwitch bool `json:"seriesSwitch,optional,omitempty"` // 是否显示
|
|
|
Type string `json:"type,optional,omitempty"` // 图表类型
|
|
|
SeriesValue string `json:"seriesValue,optional,omitempty"` // 系列
|
|
|
Legend string `json:"legend,optional,omitempty"` // 图例
|
|
|
FormatType string `json:"formatType,optional,omitempty"` //
|
|
|
FormatPoint string `json:"formatPoint,optional,omitempty"` //
|
|
|
}
|
|
|
) |
|
|
\ No newline at end of file |
...
|
...
|
|