@djvlc/openapi-user-client 1.7.1 → 1.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,26 @@ BadRequest:
10
10
  code: BAD_REQUEST
11
11
  message: 请求参数无效
12
12
 
13
+ Unauthorized:
14
+ description: 未认证
15
+ content:
16
+ application/json:
17
+ schema:
18
+ $ref: '../schemas/_index.yaml#/ErrorResponse'
19
+ example:
20
+ code: UNAUTHORIZED
21
+ message: 请先登录
22
+
23
+ Forbidden:
24
+ description: 无权限
25
+ content:
26
+ application/json:
27
+ schema:
28
+ $ref: '../schemas/_index.yaml#/ErrorResponse'
29
+ example:
30
+ code: FORBIDDEN
31
+ message: 无访问权限
32
+
13
33
  NotFound:
14
34
  description: 资源不存在
15
35
  content:
@@ -30,6 +50,16 @@ UnprocessableEntity:
30
50
  code: UNPROCESSABLE_ENTITY
31
51
  message: 参数验证失败
32
52
 
53
+ TooManyRequests:
54
+ description: 请求过于频繁
55
+ content:
56
+ application/json:
57
+ schema:
58
+ $ref: '../schemas/_index.yaml#/ErrorResponse'
59
+ example:
60
+ code: TOO_MANY_REQUESTS
61
+ message: 请求过于频繁,请稍后再试
62
+
33
63
  InternalError:
34
64
  description: 服务器内部错误
35
65
  content:
@@ -24,6 +24,9 @@ ErrorResponse:
24
24
  message:
25
25
  type: string
26
26
  description: 错误详情
27
+ traceId:
28
+ type: string
29
+ description: 追踪 ID
27
30
 
28
31
  # ============================================================================
29
32
  # 页面相关
@@ -86,10 +89,16 @@ ResolveContext:
86
89
  sessionId:
87
90
  type: string
88
91
  description: 会话 ID
92
+ deviceId:
93
+ type: string
94
+ description: 设备 ID
89
95
  deviceType:
90
96
  type: string
91
97
  enum: [mobile, tablet, desktop]
92
98
  description: 设备类型
99
+ channel:
100
+ type: string
101
+ description: 渠道标识
93
102
  urlParams:
94
103
  type: object
95
104
  additionalProperties:
@@ -111,14 +120,17 @@ ResolvePageResponse:
111
120
  properties:
112
121
  data:
113
122
  type: object
114
- required: [pageId, version, schema]
123
+ required: [pageId, pageVersionId, schema]
115
124
  properties:
116
125
  pageId:
117
126
  type: string
118
127
  description: 页面 ID
119
- version:
128
+ pageVersionId:
120
129
  type: string
121
- description: 页面版本
130
+ description: 页面版本 ID(不可变)
131
+ schemaVersion:
132
+ type: string
133
+ description: Schema 版本
122
134
  schema:
123
135
  type: object
124
136
  description: 解析后的页面 Schema
@@ -128,6 +140,8 @@ ResolvePageResponse:
128
140
  type: object
129
141
  additionalProperties: true
130
142
  description: 预取的数据
143
+ opsConfig:
144
+ $ref: '#/OpsConfig'
131
145
 
132
146
  ResourceManifests:
133
147
  type: object
@@ -162,53 +176,95 @@ ComponentManifest:
162
176
  type: string
163
177
  format: uri
164
178
  description: 组件入口 URL
179
+ styleUrl:
180
+ type: string
181
+ format: uri
182
+ description: 样式文件 URL
165
183
  integrity:
166
184
  type: string
167
- description: 完整性哈希
185
+ description: SRI 完整性哈希
186
+ blocked:
187
+ type: boolean
188
+ description: 是否被阻断
189
+ fallback:
190
+ type: string
191
+ description: 降级组件类型
168
192
 
169
193
  ActionManifest:
170
194
  type: object
171
- required: [actionId, version]
195
+ required: [actionId, actionDefinitionVersionId]
172
196
  properties:
