@djvlc/openapi-admin-client 1.6.1 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -615,7 +615,7 @@ UpdateRolloutStrategyRequest:
615
615
 
616
616
  ActionDefinitionInfo:
617
617
  type: object
618
- required: [id, name, type, status, createdAt]
618
+ required: [id, name, actionType, status, createdAt]
619
619
  properties:
620
620
  id:
621
621
  type: string
@@ -626,17 +626,17 @@ ActionDefinitionInfo:
626
626
  displayName:
627
627
  type: string
628
628
  description: 显示名称
629
- type:
629
+ actionType:
630
630
  type: string
631
- enum: [builtin, custom, http, script]
631
+ enum: [claim, signin, lottery, reserve, bind, task_complete, vote, share, form_submit, custom]
632
632
  description: 动作类型
633
633
  description:
634
634
  type: string
635
635
  description: 描述
636
636
  status:
637
637
  type: string
638
- enum: [active, deprecated, disabled]
639
- description: 状态
638
+ enum: [draft, stable, deprecated, blocked]
639
+ description: 状态(状态机:draft → stable → deprecated → blocked)
640
640
  latestVersion:
641
641
  type: string
642
642
  description: 最新版本
@@ -651,7 +651,7 @@ ActionDefinitionInfo:
651
651
 
652
652
  ActionDefinitionDetail:
653
653
  type: object
654
- required: [id, name, type, status, spec, createdAt]
654
+ required: [id, name, actionType, status, spec, createdAt]
655
655
  properties:
656
656
  id:
657
657
  type: string
@@ -662,17 +662,17 @@ ActionDefinitionDetail:
662
662
  displayName:
663
663
  type: string
664
664
  description: 显示名称
665
- type:
665
+ actionType:
666
666
  type: string
667
- enum: [builtin, custom, http, script]
667
+ enum: [claim, signin, lottery, reserve, bind, task_complete, vote, share, form_submit, custom]
668
668
  description: 动作类型
669
669
  description:
670
670
  type: string
671
671
  description: 描述
672
672
  status:
673
673
  type: string
674
- enum: [active, deprecated, disabled]
675
- description: 状态
674
+ enum: [draft, stable, deprecated, blocked]
675
+ description: 状态(状态机:draft → stable → deprecated → blocked)
676
676
  spec:
677
677
  type: object
678
678
  description: 动作规范定义
@@ -692,7 +692,7 @@ ActionDefinitionDetail:
692
692
 
693
693
  CreateActionDefinitionRequest:
694
694
  type: object
695
- required: [name, type]
695
+ required: [name, actionType]
696
696
  properties:
697
697
  name:
698
698
  type: string
@@ -703,9 +703,9 @@ CreateActionDefinitionRequest:
703
703
  type: string
704
704
  maxLength: 255
705
705
  description: 显示名称
706
- type:
706
+ actionType:
707
707
  type: string
708
- enum: [builtin, custom, http, script]
708
+ enum: [claim, signin, lottery, reserve, bind, task_complete, vote, share, form_submit, custom]
709
709
  description: 动作类型
710
710
  description:
711
711
  type: string
@@ -731,7 +731,7 @@ UpdateActionDefinitionRequest:
731
731
  description: 动作规范定义
732
732
  status:
733
733
  type: string
734
- enum: [active, deprecated, disabled]
734
+ enum: [draft, stable, deprecated, blocked]
735
735
  description: 状态
736
736
 
737
737
  # ============================================================================
@@ -751,8 +751,8 @@ DefinitionVersionInfo:
751
751
  description: 语义化版本号
752
752
  status:
753
753
  type: string
754
- enum: [active, deprecated, disabled]
755
- description: 版本状态
754
+ enum: [draft, stable, deprecated, blocked]
755
+ description: 版本状态(状态机:draft → stable → deprecated → blocked)
756
756
  changelog:
757
757
  type: string
758
758
  description: 变更日志
@@ -786,7 +786,7 @@ PublishDefinitionVersionRequest:
786
786
 
787
787
  DataQueryDefinitionInfo:
