@djvlc/openapi-user-client 1.7.15 → 1.8.1
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.
- package/dist/index.d.mts +1725 -3725
- package/dist/index.d.ts +1725 -3725
- package/dist/index.js +1436 -2991
- package/dist/index.mjs +1286 -2673
- package/openapi/dist/user-api.yaml +1252 -1521
- package/openapi/src/components/schemas/_index.yaml +850 -1025
- package/openapi/src/openapi.yaml +30 -20
- package/openapi/src/paths/actions.yaml +15 -50
- package/openapi/src/paths/activities.yaml +132 -94
- package/openapi/src/paths/health.yaml +19 -61
- package/openapi/src/paths/pages.yaml +98 -30
- package/openapi/src/paths/queries.yaml +32 -52
- package/openapi/src/paths/tenant.yaml +15 -49
- package/openapi/src/paths/track.yaml +9 -53
- package/package.json +2 -2
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
openapi: 3.0.3
|
|
2
2
|
info:
|
|
3
|
-
title:
|
|
3
|
+
title: 平台用户端 API
|
|
4
4
|
version: 1.0.0
|
|
5
5
|
description: |
|
|
6
|
-
|
|
6
|
+
平台用户端 API 文档 (User API)
|
|
7
7
|
|
|
8
8
|
提供以下功能:
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- 数据查询(
|
|
12
|
-
- 活动状态查询
|
|
13
|
-
-
|
|
14
|
-
- 租户解析(Tenant
|
|
15
|
-
- 健康检查(Health
|
|
9
|
+
- 页面运行时(Pages)- 页面解析与渲染
|
|
10
|
+
- 动作网关(Actions)- 统一动作执行入口
|
|
11
|
+
- 数据查询(Queries)- 数据代理查询
|
|
12
|
+
- 活动运行时(Activities)- 活动状态查询
|
|
13
|
+
- 埋点追踪(Track)- 用户行为追踪
|
|
14
|
+
- 租户解析(Tenant)- 多租户解析
|
|
15
|
+
- 健康检查(Health)- 服务健康状态
|
|
16
16
|
|
|
17
17
|
核心原则:
|
|
18
18
|
- 所有业务动作只走 Action Gateway(鉴权/风控/幂等/审计/签名)
|
|
@@ -32,58 +32,44 @@ security:
|
|
|
32
32
|
- ApiKey: []
|
|
33
33
|
tags:
|
|
34
34
|
- name: Pages
|
|
35
|
-
description:
|
|
35
|
+
description: 页面运行时 - 页面解析与渲染
|
|
36
36
|
- name: Actions
|
|
37
|
-
description:
|
|
37
|
+
description: 动作网关 - 统一动作执行入口
|
|
38
38
|
- name: Queries
|
|
39
|
-
description:
|
|
39
|
+
description: 数据查询 - 数据代理查询
|
|
40
40
|
- name: Activities
|
|
41
|
-
description: 活动状态查询
|
|
41
|
+
description: 活动运行时 - 活动状态查询
|
|
42
42
|
- name: Track
|
|
43
|
-
description:
|
|
43
|
+
description: 埋点追踪 - 用户行为追踪
|
|
44
44
|
- name: Tenant
|
|
45
|
-
description: 租户解析
|
|
45
|
+
description: 租户解析 - 多租户解析
|
|
46
46
|
- name: Health
|
|
47
|
-
description: 健康检查
|
|
47
|
+
description: 健康检查 - 服务健康状态
|
|
48
48
|
paths:
|
|
49
49
|
/page/resolve:
|
|
50
50
|
get:
|
|
51
51
|
tags:
|
|
52
52
|
- Pages
|
|
53
53
|
operationId: resolvePage
|
|
54
|
-
summary:
|
|
54
|
+
summary: 解析页面
|
|
55
55
|
description: |
|
|
56
|
-
Runtime
|
|
56
|
+
Runtime 核心接口,返回渲染所需的完整数据。
|
|
57
57
|
|
|
58
58
|
支持两种模式:
|
|
59
59
|
1. 稳定入口(推荐):支持灰度/回滚/ops,返回 resolvedVersionId 和 CDN 地址
|
|
60
|
-
2. 保底模式:当 includeSnapshot=
|
|
61
|
-
|
|
62
|
-
响应包含:
|
|
63
|
-
- resolvedVersionId: 解析后的页面版本 ID(考虑灰度/回滚)
|
|
64
|
-
- cdnBase: CDN 基础地址
|
|
65
|
-
- snapshotUrl: snapshot.json 的完整 URL
|
|
66
|
-
- manifestUrl: manifest.json 的完整 URL
|
|
67
|
-
- ops: 运维配置(killSwitch、blockedComponents、flags)
|
|
68
|
-
- etag: 内容哈希(用于缓存)
|
|
69
|
-
- cacheTtlSeconds: 缓存 TTL(建议 10~30 秒)
|
|
70
|
-
- snapshot: 完整快照(仅当 includeSnapshot=1 时返回)
|
|
60
|
+
2. 保底模式:当 includeSnapshot=true 时,返回完整 snapshot(CDN 失败时使用)
|
|
71
61
|
parameters:
|
|
72
|
-
- name: X-Trace-Id
|
|
73
|
-
in: header
|
|
74
|
-
required: false
|
|
75
|
-
schema:
|
|
76
|
-
type: string
|
|
77
|
-
description: 链路追踪 ID(OTel,全链路透传)
|
|
78
62
|
- name: pageId
|
|
79
63
|
in: query
|
|
80
64
|
required: true
|
|
65
|
+
description: 页面 ID
|
|
81
66
|
schema:
|
|
82
67
|
type: string
|
|
83
|
-
|
|
68
|
+
example: page_123456
|
|
84
69
|
- name: env
|
|
85
70
|
in: query
|
|
86
71
|
required: false
|
|
72
|
+
description: 环境
|
|
87
73
|
schema:
|
|
88
74
|
type: string
|
|
89
75
|
enum:
|
|
@@ -91,32 +77,53 @@ paths:
|
|
|
91
77
|
- preview
|
|
92
78
|
- staging
|
|
93
79
|
default: prod
|
|
94
|
-
|
|
80
|
+
example: prod
|
|
81
|
+
- name: includeSnapshot
|
|
82
|
+
in: query
|
|
83
|
+
required: false
|
|
84
|
+
description: 是否包含完整快照(CDN 失败保底)
|
|
85
|
+
schema:
|
|
86
|
+
type: boolean
|
|
87
|
+
default: false
|
|
95
88
|
- name: uid
|
|
96
89
|
in: query
|
|
97
90
|
required: false
|
|
91
|
+
description: 用户 ID(契约 query;也可用 Header x-user-id)
|
|
98
92
|
schema:
|
|
99
93
|
type: string
|
|
100
|
-
|
|
94
|
+
maxLength: 64
|
|
95
|
+
example: user_123456
|
|
101
96
|
- name: deviceId
|
|
102
97
|
in: query
|
|
103
98
|
required: false
|
|
99
|
+
description: 设备 ID(契约 query;也可用 Header x-device-id)
|
|
104
100
|
schema:
|
|
105
101
|
type: string
|
|
106
|
-
|
|
102
|
+
maxLength: 64
|
|
103
|
+
example: device_123456
|
|
107
104
|
- name: channel
|
|
108
105
|
in: query
|
|
109
106
|
required: false
|
|
107
|
+
description: 渠道(契约 query;也可用 Header x-channel)
|
|
110
108
|
schema:
|
|
111
109
|
type: string
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
maxLength: 64
|
|
111
|
+
example: wechat
|
|
112
|
+
- name: x-user-id
|
|
113
|
+
in: header
|
|
114
|
+
required: true
|
|
116
115
|
schema:
|
|
117
|
-
type:
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
type: string
|
|
117
|
+
- name: x-device-id
|
|
118
|
+
in: header
|
|
119
|
+
required: true
|
|
120
|
+
schema:
|
|
121
|
+
type: string
|
|
122
|
+
- name: x-channel
|
|
123
|
+
in: header
|
|
124
|
+
required: true
|
|
125
|
+
schema:
|
|
126
|
+
type: string
|
|
120
127
|
responses:
|
|
121
128
|
'200':
|
|
122
129
|
description: 解析成功
|
|
@@ -130,14 +137,81 @@ paths:
|
|
|
130
137
|
$ref: '#/components/responses/NotFound'
|
|
131
138
|
'503':
|
|
132
139
|
$ref: '#/components/responses/ServiceUnavailable'
|
|
140
|
+
/page/manifest:
|
|
141
|
+
get:
|
|
142
|
+
tags:
|
|
143
|
+
- Pages
|
|
144
|
+
operationId: getPageManifest
|
|
145
|
+
summary: 获取组件清单
|
|
146
|
+
description: 返回页面的组件锁定清单
|
|
147
|
+
parameters:
|
|
148
|
+
- name: pageId
|
|
149
|
+
in: query
|
|
150
|
+
required: true
|
|
151
|
+
description: 页面 ID
|
|
152
|
+
schema:
|
|
153
|
+
type: string
|
|
154
|
+
example: page_123456
|
|
155
|
+
- name: env
|
|
156
|
+
in: query
|
|
157
|
+
required: false
|
|
158
|
+
description: 环境
|
|
159
|
+
schema:
|
|
160
|
+
type: string
|
|
161
|
+
enum:
|
|
162
|
+
- prod
|
|
163
|
+
- preview
|
|
164
|
+
- staging
|
|
165
|
+
default: prod
|
|
166
|
+
example: prod
|
|
167
|
+
responses:
|
|
168
|
+
'200':
|
|
169
|
+
description: 获取成功
|
|
170
|
+
content:
|
|
171
|
+
application/json:
|
|
172
|
+
schema:
|
|
173
|
+
$ref: '#/components/schemas/ManifestResponse'
|
|
174
|
+
'400':
|
|
175
|
+
$ref: '#/components/responses/BadRequest'
|
|
176
|
+
'404':
|
|
177
|
+
$ref: '#/components/responses/NotFound'
|
|
178
|
+
/page/config:
|
|
179
|
+
get:
|
|
180
|
+
tags:
|
|
181
|
+
- Pages
|
|
182
|
+
operationId: getPageConfig
|
|
183
|
+
summary: 获取运维配置
|
|
184
|
+
description: 返回当前运维配置(killSwitch、blockedComponents 等)
|
|
185
|
+
parameters:
|
|
186
|
+
- name: env
|
|
187
|
+
in: query
|
|
188
|
+
required: false
|
|
189
|
+
description: 环境
|
|
190
|
+
schema:
|
|
191
|
+
type: string
|
|
192
|
+
enum:
|
|
193
|
+
- prod
|
|
194
|
+
- preview
|
|
195
|
+
- staging
|
|
196
|
+
default: prod
|
|
197
|
+
example: prod
|
|
198
|
+
responses:
|
|
199
|
+
'200':
|
|
200
|
+
description: 获取成功
|
|
201
|
+
content:
|
|
202
|
+
application/json:
|
|
203
|
+
schema:
|
|
204
|
+
$ref: '#/components/schemas/OpsConfig'
|
|
205
|
+
'503':
|
|
206
|
+
$ref: '#/components/responses/ServiceUnavailable'
|
|
133
207
|
/actions/execute:
|
|
134
208
|
post:
|
|
135
209
|
tags:
|
|
136
210
|
- Actions
|
|
137
211
|
operationId: executeAction
|
|
138
|
-
summary:
|
|
212
|
+
summary: 执行动作
|
|
139
213
|
description: |
|
|
140
|
-
|
|
214
|
+
统一的动作执行入口,支持领取、签到等业务动作。
|
|
141
215
|
|
|
142
216
|
执行流程(Pipeline):
|
|
143
217
|
1. Auth(登录态/票据/签名)
|
|
@@ -146,36 +220,6 @@ paths:
|
|
|
146
220
|
4. Execute(执行器:Claim/Signin/Lottery...)
|
|
147
221
|
5. Audit(审计落库 + outbox)
|
|
148
222
|
6. Normalize(统一错误码/返回)
|
|
149
|
-
|
|
150
|
-
支持的动作类型:
|
|
151
|
-
- claim: 领取
|
|
152
|
-
- signin: 签到
|
|
153
|
-
- lottery: 抽奖
|
|
154
|
-
- reserve: 预约
|
|
155
|
-
- bind: 绑定
|
|
156
|
-
- task_complete: 任务完成
|
|
157
|
-
- vote: 投票
|
|
158
|
-
- share: 分享
|
|
159
|
-
- form_submit: 表单提交
|
|
160
|
-
- navigate: 页面跳转(内置)
|
|
161
|
-
- setState: 状态更新(内置)
|
|
162
|
-
- showToast: 提示消息(内置)
|
|
163
|
-
- custom: 自定义动作
|
|
164
|
-
parameters:
|
|
165
|
-
- name: Idempotency-Key
|
|
166
|
-
in: header
|
|
167
|
-
required: false
|
|
168
|
-
schema:
|
|
169
|
-
type: string
|
|
170
|
-
minLength: 16
|
|
171
|
-
maxLength: 128
|
|
172
|
-
description: 幂等键(与 body.idempotencyKey 二选一,推荐 header 传递)
|
|
173
|
-
- name: X-Trace-Id
|
|
174
|
-
in: header
|
|
175
|
-
required: false
|
|
176
|
-
schema:
|
|
177
|
-
type: string
|
|
178
|
-
description: 链路追踪 ID(OTel,全链路透传)
|
|
179
223
|
requestBody:
|
|
180
224
|
required: true
|
|
181
225
|
content:
|
|
@@ -184,7 +228,7 @@ paths:
|
|
|
184
228
|
$ref: '#/components/schemas/ExecuteActionRequest'
|
|
185
229
|
responses:
|
|
186
230
|
'200':
|
|
187
|
-
description:
|
|
231
|
+
description: 执行结果
|
|
188
232
|
content:
|
|
189
233
|
application/json:
|
|
190
234
|
schema:
|
|
@@ -193,29 +237,19 @@ paths:
|
|
|
193
237
|
$ref: '#/components/responses/BadRequest'
|
|
194
238
|
'401':
|
|
195
239
|
$ref: '#/components/responses/Unauthorized'
|
|
196
|
-
'403':
|
|
197
|
-
$ref: '#/components/responses/Forbidden'
|
|
198
|
-
'409':
|
|
199
|
-
description: 幂等冲突(重复请求)
|
|
200
|
-
content:
|
|
201
|
-
application/json:
|
|
202
|
-
schema:
|
|
203
|
-
$ref: '#/components/schemas/IdempotencyConflictResponse'
|
|
204
|
-
'422':
|
|
205
|
-
$ref: '#/components/responses/UnprocessableEntity'
|
|
206
240
|
'429':
|
|
207
241
|
$ref: '#/components/responses/TooManyRequests'
|
|
208
242
|
'500':
|
|
209
243
|
$ref: '#/components/responses/InternalError'
|
|
244
|
+
security:
|
|
245
|
+
- BearerAuth: []
|
|
210
246
|
/actions/validate:
|
|
211
247
|
post:
|
|
212
248
|
tags:
|
|
213
249
|
- Actions
|
|
214
250
|
operationId: validateActionParams
|
|
215
251
|
summary: 验证动作参数
|
|
216
|
-
description:
|
|
217
|
-
验证动作参数是否符合 Schema 定义(不执行动作)。
|
|
218
|
-
用于前端表单提交前的预校验。
|
|
252
|
+
description: 验证参数是否符合 Schema 定义,不执行动作
|
|
219
253
|
requestBody:
|
|
220
254
|
required: true
|
|
221
255
|
content:
|
|
@@ -231,51 +265,41 @@ paths:
|
|
|
231
265
|
$ref: '#/components/schemas/ValidateActionResponse'
|
|
232
266
|
'400':
|
|
233
267
|
$ref: '#/components/responses/BadRequest'
|
|
268
|
+
security:
|
|
269
|
+
- BearerAuth: []
|
|
234
270
|
/actions/definitions:
|
|
235
271
|
get:
|
|
236
272
|
tags:
|
|
237
273
|
- Actions
|
|
238
274
|
operationId: getActionDefinition
|
|
239
275
|
summary: 获取动作定义
|
|
240
|
-
description:
|
|
276
|
+
description: 按版本 ID 获取动作定义详情
|
|
241
277
|
parameters:
|
|
242
278
|
- name: actionDefinitionVersionId
|
|
243
279
|
in: query
|
|
244
280
|
required: true
|
|
281
|
+
description: 动作定义版本 ID
|
|
245
282
|
schema:
|
|
246
283
|
type: string
|
|
247
|
-
|
|
284
|
+
example: 202401efgh87654321
|
|
248
285
|
responses:
|
|
249
286
|
'200':
|
|
250
|
-
description:
|
|
287
|
+
description: 动作定义版本信息
|
|
251
288
|
content:
|
|
252
289
|
application/json:
|
|
253
290
|
schema:
|
|
254
|
-
$ref: '#/components/schemas/
|
|
291
|
+
$ref: '#/components/schemas/ActionDefinitionVersionResponse'
|
|
255
292
|
'404':
|
|
256
293
|
$ref: '#/components/responses/NotFound'
|
|
294
|
+
security:
|
|
295
|
+
- BearerAuth: []
|
|
257
296
|
/data/query:
|
|
258
297
|
post:
|
|
259
298
|
tags:
|
|
260
299
|
- Queries
|
|
261
300
|
operationId: queryData
|
|
262
|
-
summary:
|
|
263
|
-
description:
|
|
264
|
-
Data Proxy 统一入口,所有数据查询都通过此接口执行。
|
|
265
|
-
|
|
266
|
-
功能:
|
|
267
|
-
- 白名单校验(queryVersionId 属于该 app/workspace)
|
|
268
|
-
- 字段裁剪、脱敏
|
|
269
|
-
- 缓存(短 TTL)
|
|
270
|
-
- 失败降级(兜底结构)
|
|
271
|
-
- 审计(可选,或采样)
|
|
272
|
-
|
|
273
|
-
支持的数据源类型:
|
|
274
|
-
- http: HTTP 接口
|
|
275
|
-
- graphql: GraphQL 查询
|
|
276
|
-
- database: 数据库查询(受限)
|
|
277
|
-
- internal: 内部服务
|
|
278
|
-
- aggregation: 聚合查询
|
|
301
|
+
summary: 执行数据查询
|
|
302
|
+
description: 通过 queryVersionId 查询数据
|
|
279
303
|
requestBody:
|
|
280
304
|
required: true
|
|
281
305
|
content:
|
|
@@ -284,7 +308,7 @@ paths:
|
|
|
284
308
|
$ref: '#/components/schemas/QueryDataRequest'
|
|
285
309
|
responses:
|
|
286
310
|
'200':
|
|
287
|
-
description:
|
|
311
|
+
description: 成功
|
|
288
312
|
content:
|
|
289
313
|
application/json:
|
|
290
314
|
schema:
|
|
@@ -293,25 +317,17 @@ paths:
|
|
|
293
317
|
$ref: '#/components/responses/BadRequest'
|
|
294
318
|
'401':
|
|
295
319
|
$ref: '#/components/responses/Unauthorized'
|
|
296
|
-
'403':
|
|
297
|
-
$ref: '#/components/responses/Forbidden'
|
|
298
|
-
'404':
|
|
299
|
-
$ref: '#/components/responses/NotFound'
|
|
300
|
-
'422':
|
|
301
|
-
$ref: '#/components/responses/UnprocessableEntity'
|
|
302
320
|
'500':
|
|
303
321
|
$ref: '#/components/responses/InternalError'
|
|
304
|
-
|
|
305
|
-
|
|
322
|
+
security:
|
|
323
|
+
- BearerAuth: []
|
|
306
324
|
/data/query/batch:
|
|
307
325
|
post:
|
|
308
326
|
tags:
|
|
309
327
|
- Queries
|
|
310
328
|
operationId: batchQueryData
|
|
311
329
|
summary: 批量执行数据查询
|
|
312
|
-
description:
|
|
313
|
-
批量执行多个数据查询,用于页面初始化时预取多个数据源。
|
|
314
|
-
所有查询并行执行,部分失败不影响其他查询返回。
|
|
330
|
+
description: 批量执行多个数据查询,所有查询并行执行
|
|
315
331
|
requestBody:
|
|
316
332
|
required: true
|
|
317
333
|
content:
|
|
@@ -327,42 +343,39 @@ paths:
|
|
|
327
343
|
$ref: '#/components/schemas/BatchQueryResponse'
|
|
328
344
|
'400':
|
|
329
345
|
$ref: '#/components/responses/BadRequest'
|
|
346
|
+
security:
|
|
347
|
+
- BearerAuth: []
|
|
330
348
|
/data/definitions:
|
|
331
349
|
get:
|
|
332
350
|
tags:
|
|
333
351
|
- Queries
|
|
334
352
|
operationId: getQueryDefinition
|
|
335
353
|
summary: 获取查询定义
|
|
336
|
-
description:
|
|
354
|
+
description: 按版本 ID 获取数据查询定义
|
|
337
355
|
parameters:
|
|
338
356
|
- name: queryVersionId
|
|
339
357
|
in: query
|
|
340
358
|
required: true
|
|
341
359
|
schema:
|
|
342
360
|
type: string
|
|
343
|
-
description: 查询定义版本 ID
|
|
344
361
|
responses:
|
|
345
362
|
'200':
|
|
346
|
-
description:
|
|
363
|
+
description: 查询定义
|
|
347
364
|
content:
|
|
348
365
|
application/json:
|
|
349
366
|
schema:
|
|
350
367
|
$ref: '#/components/schemas/QueryDefinitionResponse'
|
|
351
368
|
'404':
|
|
352
369
|
$ref: '#/components/responses/NotFound'
|
|
370
|
+
security:
|
|
371
|
+
- BearerAuth: []
|
|
353
372
|
/activities/{activityId}:
|
|
354
373
|
get:
|
|
355
374
|
tags:
|
|
356
375
|
- Activities
|
|
357
|
-
summary: 获取活动信息(公开)
|
|
358
376
|
operationId: getActivityInfo
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
返回内容包括:
|
|
363
|
-
- 活动基本信息
|
|
364
|
-
- 时间范围
|
|
365
|
-
- 奖品列表(脱敏)
|
|
377
|
+
summary: 获取活动信息(公开)
|
|
378
|
+
description: 获取活动的公开信息,不需要登录
|
|
366
379
|
parameters:
|
|
367
380
|
- name: activityId
|
|
368
381
|
in: path
|
|
@@ -375,12 +388,7 @@ paths:
|
|
|
375
388
|
content:
|
|
376
389
|
application/json:
|
|
377
390
|
schema:
|
|
378
|
-
|
|
379
|
-
properties:
|
|
380
|
-
success:
|
|
381
|
-
type: boolean
|
|
382
|
-
data:
|
|
383
|
-
$ref: '#/components/schemas/PublicActivityInfo'
|
|
391
|
+
$ref: '#/components/schemas/ActivityInfoResponse'
|
|
384
392
|
'404':
|
|
385
393
|
$ref: '#/components/responses/NotFound'
|
|
386
394
|
security: []
|
|
@@ -388,83 +396,69 @@ paths:
|
|
|
388
396
|
get:
|
|
389
397
|
tags:
|
|
390
398
|
- Activities
|
|
391
|
-
summary: 获取用户活动状态
|
|
392
399
|
operationId: getActivityState
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
返回内容包括:
|
|
397
|
-
- 是否可参与
|
|
398
|
-
- 剩余次数
|
|
399
|
-
- 类型特定状态(领取/签到/抽奖等)
|
|
400
|
+
summary: 获取用户活动状态
|
|
401
|
+
description: 查询用户在指定活动中的参与状态
|
|
400
402
|
parameters:
|
|
401
403
|
- name: activityId
|
|
402
404
|
in: path
|
|
403
405
|
required: true
|
|
404
406
|
schema:
|
|
405
407
|
type: string
|
|
408
|
+
- name: uid
|
|
409
|
+
in: query
|
|
410
|
+
required: false
|
|
411
|
+
description: 用户 UID
|
|
412
|
+
schema:
|
|
413
|
+
type: string
|
|
406
414
|
responses:
|
|
407
415
|
'200':
|
|
408
416
|
description: 成功
|
|
409
417
|
content:
|
|
410
418
|
application/json:
|
|
411
419
|
schema:
|
|
412
|
-
|
|
413
|
-
properties:
|
|
414
|
-
success:
|
|
415
|
-
type: boolean
|
|
416
|
-
data:
|
|
417
|
-
$ref: '#/components/schemas/UserActivityState'
|
|
420
|
+
$ref: '#/components/schemas/ActivityStatusResponse'
|
|
418
421
|
'404':
|
|
419
422
|
$ref: '#/components/responses/NotFound'
|
|
420
|
-
security:
|
|
421
|
-
- BearerAuth: []
|
|
422
423
|
/activities/{activityId}/signin/calendar:
|
|
423
424
|
get:
|
|
424
425
|
tags:
|
|
425
426
|
- Activities
|
|
426
|
-
summary: 获取签到日历
|
|
427
427
|
operationId: getSigninCalendar
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
返回内容包括:
|
|
432
|
-
- 当前周期的签到记录
|
|
433
|
-
- 连续签到天数
|
|
434
|
-
- 累计签到天数
|
|
435
|
-
- 奖励进度
|
|
428
|
+
summary: 获取签到日历
|
|
429
|
+
description: 获取用户的签到日历数据
|
|
436
430
|
parameters:
|
|
437
431
|
- name: activityId
|
|
438
432
|
in: path
|
|
439
433
|
required: true
|
|
440
434
|
schema:
|
|
441
435
|
type: string
|
|
436
|
+
- name: uid
|
|
437
|
+
in: query
|
|
438
|
+
required: true
|
|
439
|
+
description: 用户 UID
|
|
440
|
+
schema:
|
|
441
|
+
type: string
|
|
442
442
|
- name: month
|
|
443
443
|
in: query
|
|
444
|
-
|
|
444
|
+
required: false
|
|
445
|
+
description: 月份(YYYY-MM)
|
|
445
446
|
schema:
|
|
446
447
|
type: string
|
|
447
|
-
|
|
448
|
+
example: 2024-01
|
|
448
449
|
responses:
|
|
449
450
|
'200':
|
|
450
451
|
description: 成功
|
|
451
452
|
content:
|
|
452
453
|
application/json:
|
|
453
454
|
schema:
|
|
454
|
-
|
|
455
|
-
properties:
|
|
456
|
-
success:
|
|
457
|
-
type: boolean
|
|
458
|
-
data:
|
|
459
|
-
$ref: '#/components/schemas/SigninCalendar'
|
|
460
|
-
security:
|
|
461
|
-
- BearerAuth: []
|
|
455
|
+
$ref: '#/components/schemas/SigninCalendarResponse'
|
|
462
456
|
/activities/{activityId}/claims:
|
|
463
457
|
get:
|
|
464
458
|
tags:
|
|
465
459
|
- Activities
|
|
466
|
-
summary: 获取领取记录
|
|
467
460
|
operationId: getClaimRecords
|
|
461
|
+
summary: 获取领取记录
|
|
468
462
|
description: 获取用户在指定活动中的领取记录
|
|
469
463
|
parameters:
|
|
470
464
|
- name: activityId
|
|
@@ -472,13 +466,23 @@ paths:
|
|
|
472
466
|
required: true
|
|
473
467
|
schema:
|
|
474
468
|
type: string
|
|
469
|
+
- name: pageToken
|
|
470
|
+
in: query
|
|
471
|
+
required: false
|
|
472
|
+
description: 分页游标
|
|
473
|
+
schema:
|
|
474
|
+
type: string
|
|
475
475
|
- name: pageSize
|
|
476
476
|
in: query
|
|
477
|
+
required: false
|
|
478
|
+
description: 每页条数
|
|
477
479
|
schema:
|
|
478
|
-
type:
|
|
479
|
-
|
|
480
|
-
- name:
|
|
480
|
+
type: number
|
|
481
|
+
example: 20
|
|
482
|
+
- name: uid
|
|
481
483
|
in: query
|
|
484
|
+
required: false
|
|
485
|
+
description: 用户 UID,不传则返回空
|
|
482
486
|
schema:
|
|
483
487
|
type: string
|
|
484
488
|
responses:
|
|
@@ -487,24 +491,13 @@ paths:
|
|
|
487
491
|
content:
|
|
488
492
|
application/json:
|
|
489
493
|
schema:
|
|
490
|
-
|
|
491
|
-
properties:
|
|
492
|
-
success:
|
|
493
|
-
type: boolean
|
|
494
|
-
data:
|
|
495
|
-
type: array
|
|
496
|
-
items:
|
|
497
|
-
$ref: '#/components/schemas/ClaimRecordInfo'
|
|
498
|
-
meta:
|
|
499
|
-
$ref: '#/components/schemas/PaginationMeta'
|
|
500
|
-
security:
|
|
501
|
-
- BearerAuth: []
|
|
494
|
+
$ref: '#/components/schemas/PaginatedRecordsResponse'
|
|
502
495
|
/activities/{activityId}/lottery:
|
|
503
496
|
get:
|
|
504
497
|
tags:
|
|
505
498
|
- Activities
|
|
506
|
-
summary: 获取抽奖记录
|
|
507
499
|
operationId: getLotteryRecords
|
|
500
|
+
summary: 获取抽奖记录
|
|
508
501
|
description: 获取用户在指定活动中的抽奖记录
|
|
509
502
|
parameters:
|
|
510
503
|
- name: activityId
|
|
@@ -514,11 +507,16 @@ paths:
|
|
|
514
507
|
type: string
|
|
515
508
|
- name: pageSize
|
|
516
509
|
in: query
|
|
510
|
+
required: false
|
|
511
|
+
description: 每页条数
|
|
517
512
|
schema:
|
|
518
|
-
type:
|
|
513
|
+
type: number
|
|
519
514
|
default: 20
|
|
515
|
+
example: 20
|
|
520
516
|
- name: pageToken
|
|
521
517
|
in: query
|
|
518
|
+
required: false
|
|
519
|
+
description: 分页游标
|
|
522
520
|
schema:
|
|
523
521
|
type: string
|
|
524
522
|
responses:
|
|
@@ -527,68 +525,111 @@ paths:
|
|
|
527
525
|
content:
|
|
528
526
|
application/json:
|
|
529
527
|
schema:
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
528
|
+
$ref: '#/components/schemas/PaginatedRecordsResponse'
|
|
529
|
+
/activities/{activityId}/status:
|
|
530
|
+
get:
|
|
531
|
+
tags:
|
|
532
|
+
- Activities
|
|
533
|
+
operationId: getActivityStatus
|
|
534
|
+
summary: 获取活动状态(兼容)
|
|
535
|
+
description: 获取活动的当前状态信息
|
|
536
|
+
parameters:
|
|
537
|
+
- name: activityId
|
|
538
|
+
in: path
|
|
539
|
+
required: true
|
|
540
|
+
schema:
|
|
541
|
+
type: string
|
|
542
|
+
responses:
|
|
543
|
+
'200':
|
|
544
|
+
description: 成功
|
|
545
|
+
content:
|
|
546
|
+
application/json:
|
|
547
|
+
schema:
|
|
548
|
+
$ref: '#/components/schemas/ActivityStatusResponse'
|
|
549
|
+
'404':
|
|
550
|
+
$ref: '#/components/responses/NotFound'
|
|
551
|
+
security: []
|
|
552
|
+
/activities/{activityId}/claim/status:
|
|
553
|
+
get:
|
|
554
|
+
tags:
|
|
555
|
+
- Activities
|
|
556
|
+
operationId: getClaimStatus
|
|
557
|
+
summary: 获取领取状态
|
|
558
|
+
description: 获取用户在指定活动中的领取状态
|
|
559
|
+
parameters:
|
|
560
|
+
- name: activityId
|
|
561
|
+
in: path
|
|
562
|
+
required: true
|
|
563
|
+
schema:
|
|
564
|
+
type: string
|
|
565
|
+
- name: uid
|
|
566
|
+
in: query
|
|
567
|
+
required: true
|
|
568
|
+
description: 用户 UID
|
|
569
|
+
schema:
|
|
570
|
+
type: string
|
|
571
|
+
responses:
|
|
572
|
+
'200':
|
|
573
|
+
description: 成功
|
|
574
|
+
content:
|
|
575
|
+
application/json:
|
|
576
|
+
schema:
|
|
577
|
+
$ref: '#/components/schemas/ClaimStatusResponse'
|
|
578
|
+
/activities/{activityId}/signin/status:
|
|
579
|
+
get:
|
|
580
|
+
tags:
|
|
581
|
+
- Activities
|
|
582
|
+
operationId: getSigninStatus
|
|
583
|
+
summary: 获取签到状态
|
|
584
|
+
description: 获取用户在指定活动中的签到状态
|
|
585
|
+
parameters:
|
|
586
|
+
- name: activityId
|
|
587
|
+
in: path
|
|
588
|
+
required: true
|
|
589
|
+
schema:
|
|
590
|
+
type: string
|
|
591
|
+
- name: uid
|
|
592
|
+
in: query
|
|
593
|
+
required: true
|
|
594
|
+
description: 用户 UID
|
|
595
|
+
schema:
|
|
596
|
+
type: string
|
|
597
|
+
responses:
|
|
598
|
+
'200':
|
|
599
|
+
description: 成功
|
|
600
|
+
content:
|
|
601
|
+
application/json:
|
|
602
|
+
schema:
|
|
603
|
+
$ref: '#/components/schemas/SigninStatusResponse'
|
|
542
604
|
/track:
|
|
543
605
|
post:
|
|
544
606
|
tags:
|
|
545
607
|
- Track
|
|
546
|
-
summary: 埋点上报
|
|
547
608
|
operationId: track
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
特点:
|
|
552
|
-
- 高性能:不阻塞主链路
|
|
553
|
-
- 可靠:通过 Outbox 异步持久化
|
|
554
|
-
- 可追溯:自动关联 pageVersionId/componentVersionId/traceId
|
|
609
|
+
summary: 单个埋点上报
|
|
610
|
+
description: 接收客户端埋点数据,异步处理
|
|
555
611
|
requestBody:
|
|
556
612
|
required: true
|
|
557
613
|
content:
|
|
558
614
|
application/json:
|
|
559
615
|
schema:
|
|
560
|
-
$ref: '#/components/schemas/
|
|
616
|
+
$ref: '#/components/schemas/TrackSingleRequest'
|
|
561
617
|
responses:
|
|
562
618
|
'202':
|
|
563
619
|
description: 接收成功(异步处理)
|
|
564
620
|
content:
|
|
565
621
|
application/json:
|
|
566
622
|
schema:
|
|
567
|
-
|
|
568
|
-
properties:
|
|
569
|
-
success:
|
|
570
|
-
type: boolean
|
|
571
|
-
example: true
|
|
572
|
-
data:
|
|
573
|
-
type: object
|
|
574
|
-
properties:
|
|
575
|
-
eventId:
|
|
576
|
-
type: string
|
|
577
|
-
description: 事件 ID
|
|
623
|
+
$ref: '#/components/schemas/TrackSingleResponse'
|
|
578
624
|
'400':
|
|
579
625
|
$ref: '#/components/responses/BadRequest'
|
|
580
626
|
/track/batch:
|
|
581
627
|
post:
|
|
582
628
|
tags:
|
|
583
629
|
- Track
|
|
584
|
-
summary: 批量埋点上报
|
|
585
630
|
operationId: trackBatch
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
限制:
|
|
590
|
-
- 单次最多 100 条
|
|
591
|
-
- 单条事件不超过 10KB
|
|
631
|
+
summary: 批量埋点上报
|
|
632
|
+
description: 批量接收客户端埋点数据,提高上报效率
|
|
592
633
|
requestBody:
|
|
593
634
|
required: true
|
|
594
635
|
content:
|
|
@@ -601,75 +642,29 @@ paths:
|
|
|
601
642
|
content:
|
|
602
643
|
application/json:
|
|
603
644
|
schema:
|
|
604
|
-
|
|
605
|
-
properties:
|
|
606
|
-
success:
|
|
607
|
-
type: boolean
|
|
608
|
-
data:
|
|
609
|
-
type: object
|
|
610
|
-
properties:
|
|
611
|
-
accepted:
|
|
612
|
-
type: integer
|
|
613
|
-
description: 接收的事件数量
|
|
614
|
-
rejected:
|
|
615
|
-
type: integer
|
|
616
|
-
description: 拒绝的事件数量
|
|
617
|
-
errors:
|
|
618
|
-
type: array
|
|
619
|
-
items:
|
|
620
|
-
type: object
|
|
621
|
-
properties:
|
|
622
|
-
index:
|
|
623
|
-
type: integer
|
|
624
|
-
reason:
|
|
625
|
-
type: string
|
|
645
|
+
$ref: '#/components/schemas/TrackBatchResponse'
|
|
626
646
|
'400':
|
|
627
647
|
$ref: '#/components/responses/BadRequest'
|
|
628
648
|
/tenant/resolve:
|
|
629
649
|
post:
|
|
630
650
|
tags:
|
|
631
651
|
- Tenant
|
|
632
|
-
summary: 解析租户信息
|
|
633
652
|
operationId: resolveTenant
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
用于:
|
|
638
|
-
- Runtime 初始化时获取应用配置
|
|
639
|
-
- 多租户场景下的应用隔离
|
|
653
|
+
summary: 解析租户信息
|
|
654
|
+
description: 根据 appKey 或 host 解析租户/应用信息
|
|
640
655
|
requestBody:
|
|
641
656
|
required: true
|
|
642
657
|
content:
|
|
643
658
|
application/json:
|
|
644
659
|
schema:
|
|
645
|
-
|
|
646
|
-
properties:
|
|
647
|
-
appKey:
|
|
648
|
-
type: string
|
|
649
|
-
description: 应用密钥
|
|
650
|
-
host:
|
|
651
|
-
type: string
|
|
652
|
-
description: 请求来源域名
|
|
653
|
-
channel:
|
|
654
|
-
type: string
|
|
655
|
-
description: 渠道标识
|
|
656
|
-
anyOf:
|
|
657
|
-
- required:
|
|
658
|
-
- appKey
|
|
659
|
-
- required:
|
|
660
|
-
- host
|
|
660
|
+
$ref: '#/components/schemas/ResolveTenantRequest'
|
|
661
661
|
responses:
|
|
662
662
|
'200':
|
|
663
663
|
description: 解析成功
|
|
664
664
|
content:
|
|
665
665
|
application/json:
|
|
666
666
|
schema:
|
|
667
|
-
|
|
668
|
-
properties:
|
|
669
|
-
success:
|
|
670
|
-
type: boolean
|
|
671
|
-
data:
|
|
672
|
-
$ref: '#/components/schemas/TenantInfo'
|
|
667
|
+
$ref: '#/components/schemas/ResolveTenantResponse'
|
|
673
668
|
'400':
|
|
674
669
|
$ref: '#/components/responses/BadRequest'
|
|
675
670
|
'404':
|
|
@@ -683,36 +678,27 @@ paths:
|
|
|
683
678
|
get:
|
|
684
679
|
tags:
|
|
685
680
|
- Tenant
|
|
686
|
-
summary: 获取租户配置
|
|
687
681
|
operationId: getTenantConfig
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
包括:
|
|
692
|
-
- 功能开关
|
|
693
|
-
- 主题配置
|
|
694
|
-
- CDN 域名
|
|
695
|
-
- 阻断组件列表
|
|
696
|
-
- Kill Switch 状态
|
|
682
|
+
summary: 获取租户配置
|
|
683
|
+
description: 获取当前租户的运行时配置
|
|
697
684
|
parameters:
|
|
685
|
+
- name: x-app-id
|
|
686
|
+
in: header
|
|
687
|
+
required: true
|
|
688
|
+
schema:
|
|
689
|
+
type: string
|
|
698
690
|
- name: X-App-Id
|
|
699
691
|
in: header
|
|
700
692
|
required: true
|
|
701
693
|
schema:
|
|
702
694
|
type: string
|
|
703
|
-
description: 应用 ID
|
|
704
695
|
responses:
|
|
705
696
|
'200':
|
|
706
|
-
description:
|
|
697
|
+
description: 获取成功
|
|
707
698
|
content:
|
|
708
699
|
application/json:
|
|
709
700
|
schema:
|
|
710
|
-
|
|
711
|
-
properties:
|
|
712
|
-
success:
|
|
713
|
-
type: boolean
|
|
714
|
-
data:
|
|
715
|
-
$ref: '#/components/schemas/TenantConfig'
|
|
701
|
+
$ref: '#/components/schemas/TenantConfigResponse'
|
|
716
702
|
'401':
|
|
717
703
|
$ref: '#/components/responses/Unauthorized'
|
|
718
704
|
'404':
|
|
@@ -721,429 +707,177 @@ paths:
|
|
|
721
707
|
get:
|
|
722
708
|
tags:
|
|
723
709
|
- Health
|
|
724
|
-
summary: 健康检查
|
|
725
710
|
operationId: healthCheck
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
返回:
|
|
730
|
-
- 服务状态(healthy/degraded/unhealthy)
|
|
731
|
-
- 版本信息
|
|
732
|
-
- 运行时间
|
|
733
|
-
- 依赖服务状态
|
|
711
|
+
summary: 健康检查
|
|
712
|
+
description: 综合健康检查,返回服务状态和时间戳
|
|
734
713
|
responses:
|
|
735
714
|
'200':
|
|
736
|
-
description:
|
|
715
|
+
description: 健康
|
|
737
716
|
content:
|
|
738
717
|
application/json:
|
|
739
718
|
schema:
|
|
740
|
-
$ref: '#/components/schemas/
|
|
741
|
-
|
|
742
|
-
|
|
719
|
+
$ref: '#/components/schemas/HealthCheckResponse'
|
|
720
|
+
security: []
|
|
721
|
+
/health/live:
|
|
722
|
+
get:
|
|
723
|
+
tags:
|
|
724
|
+
- Health
|
|
725
|
+
operationId: livenessCheck
|
|
726
|
+
summary: 存活检查
|
|
727
|
+
description: Kubernetes liveness probe
|
|
728
|
+
responses:
|
|
729
|
+
'200':
|
|
730
|
+
description: 存活
|
|
743
731
|
content:
|
|
744
732
|
application/json:
|
|
745
733
|
schema:
|
|
746
|
-
$ref: '#/components/schemas/
|
|
734
|
+
$ref: '#/components/schemas/LivenessResponse'
|
|
747
735
|
security: []
|
|
748
736
|
/health/ready:
|
|
749
737
|
get:
|
|
750
738
|
tags:
|
|
751
739
|
- Health
|
|
752
|
-
summary: 就绪检查
|
|
753
740
|
operationId: readinessCheck
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
检查服务是否准备好接收流量。
|
|
757
|
-
responses:
|
|
758
|
-
'200':
|
|
759
|
-
description: 服务就绪
|
|
760
|
-
content:
|
|
761
|
-
application/json:
|
|
762
|
-
schema:
|
|
763
|
-
type: object
|
|
764
|
-
properties:
|
|
765
|
-
ready:
|
|
766
|
-
type: boolean
|
|
767
|
-
example: true
|
|
768
|
-
'503':
|
|
769
|
-
description: 服务未就绪
|
|
770
|
-
content:
|
|
771
|
-
application/json:
|
|
772
|
-
schema:
|
|
773
|
-
type: object
|
|
774
|
-
properties:
|
|
775
|
-
ready:
|
|
776
|
-
type: boolean
|
|
777
|
-
example: false
|
|
778
|
-
reason:
|
|
779
|
-
type: string
|
|
780
|
-
security: []
|
|
781
|
-
/health/live:
|
|
782
|
-
get:
|
|
783
|
-
tags:
|
|
784
|
-
- Health
|
|
785
|
-
summary: 存活检查
|
|
786
|
-
operationId: livenessCheck
|
|
787
|
-
description: |
|
|
788
|
-
Kubernetes liveness probe。
|
|
789
|
-
检查服务是否存活。
|
|
741
|
+
summary: 就绪检查
|
|
742
|
+
description: Kubernetes readiness probe
|
|
790
743
|
responses:
|
|
791
744
|
'200':
|
|
792
|
-
description:
|
|
745
|
+
description: 就绪
|
|
793
746
|
content:
|
|
794
747
|
application/json:
|
|
795
748
|
schema:
|
|
796
|
-
|
|
797
|
-
properties:
|
|
798
|
-
alive:
|
|
799
|
-
type: boolean
|
|
800
|
-
example: true
|
|
801
|
-
'503':
|
|
802
|
-
description: 服务不存活
|
|
749
|
+
$ref: '#/components/schemas/ReadinessResponse'
|
|
803
750
|
security: []
|
|
804
751
|
components:
|
|
805
752
|
schemas:
|
|
806
|
-
|
|
807
|
-
type: object
|
|
808
|
-
required:
|
|
809
|
-
- success
|
|
810
|
-
- code
|
|
811
|
-
- message
|
|
812
|
-
- data
|
|
813
|
-
- timestamp
|
|
814
|
-
- path
|
|
815
|
-
description: 成功响应(ApiSuccessResponse,与 types/src/common/api.ts 保持一致)
|
|
816
|
-
properties:
|
|
817
|
-
success:
|
|
818
|
-
type: boolean
|
|
819
|
-
enum:
|
|
820
|
-
- true
|
|
821
|
-
example: true
|
|
822
|
-
description: 是否成功(固定为 true)
|
|
823
|
-
code:
|
|
824
|
-
type: string
|
|
825
|
-
example: OK
|
|
826
|
-
description: 业务状态码
|
|
827
|
-
message:
|
|
828
|
-
type: string
|
|
829
|
-
example: 操作成功
|
|
830
|
-
description: 响应消息
|
|
831
|
-
data:
|
|
832
|
-
description: 响应数据(泛型 T)
|
|
833
|
-
timestamp:
|
|
834
|
-
type: integer
|
|
835
|
-
format: int64
|
|
836
|
-
example: 1702300000000
|
|
837
|
-
description: 响应时间戳(Unix 毫秒时间戳,number)
|
|
838
|
-
path:
|
|
839
|
-
type: string
|
|
840
|
-
example: /api/user/pages/resolve
|
|
841
|
-
description: 请求路径
|
|
842
|
-
requestId:
|
|
843
|
-
type: string
|
|
844
|
-
example: uuid-string
|
|
845
|
-
description: 请求 ID(可选)
|
|
846
|
-
KillSwitchItem:
|
|
847
|
-
type: object
|
|
848
|
-
required:
|
|
849
|
-
- targetType
|
|
850
|
-
- targetId
|
|
851
|
-
- enabled
|
|
852
|
-
description: Kill-Switch 条目
|
|
853
|
-
properties:
|
|
854
|
-
targetType:
|
|
855
|
-
type: string
|
|
856
|
-
enum:
|
|
857
|
-
- action
|
|
858
|
-
- component
|
|
859
|
-
- feature
|
|
860
|
-
- page
|
|
861
|
-
- query
|
|
862
|
-
description: 目标类型
|
|
863
|
-
targetId:
|
|
864
|
-
type: string
|
|
865
|
-
description: 目标 ID(actionType/componentName/featureKey/pageId/queryId)
|
|
866
|
-
enabled:
|
|
867
|
-
type: boolean
|
|
868
|
-
description: 是否启用(true = 被关闭)
|
|
869
|
-
reason:
|
|
870
|
-
type: string
|
|
871
|
-
description: 关闭原因
|
|
872
|
-
enabledAt:
|
|
873
|
-
type: string
|
|
874
|
-
format: date-time
|
|
875
|
-
description: 关闭时间(ISO8601)
|
|
876
|
-
enabledBy:
|
|
877
|
-
type: string
|
|
878
|
-
description: 关闭操作者
|
|
879
|
-
userMessage:
|
|
880
|
-
type: string
|
|
881
|
-
description: 用户提示消息
|
|
882
|
-
BlockedComponentItem:
|
|
753
|
+
BlockedComponent:
|
|
883
754
|
type: object
|
|
884
755
|
required:
|
|
885
756
|
- name
|
|
886
757
|
- reason
|
|
887
|
-
|
|
758
|
+
- blockedAt
|
|
759
|
+
- blockedBy
|
|
760
|
+
description: 被阻断的组件(BlockedComponentVo)
|
|
888
761
|
properties:
|
|
889
762
|
name:
|
|
890
763
|
type: string
|
|
891
764
|
description: 组件名称
|
|
892
765
|
version:
|
|
893
766
|
type: string
|
|
894
|
-
|
|
895
|
-
description: 组件版本(可选,不指定则阻断所有版本)
|
|
767
|
+
description: 组件版本(不填则阻断所有版本)
|
|
896
768
|
reason:
|
|
897
769
|
type: string
|
|
898
770
|
description: 阻断原因
|
|
899
771
|
blockedAt:
|
|
900
772
|
type: string
|
|
901
|
-
|
|
902
|
-
description: 阻断时间(ISO8601)
|
|
773
|
+
description: 阻断时间
|
|
903
774
|
blockedBy:
|
|
904
775
|
type: string
|
|
905
|
-
description:
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
776
|
+
description: 操作者
|
|
777
|
+
DegradeConfig:
|
|
778
|
+
type: object
|
|
779
|
+
required:
|
|
780
|
+
- enabled
|
|
781
|
+
- mode
|
|
782
|
+
description: 降级配置(DegradeConfigVo)
|
|
783
|
+
properties:
|
|
784
|
+
enabled:
|
|
911
785
|
type: boolean
|
|
912
|
-
description:
|
|
786
|
+
description: 是否启用降级
|
|
787
|
+
mode:
|
|
788
|
+
type: string
|
|
789
|
+
description: 降级模式
|
|
790
|
+
enum:
|
|
791
|
+
- fallback
|
|
792
|
+
- static
|
|
793
|
+
- error
|
|
794
|
+
message:
|
|
795
|
+
type: string
|
|
796
|
+
description: 降级消息
|
|
913
797
|
OpsConfig:
|
|
914
798
|
type: object
|
|
915
|
-
description: 运维配置(运行时下发,与 types/page/snapshot.ts OpsConfig 对齐)
|
|
916
799
|
required:
|
|
917
800
|
- killSwitch
|
|
918
801
|
- blockedComponents
|
|
919
|
-
-
|
|
802
|
+
- blockedPages
|
|
803
|
+
- featureFlags
|
|
804
|
+
- degradeConfig
|
|
805
|
+
description: 运维配置(OpsConfigVo)
|
|
920
806
|
properties:
|
|
921
|
-
configVersionId:
|
|
922
|
-
type: string
|
|
923
|
-
description: 配置版本 ID(用于缓存失效)
|
|
924
807
|
killSwitch:
|
|
808
|
+
type: boolean
|
|
809
|
+
description: 全局 kill-switch
|
|
810
|
+
blockedComponents:
|
|
811
|
+
description: 被阻断的组件列表
|
|
925
812
|
type: array
|
|
926
813
|
items:
|
|
927
|
-
$ref: '#/components/schemas/
|
|
928
|
-
|
|
929
|
-
|
|
814
|
+
$ref: '#/components/schemas/BlockedComponent'
|
|
815
|
+
blockedPages:
|
|
816
|
+
description: 被阻断的页面列表
|
|
930
817
|
type: array
|
|
931
818
|
items:
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
flags:
|
|
819
|
+
type: string
|
|
820
|
+
featureFlags:
|
|
935
821
|
type: object
|
|
822
|
+
description: 功能开关
|
|
936
823
|
additionalProperties:
|
|
937
824
|
type: boolean
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
description: 配置过期时间(ISO8601)
|
|
825
|
+
degradeConfig:
|
|
826
|
+
description: 降级配置
|
|
827
|
+
allOf:
|
|
828
|
+
- $ref: '#/components/schemas/DegradeConfig'
|
|
943
829
|
ResolvePageResponse:
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
996
|
-
description: 运行时版本(SemVer,与 manifest.runtime.version 一致)
|
|
997
|
-
rolloutMatch:
|
|
998
|
-
type: object
|
|
999
|
-
description: 灰度匹配信息(可选,用于调试)
|
|
1000
|
-
properties:
|
|
1001
|
-
strategyId:
|
|
1002
|
-
type: string
|
|
1003
|
-
description: 匹配的策略 ID
|
|
1004
|
-
strategyName:
|
|
1005
|
-
type: string
|
|
1006
|
-
description: 匹配的策略名称
|
|
1007
|
-
isDefault:
|
|
1008
|
-
type: boolean
|
|
1009
|
-
description: 是否使用默认版本
|
|
1010
|
-
snapshot:
|
|
1011
|
-
type: object
|
|
1012
|
-
description: 完整快照(仅当 includeSnapshot=1 时返回,CDN 失败保底使用)
|
|
1013
|
-
properties:
|
|
1014
|
-
page:
|
|
1015
|
-
type: object
|
|
1016
|
-
description: 页面 Schema(PageSnapshotPage)
|
|
1017
|
-
properties:
|
|
1018
|
-
schemaVersion:
|
|
1019
|
-
type: string
|
|
1020
|
-
pageId:
|
|
1021
|
-
type: string
|
|
1022
|
-
pageVersion:
|
|
1023
|
-
type: string
|
|
1024
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
1025
|
-
title:
|
|
1026
|
-
type: string
|
|
1027
|
-
initialState:
|
|
1028
|
-
type: object
|
|
1029
|
-
additionalProperties: true
|
|
1030
|
-
bindings:
|
|
1031
|
-
type: array
|
|
1032
|
-
items:
|
|
1033
|
-
type: object
|
|
1034
|
-
root:
|
|
1035
|
-
type: object
|
|
1036
|
-
config:
|
|
1037
|
-
type: object
|
|
1038
|
-
manifest:
|
|
1039
|
-
type: object
|
|
1040
|
-
description: 组件锁定清单(PageSnapshotManifest)
|
|
1041
|
-
properties:
|
|
1042
|
-
components:
|
|
1043
|
-
type: array
|
|
1044
|
-
items:
|
|
1045
|
-
type: object
|
|
1046
|
-
properties:
|
|
1047
|
-
name:
|
|
1048
|
-
type: string
|
|
1049
|
-
version:
|
|
1050
|
-
type: string
|
|
1051
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
1052
|
-
integrity:
|
|
1053
|
-
type: string
|
|
1054
|
-
pattern: ^sha(256|384|512)-
|
|
1055
|
-
assetsUrl:
|
|
1056
|
-
type: string
|
|
1057
|
-
format: uri
|
|
1058
|
-
entrypoints:
|
|
1059
|
-
type: object
|
|
1060
|
-
properties:
|
|
1061
|
-
js:
|
|
1062
|
-
type: string
|
|
1063
|
-
css:
|
|
1064
|
-
type: string
|
|
1065
|
-
chunks:
|
|
1066
|
-
type: array
|
|
1067
|
-
items:
|
|
1068
|
-
type: string
|
|
1069
|
-
runtime:
|
|
1070
|
-
type: object
|
|
1071
|
-
properties:
|
|
1072
|
-
version:
|
|
1073
|
-
type: string
|
|
1074
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
1075
|
-
minVersion:
|
|
1076
|
-
type: string
|
|
1077
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
1078
|
-
definitionsDigest:
|
|
1079
|
-
type: object
|
|
1080
|
-
description: 绑定的 Definition 版本摘要(DefinitionsDigest)
|
|
1081
|
-
properties:
|
|
1082
|
-
actions:
|
|
1083
|
-
type: array
|
|
1084
|
-
items:
|
|
1085
|
-
type: object
|
|
1086
|
-
properties:
|
|
1087
|
-
id:
|
|
1088
|
-
type: string
|
|
1089
|
-
name:
|
|
1090
|
-
type: string
|
|
1091
|
-
versionId:
|
|
1092
|
-
type: string
|
|
1093
|
-
hash:
|
|
1094
|
-
type: string
|
|
1095
|
-
queries:
|
|
1096
|
-
type: array
|
|
1097
|
-
items:
|
|
1098
|
-
type: object
|
|
1099
|
-
properties:
|
|
1100
|
-
id:
|
|
1101
|
-
type: string
|
|
1102
|
-
name:
|
|
1103
|
-
type: string
|
|
1104
|
-
versionId:
|
|
1105
|
-
type: string
|
|
1106
|
-
hash:
|
|
1107
|
-
type: string
|
|
1108
|
-
meta:
|
|
1109
|
-
type: object
|
|
1110
|
-
description: 元数据(PageSnapshotMeta)
|
|
1111
|
-
properties:
|
|
1112
|
-
pageId:
|
|
1113
|
-
type: string
|
|
1114
|
-
pageVersionId:
|
|
1115
|
-
type: string
|
|
1116
|
-
publishId:
|
|
1117
|
-
type: string
|
|
1118
|
-
schemaVersion:
|
|
1119
|
-
type: string
|
|
1120
|
-
createdAt:
|
|
1121
|
-
type: string
|
|
1122
|
-
format: date-time
|
|
1123
|
-
createdBy:
|
|
1124
|
-
type: string
|
|
1125
|
-
contentHash:
|
|
1126
|
-
type: string
|
|
1127
|
-
bindings:
|
|
1128
|
-
type: object
|
|
1129
|
-
properties:
|
|
1130
|
-
componentVersions:
|
|
1131
|
-
type: array
|
|
1132
|
-
items:
|
|
1133
|
-
type: string
|
|
1134
|
-
definitionVersions:
|
|
1135
|
-
type: array
|
|
1136
|
-
items:
|
|
1137
|
-
type: string
|
|
1138
|
-
runtimeVersion:
|
|
1139
|
-
type: string
|
|
1140
|
-
pattern: ^\d+\.\d+\.\d+$
|
|
1141
|
-
env:
|
|
1142
|
-
type: string
|
|
1143
|
-
enum:
|
|
1144
|
-
- preview
|
|
1145
|
-
- staging
|
|
1146
|
-
- prod
|
|
830
|
+
type: object
|
|
831
|
+
required:
|
|
832
|
+
- pageId
|
|
833
|
+
- resolvedVersionId
|
|
834
|
+
- cdnBase
|
|
835
|
+
- snapshotUrl
|
|
836
|
+
- manifestUrl
|
|
837
|
+
- ops
|
|
838
|
+
- etag
|
|
839
|
+
- cacheTtlSeconds
|
|
840
|
+
description: 页面解析响应(PageResolveResponseVo)
|
|
841
|
+
properties:
|
|
842
|
+
pageId:
|
|
843
|
+
type: string
|
|
844
|
+
description: 页面 ID
|
|
845
|
+
example: page_123456
|
|
846
|
+
resolvedVersionId:
|
|
847
|
+
type: string
|
|
848
|
+
description: 解析后的页面版本 ID
|
|
849
|
+
example: pv_20240101_abc
|
|
850
|
+
cdnBase:
|
|
851
|
+
type: string
|
|
852
|
+
description: CDN 基础 URL
|
|
853
|
+
example: https://cdn.example.com
|
|
854
|
+
snapshotUrl:
|
|
855
|
+
type: string
|
|
856
|
+
description: Snapshot URL
|
|
857
|
+
example: https://cdn.example.com/pages/page_123456/snapshot.json
|
|
858
|
+
manifestUrl:
|
|
859
|
+
type: string
|
|
860
|
+
description: Manifest URL
|
|
861
|
+
example: https://cdn.example.com/pages/page_123456/manifest.json
|
|
862
|
+
ops:
|
|
863
|
+
description: 运维配置
|
|
864
|
+
allOf:
|
|
865
|
+
- $ref: '#/components/schemas/OpsConfig'
|
|
866
|
+
etag:
|
|
867
|
+
type: string
|
|
868
|
+
description: ETag(用于缓存)
|
|
869
|
+
example: '"abc123"'
|
|
870
|
+
cacheTtlSeconds:
|
|
871
|
+
type: number
|
|
872
|
+
description: 缓存 TTL(秒)
|
|
873
|
+
example: 300
|
|
874
|
+
traceId:
|
|
875
|
+
type: string
|
|
876
|
+
description: 链路追踪 ID
|
|
877
|
+
runtimeVersion:
|
|
878
|
+
type: string
|
|
879
|
+
description: 运行时版本(SemVer)
|
|
880
|
+
example: 1.0.0
|
|
1147
881
|
ErrorResponse:
|
|
1148
882
|
type: object
|
|
1149
883
|
required:
|
|
@@ -1152,58 +886,125 @@ components:
|
|
|
1152
886
|
- message
|
|
1153
887
|
- timestamp
|
|
1154
888
|
- path
|
|
1155
|
-
description: 错误响应(
|
|
889
|
+
description: 错误响应(ErrorResponseVo)
|
|
1156
890
|
properties:
|
|
1157
891
|
success:
|
|
1158
892
|
type: boolean
|
|
1159
|
-
|
|
1160
|
-
- false
|
|
893
|
+
description: 请求是否成功
|
|
1161
894
|
example: false
|
|
1162
|
-
description: 是否成功(固定为 false)
|
|
1163
895
|
code:
|
|
1164
896
|
type: string
|
|
1165
|
-
|
|
1166
|
-
|
|
897
|
+
description: 错误码
|
|
898
|
+
example: USER_NOT_FOUND
|
|
1167
899
|
message:
|
|
1168
900
|
type: string
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
data:
|
|
1172
|
-
type: object
|
|
1173
|
-
additionalProperties: true
|
|
1174
|
-
description: 错误详情(Record<string, unknown>,与 types ApiErrorResponse.data 一致)
|
|
901
|
+
description: 错误消息
|
|
902
|
+
example: 用户不存在
|
|
1175
903
|
timestamp:
|
|
1176
|
-
type:
|
|
1177
|
-
|
|
904
|
+
type: number
|
|
905
|
+
description: 响应时间戳
|
|
1178
906
|
example: 1702300000000
|
|
1179
|
-
description: 响应时间戳(Unix 毫秒时间戳,number)
|
|
1180
907
|
path:
|
|
1181
908
|
type: string
|
|
1182
|
-
example: /api/user/pages/resolve
|
|
1183
909
|
description: 请求路径
|
|
910
|
+
example: /api/users/123
|
|
1184
911
|
requestId:
|
|
1185
912
|
type: string
|
|
913
|
+
description: 请求ID
|
|
1186
914
|
example: uuid-string
|
|
1187
|
-
description: 请求 ID(可选)
|
|
1188
915
|
traceId:
|
|
1189
916
|
type: string
|
|
1190
|
-
|
|
1191
|
-
|
|
917
|
+
description: 链路追踪ID(用于全链路定位问题)
|
|
918
|
+
example: trace-uuid-string
|
|
919
|
+
ManifestComponent:
|
|
920
|
+
type: object
|
|
921
|
+
required:
|
|
922
|
+
- name
|
|
923
|
+
- version
|
|
924
|
+
- source
|
|
925
|
+
- integrity
|
|
926
|
+
description: 组件清单项(ManifestComponentSwaggerVo)
|
|
927
|
+
properties:
|
|
928
|
+
name:
|
|
929
|
+
type: string
|
|
930
|
+
description: 组件名称(Custom Element 标签名)
|
|
931
|
+
example: djvlc-button
|
|
932
|
+
version:
|
|
933
|
+
type: string
|
|
934
|
+
description: 版本号
|
|
935
|
+
example: 1.0.0
|
|
936
|
+
source:
|
|
937
|
+
type: string
|
|
938
|
+
description: 组件来源
|
|
939
|
+
enum:
|
|
940
|
+
- bundled
|
|
941
|
+
- remote
|
|
942
|
+
entry:
|
|
943
|
+
type: string
|
|
944
|
+
description: 入口 URL(remote 组件必填)
|
|
945
|
+
styleEntry:
|
|
946
|
+
type: string
|
|
947
|
+
description: 样式入口 URL
|
|
948
|
+
integrity:
|
|
949
|
+
type: string
|
|
950
|
+
description: SRI 完整性哈希
|
|
951
|
+
preload:
|
|
952
|
+
type: boolean
|
|
953
|
+
description: 是否预加载
|
|
954
|
+
ManifestRuntime:
|
|
955
|
+
type: object
|
|
956
|
+
required:
|
|
957
|
+
- version
|
|
958
|
+
- minVersion
|
|
959
|
+
description: Runtime 版本信息(ManifestRuntimeVo)
|
|
960
|
+
properties:
|
|
961
|
+
version:
|
|
962
|
+
type: string
|
|
963
|
+
description: 版本
|
|
964
|
+
example: 1.0.0
|
|
965
|
+
minVersion:
|
|
966
|
+
type: string
|
|
967
|
+
description: 最低兼容版本
|
|
968
|
+
example: 0.9.0
|
|
969
|
+
ManifestResponse:
|
|
970
|
+
type: object
|
|
971
|
+
required:
|
|
972
|
+
- pageVersionId
|
|
973
|
+
- manifestVersion
|
|
974
|
+
- components
|
|
975
|
+
- runtime
|
|
976
|
+
description: 组件清单响应(ManifestSwaggerVo)
|
|
977
|
+
properties:
|
|
978
|
+
pageVersionId:
|
|
979
|
+
type: string
|
|
980
|
+
description: 页面版本 ID
|
|
981
|
+
manifestVersion:
|
|
982
|
+
type: string
|
|
983
|
+
description: 清单版本
|
|
984
|
+
components:
|
|
985
|
+
description: 组件列表
|
|
986
|
+
type: array
|
|
987
|
+
items:
|
|
988
|
+
$ref: '#/components/schemas/ManifestComponent'
|
|
989
|
+
runtime:
|
|
990
|
+
description: Runtime 版本
|
|
991
|
+
allOf:
|
|
992
|
+
- $ref: '#/components/schemas/ManifestRuntime'
|
|
1192
993
|
ActionClientContext:
|
|
1193
994
|
type: object
|
|
1194
|
-
description: 动作执行上下文(ActionClientContext,问题追溯必须字段)
|
|
1195
995
|
required:
|
|
1196
996
|
- pageVersionId
|
|
997
|
+
description: 动作执行上下文(ActionContextDto)
|
|
1197
998
|
properties:
|
|
1198
999
|
pageVersionId:
|
|
1199
1000
|
type: string
|
|
1200
|
-
description: 页面版本 ID
|
|
1001
|
+
description: 页面版本 ID
|
|
1201
1002
|
componentVersionId:
|
|
1202
1003
|
type: string
|
|
1203
|
-
description: 组件版本 ID
|
|
1004
|
+
description: 组件版本 ID
|
|
1204
1005
|
componentInstanceId:
|
|
1205
1006
|
type: string
|
|
1206
|
-
description: 组件实例 ID
|
|
1007
|
+
description: 组件实例 ID
|
|
1207
1008
|
triggerEvent:
|
|
1208
1009
|
type: string
|
|
1209
1010
|
description: 触发事件名
|
|
@@ -1212,372 +1013,332 @@ components:
|
|
|
1212
1013
|
description: 设备 ID
|
|
1213
1014
|
channel:
|
|
1214
1015
|
type: string
|
|
1215
|
-
description:
|
|
1016
|
+
description: 渠道
|
|
1216
1017
|
clientTimestamp:
|
|
1217
1018
|
type: string
|
|
1218
|
-
|
|
1219
|
-
description: 客户端时间戳(ISODateTime)
|
|
1019
|
+
description: 客户端时间戳(ISO 8601)
|
|
1220
1020
|
extra:
|
|
1221
1021
|
type: object
|
|
1022
|
+
description: 扩展数据
|
|
1222
1023
|
additionalProperties: true
|
|
1223
|
-
description: 扩展数据(Record<string, JsonValue>)
|
|
1224
1024
|
ExecuteActionRequest:
|
|
1225
1025
|
type: object
|
|
1226
1026
|
required:
|
|
1227
1027
|
- actionType
|
|
1228
1028
|
- params
|
|
1229
1029
|
- context
|
|
1230
|
-
description: 动作执行请求(
|
|
1030
|
+
description: 动作执行请求(ActionExecuteDto)
|
|
1231
1031
|
properties:
|
|
1232
1032
|
actionType:
|
|
1233
1033
|
type: string
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
- signin
|
|
1237
|
-
- lottery
|
|
1238
|
-
- reserve
|
|
1239
|
-
- bind
|
|
1240
|
-
- task_complete
|
|
1241
|
-
- vote
|
|
1242
|
-
- share
|
|
1243
|
-
- form_submit
|
|
1244
|
-
- navigate
|
|
1245
|
-
- setState
|
|
1246
|
-
- showToast
|
|
1247
|
-
- refreshData
|
|
1248
|
-
- custom
|
|
1249
|
-
description: 动作类型(ActionType | string)
|
|
1034
|
+
description: 动作类型
|
|
1035
|
+
example: claim
|
|
1250
1036
|
actionDefinitionVersionId:
|
|
1251
1037
|
type: string
|
|
1252
|
-
description: 动作定义版本 ID
|
|
1038
|
+
description: 动作定义版本 ID(不提供则使用最新稳定版)
|
|
1253
1039
|
params:
|
|
1254
1040
|
type: object
|
|
1041
|
+
description: 动作参数
|
|
1255
1042
|
additionalProperties: true
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1043
|
+
example:
|
|
1044
|
+
couponId: '12345'
|
|
1045
|
+
quantity: 1
|
|
1046
|
+
default: {}
|
|
1260
1047
|
idempotencyKey:
|
|
1261
1048
|
type: string
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
description:
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
required:
|
|
1268
|
-
- type
|
|
1269
|
-
properties:
|
|
1270
|
-
type:
|
|
1271
|
-
type: string
|
|
1272
|
-
enum:
|
|
1273
|
-
- setState
|
|
1274
|
-
- navigate
|
|
1275
|
-
- showToast
|
|
1276
|
-
- refreshData
|
|
1277
|
-
- openDialog
|
|
1278
|
-
- closeDialog
|
|
1279
|
-
- custom
|
|
1280
|
-
description: 副作用类型
|
|
1281
|
-
payload:
|
|
1282
|
-
type: object
|
|
1283
|
-
additionalProperties: true
|
|
1284
|
-
description: 副作用参数
|
|
1049
|
+
description: 幂等键
|
|
1050
|
+
context:
|
|
1051
|
+
description: 客户端上下文
|
|
1052
|
+
allOf:
|
|
1053
|
+
- $ref: '#/components/schemas/ActionClientContext'
|
|
1285
1054
|
ExecuteActionResponse:
|
|
1286
|
-
allOf:
|
|
1287
|
-
- $ref: '#/components/schemas/SuccessResponse'
|
|
1288
|
-
- type: object
|
|
1289
|
-
properties:
|
|
1290
|
-
data:
|
|
1291
|
-
type: object
|
|
1292
|
-
properties:
|
|
1293
|
-
actionId:
|
|
1294
|
-
type: string
|
|
1295
|
-
description: 动作执行 ID(UniqueId,用于审计追溯)
|
|
1296
|
-
result:
|
|
1297
|
-
description: 执行结果(泛型 T)
|
|
1298
|
-
effects:
|
|
1299
|
-
type: array
|
|
1300
|
-
items:
|
|
1301
|
-
$ref: '#/components/schemas/ActionEffect'
|
|
1302
|
-
description: 副作用列表
|
|
1303
|
-
errorCode:
|
|
1304
|
-
type: string
|
|
1305
|
-
description: 错误码(失败时)
|
|
1306
|
-
errorMessage:
|
|
1307
|
-
type: string
|
|
1308
|
-
description: 错误消息(失败时,用户可见)
|
|
1309
|
-
errorDetails:
|
|
1310
|
-
type: object
|
|
1311
|
-
additionalProperties: true
|
|
1312
|
-
description: 错误详情(失败时,调试用)
|
|
1313
|
-
requestId:
|
|
1314
|
-
type: string
|
|
1315
|
-
description: 请求 ID
|
|
1316
|
-
traceId:
|
|
1317
|
-
type: string
|
|
1318
|
-
description: 链路追踪 ID
|
|
1319
|
-
duration:
|
|
1320
|
-
type: integer
|
|
1321
|
-
description: 执行耗时(毫秒)
|
|
1322
|
-
retryable:
|
|
1323
|
-
type: boolean
|
|
1324
|
-
description: 是否可重试
|
|
1325
|
-
retryAfter:
|
|
1326
|
-
type: integer
|
|
1327
|
-
description: 建议重试延迟(毫秒)
|
|
1328
|
-
riskDecision:
|
|
1329
|
-
type: object
|
|
1330
|
-
description: 风控决策(可选,风控拒绝时返回)
|
|
1331
|
-
properties:
|
|
1332
|
-
allowed:
|
|
1333
|
-
type: boolean
|
|
1334
|
-
description: 是否放行
|
|
1335
|
-
reason:
|
|
1336
|
-
type: string
|
|
1337
|
-
description: 拒绝原因(如 RISK_BLOCKED)
|
|
1338
|
-
code:
|
|
1339
|
-
type: string
|
|
1340
|
-
description: 风控错误码
|
|
1341
|
-
IdempotencyConflictResponse:
|
|
1342
1055
|
type: object
|
|
1343
1056
|
required:
|
|
1344
1057
|
- success
|
|
1345
|
-
-
|
|
1058
|
+
- requestId
|
|
1059
|
+
- traceId
|
|
1060
|
+
- actionId
|
|
1061
|
+
- duration
|
|
1062
|
+
description: 动作执行响应(ActionExecuteVo)
|
|
1346
1063
|
properties:
|
|
1347
1064
|
success:
|
|
1348
1065
|
type: boolean
|
|
1349
|
-
|
|
1066
|
+
description: 是否成功
|
|
1350
1067
|
data:
|
|
1351
1068
|
type: object
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1069
|
+
description: 业务数据
|
|
1070
|
+
additionalProperties: true
|
|
1071
|
+
example:
|
|
1072
|
+
couponId: '12345'
|
|
1073
|
+
claimedAt: '2024-01-01T00:00:00Z'
|
|
1074
|
+
errorCode:
|
|
1075
|
+
type: string
|
|
1076
|
+
description: 错误码
|
|
1077
|
+
errorMessage:
|
|
1078
|
+
type: string
|
|
1079
|
+
description: 错误信息(用户可见)
|
|
1080
|
+
errorDetails:
|
|
1081
|
+
type: object
|
|
1082
|
+
description: 错误详情(调试用)
|
|
1083
|
+
additionalProperties: true
|
|
1084
|
+
requestId:
|
|
1085
|
+
type: string
|
|
1086
|
+
description: 请求 ID
|
|
1087
|
+
traceId:
|
|
1088
|
+
type: string
|
|
1089
|
+
description: 链路追踪 ID
|
|
1090
|
+
actionId:
|
|
1091
|
+
type: string
|
|
1092
|
+
description: 动作 ID(用于审计追溯)
|
|
1093
|
+
duration:
|
|
1094
|
+
type: number
|
|
1095
|
+
description: 执行耗时(毫秒)
|
|
1096
|
+
retryable:
|
|
1097
|
+
type: boolean
|
|
1098
|
+
description: 是否可重试
|
|
1099
|
+
retryAfter:
|
|
1100
|
+
type: number
|
|
1101
|
+
description: 建议重试延迟(毫秒)
|
|
1365
1102
|
ValidateActionRequest:
|
|
1366
1103
|
type: object
|
|
1367
1104
|
required:
|
|
1368
|
-
-
|
|
1105
|
+
- actionDefinitionVersionId
|
|
1369
1106
|
- params
|
|
1107
|
+
description: 动作参数验证请求(ActionValidateDto)
|
|
1370
1108
|
properties:
|
|
1371
|
-
actionType:
|
|
1372
|
-
type: string
|
|
1373
|
-
description: 动作类型
|
|
1374
1109
|
actionDefinitionVersionId:
|
|
1375
1110
|
type: string
|
|
1376
1111
|
description: 动作定义版本 ID
|
|
1377
1112
|
params:
|
|
1378
1113
|
type: object
|
|
1114
|
+
description: 待验证参数
|
|
1379
1115
|
additionalProperties: true
|
|
1380
|
-
|
|
1116
|
+
example:
|
|
1117
|
+
couponId: '12345'
|
|
1118
|
+
quantity: 1
|
|
1119
|
+
default: {}
|
|
1381
1120
|
ValidateActionResponse:
|
|
1382
1121
|
type: object
|
|
1383
1122
|
required:
|
|
1384
|
-
-
|
|
1123
|
+
- valid
|
|
1124
|
+
description: 动作参数验证响应(ActionValidateVo)
|
|
1385
1125
|
properties:
|
|
1386
|
-
|
|
1387
|
-
type:
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
type: array
|
|
1396
|
-
items:
|
|
1397
|
-
type: object
|
|
1398
|
-
properties:
|
|
1399
|
-
path:
|
|
1400
|
-
type: string
|
|
1401
|
-
description: 参数路径
|
|
1402
|
-
message:
|
|
1403
|
-
type: string
|
|
1404
|
-
description: 错误消息
|
|
1405
|
-
code:
|
|
1406
|
-
type: string
|
|
1407
|
-
description: 错误码
|
|
1408
|
-
description: 验证错误
|
|
1409
|
-
ActionDefinitionResponse:
|
|
1126
|
+
valid:
|
|
1127
|
+
type: boolean
|
|
1128
|
+
description: 是否通过校验
|
|
1129
|
+
errors:
|
|
1130
|
+
description: 校验错误列表
|
|
1131
|
+
type: array
|
|
1132
|
+
items:
|
|
1133
|
+
type: string
|
|
1134
|
+
ActionDefinitionVersionResponse:
|
|
1410
1135
|
type: object
|
|
1411
1136
|
required:
|
|
1412
|
-
-
|
|
1137
|
+
- uid
|
|
1138
|
+
- definitionUid
|
|
1139
|
+
- versionNumber
|
|
1140
|
+
- spec
|
|
1141
|
+
- status
|
|
1142
|
+
- createdBy
|
|
1143
|
+
- createdByUsername
|
|
1144
|
+
- createdAt
|
|
1145
|
+
description: 动作定义版本响应(ActionDefinitionVersionVo)
|
|
1413
1146
|
properties:
|
|
1414
|
-
|
|
1147
|
+
uid:
|
|
1148
|
+
type: string
|
|
1149
|
+
description: 版本 UID
|
|
1150
|
+
example: 202401efgh87654321
|
|
1151
|
+
definitionUid:
|
|
1152
|
+
type: string
|
|
1153
|
+
description: 所属定义 UID
|
|
1154
|
+
example: 202401abcd12345678
|
|
1155
|
+
versionNumber:
|
|
1156
|
+
type: number
|
|
1157
|
+
description: 版本号(递增)
|
|
1158
|
+
example: 1
|
|
1159
|
+
versionLabel:
|
|
1160
|
+
type: string
|
|
1161
|
+
nullable: true
|
|
1162
|
+
description: 版本标签(可选,如 v1.0.0)
|
|
1163
|
+
example: v1.0.0
|
|
1164
|
+
description:
|
|
1165
|
+
type: string
|
|
1166
|
+
nullable: true
|
|
1167
|
+
description: 版本描述
|
|
1168
|
+
spec:
|
|
1169
|
+
description: 规格快照(不可变的 ActionSpec)
|
|
1415
1170
|
type: object
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1171
|
+
additionalProperties: true
|
|
1172
|
+
status:
|
|
1173
|
+
type: string
|
|
1174
|
+
description: 版本状态
|
|
1175
|
+
enum:
|
|
1176
|
+
- draft
|
|
1177
|
+
- stable
|
|
1178
|
+
- deprecated
|
|
1179
|
+
- blocked
|
|
1180
|
+
example: stable
|
|
1181
|
+
createdBy:
|
|
1182
|
+
type: string
|
|
1183
|
+
description: 创建者 UID
|
|
1184
|
+
example: 202401user1234
|
|
1185
|
+
createdByUsername:
|
|
1186
|
+
type: string
|
|
1187
|
+
description: 创建者用户名
|
|
1188
|
+
example: admin
|
|
1189
|
+
createdAt:
|
|
1190
|
+
type: string
|
|
1191
|
+
format: date-time
|
|
1192
|
+
description: 创建时间
|
|
1429
1193
|
QueryContext:
|
|
1430
1194
|
type: object
|
|
1431
|
-
description: 数据查询上下文(
|
|
1195
|
+
description: 数据查询上下文(DataQueryContextDto)
|
|
1432
1196
|
properties:
|
|
1197
|
+
uid:
|
|
1198
|
+
type: string
|
|
1199
|
+
description: 用户 UID
|
|
1433
1200
|
pageVersionId:
|
|
1434
1201
|
type: string
|
|
1435
|
-
description: 页面版本 ID
|
|
1202
|
+
description: 页面版本 ID
|
|
1436
1203
|
componentVersionId:
|
|
1437
1204
|
type: string
|
|
1438
|
-
description: 组件版本 ID
|
|
1205
|
+
description: 组件版本 ID
|
|
1439
1206
|
QueryDataRequest:
|
|
1440
1207
|
type: object
|
|
1441
1208
|
required:
|
|
1442
1209
|
- queryVersionId
|
|
1443
|
-
description: 数据查询请求(
|
|
1210
|
+
description: 数据查询请求(DataQueryDto)
|
|
1444
1211
|
properties:
|
|
1445
1212
|
queryVersionId:
|
|
1446
1213
|
type: string
|
|
1447
|
-
description:
|
|
1214
|
+
description: 查询版本 ID
|
|
1448
1215
|
params:
|
|
1449
1216
|
type: object
|
|
1217
|
+
description: 查询参数
|
|
1450
1218
|
additionalProperties: true
|
|
1451
|
-
description: 查询参数(Record<string, JsonValue>)
|
|
1452
|
-
cacheControl:
|
|
1453
|
-
type: object
|
|
1454
|
-
description: 缓存策略覆盖
|
|
1455
|
-
properties:
|
|
1456
|
-
noCache:
|
|
1457
|
-
type: boolean
|
|
1458
|
-
description: 是否跳过缓存
|
|
1459
|
-
forceRefresh:
|
|
1460
|
-
type: boolean
|
|
1461
|
-
description: 强制刷新缓存
|
|
1462
1219
|
context:
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
- $ref: '#/components/schemas/SuccessResponse'
|
|
1468
|
-
- type: object
|
|
1469
|
-
properties:
|
|
1470
|
-
data:
|
|
1471
|
-
description: 查询结果数据(泛型 T)
|
|
1472
|
-
errorCode:
|
|
1473
|
-
type: string
|
|
1474
|
-
description: 错误码(失败时)
|
|
1475
|
-
errorMessage:
|
|
1476
|
-
type: string
|
|
1477
|
-
description: 错误消息(失败时)
|
|
1478
|
-
fromCache:
|
|
1479
|
-
type: boolean
|
|
1480
|
-
description: 是否来自缓存
|
|
1481
|
-
cachedAt:
|
|
1482
|
-
type: string
|
|
1483
|
-
format: date-time
|
|
1484
|
-
description: 缓存时间戳(ISODateTime)
|
|
1485
|
-
age:
|
|
1486
|
-
type: integer
|
|
1487
|
-
description: 数据新鲜度(秒)
|
|
1488
|
-
requestId:
|
|
1489
|
-
type: string
|
|
1490
|
-
description: 请求 ID
|
|
1491
|
-
traceId:
|
|
1492
|
-
type: string
|
|
1493
|
-
description: 链路追踪 ID
|
|
1494
|
-
duration:
|
|
1495
|
-
type: integer
|
|
1496
|
-
description: 查询耗时(毫秒)
|
|
1497
|
-
degraded:
|
|
1498
|
-
type: boolean
|
|
1499
|
-
description: 是否为降级数据
|
|
1500
|
-
degradedReason:
|
|
1501
|
-
type: string
|
|
1502
|
-
description: 降级原因
|
|
1503
|
-
BatchQueryRequest:
|
|
1220
|
+
description: 上下文
|
|
1221
|
+
allOf:
|
|
1222
|
+
- $ref: '#/components/schemas/QueryContext'
|
|
1223
|
+
QueryMetadata:
|
|
1504
1224
|
type: object
|
|
1505
|
-
|
|
1506
|
-
- queries
|
|
1225
|
+
description: 查询元数据(DataQueryMetadataVo)
|
|
1507
1226
|
properties:
|
|
1508
|
-
|
|
1509
|
-
type:
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
queryVersionId:
|
|
1516
|
-
type: string
|
|
1517
|
-
params:
|
|
1518
|
-
type: object
|
|
1519
|
-
alias:
|
|
1520
|
-
type: string
|
|
1521
|
-
description: 查询别名(用于结果映射)
|
|
1522
|
-
maxItems: 20
|
|
1523
|
-
description: 查询列表(最多 20 个)
|
|
1524
|
-
context:
|
|
1525
|
-
$ref: '#/components/schemas/QueryContext'
|
|
1526
|
-
BatchQueryResponse:
|
|
1227
|
+
fromCache:
|
|
1228
|
+
type: boolean
|
|
1229
|
+
description: 是否来自缓存
|
|
1230
|
+
duration:
|
|
1231
|
+
type: number
|
|
1232
|
+
description: 查询耗时(毫秒)
|
|
1233
|
+
QueryDataResponse:
|
|
1527
1234
|
type: object
|
|
1528
1235
|
required:
|
|
1529
1236
|
- success
|
|
1530
|
-
|
|
1237
|
+
description: 数据查询响应(DataQueryVo)
|
|
1531
1238
|
properties:
|
|
1532
1239
|
success:
|
|
1533
1240
|
type: boolean
|
|
1241
|
+
description: 是否成功
|
|
1534
1242
|
data:
|
|
1535
1243
|
type: object
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
type: string
|
|
1550
|
-
description: 按 alias 或 queryVersionId 索引的结果
|
|
1551
|
-
QueryDefinitionResponse:
|
|
1244
|
+
description: 数据
|
|
1245
|
+
additionalProperties: true
|
|
1246
|
+
errorCode:
|
|
1247
|
+
type: string
|
|
1248
|
+
description: 错误码
|
|
1249
|
+
errorMessage:
|
|
1250
|
+
type: string
|
|
1251
|
+
description: 错误消息
|
|
1252
|
+
metadata:
|
|
1253
|
+
description: 元数据
|
|
1254
|
+
allOf:
|
|
1255
|
+
- $ref: '#/components/schemas/QueryMetadata'
|
|
1256
|
+
BatchQueryItemRequest:
|
|
1552
1257
|
type: object
|
|
1553
1258
|
required:
|
|
1554
|
-
-
|
|
1259
|
+
- queryVersionId
|
|
1260
|
+
description: 批量查询项(DataQueryBatchItemDto)
|
|
1555
1261
|
properties:
|
|
1556
|
-
|
|
1262
|
+
queryVersionId:
|
|
1263
|
+
type: string
|
|
1264
|
+
description: 查询版本 ID
|
|
1265
|
+
params:
|
|
1557
1266
|
type: object
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
name:
|
|
1562
|
-
type: string
|
|
1563
|
-
paramsSchema:
|
|
1564
|
-
type: object
|
|
1565
|
-
description: 参数 JSON Schema
|
|
1566
|
-
resultSchema:
|
|
1567
|
-
type: object
|
|
1568
|
-
description: 结果 JSON Schema
|
|
1569
|
-
cacheTtl:
|
|
1570
|
-
type: integer
|
|
1571
|
-
description: 缓存 TTL(秒)
|
|
1572
|
-
PublicActivityInfo:
|
|
1267
|
+
description: 查询参数
|
|
1268
|
+
additionalProperties: true
|
|
1269
|
+
BatchQueryRequest:
|
|
1573
1270
|
type: object
|
|
1574
1271
|
required:
|
|
1575
|
-
-
|
|
1272
|
+
- queries
|
|
1273
|
+
description: 批量查询请求(DataQueryBatchDto)
|
|
1274
|
+
properties:
|
|
1275
|
+
queries:
|
|
1276
|
+
description: 查询列表
|
|
1277
|
+
type: array
|
|
1278
|
+
items:
|
|
1279
|
+
$ref: '#/components/schemas/BatchQueryItemRequest'
|
|
1280
|
+
BatchQueryResponse:
|
|
1281
|
+
type: object
|
|
1282
|
+
required:
|
|
1283
|
+
- results
|
|
1284
|
+
description: 批量查询响应(DataQueryBatchVo)
|
|
1285
|
+
properties:
|
|
1286
|
+
results:
|
|
1287
|
+
description: 各查询结果列表
|
|
1288
|
+
type: array
|
|
1289
|
+
items:
|
|
1290
|
+
$ref: '#/components/schemas/QueryDataResponse'
|
|
1291
|
+
QueryDefinitionResponse:
|
|
1292
|
+
type: object
|
|
1293
|
+
required:
|
|
1294
|
+
- uid
|
|
1295
|
+
- queryUid
|
|
1296
|
+
- versionNumber
|
|
1297
|
+
- spec
|
|
1298
|
+
- status
|
|
1299
|
+
description: 查询定义响应(DataQueryDefinitionVo)
|
|
1300
|
+
properties:
|
|
1301
|
+
uid:
|
|
1302
|
+
type: string
|
|
1303
|
+
description: 版本 UID
|
|
1304
|
+
example: 202401efgh87654321
|
|
1305
|
+
queryUid:
|
|
1306
|
+
type: string
|
|
1307
|
+
description: 所属查询 UID
|
|
1308
|
+
example: 202401abcd12345678
|
|
1309
|
+
versionNumber:
|
|
1310
|
+
type: number
|
|
1311
|
+
description: 版本号(递增)
|
|
1312
|
+
example: 1
|
|
1313
|
+
versionLabel:
|
|
1314
|
+
type: string
|
|
1315
|
+
nullable: true
|
|
1316
|
+
description: 版本标签(可选,如 v1.0.0)
|
|
1317
|
+
example: v1.0.0
|
|
1318
|
+
spec:
|
|
1319
|
+
description: 规格快照(不可变的 DataQuerySpec)
|
|
1320
|
+
type: object
|
|
1321
|
+
additionalProperties: true
|
|
1322
|
+
status:
|
|
1323
|
+
type: string
|
|
1324
|
+
description: 版本状态
|
|
1325
|
+
enum:
|
|
1326
|
+
- draft
|
|
1327
|
+
- stable
|
|
1328
|
+
- deprecated
|
|
1329
|
+
- blocked
|
|
1330
|
+
example: stable
|
|
1331
|
+
ActivityInfoData:
|
|
1332
|
+
type: object
|
|
1333
|
+
required:
|
|
1334
|
+
- activityId
|
|
1576
1335
|
- name
|
|
1577
1336
|
- type
|
|
1578
|
-
-
|
|
1337
|
+
- startAt
|
|
1338
|
+
- endAt
|
|
1339
|
+
description: 活动信息数据(ActivityInfoDataVo)
|
|
1579
1340
|
properties:
|
|
1580
|
-
|
|
1341
|
+
activityId:
|
|
1581
1342
|
type: string
|
|
1582
1343
|
description: 活动 ID
|
|
1583
1344
|
name:
|
|
@@ -1585,655 +1346,625 @@ components:
|
|
|
1585
1346
|
description: 活动名称
|
|
1586
1347
|
type:
|
|
1587
1348
|
type: string
|
|
1588
|
-
enum:
|
|
1589
|
-
- claim
|
|
1590
|
-
- signin
|
|
1591
|
-
- lottery
|
|
1592
|
-
- reserve
|
|
1593
|
-
- task
|
|
1594
|
-
- vote
|
|
1595
|
-
- share
|
|
1596
|
-
- bind
|
|
1597
|
-
- custom
|
|
1598
1349
|
description: 活动类型
|
|
1599
|
-
|
|
1350
|
+
startAt:
|
|
1600
1351
|
type: string
|
|
1601
|
-
enum:
|
|
1602
|
-
- active
|
|
1603
|
-
- ended
|
|
1604
|
-
description: 活动状态
|
|
1605
|
-
description:
|
|
1606
|
-
type: string
|
|
1607
|
-
description: 活动描述
|
|
1608
|
-
startTime:
|
|
1609
|
-
type: string
|
|
1610
|
-
format: date-time
|
|
1611
1352
|
description: 开始时间
|
|
1612
|
-
endTime:
|
|
1613
|
-
type: string
|
|
1614
1353
|
format: date-time
|
|
1354
|
+
endAt:
|
|
1355
|
+
type: string
|
|
1615
1356
|
description: 结束时间
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
additionalProperties: true
|
|
1619
|
-
description: 活动规则(公开部分)
|
|
1620
|
-
rewards:
|
|
1621
|
-
type: array
|
|
1622
|
-
items:
|
|
1623
|
-
type: object
|
|
1624
|
-
properties:
|
|
1625
|
-
name:
|
|
1626
|
-
type: string
|
|
1627
|
-
description:
|
|
1628
|
-
type: string
|
|
1629
|
-
icon:
|
|
1630
|
-
type: string
|
|
1631
|
-
description: 奖励列表
|
|
1632
|
-
UserActivityState:
|
|
1357
|
+
format: date-time
|
|
1358
|
+
ActivityInfoResponse:
|
|
1633
1359
|
type: object
|
|
1634
1360
|
required:
|
|
1635
|
-
-
|
|
1636
|
-
-
|
|
1637
|
-
|
|
1638
|
-
- canParticipate
|
|
1639
|
-
- typeState
|
|
1640
|
-
description: 用户活动状态(UserActivityState,根据 types/src/activity/index.ts)
|
|
1361
|
+
- success
|
|
1362
|
+
- data
|
|
1363
|
+
description: 活动信息响应(ActivityInfoVo)
|
|
1641
1364
|
properties:
|
|
1642
|
-
|
|
1365
|
+
success:
|
|
1366
|
+
type: boolean
|
|
1367
|
+
description: 是否成功
|
|
1368
|
+
data:
|
|
1369
|
+
description: 活动数据
|
|
1370
|
+
allOf:
|
|
1371
|
+
- $ref: '#/components/schemas/ActivityInfoData'
|
|
1372
|
+
ActivityStatusResponse:
|
|
1373
|
+
type: object
|
|
1374
|
+
description: 活动状态响应
|
|
1375
|
+
properties:
|
|
1376
|
+
activityUid:
|
|
1643
1377
|
type: string
|
|
1644
|
-
description: 活动
|
|
1645
|
-
|
|
1378
|
+
description: 活动 UID
|
|
1379
|
+
name:
|
|
1646
1380
|
type: string
|
|
1647
|
-
description:
|
|
1648
|
-
|
|
1381
|
+
description: 活动名称
|
|
1382
|
+
type:
|
|
1649
1383
|
type: string
|
|
1384
|
+
description: 活动类型
|
|
1650
1385
|
enum:
|
|
1651
1386
|
- claim
|
|
1652
1387
|
- signin
|
|
1653
|
-
|
|
1654
|
-
- reserve
|
|
1655
|
-
- task
|
|
1656
|
-
- vote
|
|
1657
|
-
- share
|
|
1658
|
-
- bind
|
|
1659
|
-
- custom
|
|
1660
|
-
description: 活动类型(ActivityType)
|
|
1661
|
-
canParticipate:
|
|
1388
|
+
isInProgress:
|
|
1662
1389
|
type: boolean
|
|
1663
|
-
description:
|
|
1664
|
-
|
|
1390
|
+
description: 是否进行中
|
|
1391
|
+
startAt:
|
|
1665
1392
|
type: string
|
|
1666
|
-
description:
|
|
1667
|
-
|
|
1668
|
-
type:
|
|
1669
|
-
description:
|
|
1670
|
-
|
|
1671
|
-
type: object
|
|
1672
|
-
description: 类型特定状态(ClaimState | SigninState | LotteryState)
|
|
1673
|
-
oneOf:
|
|
1674
|
-
- type: object
|
|
1675
|
-
required:
|
|
1676
|
-
- type
|
|
1677
|
-
- claimed
|
|
1678
|
-
properties:
|
|
1679
|
-
type:
|
|
1680
|
-
type: string
|
|
1681
|
-
enum:
|
|
1682
|
-
- claim
|
|
1683
|
-
claimed:
|
|
1684
|
-
type: boolean
|
|
1685
|
-
claimedAt:
|
|
1686
|
-
type: string
|
|
1687
|
-
format: date-time
|
|
1688
|
-
claimedPrizeId:
|
|
1689
|
-
type: string
|
|
1690
|
-
availablePrizes:
|
|
1691
|
-
type: array
|
|
1692
|
-
items:
|
|
1693
|
-
type: object
|
|
1694
|
-
properties:
|
|
1695
|
-
prizeId:
|
|
1696
|
-
type: string
|
|
1697
|
-
name:
|
|
1698
|
-
type: string
|
|
1699
|
-
stock:
|
|
1700
|
-
type: integer
|
|
1701
|
-
- type: object
|
|
1702
|
-
required:
|
|
1703
|
-
- type
|
|
1704
|
-
- signedToday
|
|
1705
|
-
- consecutiveDays
|
|
1706
|
-
- totalDays
|
|
1707
|
-
- cycleRecords
|
|
1708
|
-
- makeupAvailable
|
|
1709
|
-
properties:
|
|
1710
|
-
type:
|
|
1711
|
-
type: string
|
|
1712
|
-
enum:
|
|
1713
|
-
- signin
|
|
1714
|
-
signedToday:
|
|
1715
|
-
type: boolean
|
|
1716
|
-
todaySignedAt:
|
|
1717
|
-
type: string
|
|
1718
|
-
format: date-time
|
|
1719
|
-
consecutiveDays:
|
|
1720
|
-
type: integer
|
|
1721
|
-
totalDays:
|
|
1722
|
-
type: integer
|
|
1723
|
-
cycleRecords:
|
|
1724
|
-
type: array
|
|
1725
|
-
items:
|
|
1726
|
-
type: object
|
|
1727
|
-
properties:
|
|
1728
|
-
dayKey:
|
|
1729
|
-
type: string
|
|
1730
|
-
signed:
|
|
1731
|
-
type: boolean
|
|
1732
|
-
isMakeup:
|
|
1733
|
-
type: boolean
|
|
1734
|
-
makeupAvailable:
|
|
1735
|
-
type: integer
|
|
1736
|
-
nextReward:
|
|
1737
|
-
type: object
|
|
1738
|
-
properties:
|
|
1739
|
-
type:
|
|
1740
|
-
type: string
|
|
1741
|
-
enum:
|
|
1742
|
-
- consecutive
|
|
1743
|
-
- cumulative
|
|
1744
|
-
daysNeeded:
|
|
1745
|
-
type: integer
|
|
1746
|
-
reward:
|
|
1747
|
-
type: object
|
|
1748
|
-
additionalProperties: true
|
|
1749
|
-
- type: object
|
|
1750
|
-
required:
|
|
1751
|
-
- type
|
|
1752
|
-
- freeDrawsRemaining
|
|
1753
|
-
- todayDrawCount
|
|
1754
|
-
- totalDrawCount
|
|
1755
|
-
properties:
|
|
1756
|
-
type:
|
|
1757
|
-
type: string
|
|
1758
|
-
enum:
|
|
1759
|
-
- lottery
|
|
1760
|
-
freeDrawsRemaining:
|
|
1761
|
-
type: integer
|
|
1762
|
-
todayDrawCount:
|
|
1763
|
-
type: integer
|
|
1764
|
-
totalDrawCount:
|
|
1765
|
-
type: integer
|
|
1766
|
-
pityProgress:
|
|
1767
|
-
type: object
|
|
1768
|
-
properties:
|
|
1769
|
-
current:
|
|
1770
|
-
type: integer
|
|
1771
|
-
target:
|
|
1772
|
-
type: integer
|
|
1773
|
-
resources:
|
|
1774
|
-
type: array
|
|
1775
|
-
items:
|
|
1776
|
-
type: object
|
|
1777
|
-
properties:
|
|
1778
|
-
type:
|
|
1779
|
-
type: string
|
|
1780
|
-
amount:
|
|
1781
|
-
type: integer
|
|
1782
|
-
SigninCalendar:
|
|
1393
|
+
description: 开始时间
|
|
1394
|
+
endAt:
|
|
1395
|
+
type: string
|
|
1396
|
+
description: 结束时间
|
|
1397
|
+
SigninCalendarData:
|
|
1783
1398
|
type: object
|
|
1784
1399
|
required:
|
|
1785
|
-
-
|
|
1400
|
+
- activityId
|
|
1786
1401
|
- month
|
|
1787
|
-
-
|
|
1402
|
+
- signedDates
|
|
1403
|
+
- consecutiveDays
|
|
1404
|
+
- totalDays
|
|
1405
|
+
description: 签到日历数据(SigninCalendarDataVo)
|
|
1788
1406
|
properties:
|
|
1789
|
-
|
|
1790
|
-
type:
|
|
1791
|
-
description:
|
|
1407
|
+
activityId:
|
|
1408
|
+
type: string
|
|
1409
|
+
description: 活动 ID
|
|
1792
1410
|
month:
|
|
1793
|
-
type:
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1411
|
+
type: string
|
|
1412
|
+
description: 月份(YYYY-MM)
|
|
1413
|
+
example: 2024-01
|
|
1414
|
+
signedDates:
|
|
1415
|
+
description: 已签到日期列表
|
|
1416
|
+
example:
|
|
1417
|
+
- '2024-01-01'
|
|
1418
|
+
- '2024-01-02'
|
|
1798
1419
|
type: array
|
|
1799
1420
|
items:
|
|
1800
|
-
type:
|
|
1801
|
-
properties:
|
|
1802
|
-
day:
|
|
1803
|
-
type: integer
|
|
1804
|
-
minimum: 1
|
|
1805
|
-
maximum: 31
|
|
1806
|
-
signedIn:
|
|
1807
|
-
type: boolean
|
|
1808
|
-
reward:
|
|
1809
|
-
type: object
|
|
1810
|
-
properties:
|
|
1811
|
-
name:
|
|
1812
|
-
type: string
|
|
1813
|
-
amount:
|
|
1814
|
-
type: number
|
|
1815
|
-
description: 签到记录
|
|
1421
|
+
type: string
|
|
1816
1422
|
consecutiveDays:
|
|
1817
|
-
type:
|
|
1423
|
+
type: number
|
|
1818
1424
|
description: 连续签到天数
|
|
1819
1425
|
totalDays:
|
|
1820
|
-
type:
|
|
1821
|
-
description:
|
|
1822
|
-
|
|
1426
|
+
type: number
|
|
1427
|
+
description: 累计签到天数
|
|
1428
|
+
SigninCalendarResponse:
|
|
1823
1429
|
type: object
|
|
1824
1430
|
required:
|
|
1825
|
-
-
|
|
1826
|
-
-
|
|
1827
|
-
|
|
1828
|
-
- createdAt
|
|
1431
|
+
- success
|
|
1432
|
+
- data
|
|
1433
|
+
description: 签到日历响应(SigninCalendarVo)
|
|
1829
1434
|
properties:
|
|
1830
|
-
|
|
1831
|
-
type:
|
|
1832
|
-
description:
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
rewardValue:
|
|
1435
|
+
success:
|
|
1436
|
+
type: boolean
|
|
1437
|
+
description: 是否成功
|
|
1438
|
+
data:
|
|
1439
|
+
description: 日历数据
|
|
1440
|
+
allOf:
|
|
1441
|
+
- $ref: '#/components/schemas/SigninCalendarData'
|
|
1442
|
+
CursorPaginationMeta:
|
|
1443
|
+
type: object
|
|
1444
|
+
description: 游标分页元数据(PageRecordsMetaVo)
|
|
1445
|
+
properties:
|
|
1446
|
+
pageSize:
|
|
1843
1447
|
type: number
|
|
1844
|
-
description:
|
|
1845
|
-
|
|
1846
|
-
type: string
|
|
1847
|
-
enum:
|
|
1848
|
-
- pending
|
|
1849
|
-
- claimed
|
|
1850
|
-
- expired
|
|
1851
|
-
description: 领取状态
|
|
1852
|
-
createdAt:
|
|
1853
|
-
type: string
|
|
1854
|
-
format: date-time
|
|
1855
|
-
description: 创建时间
|
|
1856
|
-
claimedAt:
|
|
1857
|
-
type: string
|
|
1858
|
-
format: date-time
|
|
1859
|
-
description: 领取时间
|
|
1860
|
-
expiresAt:
|
|
1448
|
+
description: 每页条数
|
|
1449
|
+
pageToken:
|
|
1861
1450
|
type: string
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
PaginationMeta:
|
|
1451
|
+
description: 下一页游标
|
|
1452
|
+
PaginatedRecordsResponse:
|
|
1865
1453
|
type: object
|
|
1866
1454
|
required:
|
|
1867
|
-
-
|
|
1868
|
-
-
|
|
1869
|
-
|
|
1870
|
-
- totalPages
|
|
1871
|
-
- hasNext
|
|
1872
|
-
- hasPrev
|
|
1873
|
-
description: 分页元数据(PaginationMeta)
|
|
1455
|
+
- success
|
|
1456
|
+
- data
|
|
1457
|
+
description: 分页记录响应(PaginatedRecordsVo)
|
|
1874
1458
|
properties:
|
|
1875
|
-
|
|
1876
|
-
type: integer
|
|
1877
|
-
minimum: 1
|
|
1878
|
-
description: 当前页码
|
|
1879
|
-
pageSize:
|
|
1880
|
-
type: integer
|
|
1881
|
-
minimum: 1
|
|
1882
|
-
maximum: 100
|
|
1883
|
-
description: 每页数量
|
|
1884
|
-
total:
|
|
1885
|
-
type: integer
|
|
1886
|
-
minimum: 0
|
|
1887
|
-
description: 总记录数
|
|
1888
|
-
totalPages:
|
|
1889
|
-
type: integer
|
|
1890
|
-
minimum: 0
|
|
1891
|
-
description: 总页数
|
|
1892
|
-
hasNext:
|
|
1893
|
-
type: boolean
|
|
1894
|
-
description: 是否有下一页
|
|
1895
|
-
hasPrev:
|
|
1459
|
+
success:
|
|
1896
1460
|
type: boolean
|
|
1897
|
-
description:
|
|
1898
|
-
|
|
1461
|
+
description: 是否成功
|
|
1462
|
+
data:
|
|
1463
|
+
type: array
|
|
1464
|
+
description: 记录列表
|
|
1465
|
+
items:
|
|
1466
|
+
type: object
|
|
1467
|
+
meta:
|
|
1468
|
+
description: 分页元数据
|
|
1469
|
+
allOf:
|
|
1470
|
+
- $ref: '#/components/schemas/CursorPaginationMeta'
|
|
1471
|
+
ClaimStatusResponse:
|
|
1899
1472
|
type: object
|
|
1900
1473
|
required:
|
|
1901
|
-
-
|
|
1902
|
-
-
|
|
1903
|
-
-
|
|
1904
|
-
-
|
|
1474
|
+
- activityUid
|
|
1475
|
+
- hasClaimed
|
|
1476
|
+
- remainingCount
|
|
1477
|
+
- totalCount
|
|
1478
|
+
description: 领取状态响应(ClaimStatusVo)
|
|
1905
1479
|
properties:
|
|
1906
|
-
|
|
1907
|
-
type: string
|
|
1908
|
-
description: 记录 ID
|
|
1909
|
-
activityId:
|
|
1480
|
+
activityUid:
|
|
1910
1481
|
type: string
|
|
1911
|
-
description: 活动
|
|
1912
|
-
|
|
1913
|
-
type:
|
|
1914
|
-
description:
|
|
1915
|
-
|
|
1916
|
-
type: string
|
|
1917
|
-
description: 奖品名称
|
|
1918
|
-
prizeType:
|
|
1482
|
+
description: 活动 UID
|
|
1483
|
+
hasClaimed:
|
|
1484
|
+
type: boolean
|
|
1485
|
+
description: 是否已领取
|
|
1486
|
+
claimedAt:
|
|
1919
1487
|
type: string
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
description:
|
|
1927
|
-
|
|
1488
|
+
description: 领取时间
|
|
1489
|
+
remainingCount:
|
|
1490
|
+
type: number
|
|
1491
|
+
description: 剩余领取次数
|
|
1492
|
+
totalCount:
|
|
1493
|
+
type: number
|
|
1494
|
+
description: 总领取次数
|
|
1495
|
+
RewardInfo:
|
|
1496
|
+
type: object
|
|
1497
|
+
required:
|
|
1498
|
+
- type
|
|
1499
|
+
- value
|
|
1500
|
+
- description
|
|
1501
|
+
description: 奖励信息(RewardInfoVo)
|
|
1502
|
+
properties:
|
|
1503
|
+
type:
|
|
1928
1504
|
type: string
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
description: 状态
|
|
1935
|
-
createdAt:
|
|
1505
|
+
description: 奖励类型
|
|
1506
|
+
value:
|
|
1507
|
+
type: number
|
|
1508
|
+
description: 奖励值
|
|
1509
|
+
description:
|
|
1936
1510
|
type: string
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1511
|
+
description: 奖励描述
|
|
1512
|
+
MilestoneInfo:
|
|
1513
|
+
type: object
|
|
1514
|
+
required:
|
|
1515
|
+
- days
|
|
1516
|
+
- reward
|
|
1517
|
+
description: 里程碑信息(MilestoneInfoVo)
|
|
1518
|
+
properties:
|
|
1519
|
+
days:
|
|
1520
|
+
type: number
|
|
1521
|
+
description: 目标天数
|
|
1522
|
+
reward:
|
|
1523
|
+
description: 里程碑奖励
|
|
1524
|
+
allOf:
|
|
1525
|
+
- $ref: '#/components/schemas/RewardInfo'
|
|
1526
|
+
SigninStatusResponse:
|
|
1527
|
+
type: object
|
|
1528
|
+
required:
|
|
1529
|
+
- activityUid
|
|
1530
|
+
- hasSignedToday
|
|
1531
|
+
- consecutiveDays
|
|
1532
|
+
- totalDays
|
|
1533
|
+
- signedDates
|
|
1534
|
+
description: 签到状态响应(SigninStatusVo)
|
|
1535
|
+
properties:
|
|
1536
|
+
activityUid:
|
|
1940
1537
|
type: string
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1538
|
+
description: 活动 UID
|
|
1539
|
+
hasSignedToday:
|
|
1540
|
+
type: boolean
|
|
1541
|
+
description: 今日是否已签到
|
|
1542
|
+
consecutiveDays:
|
|
1543
|
+
type: number
|
|
1544
|
+
description: 连续签到天数
|
|
1545
|
+
totalDays:
|
|
1546
|
+
type: number
|
|
1547
|
+
description: 累计签到天数
|
|
1548
|
+
signedDates:
|
|
1549
|
+
description: 签到日期列表
|
|
1550
|
+
type: array
|
|
1551
|
+
items:
|
|
1552
|
+
type: string
|
|
1553
|
+
todayReward:
|
|
1554
|
+
description: 今日奖励
|
|
1555
|
+
allOf:
|
|
1556
|
+
- $ref: '#/components/schemas/RewardInfo'
|
|
1557
|
+
nextMilestone:
|
|
1558
|
+
description: 下一个里程碑
|
|
1559
|
+
allOf:
|
|
1560
|
+
- $ref: '#/components/schemas/MilestoneInfo'
|
|
1561
|
+
TrackEvent:
|
|
1944
1562
|
type: object
|
|
1945
1563
|
required:
|
|
1564
|
+
- eventType
|
|
1946
1565
|
- eventName
|
|
1566
|
+
description: 埋点事件(TrackEventDto)
|
|
1947
1567
|
properties:
|
|
1948
|
-
eventName:
|
|
1949
|
-
type: string
|
|
1950
|
-
minLength: 1
|
|
1951
|
-
maxLength: 255
|
|
1952
|
-
description: 事件名称
|
|
1953
1568
|
eventType:
|
|
1954
1569
|
type: string
|
|
1955
|
-
enum:
|
|
1956
|
-
- page_view
|
|
1957
|
-
- click
|
|
1958
|
-
- exposure
|
|
1959
|
-
- custom
|
|
1960
|
-
default: custom
|
|
1961
1570
|
description: 事件类型
|
|
1571
|
+
eventName:
|
|
1572
|
+
type: string
|
|
1573
|
+
description: 事件名称
|
|
1962
1574
|
properties:
|
|
1963
1575
|
type: object
|
|
1964
|
-
additionalProperties: true
|
|
1965
1576
|
description: 事件属性
|
|
1966
1577
|
timestamp:
|
|
1578
|
+
type: number
|
|
1579
|
+
description: 事件时间戳(毫秒)
|
|
1580
|
+
TrackContext:
|
|
1581
|
+
type: object
|
|
1582
|
+
description: 埋点上下文(TrackContextDto)
|
|
1583
|
+
properties:
|
|
1584
|
+
uid:
|
|
1967
1585
|
type: string
|
|
1968
|
-
|
|
1969
|
-
|
|
1586
|
+
description: 用户 UID
|
|
1587
|
+
pageVersionId:
|
|
1588
|
+
type: string
|
|
1589
|
+
description: 页面版本 ID
|
|
1590
|
+
componentVersionId:
|
|
1591
|
+
type: string
|
|
1592
|
+
description: 组件版本 ID
|
|
1593
|
+
deviceId:
|
|
1594
|
+
type: string
|
|
1595
|
+
description: 设备 ID
|
|
1596
|
+
sessionId:
|
|
1597
|
+
type: string
|
|
1598
|
+
description: 会话 ID
|
|
1599
|
+
appId:
|
|
1600
|
+
type: string
|
|
1601
|
+
description: 应用 ID
|
|
1602
|
+
TrackSingleRequest:
|
|
1603
|
+
type: object
|
|
1604
|
+
required:
|
|
1605
|
+
- event
|
|
1606
|
+
description: 单个埋点请求(TrackSingleDto)
|
|
1607
|
+
properties:
|
|
1608
|
+
event:
|
|
1609
|
+
description: 事件
|
|
1610
|
+
allOf:
|
|
1611
|
+
- $ref: '#/components/schemas/TrackEvent'
|
|
1970
1612
|
context:
|
|
1613
|
+
description: 上下文
|
|
1614
|
+
allOf:
|
|
1615
|
+
- $ref: '#/components/schemas/TrackContext'
|
|
1616
|
+
TrackSingleResponse:
|
|
1617
|
+
type: object
|
|
1618
|
+
required:
|
|
1619
|
+
- success
|
|
1620
|
+
- data
|
|
1621
|
+
description: 单个埋点响应(TrackSingleResponseVo)
|
|
1622
|
+
properties:
|
|
1623
|
+
success:
|
|
1624
|
+
type: boolean
|
|
1625
|
+
description: 是否成功
|
|
1626
|
+
data:
|
|
1971
1627
|
type: object
|
|
1628
|
+
required:
|
|
1629
|
+
- eventId
|
|
1972
1630
|
properties:
|
|
1973
|
-
|
|
1631
|
+
eventId:
|
|
1974
1632
|
type: string
|
|
1975
|
-
|
|
1976
|
-
type: string
|
|
1977
|
-
sessionId:
|
|
1978
|
-
type: string
|
|
1979
|
-
deviceType:
|
|
1980
|
-
type: string
|
|
1981
|
-
traceId:
|
|
1982
|
-
type: string
|
|
1983
|
-
description: 上下文信息
|
|
1633
|
+
description: 事件 ID
|
|
1984
1634
|
TrackBatchRequest:
|
|
1985
1635
|
type: object
|
|
1986
1636
|
required:
|
|
1987
1637
|
- events
|
|
1638
|
+
description: 批量埋点请求(TrackBatchDto)
|
|
1988
1639
|
properties:
|
|
1989
1640
|
events:
|
|
1641
|
+
description: 事件列表
|
|
1990
1642
|
type: array
|
|
1991
1643
|
items:
|
|
1992
|
-
$ref: '#/components/schemas/
|
|
1993
|
-
|
|
1994
|
-
description:
|
|
1995
|
-
|
|
1644
|
+
$ref: '#/components/schemas/TrackEvent'
|
|
1645
|
+
context:
|
|
1646
|
+
description: 上下文
|
|
1647
|
+
allOf:
|
|
1648
|
+
- $ref: '#/components/schemas/TrackContext'
|
|
1649
|
+
TrackBatchError:
|
|
1650
|
+
type: object
|
|
1651
|
+
required:
|
|
1652
|
+
- index
|
|
1653
|
+
- reason
|
|
1654
|
+
description: 批量埋点错误(TrackBatchErrorVo)
|
|
1655
|
+
properties:
|
|
1656
|
+
index:
|
|
1657
|
+
type: number
|
|
1658
|
+
description: 错误索引
|
|
1659
|
+
reason:
|
|
1660
|
+
type: string
|
|
1661
|
+
description: 错误原因
|
|
1662
|
+
TrackBatchResponse:
|
|
1663
|
+
type: object
|
|
1664
|
+
required:
|
|
1665
|
+
- success
|
|
1666
|
+
- data
|
|
1667
|
+
description: 批量埋点响应(TrackBatchResponseVo)
|
|
1668
|
+
properties:
|
|
1669
|
+
success:
|
|
1670
|
+
type: boolean
|
|
1671
|
+
description: 是否成功
|
|
1672
|
+
data:
|
|
1673
|
+
type: object
|
|
1674
|
+
required:
|
|
1675
|
+
- accepted
|
|
1676
|
+
- rejected
|
|
1677
|
+
- errors
|
|
1678
|
+
properties:
|
|
1679
|
+
accepted:
|
|
1680
|
+
type: number
|
|
1681
|
+
description: 接受的事件数量
|
|
1682
|
+
rejected:
|
|
1683
|
+
type: number
|
|
1684
|
+
description: 拒绝的事件数量
|
|
1685
|
+
errors:
|
|
1686
|
+
description: 错误列表
|
|
1687
|
+
type: array
|
|
1688
|
+
items:
|
|
1689
|
+
$ref: '#/components/schemas/TrackBatchError'
|
|
1690
|
+
ResolveTenantRequest:
|
|
1691
|
+
type: object
|
|
1692
|
+
description: 租户解析请求(TenantResolveDto)
|
|
1693
|
+
properties:
|
|
1694
|
+
appKey:
|
|
1695
|
+
type: string
|
|
1696
|
+
description: 应用 Key
|
|
1697
|
+
host:
|
|
1698
|
+
type: string
|
|
1699
|
+
description: 主机/域名
|
|
1700
|
+
channel:
|
|
1701
|
+
type: string
|
|
1702
|
+
description: 渠道
|
|
1703
|
+
ResolveTenantData:
|
|
1996
1704
|
type: object
|
|
1997
1705
|
required:
|
|
1998
1706
|
- appId
|
|
1999
|
-
-
|
|
1707
|
+
- name
|
|
2000
1708
|
- status
|
|
1709
|
+
- type
|
|
1710
|
+
description: 租户解析数据(TenantResolveDataVo)
|
|
2001
1711
|
properties:
|
|
2002
1712
|
appId:
|
|
2003
1713
|
type: string
|
|
2004
1714
|
description: 应用 ID
|
|
2005
|
-
|
|
1715
|
+
name:
|
|
2006
1716
|
type: string
|
|
2007
|
-
description:
|
|
1717
|
+
description: 租户名称
|
|
2008
1718
|
status:
|
|
2009
1719
|
type: string
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
description:
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
description:
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
description:
|
|
2026
|
-
|
|
1720
|
+
description: 租户状态
|
|
1721
|
+
example: active
|
|
1722
|
+
type:
|
|
1723
|
+
type: string
|
|
1724
|
+
description: 租户类型
|
|
1725
|
+
example: standard
|
|
1726
|
+
logo:
|
|
1727
|
+
type: string
|
|
1728
|
+
description: 租户 Logo URL
|
|
1729
|
+
config:
|
|
1730
|
+
type: object
|
|
1731
|
+
description: 租户配置
|
|
1732
|
+
additionalProperties: true
|
|
1733
|
+
channel:
|
|
1734
|
+
type: string
|
|
1735
|
+
description: 渠道
|
|
1736
|
+
domain:
|
|
1737
|
+
type: string
|
|
1738
|
+
description: 自定义域名
|
|
1739
|
+
ResolveTenantResponse:
|
|
1740
|
+
type: object
|
|
1741
|
+
required:
|
|
1742
|
+
- success
|
|
1743
|
+
- data
|
|
1744
|
+
description: 租户解析响应(TenantResolveVo)
|
|
1745
|
+
properties:
|
|
1746
|
+
success:
|
|
1747
|
+
type: boolean
|
|
1748
|
+
description: 是否成功
|
|
1749
|
+
data:
|
|
1750
|
+
description: 租户数据
|
|
1751
|
+
allOf:
|
|
1752
|
+
- $ref: '#/components/schemas/ResolveTenantData'
|
|
1753
|
+
TenantConfigData:
|
|
2027
1754
|
type: object
|
|
1755
|
+
required:
|
|
1756
|
+
- appId
|
|
1757
|
+
- status
|
|
1758
|
+
description: 租户配置数据(TenantConfigDataVo)
|
|
2028
1759
|
properties:
|
|
2029
|
-
|
|
1760
|
+
appId:
|
|
1761
|
+
type: string
|
|
1762
|
+
description: 应用 ID
|
|
1763
|
+
status:
|
|
1764
|
+
type: string
|
|
1765
|
+
description: 租户状态
|
|
1766
|
+
example: active
|
|
1767
|
+
featureFlags:
|
|
2030
1768
|
type: object
|
|
1769
|
+
description: 功能开关
|
|
2031
1770
|
additionalProperties:
|
|
2032
1771
|
type: boolean
|
|
2033
|
-
description: 功能开关
|
|
2034
1772
|
theme:
|
|
2035
1773
|
type: object
|
|
2036
|
-
additionalProperties: true
|
|
2037
1774
|
description: 主题配置
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
format: uri
|
|
2041
|
-
description: CDN 域名
|
|
2042
|
-
runtimeVersion:
|
|
1775
|
+
additionalProperties: true
|
|
1776
|
+
cdnBase:
|
|
2043
1777
|
type: string
|
|
2044
|
-
description:
|
|
1778
|
+
description: CDN 基地址
|
|
2045
1779
|
blockedComponents:
|
|
1780
|
+
description: 阻断组件列表
|
|
2046
1781
|
type: array
|
|
2047
1782
|
items:
|
|
2048
|
-
type:
|
|
2049
|
-
properties:
|
|
2050
|
-
componentType:
|
|
2051
|
-
type: string
|
|
2052
|
-
version:
|
|
2053
|
-
type: string
|
|
2054
|
-
reason:
|
|
2055
|
-
type: string
|
|
2056
|
-
description: 阻断的组件列表
|
|
1783
|
+
type: string
|
|
2057
1784
|
killSwitch:
|
|
2058
|
-
type:
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
1785
|
+
type: boolean
|
|
1786
|
+
description: 全局 killSwitch
|
|
1787
|
+
TenantConfigResponse:
|
|
1788
|
+
type: object
|
|
1789
|
+
required:
|
|
1790
|
+
- success
|
|
1791
|
+
- data
|
|
1792
|
+
description: 租户配置响应(TenantConfigVo)
|
|
1793
|
+
properties:
|
|
1794
|
+
success:
|
|
1795
|
+
type: boolean
|
|
1796
|
+
description: 是否成功
|
|
1797
|
+
data:
|
|
1798
|
+
description: 配置数据
|
|
1799
|
+
allOf:
|
|
1800
|
+
- $ref: '#/components/schemas/TenantConfigData'
|
|
1801
|
+
HealthCheckResponse:
|
|
2072
1802
|
type: object
|
|
2073
1803
|
required:
|
|
2074
1804
|
- status
|
|
2075
|
-
-
|
|
1805
|
+
- timestamp
|
|
1806
|
+
description: 健康检查响应(HealthCheckVo)
|
|
2076
1807
|
properties:
|
|
2077
1808
|
status:
|
|
2078
1809
|
type: string
|
|
2079
|
-
enum:
|
|
2080
|
-
- healthy
|
|
2081
|
-
- degraded
|
|
2082
|
-
- unhealthy
|
|
2083
1810
|
description: 服务状态
|
|
2084
|
-
|
|
2085
|
-
type: string
|
|
2086
|
-
description: 服务版本
|
|
2087
|
-
uptime:
|
|
2088
|
-
type: integer
|
|
2089
|
-
description: 运行时间(秒)
|
|
1811
|
+
example: healthy
|
|
2090
1812
|
timestamp:
|
|
2091
1813
|
type: string
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
1814
|
+
description: 响应时间戳
|
|
1815
|
+
example: '2026-02-04T12:00:00.000Z'
|
|
1816
|
+
LivenessResponse:
|
|
1817
|
+
type: object
|
|
1818
|
+
required:
|
|
1819
|
+
- status
|
|
1820
|
+
description: 存活检查响应(LivenessVo)
|
|
1821
|
+
properties:
|
|
1822
|
+
status:
|
|
1823
|
+
type: string
|
|
1824
|
+
description: 服务状态
|
|
1825
|
+
example: alive
|
|
1826
|
+
HealthCheckItem:
|
|
1827
|
+
type: object
|
|
1828
|
+
description: 健康检查项
|
|
1829
|
+
properties:
|
|
1830
|
+
status:
|
|
1831
|
+
type: string
|
|
1832
|
+
description: 检查状态
|
|
1833
|
+
message:
|
|
1834
|
+
type: string
|
|
1835
|
+
description: 检查消息
|
|
1836
|
+
ReadinessResponse:
|
|
1837
|
+
type: object
|
|
1838
|
+
required:
|
|
1839
|
+
- status
|
|
1840
|
+
- checks
|
|
1841
|
+
description: 就绪检查响应(ReadinessVo)
|
|
1842
|
+
properties:
|
|
1843
|
+
status:
|
|
1844
|
+
type: string
|
|
1845
|
+
description: 服务状态
|
|
1846
|
+
example: ready
|
|
1847
|
+
checks:
|
|
2095
1848
|
type: object
|
|
1849
|
+
description: 各检查项状态
|
|
2096
1850
|
additionalProperties:
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
type: integer
|
|
2107
|
-
description: 延迟(毫秒)
|
|
2108
|
-
message:
|
|
2109
|
-
type: string
|
|
2110
|
-
description: 依赖服务状态
|
|
2111
|
-
ComponentManifest:
|
|
1851
|
+
$ref: '#/components/schemas/HealthCheckItem'
|
|
1852
|
+
example:
|
|
1853
|
+
database:
|
|
1854
|
+
status: healthy
|
|
1855
|
+
message: Connection OK
|
|
1856
|
+
redis:
|
|
1857
|
+
status: healthy
|
|
1858
|
+
message: Connection OK
|
|
1859
|
+
SuccessResponse:
|
|
2112
1860
|
type: object
|
|
2113
1861
|
required:
|
|
2114
|
-
-
|
|
2115
|
-
-
|
|
2116
|
-
-
|
|
1862
|
+
- success
|
|
1863
|
+
- code
|
|
1864
|
+
- message
|
|
1865
|
+
- data
|
|
1866
|
+
- timestamp
|
|
1867
|
+
- path
|
|
1868
|
+
description: 成功响应(BaseResponseVo)
|
|
2117
1869
|
properties:
|
|
2118
|
-
|
|
1870
|
+
success:
|
|
1871
|
+
type: boolean
|
|
1872
|
+
description: 请求是否成功
|
|
1873
|
+
example: true
|
|
1874
|
+
code:
|
|
2119
1875
|
type: string
|
|
2120
|
-
description:
|
|
2121
|
-
|
|
1876
|
+
description: 业务状态码
|
|
1877
|
+
example: OK
|
|
1878
|
+
message:
|
|
2122
1879
|
type: string
|
|
2123
|
-
description:
|
|
2124
|
-
|
|
1880
|
+
description: 响应消息
|
|
1881
|
+
example: 操作成功
|
|
1882
|
+
data:
|
|
1883
|
+
type: object
|
|
1884
|
+
description: 响应数据
|
|
1885
|
+
timestamp:
|
|
1886
|
+
type: number
|
|
1887
|
+
description: 响应时间戳
|
|
1888
|
+
example: 1702300000000
|
|
1889
|
+
path:
|
|
2125
1890
|
type: string
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
1891
|
+
description: 请求路径
|
|
1892
|
+
example: /api/users
|
|
1893
|
+
requestId:
|
|
2129
1894
|
type: string
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
1895
|
+
description: 请求ID
|
|
1896
|
+
example: uuid-string
|
|
1897
|
+
traceId:
|
|
2133
1898
|
type: string
|
|
2134
|
-
description:
|
|
2135
|
-
|
|
1899
|
+
description: 链路追踪ID(用于全链路定位问题)
|
|
1900
|
+
example: trace-uuid-string
|
|
1901
|
+
PaginationMeta:
|
|
1902
|
+
type: object
|
|
1903
|
+
required:
|
|
1904
|
+
- page
|
|
1905
|
+
- pageSize
|
|
1906
|
+
- total
|
|
1907
|
+
- totalPages
|
|
1908
|
+
- hasNext
|
|
1909
|
+
- hasPrevious
|
|
1910
|
+
description: 分页元数据(PageMetaVo)
|
|
1911
|
+
properties:
|
|
1912
|
+
page:
|
|
1913
|
+
type: number
|
|
1914
|
+
description: 当前页码
|
|
1915
|
+
example: 1
|
|
1916
|
+
pageSize:
|
|
1917
|
+
type: number
|
|
1918
|
+
description: 每页条数
|
|
1919
|
+
example: 10
|
|
1920
|
+
total:
|
|
1921
|
+
type: number
|
|
1922
|
+
description: 总条数
|
|
1923
|
+
example: 100
|
|
1924
|
+
totalPages:
|
|
1925
|
+
type: number
|
|
1926
|
+
description: 总页数
|
|
1927
|
+
example: 10
|
|
1928
|
+
hasNext:
|
|
2136
1929
|
type: boolean
|
|
2137
|
-
description:
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
1930
|
+
description: 是否有下一页
|
|
1931
|
+
example: true
|
|
1932
|
+
hasPrevious:
|
|
1933
|
+
type: boolean
|
|
1934
|
+
description: 是否有上一页
|
|
1935
|
+
example: false
|
|
1936
|
+
ActivityStatus:
|
|
2142
1937
|
type: object
|
|
2143
1938
|
required:
|
|
2144
|
-
-
|
|
2145
|
-
-
|
|
1939
|
+
- activityUid
|
|
1940
|
+
- name
|
|
1941
|
+
- type
|
|
1942
|
+
- isInProgress
|
|
1943
|
+
- startAt
|
|
1944
|
+
- endAt
|
|
1945
|
+
description: 活动状态(ActivityStatusVo)
|
|
2146
1946
|
properties:
|
|
2147
|
-
|
|
1947
|
+
activityUid:
|
|
2148
1948
|
type: string
|
|
2149
|
-
description:
|
|
2150
|
-
|
|
1949
|
+
description: 活动 UID
|
|
1950
|
+
name:
|
|
2151
1951
|
type: string
|
|
2152
|
-
description:
|
|
2153
|
-
|
|
1952
|
+
description: 活动名称
|
|
1953
|
+
type:
|
|
2154
1954
|
type: string
|
|
1955
|
+
description: 活动类型
|
|
2155
1956
|
enum:
|
|
2156
1957
|
- claim
|
|
2157
1958
|
- signin
|
|
2158
|
-
|
|
2159
|
-
- reserve
|
|
2160
|
-
- bind
|
|
2161
|
-
- task_complete
|
|
2162
|
-
- vote
|
|
2163
|
-
- share
|
|
2164
|
-
- form_submit
|
|
2165
|
-
- navigate
|
|
2166
|
-
- setState
|
|
2167
|
-
- showToast
|
|
2168
|
-
- refreshData
|
|
2169
|
-
- custom
|
|
2170
|
-
description: 动作类型
|
|
2171
|
-
builtin:
|
|
1959
|
+
isInProgress:
|
|
2172
1960
|
type: boolean
|
|
2173
|
-
description:
|
|
2174
|
-
|
|
2175
|
-
type: object
|
|
2176
|
-
required:
|
|
2177
|
-
- queryId
|
|
2178
|
-
- queryVersionId
|
|
2179
|
-
properties:
|
|
2180
|
-
queryId:
|
|
1961
|
+
description: 是否进行中
|
|
1962
|
+
startAt:
|
|
2181
1963
|
type: string
|
|
2182
|
-
description:
|
|
2183
|
-
|
|
1964
|
+
description: 开始时间
|
|
1965
|
+
endAt:
|
|
2184
1966
|
type: string
|
|
2185
|
-
description:
|
|
2186
|
-
cacheTtl:
|
|
2187
|
-
type: integer
|
|
2188
|
-
description: 缓存 TTL(秒)
|
|
2189
|
-
PageResponse:
|
|
2190
|
-
allOf:
|
|
2191
|
-
- $ref: '#/components/schemas/SuccessResponse'
|
|
2192
|
-
- type: object
|
|
2193
|
-
properties:
|
|
2194
|
-
data:
|
|
2195
|
-
type: object
|
|
2196
|
-
required:
|
|
2197
|
-
- pageId
|
|
2198
|
-
- version
|
|
2199
|
-
- meta
|
|
2200
|
-
properties:
|
|
2201
|
-
pageId:
|
|
2202
|
-
type: string
|
|
2203
|
-
description: 页面 ID
|
|
2204
|
-
version:
|
|
2205
|
-
type: string
|
|
2206
|
-
description: 页面版本
|
|
2207
|
-
meta:
|
|
2208
|
-
type: object
|
|
2209
|
-
properties:
|
|
2210
|
-
title:
|
|
2211
|
-
type: string
|
|
2212
|
-
description: 页面标题
|
|
2213
|
-
description:
|
|
2214
|
-
type: string
|
|
2215
|
-
description: 页面描述
|
|
2216
|
-
integrity:
|
|
2217
|
-
type: string
|
|
2218
|
-
description: 完整性哈希
|
|
2219
|
-
ResourceManifests:
|
|
2220
|
-
type: object
|
|
2221
|
-
properties:
|
|
2222
|
-
components:
|
|
2223
|
-
type: array
|
|
2224
|
-
items:
|
|
2225
|
-
$ref: '#/components/schemas/ComponentManifest'
|
|
2226
|
-
description: 组件资源清单
|
|
2227
|
-
actions:
|
|
2228
|
-
type: array
|
|
2229
|
-
items:
|
|
2230
|
-
$ref: '#/components/schemas/ActionManifest'
|
|
2231
|
-
description: 动作资源清单
|
|
2232
|
-
queries:
|
|
2233
|
-
type: array
|
|
2234
|
-
items:
|
|
2235
|
-
$ref: '#/components/schemas/QueryManifest'
|
|
2236
|
-
description: 查询资源清单
|
|
1967
|
+
description: 结束时间
|
|
2237
1968
|
responses:
|
|
2238
1969
|
BadRequest:
|
|
2239
1970
|
description: 请求参数错误
|
|
@@ -2291,59 +2022,59 @@ components:
|
|
|
2291
2022
|
timestamp: 1702300000000
|
|
2292
2023
|
path: /api/user/pages/resolve
|
|
2293
2024
|
requestId: uuid-string
|
|
2294
|
-
|
|
2295
|
-
description:
|
|
2025
|
+
TooManyRequests:
|
|
2026
|
+
description: 请求过于频繁
|
|
2296
2027
|
content:
|
|
2297
2028
|
application/json:
|
|
2298
2029
|
schema:
|
|
2299
2030
|
$ref: '#/components/schemas/ErrorResponse'
|
|
2300
2031
|
example:
|
|
2301
2032
|
success: false
|
|
2302
|
-
code:
|
|
2303
|
-
message:
|
|
2033
|
+
code: RISK_RATE_LIMITED
|
|
2034
|
+
message: 请求过于频繁,请稍后再试
|
|
2304
2035
|
timestamp: 1702300000000
|
|
2305
|
-
path: /api/user/
|
|
2036
|
+
path: /api/user/actions/execute
|
|
2306
2037
|
requestId: uuid-string
|
|
2307
|
-
|
|
2308
|
-
description:
|
|
2038
|
+
InternalError:
|
|
2039
|
+
description: 服务器内部错误
|
|
2309
2040
|
content:
|
|
2310
2041
|
application/json:
|
|
2311
2042
|
schema:
|
|
2312
2043
|
$ref: '#/components/schemas/ErrorResponse'
|
|
2313
2044
|
example:
|
|
2314
2045
|
success: false
|
|
2315
|
-
code:
|
|
2316
|
-
message:
|
|
2046
|
+
code: SYSTEM_INTERNAL_ERROR
|
|
2047
|
+
message: 服务器内部错误
|
|
2317
2048
|
timestamp: 1702300000000
|
|
2318
|
-
path: /api/user/
|
|
2049
|
+
path: /api/user/pages/resolve
|
|
2319
2050
|
requestId: uuid-string
|
|
2320
|
-
|
|
2321
|
-
|
|
2051
|
+
traceId: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
|
|
2052
|
+
Forbidden:
|
|
2053
|
+
description: 无权限
|
|
2322
2054
|
content:
|
|
2323
2055
|
application/json:
|
|
2324
2056
|
schema:
|
|
2325
2057
|
$ref: '#/components/schemas/ErrorResponse'
|
|
2326
2058
|
example:
|
|
2327
2059
|
success: false
|
|
2328
|
-
code:
|
|
2329
|
-
message:
|
|
2060
|
+
code: PERMISSION_DENIED
|
|
2061
|
+
message: 无访问权限
|
|
2330
2062
|
timestamp: 1702300000000
|
|
2331
|
-
path: /api/user/
|
|
2063
|
+
path: /api/user/pages/resolve
|
|
2332
2064
|
requestId: uuid-string
|
|
2333
|
-
|
|
2334
|
-
description:
|
|
2065
|
+
UnprocessableEntity:
|
|
2066
|
+
description: 请求无法处理
|
|
2335
2067
|
content:
|
|
2336
2068
|
application/json:
|
|
2337
2069
|
schema:
|
|
2338
2070
|
$ref: '#/components/schemas/ErrorResponse'
|
|
2339
2071
|
example:
|
|
2340
2072
|
success: false
|
|
2341
|
-
code:
|
|
2342
|
-
message:
|
|
2073
|
+
code: BUSINESS_ACTIVITY_NOT_STARTED
|
|
2074
|
+
message: 参数验证失败
|
|
2343
2075
|
timestamp: 1702300000000
|
|
2344
|
-
path: /api/user/
|
|
2076
|
+
path: /api/user/actions/execute
|
|
2345
2077
|
requestId: uuid-string
|
|
2346
|
-
traceId: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
|
|
2347
2078
|
GatewayTimeout:
|
|
2348
2079
|
description: 网关超时
|
|
2349
2080
|
content:
|
|
@@ -2362,7 +2093,7 @@ components:
|
|
|
2362
2093
|
type: http
|
|
2363
2094
|
scheme: bearer
|
|
2364
2095
|
bearerFormat: JWT
|
|
2365
|
-
description: JWT
|
|
2096
|
+
description: 请输入 JWT 访问令牌
|
|
2366
2097
|
ApiKey:
|
|
2367
2098
|
type: apiKey
|
|
2368
2099
|
in: header
|