173
197
  actionId:
174
198
  type: string
175
199
  description: 动作 ID
176
- version:
200
+ actionDefinitionVersionId:
177
201
  type: string
178
- description: 动作版本
179
- type:
202
+ description: 动作定义版本 ID
203
+ actionType:
180
204
  type: string
181
- enum: [builtin, custom]
205
+ enum: [claim, signin, lottery, reserve, bind, task_complete, vote, share, form_submit, navigate, setState, showToast, refreshData, custom]
182
206
  description: 动作类型
207
+ builtin:
208
+ type: boolean
209
+ description: 是否内置动作
183
210
 
184
211
  QueryManifest:
185
212
  type: object
186
- required: [queryId, version]
213
+ required: [queryId, queryVersionId]
187
214
  properties:
188
215
  queryId:
189
216
  type: string
190
217
  description: 查询 ID
191
- version:
218
+ queryVersionId:
192
219
  type: string
193
- description: 查询版本
220
+ description: 查询定义版本 ID
194
221
  cacheTtl:
195
222
  type: integer
196
223
  description: 缓存 TTL(秒)
197
224
 
225
+ OpsConfig:
226
+ type: object
227
+ description: 运维配置
228
+ properties:
229
+ killSwitch:
230
+ type: boolean
231
+ description: Kill Switch 是否启用
232
+ fallbackUrl:
233
+ type: string
234
+ format: uri
235
+ description: 降级跳转 URL
236
+ blockedComponents:
237
+ type: array
238
+ items:
239
+ type: string
240
+ description: 被阻断的组件列表
241
+
198
242
  # ============================================================================
199
- # 动作相关
243
+ # Action Gateway 动作相关
200
244
  # ============================================================================
201
245
 
202
246
  ExecuteActionRequest:
203
247
  type: object
204
- required: [params]
248
+ required: [actionType, params]
205
249
  properties:
250
+ actionType:
251
+ type: string
252
+ enum: [claim, signin, lottery, reserve, bind, task_complete, vote, share, form_submit, navigate, setState, showToast, refreshData, custom]
253
+ description: 动作类型
254
+ actionDefinitionVersionId:
255
+ type: string
256
+ description: 动作定义版本 ID(custom 类型必填)
206
257
  params:
207
258
  type: object
208
259
  additionalProperties: true
209
260
  description: 动作参数
210
261
  context:
211
262
  $ref: '#/ActionContext'
263
+ idempotencyKey:
264
+ type: string
265
+ minLength: 16
266
+ maxLength: 128
267
+ description: 幂等键(防重复提交)
212
268
  options:
213
269
  type: object
214
270
  properties:
@@ -218,23 +274,47 @@ ExecuteActionRequest:
218
274
  maximum: 30000
219
275
  default: 10000
220
276
  description: 执行超时(毫秒)
221
- idempotencyKey:
222
- type: string
223
- description: 幂等键
277
+ skipRisk:
278
+ type: boolean
279
+ default: false
280
+ description: 是否跳过风控(需特殊权限)
224
281
 
225
282
  ActionContext:
226
283
  type: object
227
- description: 动作执行上下文
284
+ description: 动作执行上下文(问题追溯必须字段)
285
+ required: [pageVersionId]
228
286
  properties:
229
- pageId:
287
+ pageVersionId:
288
+ type: string
289
+ description: 页面版本 ID(不可变)
290
+ componentVersionId:
291
+ type: string
292
+ description: 触发组件版本 ID
293
+ actionId:
230
294
  type: string
231
- description: 页面 ID
232
- componentId:
295
+ description: 动作实例 ID
296
+ traceId:
297
+ type: string
298
+ description: 分布式追踪 ID(OTel)
299
+ uid:
300
+ type: string
301
+ description: 用户 ID
302
+ deviceId:
303
+ type: string
304
+ description: 设备 ID
305
+ channel:
306
+ type: string
307
+ description: 渠道标识
308
+ sessionId:
233
309
  type: string