788
788
  type: object
789
- required: [id, name, type, status, createdAt]
789
+ required: [id, name, sourceType, status, createdAt]
790
790
  properties:
791
791
  id:
792
792
  type: string
@@ -797,17 +797,17 @@ DataQueryDefinitionInfo:
797
797
  displayName:
798
798
  type: string
799
799
  description: 显示名称
800
- type:
800
+ sourceType:
801
801
  type: string
802
- enum: [http, graphql, sql, custom]
803
- description: 查询类型
802
+ enum: [http, graphql, database, internal, aggregation]
803
+ description: 数据源类型
804
804
  description:
805
805
  type: string
806
806
  description: 描述
807
807
  status:
808
808
  type: string
809
- enum: [active, deprecated, disabled]
810
- description: 状态
809
+ enum: [draft, stable, deprecated, blocked]
810
+ description: 状态(状态机:draft → stable → deprecated → blocked)
811
811
  latestVersion:
812
812
  type: string
813
813
  description: 最新版本
@@ -822,7 +822,7 @@ DataQueryDefinitionInfo:
822
822
 
823
823
  DataQueryDefinitionDetail:
824
824
  type: object
825
- required: [id, name, type, status, spec, createdAt]
825
+ required: [id, name, sourceType, status, spec, createdAt]
826
826
  properties:
827
827
  id:
828
828
  type: string
@@ -833,17 +833,17 @@ DataQueryDefinitionDetail:
833
833
  displayName:
834
834
  type: string
835
835
  description: 显示名称
836
- type:
836
+ sourceType:
837
837
  type: string
838
- enum: [http, graphql, sql, custom]
839
- description: 查询类型
838
+ enum: [http, graphql, database, internal, aggregation]
839
+ description: 数据源类型
840
840
  description:
841
841
  type: string
842
842
  description: 描述
843
843
  status:
844
844
  type: string
845
- enum: [active, deprecated, disabled]
846
- description: 状态
845
+ enum: [draft, stable, deprecated, blocked]
846
+ description: 状态(状态机:draft → stable → deprecated → blocked)
847
847
  spec:
848
848
  type: object
849
849
  description: 查询规范定义
@@ -863,7 +863,7 @@ DataQueryDefinitionDetail:
863
863
 
864
864
  CreateDataQueryDefinitionRequest:
865
865
  type: object
866
- required: [name, type]
866
+ required: [name, sourceType]
867
867
  properties:
868
868
  name:
869
869
  type: string
@@ -874,10 +874,25 @@ CreateDataQueryDefinitionRequest:
874
874
  type: string
875
875
  maxLength: 255
876
876
  description: 显示名称
877
- type:
877
+ sourceType:
878
+ type: string
879
+ enum: [http, graphql, database, internal, aggregation]
880
+ description: 数据源类型
881
+ description:
882
+ type: string
883
+ maxLength: 1024
884
+ description: 描述
885
+ spec:
886
+ type: object
887
+ description: 查询规范定义
888
+
889
+ UpdateDataQueryDefinitionRequest:
890
+ type: object
891
+ properties:
892
+ displayName:
878
893
  type: string
879
- enum: [http, graphql, sql, custom]
880
- description: 查询类型
894
+ maxLength: 255
895
+ description: 显示名称
881
896
  description:
882
897
  type: string
883
898
  maxLength: 1024
@@ -885,6 +900,88 @@ CreateDataQueryDefinitionRequest:
885
900
  spec:
886
901
  type: object
887
902
  description: 查询规范定义
903
+ status:
904
+ type: string
905
+ enum: [draft, stable, deprecated, blocked]
906
+ description: 状态
907
+
908
+ # ============================================================================
909
+ # Preview 预览相关
910
+ # ============================================================================
911
+
912
+ PreviewTokenInfo:
913
+ type: object
914
+ required: [token, pageId, expiresAt]
915
+ properties:
916
+ token:
917
+ type: string
918
+ description: 预览 Token
919
+ pageId:
920
+ type: string
921
+ description: 页面 ID
922
+ draftVersion:
923
+ type: string
924
+ description: 草稿版本标识
925
+ previewUrl:
926
+ type: string
927
+ format: uri
928
+ description: 预览 URL
929
+ deviceType:
930
+ type: string
931
+ enum: [mobile, tablet, desktop]
932
+ description: 预览设备类型
933
+ context:
934
+ type: object
935
+ additionalProperties: true
936
+ description: 预览上下文
937
+ createdAt:
938
+ type: string
939
+ format: date-time
940
+ description: 创建时间
941
+ expiresAt:
942
+ type: string
943
+ format: date-time
944
+ description: 过期时间
945
+ createdBy:
946
+ type: string
947
+ description: 创建者 ID
948
+
949
+ # ============================================================================
950
+ # Health 健康检查相关
951
+ # ============================================================================
952
+
953
+ HealthResponse:
954
+ type: object
955
+ required: [status, version]
956
+ properties:
957
+ status:
958
+ type: string
959
+ enum: [healthy, degraded, unhealthy]
960
+ description: 服务状态
961
+ version:
962
+ type: string
963
+ description: 服务版本
964
+ uptime:
965
+ type: integer
966
+ description: 运行时间(秒)
967
+ timestamp:
968
+ type: string
969
+ format: date-time
970
+ description: 检查时间
971
+ dependencies:
972
+ type: object
973
+ additionalProperties:
974
+ type: object
975
+ properties:
976
+ status:
977
+ type: string
978
+ enum: [healthy, degraded, unhealthy]
979
+ latency:
980
+ type: integer
981
+ description: 延迟(毫秒)
982
+ message:
983
+ type: string
984
+ description: 依赖服务状态
888
985
 
889
986
  # ============================================================================
890
987
  # Activity 营销活动相关
@@ -1,16 +1,33 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: DJVLC Admin API
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  description: |
6
- DJVLC 低代码平台管理端 API
6
+ DJVLC 低代码平台管理端 API(控制面)
7
7
 
8
8
  提供以下功能:
9
9
  - 页面管理(创建、更新、删除)
10
10
  - 草稿管理(保存、获取)
11
11
  - 版本管理(发布、回滚)
12
+ - 预览管理(生成预览 Token)
12
13
  - 组件管理(状态控制)
14
+ - 灰度发布(Rollout)
15
+ - Definition 管理(Action/DataQuery)
16
+ - 活动管理
17
+ - 审计日志
13
18
  - 运维操作(Kill Switch)
19
+ - 健康检查
20
+
21
+ ## API 设计规范
22
+ - 只使用 GET 和 POST 方法
23
+ - GET:查询操作
24
+ - POST:创建、更新、删除等变更操作
25
+ - 使用语义化路由(如 /update, /delete, /publish)
26
+
27
+ 核心原则:
28
+ - 控制面复杂,但可审计
29
+ - 所有写操作可追溯、可回滚、可审计
30
+ - Definition 版本化,确保回滚不失真
14
31
  contact:
15
32
  name: DJVLC Team
16
33
  email: dev@djvlc.com
@@ -29,6 +46,8 @@ tags:
29
46
  description: 草稿管理
30
47
  - name: Versions
31
48
  description: 版本管理
49
+ - name: Preview
50
+ description: 预览管理
32
51
  - name: Rollout
33
52
  description: 灰度发布
34
53
  - name: Components
@@ -41,17 +60,29 @@ tags:
41
60
  description: 审计日志
42
61
  - name: Operations
43
62
  description: 运维操作
63
+ - name: Health
64
+ description: 健康检查
44
65
 
45
66
  paths:
46
67
  # 页面管理
47
68
  /pages:
48
69
  $ref: './paths/pages.yaml#/pages'
70
+ /pages/create:
71
+ $ref: './paths/pages.yaml#/create'
49
72
  /pages/{pageId}:
50
73
  $ref: './paths/pages.yaml#/pages~1{pageId}'