234
- description: 触发组件 ID
310
+ description: 会话 ID
235
311
  eventName:
236
312
  type: string
237
313
  description: 触发事件名
314
+ timestamp:
315
+ type: string
316
+ format: date-time
317
+ description: 触发时间
238
318
  state:
239
319
  type: object
240
320
  additionalProperties: true
@@ -242,14 +322,17 @@ ActionContext:
242
322
 
243
323
  ExecuteActionResponse:
244
324
  type: object
245
- required: [data]
325
+ required: [success, data]
246
326
  properties:
327
+ success:
328
+ type: boolean
329
+ description: 是否成功
247
330
  data:
248
331
  type: object
249
332
  properties:
250
- success:
251
- type: boolean
252
- description: 是否成功
333
+ actionId:
334
+ type: string
335
+ description: 动作执行 ID
253
336
  result:
254
337
  description: 执行结果
255
338
  effects:
@@ -257,6 +340,18 @@ ExecuteActionResponse:
257
340
  items:
258
341
  $ref: '#/ActionEffect'
259
342
  description: 副作用列表
343
+ meta:
344
+ type: object
345
+ properties:
346
+ executionTime:
347
+ type: integer
348
+ description: 执行时间(毫秒)
349
+ traceId:
350
+ type: string
351
+ description: 追踪 ID
352
+ idempotent:
353
+ type: boolean
354
+ description: 是否幂等命中
260
355
 
261
356
  ActionEffect:
262
357
  type: object
@@ -264,17 +359,46 @@ ActionEffect:
264
359
  properties:
265
360
  type:
266
361
  type: string
267
- enum: [setState, navigate, showToast, refreshData, custom]
362
+ enum: [setState, navigate, showToast, refreshData, openDialog, closeDialog, custom]
268
363
  description: 副作用类型
269
364
  payload:
270
365
  type: object
271
366
  additionalProperties: true
272
367
  description: 副作用参数
273
368
 
369
+ IdempotencyConflictResponse:
370
+ type: object
371
+ required: [success, data]
372
+ properties:
373
+ success:
374
+ type: boolean
375
+ example: true
376
+ data:
377
+ type: object
378
+ properties:
379
+ idempotent:
380
+ type: boolean
381
+ example: true
382
+ originalActionId:
383
+ type: string
384
+ description: 原始动作执行 ID
385
+ originalResult:
386
+ description: 原始执行结果
387
+ originalExecutedAt:
388
+ type: string
389
+ format: date-time
390
+ description: 原始执行时间
391
+
274
392
  ValidateActionRequest:
275
393
  type: object
276
- required: [params]
394
+ required: [actionType, params]
277
395
  properties:
396
+ actionType:
397
+ type: string
398
+ description: 动作类型
399
+ actionDefinitionVersionId:
400
+ type: string
401
+ description: 动作定义版本 ID
278
402
  params:
279
403
  type: object
280
404
  additionalProperties: true
@@ -302,21 +426,48 @@ ValidateActionResponse:
302
426
  message:
303
427
  type: string
304
428
  description: 错误消息
429
+ code:
430
+ type: string
431
+ description: 错误码
305
432
  description: 验证错误
306
433
 
434
+ ActionDefinitionResponse:
435
+ type: object
436
+ required: [data]
437
+ properties:
438
+ data:
439
+ type: object
440
+ properties:
441
+ actionDefinitionVersionId:
442
+ type: string
443
+ actionType:
444
+ type: string
445
+ name:
446
+ type: string
447
+ paramsSchema:
448
+ type: object
449
+ description: 参数 JSON Schema
450
+ resultSchema:
451
+ type: object
452
+ description: 结果 JSON Schema
453
+
307
454
  # ============================================================================
308
- # 查询相关
455
+ # Data Proxy 查询相关
309
456
  # ============================================================================
310
457
 
311
- ExecuteQueryRequest:
458
+ QueryDataRequest:
312
459
  type: object