74
+ /pages/{pageId}/update:
75
+ $ref: './paths/pages.yaml#/update'
76
+ /pages/{pageId}/delete:
77
+ $ref: './paths/pages.yaml#/delete'
51
78
 
52
79
  # 草稿管理
53
80
  /pages/{pageId}/draft:
54
81
  $ref: './paths/drafts.yaml#/draft'
82
+ /pages/{pageId}/draft/save:
83
+ $ref: './paths/drafts.yaml#/save'
84
+ /pages/{pageId}/draft/discard:
85
+ $ref: './paths/drafts.yaml#/discard'
55
86
 
56
87
  # 版本管理
57
88
  /pages/{pageId}/versions:
@@ -63,33 +94,57 @@ paths:
63
94
  /pages/{pageId}/rollback:
64
95
  $ref: './paths/versions.yaml#/rollback'
65
96
 
97
+ # 预览管理
98
+ /pages/{pageId}/preview:
99
+ $ref: './paths/preview.yaml#/preview'
100
+ /pages/{pageId}/preview/tokens:
101
+ $ref: './paths/preview.yaml#/previewList'
102
+ /preview/tokens/{token}:
103
+ $ref: './paths/preview.yaml#/previewToken'
104
+ /preview/tokens/{token}/revoke:
105
+ $ref: './paths/preview.yaml#/previewTokenRevoke'
106
+
66
107
  # 组件管理
67
108
  /components:
68
109
  $ref: './paths/components.yaml#/components'
69
110
  /components/{componentId}/versions:
70
111
  $ref: './paths/components.yaml#/componentVersions'
71
- /components/{componentId}/versions/{versionId}/status:
72
- $ref: './paths/components.yaml#/componentVersionStatus'
112
+ /components/{componentId}/versions/{versionId}/status/update:
113
+ $ref: './paths/components.yaml#/componentVersionStatusUpdate'
73
114
 
74
115
  # 灰度发布
75
116
  /pages/{pageId}/rollout:
76
117
  $ref: './paths/rollout.yaml#/rollout'
77
- /pages/{pageId}/rollout/strategies:
118
+ /pages/{pageId}/rollout/update:
119
+ $ref: './paths/rollout.yaml#/rolloutUpdate'
120
+ /pages/{pageId}/rollout/remove:
121
+ $ref: './paths/rollout.yaml#/rolloutRemove'
122
+ /pages/{pageId}/rollout/strategies/add:
78
123
  $ref: './paths/rollout.yaml#/rolloutStrategies'
79
- /pages/{pageId}/rollout/strategies/{strategyId}:
80
- $ref: './paths/rollout.yaml#/rolloutStrategyById'
124
+ /pages/{pageId}/rollout/strategies/{strategyId}/update:
125
+ $ref: './paths/rollout.yaml#/rolloutStrategyUpdate'
126
+ /pages/{pageId}/rollout/strategies/{strategyId}/remove:
127
+ $ref: './paths/rollout.yaml#/rolloutStrategyRemove'
81
128
 
82
129
  # Definition 管理
83
130
  /definitions/actions:
84
131
  $ref: './paths/definitions.yaml#/actionDefinitions'
85
132
  /definitions/actions/{definitionId}:
86
133
  $ref: './paths/definitions.yaml#/actionDefinitionById'
134
+ /definitions/actions/{definitionId}/update:
135
+ $ref: './paths/definitions.yaml#/actionDefinitionUpdate'
136
+ /definitions/actions/{definitionId}/delete:
137
+ $ref: './paths/definitions.yaml#/actionDefinitionDelete'
87
138
  /definitions/actions/{definitionId}/versions:
88
139
  $ref: './paths/definitions.yaml#/actionDefinitionVersions'
89
140
  /definitions/queries:
90
141
  $ref: './paths/definitions.yaml#/dataQueryDefinitions'
91
142
  /definitions/queries/{definitionId}:
92
143
  $ref: './paths/definitions.yaml#/dataQueryDefinitionById'
144
+ /definitions/queries/{definitionId}/update:
145
+ $ref: './paths/definitions.yaml#/dataQueryDefinitionUpdate'
146
+ /definitions/queries/{definitionId}/delete:
147
+ $ref: './paths/definitions.yaml#/dataQueryDefinitionDelete'
93
148
  /definitions/queries/{definitionId}/versions:
94
149
  $ref: './paths/definitions.yaml#/dataQueryDefinitionVersions'
95
150
 
@@ -98,8 +153,12 @@ paths:
98
153
  $ref: './paths/activities.yaml#/activities'
99
154
  /activities/{activityId}:
100
155
  $ref: './paths/activities.yaml#/activityById'
101
- /activities/{activityId}/status:
102
- $ref: './paths/activities.yaml#/activityStatus'
156
+ /activities/{activityId}/update:
157
+ $ref: './paths/activities.yaml#/activityUpdate'
158
+ /activities/{activityId}/delete:
159
+ $ref: './paths/activities.yaml#/activityDelete'
160
+ /activities/{activityId}/status/update:
161
+ $ref: './paths/activities.yaml#/activityStatusUpdate'
103
162
  /activities/{activityId}/stats:
104
163
  $ref: './paths/activities.yaml#/activityStats'
105
164
 
@@ -114,8 +173,20 @@ paths:
114
173
  # 运维操作
115
174
  /operations/kill-switch:
116
175
  $ref: './paths/operations.yaml#/killSwitch'
176
+ /operations/kill-switch/set:
177
+ $ref: './paths/operations.yaml#/killSwitchSet'
117
178
  /operations/kill-switch/{pageId}:
118
179
  $ref: './paths/operations.yaml#/killSwitchPage'
180
+ /operations/kill-switch/{pageId}/set:
181
+ $ref: './paths/operations.yaml#/killSwitchPageSet'
182
+
183
+ # 健康检查
184
+ /health:
185
+ $ref: './paths/health.yaml#/health'
186
+ /health/ready:
187
+ $ref: './paths/health.yaml#/ready'
188
+ /health/live:
189
+ $ref: './paths/health.yaml#/live'
119
190
 
120
191
  components:
121
192
  schemas:
@@ -93,8 +93,9 @@ activityById:
93
93
  $ref: '../components/schemas/_index.yaml#/ActivityDetail'
94
94
  '404':
95
95
  $ref: '../components/responses/_index.yaml#/NotFound'
96
-
97
- put:
96
+
97
+ activityUpdate:
98
+ post:
98
99
  tags:
99
100
  - Activities
100
101
  summary: 更新活动
@@ -123,8 +124,9 @@ activityById:
123
124
  type: boolean
124
125
  data:
125
126
  $ref: '../components/schemas/_index.yaml#/ActivityInfo'
126
-
127
- delete:
127
+
128
+ activityDelete:
129
+ post:
128
130
  tags:
129
131
  - Activities
130
132
  summary: 删除活动
@@ -135,12 +137,30 @@ activityById:
135
137
  required: true
136
138
  schema:
137
139
  type: string
140
+ requestBody:
141
+ content:
142
+ application/json:
143
+ schema:
144
+ type: object
145
+ properties:
146
+ reason:
147
+ type: string
148
+ description: 删除原因
138
149
  responses:
139
- '204':
150
+ '200':
140
151
  description: 删除成功
152
+ content:
153
+ application/json:
154
+ schema:
155
+ type: object
156
+ properties:
157
+ success:
158
+ type: boolean
159
+ message:
160
+ type: string
141
161
 
142
- activityStatus:
143
- put:
162
+ activityStatusUpdate:
163
+ post:
144
164
  tags:
145
165
  - Activities
146
166
  summary: 更新活动状态
@@ -56,8 +56,8 @@ componentVersions:
56
56
  '500':
57
57
  $ref: '../components/responses/_index.yaml#/InternalError'
58
58
 
59
- componentVersionStatus:
60
- put:
59
+ componentVersionStatusUpdate:
60
+ post:
61
61
  tags: [Components]
62
62
  operationId: updateComponentVersionStatus
63
63
  summary: 更新组件版本状态