460
+ required: [queryVersionId]
313
461
  properties:
462
+ queryVersionId:
463
+ type: string
464
+ description: 查询定义版本 ID
314
465
  params:
315
466
  type: object
316
467
  additionalProperties: true
317
468
  description: 查询参数
318
469
  context:
319
- $ref: '#/ResolveContext'
470
+ $ref: '#/QueryContext'
320
471
  options:
321
472
  type: object
322
473
  properties:
@@ -334,10 +485,28 @@ ExecuteQueryRequest:
334
485
  type: string
335
486
  description: 自定义缓存键
336
487
 
337
- ExecuteQueryResponse:
488
+ QueryContext:
338
489
  type: object
339
- required: [data]
340
490
  properties:
491
+ pageVersionId:
492
+ type: string
493
+ description: 页面版本 ID
494
+ uid:
495
+ type: string
496
+ description: 用户 ID
497
+ sessionId:
498
+ type: string
499
+ description: 会话 ID
500
+ traceId:
501
+ type: string
502
+ description: 分布式追踪 ID
503
+
504
+ QueryDataResponse:
505
+ type: object
506
+ required: [success, data]
507
+ properties:
508
+ success:
509
+ type: boolean
341
510
  data:
342
511
  description: 查询结果数据
343
512
  meta:
@@ -353,6 +522,9 @@ ExecuteQueryResponse:
353
522
  executionTime:
354
523
  type: integer
355
524
  description: 执行时间(毫秒)
525
+ traceId:
526
+ type: string
527
+ description: 追踪 ID
356
528
  pagination:
357
529
  type: object
358
530
  properties:
@@ -365,6 +537,73 @@ ExecuteQueryResponse:
365
537
  hasMore:
366
538
  type: boolean
367
539
 
540
+ QueryDefinitionResponse:
541
+ type: object
542
+ required: [data]
543
+ properties:
544
+ data:
545
+ type: object
546
+ properties:
547
+ queryVersionId:
548
+ type: string
549
+ name:
550
+ type: string
551
+ paramsSchema:
552
+ type: object
553
+ description: 参数 JSON Schema
554
+ resultSchema:
555
+ type: object
556
+ description: 结果 JSON Schema
557
+ cacheTtl:
558
+ type: integer
559
+ description: 缓存 TTL(秒)
560
+
561
+ BatchQueryRequest:
562
+ type: object
563
+ required: [queries]
564
+ properties:
565
+ queries:
566
+ type: array
567
+ items:
568
+ type: object
569
+ required: [queryVersionId]
570
+ properties:
571
+ queryVersionId:
572
+ type: string
573
+ params:
574
+ type: object
575
+ alias:
576
+ type: string
577
+ description: 查询别名(用于结果映射)
578
+ maxItems: 20
579
+ description: 查询列表(最多 20 个)
580
+ context:
581
+ $ref: '#/QueryContext'
582
+
583
+ BatchQueryResponse:
584
+ type: object
585
+ required: [success, data]
586
+ properties:
587
+ success:
588
+ type: boolean
589
+ data:
590
+ type: object
591
+ additionalProperties:
592
+ type: object
593
+ properties:
594
+ success:
595
+ type: boolean
596
+ data:
597
+ description: 查询结果
598
+ error:
599
+ type: object
600
+ properties:
601
+ code:
602
+ type: string
603
+ message:
604
+ type: string
605
+ description: 按 alias 或 queryVersionId 索引的结果
606
+
368
607
  # ============================================================================
369
608
  # 通用分页
370
609
  # ============================================================================
@@ -391,6 +630,119 @@ PaginationMeta:
391
630
  minimum: 0
392
631
  description: 总页数
393
632
 
633
+ # ============================================================================
634
+ # Tenant 租户相关
635
+ # ============================================================================
636
+
637
+ TenantInfo:
638
+ type: object
639
+ required: [appId, appName, status]
640
+ properties:
641
+ appId:
642
+ type: string
643
+ description: 应用 ID
644
+ appName:
645
+ type: string
646
+ description: 应用名称
647
+ status:
648
+ type: string
649
+ enum: [active, suspended, disabled]
650
+ description: 应用状态
651
+ workspaceId:
652
+ type: string
653
+ description: 工作空间 ID
654
+ cdnDomain:
655
+ type: string
656
+ format: uri
657
+ description: CDN 域名
658
+ apiDomain:
659
+ type: string
660
+ format: uri
661
+ description: API 域名
662
+
663
+ TenantConfig:
664
+ type: object
665
+ properties:
666
+ features:
667
+ type: object
668
+ additionalProperties:
669
+ type: boolean
670
+ description: 功能开关
671
+ theme:
672
+ type: object
673
+ additionalProperties: true
674
+ description: 主题配置
675
+ cdnDomain:
676
+ type: string
677
+ format: uri
678
+ description: CDN 域名
679
+ runtimeVersion:
680
+ type: string
681
+ description: 推荐的 Runtime 版本
682
+ blockedComponents:
683
+ type: array
684
+ items:
685
+ type: object
686
+ properties:
687
+ componentType:
688
+ type: string
689
+ version:
690
+ type: string
691
+ reason:
692
+ type: string
693
+ description: 阻断的组件列表
694
+ killSwitch:
695
+ type: object
696
+ properties:
697
+ enabled:
698
+ type: boolean
699
+ pageIds:
700
+ type: array
701
+ items:
702
+ type: string
703
+ description: 被 Kill 的页面 ID 列表
704
+ fallbackUrl:
705
+ type: string
706
+ format: uri
707
+ description: Kill Switch 配置
708
+
709
+ # ============================================================================
710
+ # Health 健康检查相关
711
+ # ============================================================================
712
+
713
+ HealthResponse:
714
+ type: object
715
+ required: [status, version]
716
+ properties:
717
+ status:
718
+ type: string
719
+ enum: [healthy, degraded, unhealthy]
720
+ description: 服务状态
721
+ version:
722
+ type: string
723
+ description: 服务版本
724
+ uptime:
725
+ type: integer
726
+ description: 运行时间(秒)
727
+ timestamp:
728
+ type: string
729
+ format: date-time
730
+ description: 检查时间
731
+ dependencies:
732
+ type: object
733
+ additionalProperties:
734
+ type: object
735
+ properties:
736
+ status:
737
+ type: string
738
+ enum: [healthy, degraded, unhealthy]
739
+ latency:
740
+ type: integer
741
+ description: 延迟(毫秒)
742
+ message:
743
+ type: string
744
+ description: 依赖服务状态
745
+
394
746
  # ============================================================================
395
747
  # Activity 用户活动相关
396
748
  # ============================================================================
@@ -407,7 +759,7 @@ PublicActivityInfo:
407
759
  description: 活动名称
408
760
  type:
409
761
  type: string
410
- enum: [signin, lottery, redpack, coupon, custom]
762
+ enum: [claim, signin, lottery, reserve, task, vote, share, bind, custom]
411
763
  description: 活动类型
412
764
  status:
413
765
  type: string
@@ -609,14 +961,16 @@ TrackRequest:
609
961
  context:
610
962
  type: object
611
963
  properties:
612
- pageId:
964
+ pageVersionId:
613
965
  type: string
614
- componentId:
966
+ componentVersionId:
615
967
  type: string
616
968
  sessionId:
617
969
  type: string
618
970
  deviceType:
619
971
  type: string
972
+ traceId:
973
+ type: string
620
974
  description: 上下文信息
621
975
 
622
976
  TrackBatchRequest:
@@ -628,4 +982,4 @@ TrackBatchRequest:
628
982
  items:
629
983
  $ref: '#/TrackRequest'
630
984
  maxItems: 100
631
- description: 事件列表(最多 100 个)
985
+ description: 事件列表(最多 100 个)