@bi-nova/services 1.3.2-beta.202605161224

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.
@@ -0,0 +1,637 @@
1
+ import { BuildResultReturn } from '@bi-nova/utils';
2
+
3
+ /**
4
+ * @Description: 全局通用类型定义
5
+ * @Author: wutao
6
+ * @Date: 2026-03-26
7
+ * @LastEditors: wutao
8
+ * @LastEditTime: 2026-03-26
9
+ */
10
+ /** 插件配置接口 */
11
+ interface PluginConfig {
12
+ /** 是否开启调试模式 */
13
+ debug?: boolean;
14
+ /** 环境类型 */
15
+ env?: string;
16
+ /** 外部对接环境类型 */
17
+ externalEnv?: string;
18
+ /** 自定义API域名 */
19
+ apiDomain?: string;
20
+ /** 获取认证token */
21
+ getAuthToken?: () => Promise<string> | string;
22
+ /** 乐遥摇平台分配的应用标识(非微信/支付宝小程序 appId) */
23
+ externalAppId?: string;
24
+ /** 乐遥摇平台分配的应用密钥 */
25
+ externalAppSecret?: string;
26
+ }
27
+ /** 跳转配置接口 */
28
+ interface JumpConfig {
29
+ jumpMode: number;
30
+ appId?: string;
31
+ url?: string;
32
+ channel?: string;
33
+ }
34
+
35
+ /**
36
+ * @Description: 配置管理和环境域名定义
37
+ * @Author: wutao
38
+ * @Date: 2026-03-26
39
+ * @LastEditors: wutao
40
+ * @LastEditTime: 2026-05-07
41
+ */
42
+
43
+ /** 内部环境类型枚举 */
44
+ declare const ENV_TYPE: {
45
+ readonly DEV: "dev";
46
+ readonly SIT: "sit";
47
+ readonly UAT: "uat";
48
+ readonly PROD: "prod";
49
+ };
50
+ /** 外部对接环境类型枚举 */
51
+ declare const EXTERNAL_ENV_TYPE: {
52
+ readonly SIT: "sit";
53
+ readonly RELEASE: "release";
54
+ readonly PROD: "prod";
55
+ };
56
+
57
+ /**
58
+ * NovaSDK Plugin 接口(与 @bi-nova/core 保持一致)
59
+ * 这里手动声明避免 services 包强依赖 core 包
60
+ */
61
+ interface NovaServices {
62
+ name: string;
63
+ setToken(token: string): NovaServices;
64
+ getAuthToken(): Promise<string>;
65
+ clearToken(): NovaServices;
66
+ install(sdk: any): void;
67
+ }
68
+ /** 服务选项接口,继承插件配置 */
69
+ interface ServicesOptions extends PluginConfig {
70
+ }
71
+ /**
72
+ * 创建服务插件
73
+ * @param options 服务配置选项
74
+ * @returns NovaSDK 插件对象
75
+ */
76
+ declare function createServices(options?: ServicesOptions): NovaServices;
77
+
78
+ /**
79
+ * @Description: 京东金融现金贷模块类型定义
80
+ * @Author: wutao
81
+ * @Date: 2026-03-26
82
+ * @LastEditors: wutao
83
+ * @LastEditTime: 2026-03-26
84
+ */
85
+
86
+ /** 京东金融现金贷服务选项接口 */
87
+ interface JdjrCashLoanOptions {
88
+ /** 手机号 */
89
+ phone: string;
90
+ /** RTA ID */
91
+ rtaId?: string;
92
+ /** 设备ID */
93
+ equipmentId: string;
94
+ /** 用户ID */
95
+ lyyUserId?: string;
96
+ /** 入口标识 */
97
+ entrance?: string;
98
+ }
99
+ /** 京东金融现金贷外部对接服务选项接口 */
100
+ interface JdjrCashLoanExternalOptions {
101
+ /** 手机号 */
102
+ phone: string;
103
+ /** RTA ID(可选,不传则跳过RTA验证) */
104
+ rtaId?: string;
105
+ /** 第三方平台 */
106
+ thirdPlatform: string;
107
+ /** 第三方平台用户ID */
108
+ thirdPlatformUserId: string;
109
+ /** 第三方平台设备值 */
110
+ thirdPlatformEquipmentValue: string;
111
+ /** 操作系统(可选) */
112
+ os?: string;
113
+ /** 客户端类型(可选) */
114
+ client?: string;
115
+ /** 扩展数据(可选) */
116
+ extendData?: Record<string, any>;
117
+ }
118
+
119
+ /**
120
+ * 处理京东金融现金贷主流程
121
+ * @param {Object} options - 配置参数
122
+ * @param {string} options.phone - 手机号 必填
123
+ * @param {string} [options.rtaId] - RTA ID 可选,不传则跳过RTA验证直接获取跳转配置
124
+ * @param {string} options.equipmentId - 设备ID 必填
125
+ * @param {string} [options.lyyUserId] - 用户ID 可选
126
+ * @param {string} [options.entrance] - 入口标识 可选
127
+ * @returns {Promise<Object>} 返回处理结果(标准格式)
128
+ * @returns {number} return.code - 错误码:0=成功,非0=失败
129
+ * @returns {string} return.message - 提示信息
130
+ * @returns {Object|null} return.data - 业务数据
131
+ * @returns {string} [return.data.appId] - 小程序appId(成功时)
132
+ * @returns {string} [return.data.targetUrl] - 小程序路径(成功时)
133
+ */
134
+ declare function handleJdjrCashLoanFlow(options: JdjrCashLoanOptions): Promise<BuildResultReturn>;
135
+ /**
136
+ * 处理外部京东金融现金贷主流程
137
+ * @param {JdjrCashLoanExternalOptions} options - 配置参数
138
+ * @param {string} options.phone - 手机号 必填
139
+ * @param {string} [options.rtaId] - RTA ID 可选,不传则跳过RTA验证直接获取跳转配置
140
+ * @param {string} options.thirdPlatform - 第三方平台 必填
141
+ * @param {string} options.thirdPlatformUserId - 第三方平台用户ID 必填
142
+ * @param {string} options.thirdPlatformEquipmentValue - 第三方平台设备值 必填
143
+ * @param {string} [options.os] - 操作系统 可选
144
+ * @param {string} [options.client] - 客户端类型 可选
145
+ * @param {object} [options.extendData] - 扩展数据 可选
146
+ * @returns {Promise<BuildResultReturn>} 返回处理结果(标准格式)
147
+ * @returns {number} return.code - 错误码:0=成功,非0=失败
148
+ * @returns {string} return.message - 提示信息
149
+ * @returns {Object|null} return.data - 业务数据
150
+ * @returns {string} [return.data.type] - 跳转类型:mini_program=小程序
151
+ * @returns {string} [return.data.appId] - 小程序appId
152
+ * @returns {string} [return.data.url] - 小程序路径
153
+ */
154
+ declare function handleJdjrCashLoanExt(options: JdjrCashLoanExternalOptions): Promise<BuildResultReturn>;
155
+
156
+ /**
157
+ * @Description: 京东保险模块类型定义
158
+ * @Author: wutao
159
+ * @Date: 2026-03-26
160
+ * @LastEditors: wutao
161
+ * @LastEditTime: 2026-03-26
162
+ */
163
+
164
+ /** 京东保险服务选项接口 */
165
+ interface JdInsuranceOptions {
166
+ /** 设备ID */
167
+ equipmentId: string;
168
+ /** 操作系统 */
169
+ os?: string;
170
+ /** 手机号 */
171
+ phone?: string;
172
+ /** 入口标识 */
173
+ entrance?: string;
174
+ }
175
+ /** 京东保险外部对接服务选项 */
176
+ interface JdInsuranceExternalOptions {
177
+ /** 第三方平台 */
178
+ thirdPlatform: string;
179
+ /** 第三方平台用户ID */
180
+ thirdPlatformUserId: string;
181
+ /** 第三方平台设备值 */
182
+ thirdPlatformEquipmentValue: string;
183
+ /** 操作系统 */
184
+ os?: string;
185
+ /** 手机号 */
186
+ phone?: string;
187
+ /** 扩展数据 */
188
+ extendData?: Record<string, any>;
189
+ }
190
+ /** 京东保险服务结果 */
191
+ interface JdInsuranceResult extends JumpConfig {
192
+ }
193
+
194
+ /**
195
+ * 处理京东保险服务(内部接口版)
196
+ * @param {Object} options - 配置参数
197
+ * @param {string} options.equipmentValue - 设备ID 必填
198
+ * @param {string} [options.phone] - 手机号 可选
199
+ * @param {string} [options.entrance] - 入口标识 可选
200
+ * @returns {Promise<Object>} 返回处理结果(标准格式)
201
+ * @returns {number} return.code - 错误码:0=成功,非0=失败
202
+ * @returns {string} return.message - 提示信息
203
+ * @returns {Object|null} return.data - 业务数据
204
+ * @returns {string} [return.data.type] - 结果类型: 'copy_success' | 'mini_program'
205
+ * @returns {string} [return.data.appId] - 小程序appId(仅mini_program模式)
206
+ * @returns {string} [return.data.path] - 小程序路径(仅mini_program模式)
207
+ */
208
+ declare function handleJdInsurance(options: {
209
+ equipmentValue: string;
210
+ phone?: string;
211
+ entrance?: string;
212
+ }): Promise<BuildResultReturn>;
213
+ /**
214
+ * 处理外部京东保险服务(外部对接版)
215
+ * @param {object} businessParams - 业务参数
216
+ * @param {string} businessParams.thirdPlatform - 第三方平台
217
+ * @param {string} businessParams.thirdPlatformUserId - 第三方平台用户ID
218
+ * @param {string} businessParams.thirdPlatformEquipmentValue - 第三方平台设备值
219
+ * @param {string} [businessParams.phone] - 手机号(可选)
220
+ * @param {object} [businessParams.extendData] - 扩展数据(可选)
221
+ * @returns {Promise<Object>} 返回处理结果
222
+ * @returns {number} return.code - 错误码:0=成功,非0=失败
223
+ * @returns {string} return.message - 提示信息
224
+ * @returns {Object|null} return.data - 业务数据
225
+ * @returns {string} [return.data.type] - 结果类型: 'copy_success' | 'mini_program'
226
+ * @returns {string} [return.data.appId] - 小程序appId(仅mini_program模式)
227
+ * @returns {string} [return.data.path] - 小程序路径(仅mini_program模式)
228
+ */
229
+ declare function handleJdInsuranceExt(businessParams: JdInsuranceExternalOptions): Promise<BuildResultReturn>;
230
+
231
+ /** 客户端类型 */
232
+ type ClientType = 'weapp' | 'h5';
233
+ /** 小程序页面跳转方式 */
234
+ type BackWay = 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo';
235
+ /** handleDyPayFlow 入参 */
236
+ interface HandleDyPayFlowParams {
237
+ /** 商品金额(必传,单位:元) */
238
+ price: number;
239
+ /** 手机号(必传) */
240
+ telephone: string;
241
+ /** 设备编号(必传) */
242
+ equipmentValue: string;
243
+ /** 业务类型(必传) */
244
+ businessType: number;
245
+ /** 客户端(可传,默认 weapp) */
246
+ client?: ClientType;
247
+ /** 下单参数透传(非必传) */
248
+ douyinOrderExtendData?: string;
249
+ /**
250
+ * 抖音支付成功后返回的页面地址
251
+ * 根据 client 值决定跳转方式:
252
+ * - weapp:跳转至小程序页面
253
+ * - h5:跳转至 H5 页面
254
+ */
255
+ backUrl?: string;
256
+ /**
257
+ * 小程序页面跳转方式(仅在小程序环境下生效,H5 环境忽略)
258
+ * 可选值:
259
+ * - switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
260
+ * - reLaunch:关闭所有页面,打开到应用内的某个页面
261
+ * - redirectTo:关闭当前页面,跳转到应用内的某个页面(不允许返回)
262
+ * - navigateTo:保留当前页面,跳转到应用内的某个页面(可以返回)
263
+ * @default redirectTo
264
+ */
265
+ backWay?: BackWay;
266
+ /**
267
+ * 抖音支付完成后返回的上一级页面地址(仅在小程序环境下生效,H5 环境忽略)
268
+ * 传入后,支付完成后通过 redirectTo 跳转至该地址;不传则通过 navigateBack 返回
269
+ */
270
+ fromUrl?: string;
271
+ }
272
+ /** handleDyPayFlow 返回数据 */
273
+ interface HandleDyPayFlowResult {
274
+ /** H5 收银台地址 */
275
+ h5Url: string;
276
+ /** 订单号 */
277
+ outTradeNo: string;
278
+ }
279
+ /** GetDyPayRtaDataParams 入参 */
280
+ interface GetDyPayRtaDataParams {
281
+ /** 商品金额(非必传,单位:元) */
282
+ price?: number;
283
+ /** 手机号(必传) */
284
+ telephone: string;
285
+ /** 设备编号(必传) */
286
+ equipmentValue: string;
287
+ }
288
+ /** GetDyPayRtaDataResult 返回数据 */
289
+ interface GetDyPayRtaDataResult {
290
+ /** 是否展示广告 */
291
+ showFlag: boolean;
292
+ /** 支付金额 */
293
+ payAmount: number;
294
+ /** 是否享受支付立减优惠 */
295
+ enjoyFlag: boolean;
296
+ /** 业务类型 */
297
+ businessType: number;
298
+ /** 是否新用户(预留) */
299
+ newUserFlag: boolean;
300
+ /** 优惠金额(预留) */
301
+ discountAmount: boolean;
302
+ }
303
+
304
+ /**
305
+ * 处理抖音支付流程
306
+ *
307
+ * @param {string} params.price 套餐金额(必传)
308
+ * @param {string} params.telephone 手机号(必传)
309
+ * @param {string} params.equipmentValue 设备编号(必传)
310
+ * @param {number} params.businessType 业务类型(必传)
311
+ * @param {string} params.douyinOrderExtendData 业务透传下单参数(非必传)
312
+ * @param {string} params.client 客户端(必传,默认是weapp)weapp 或者 h5
313
+ * @param {string} params.backUrl 抖音支付成功后返回的页面地址(必传,不传则不跳转)根据client值来决定跳转方式。如果跳转地址有带参数,backUrl一定要记得编码
314
+ * @param {string} params.backWay 小程序页面跳转方式(仅在小程序环境下生效,H5 环境忽略)可传 switchTab | reLaunch | redirectTo | navigateTo
315
+ * @param {string} params.fromUrl 抖音支付完成后返回的上一级页面地址(仅在小程序环境下生效,H5 环境忽略)
316
+ * @returns 返回标准化结果,接入方自行打开 webview 或 H5 跳转
317
+ */
318
+ declare function handleDyPayFlow(params: HandleDyPayFlowParams): Promise<BuildResultReturn<HandleDyPayFlowResult>>;
319
+ /**
320
+ * 获取rta信息
321
+ * @param params.price 套餐金额(必传)
322
+ * @param params.telephone 手机号(非必传)
323
+ * @param params.equipmentValue 设备编号(必传)
324
+ * @returns 返回标准化结果,包含 showFlag 表示是否展示活动
325
+ */
326
+ declare function getDyPayRtaData(params: GetDyPayRtaDataParams): Promise<BuildResultReturn<GetDyPayRtaDataResult>>;
327
+
328
+ /**
329
+ * @Description: 业务错误码定义
330
+ * @Author: wutao
331
+ * @Date: 2026-03-30
332
+ * @LastEditors: wutao
333
+ * @LastEditTime: 2026-03-30
334
+ *
335
+ * 错误码分段规则:
336
+ * - 0: 成功
337
+ * - 1000-1099: 通用错误(跨业务复用)
338
+ * - 2000-2099: 京东现金贷业务
339
+ * - 2100-2199: 京东保险业务
340
+ * - 2200-2999: 预留其他京东业务
341
+ * - 3000-3099: 抖音支付业务
342
+ * - 3000-3999: 预留其他抖音业务
343
+ * - 4000+: 预留其他平台业务
344
+ *
345
+ * 命名规范:<业务模块>__<具体场景>
346
+ * 示例:JD_CASH_LOAN__RTA_FAILED
347
+ */
348
+ /**
349
+ * 京东业务错误码枚举
350
+ */
351
+ declare enum JdErrorCode {
352
+ /** 缺少手机号参数 */
353
+ JD_CASH_LOAN__MISSING_PHONE = 2001,
354
+ /** 缺少设备ID */
355
+ JD_CASH_LOAN__MISSING_DEVICE_ID = 2002,
356
+ /** RTA验证失败(不满足活动资格) */
357
+ JD_CASH_LOAN__RTA_FAILED = 2003,
358
+ /** 获取跳转配置失败 */
359
+ JD_CASH_LOAN__GET_CONFIG_FAILED = 2004,
360
+ /** 跳转配置参数异常 */
361
+ JD_CASH_LOAN__INVALID_CONFIG = 2005,
362
+ /** 外部用户不符合活动参与条件 */
363
+ JD_CASH_LOAN__EXT_NOT_ELIGIBLE = 2006,
364
+ /** 外部跳转参数异常 */
365
+ JD_CASH_LOAN__EXT_INVALID_JUMP_PARAMS = 2007,
366
+ /** 缺少第三方平台参数 */
367
+ JD_CASH_LOAN__EXT_MISSING_THIRD_PLATFORM = 2008,
368
+ /** 缺少第三方用户ID */
369
+ JD_CASH_LOAN__EXT_MISSING_THIRD_USER_ID = 2009,
370
+ /** 缺少第三方设备值 */
371
+ JD_CASH_LOAN__EXT_MISSING_THIRD_EQUIPMENT_VALUE = 2010,
372
+ /** 用户不符合活动参与条件 */
373
+ JD_INSURANCE__USER_NOT_ELIGIBLE = 2101,
374
+ /** H5模式暂不支持 */
375
+ JD_INSURANCE__H5_NOT_SUPPORTED = 2102,
376
+ /** 跳转参数异常 */
377
+ JD_INSURANCE__INVALID_JUMP_PARAMS = 2103,
378
+ /** 获取活动配置失败 */
379
+ JD_INSURANCE__GET_CONFIG_FAILED = 2104,
380
+ /** 复制口令失败 */
381
+ JD_INSURANCE__COPY_FAILED = 2105,
382
+ /** 用户已完成任务 */
383
+ JD_INSURANCE__TASK_COMPLETED = 2106,
384
+ /** 未知跳转模式 */
385
+ JD_INSURANCE__UNKNOWN_JUMP_MODE = 2107,
386
+ /** RTA校验失败 */
387
+ JD_INSURANCE__RTA_FAILED = 2108
388
+ }
389
+ /**
390
+ * 错误码描述映射(用于日志和调试)
391
+ */
392
+ declare const JdErrorMessage: Record<number, string>;
393
+ /**
394
+ * 抖音业务错误码枚举
395
+ */
396
+ declare enum DyErrorCode {
397
+ /** 缺少手机号参数 */
398
+ DY_PAY__MISSING_PHONE = 3001,
399
+ /** 缺少设备ID参数 */
400
+ DY_PAY__MISSING_DEVICE_ID = 3002,
401
+ /** 缺少套餐金额 */
402
+ DY_PAY__MISSING_PRICE = 3003,
403
+ /** 无效的客户端类型 */
404
+ DY_PAY__INVALID_CLIENT = 3004,
405
+ /** 业务参数格式不正确 */
406
+ DY_PAY__INVALID_EXTEND_PARAMS = 3005,
407
+ /** 获取活动配置失败 */
408
+ DY_PAY__ORDER_AMOUNT_FAILED = 3006,
409
+ /** 获取活动配置请求失败 */
410
+ DY_PAY__REQUEST_ORDER_AMOUNT_FAILED = 3007,
411
+ /** 统一下单失败 */
412
+ DY_PAY__UNIFIED_ORDER_FAILED = 3008,
413
+ /** 统一下单请求失败 */
414
+ DY_PAY__REQUEST_UNIFIED_ORDER_FAILED = 3009,
415
+ /** 获取跳转地址失败 */
416
+ DY_PAY__NO_H5_URL = 3010,
417
+ /** 网络请求异常 */
418
+ DY_PAY__NETWORK_ERROR = 3011,
419
+ /** 下单流程异常 */
420
+ DY_PAY__FLOW_ERROR = 3012,
421
+ /** 获取RTA信息失败 */
422
+ DY_PAY__RTA_FAILED = 3013,
423
+ /** 获取RTA信息请求失败 */
424
+ DY_PAY__REQUEST_RTA_FAILED = 3014,
425
+ /** 获取RTA信息异常 */
426
+ DY_PAY__RTA_ERROR = 3015,
427
+ /** 无效的小程序跳转方式 */
428
+ DY_PAY__INVALID_BACK_WAY = 3016,
429
+ /** 缺少业务类型参数 */
430
+ DY_PAY__MISSING_BUSINESS_TYPE = 3017
431
+ }
432
+ /**
433
+ * 抖音业务错误信息映射
434
+ */
435
+ declare const DyErrorMessage: Record<number, string>;
436
+
437
+ /**
438
+ * @Description: 广告配置接口类型定义
439
+ * @Author: wutao
440
+ * @Date: 2026-04-21
441
+ * @LastEditors: wutao
442
+ * @LastEditTime: 2026-04-27
443
+ */
444
+ /**
445
+ * 展示广告类型
446
+ */
447
+ type DisplayAdType = 'splash' | 'banner' | 'interstitial' | 'feed';
448
+ /**
449
+ * 广告提供方
450
+ */
451
+ type DisplayAdProvider = 'wechat' | 'custom' | 'mixed' | 'none';
452
+ /**
453
+ * 广告展示优先级
454
+ */
455
+ type DisplayAdPriority = 'wechat-first' | 'custom-first' | 'wechat-only' | 'custom-only';
456
+ /**
457
+ * 自定义广告点击动作配置
458
+ */
459
+ interface DisplayAdActionConfig {
460
+ /** 动作类型 */
461
+ type?: 'miniProgram' | 'internal' | 'web' | 'none';
462
+ /** 跳转小程序的 appId */
463
+ appId?: string;
464
+ /** 跳转页面路径 */
465
+ path?: string;
466
+ /** H5 跳转地址 */
467
+ url?: string;
468
+ }
469
+ /**
470
+ * 自定义广告内容配置
471
+ */
472
+ interface DisplayCustomAdConfig {
473
+ /** 图片地址 */
474
+ image?: string;
475
+ /** 视频地址 */
476
+ video?: string;
477
+ /** 视频封面地址 */
478
+ poster?: string;
479
+ /** 广告标题 */
480
+ title?: string;
481
+ /** 广告描述 */
482
+ description?: string;
483
+ /** 按钮文案 */
484
+ buttonText?: string;
485
+ /** 角标文案 */
486
+ badgeText?: string;
487
+ /** 自动跳过倒计时秒数 */
488
+ jumpSeconds?: number;
489
+ /** 素材加载超时时间,单位毫秒 */
490
+ loadTimeout?: number;
491
+ /** 是否静音 */
492
+ muted?: boolean;
493
+ /** 广告规格 */
494
+ adSpec?: number;
495
+ /** 点击动作配置 */
496
+ action?: DisplayAdActionConfig;
497
+ /** 兼容字段:跳转小程序的 appId */
498
+ appId?: string;
499
+ /** 兼容字段:跳转页面路径 */
500
+ path?: string;
501
+ /** 兼容字段:跳转地址 */
502
+ url?: string;
503
+ /** 扩展字段 */
504
+ [key: string]: any;
505
+ }
506
+ /**
507
+ * 广告平台类型
508
+ */
509
+ type AdvertPlatform = 'gdt' | 'toutiao' | 'baidu' | 'kuaishou' | 'self' | string;
510
+ /**
511
+ * 广告平台配置
512
+ */
513
+ interface AdvertPlatformConfig {
514
+ /** 配置是否有效 */
515
+ valid?: boolean;
516
+ /** 广告平台类型 */
517
+ platformType?: AdvertPlatform;
518
+ /** 平台广告 ID,例如微信广告组件使用的 adunit ID */
519
+ adId?: string;
520
+ /** 平台应用 ID */
521
+ appId?: string;
522
+ /** 扩展字段 */
523
+ [key: string]: any;
524
+ }
525
+ /**
526
+ * 单条广告配置
527
+ */
528
+ interface AdvertConfigItem {
529
+ /** 配置 ID */
530
+ id?: number;
531
+ /** 广告位 ID */
532
+ placementId?: string;
533
+ /** 配置名称 */
534
+ configName?: string;
535
+ /** 广告平台编码 */
536
+ advertPlatform: AdvertPlatform;
537
+ /** 广告平台描述 */
538
+ advertPlatformDesc?: string;
539
+ /** 优先级,值越小优先级越高 */
540
+ priority?: number;
541
+ /** 权重,同优先级下值越大优先级越高 */
542
+ weight?: number;
543
+ /** 平台配置 */
544
+ platformConfig?: AdvertPlatformConfig | null;
545
+ /** 生效开始时间 */
546
+ startTime?: string;
547
+ /** 生效结束时间 */
548
+ endTime?: string;
549
+ /** 状态:1 启用,0 禁用 */
550
+ status?: number;
551
+ /** 备注 */
552
+ remark?: string;
553
+ /** 创建时间 */
554
+ createTime?: string;
555
+ /** 更新时间 */
556
+ updateTime?: string;
557
+ /** 创建人 */
558
+ creator?: string;
559
+ /** 更新人 */
560
+ updater?: string;
561
+ /** 扩展字段 */
562
+ [key: string]: any;
563
+ }
564
+
565
+ /**
566
+ * @Description: 展示广告服务类型定义
567
+ * @Author: wutao
568
+ * @Date: 2026-04-21
569
+ * @LastEditors: wutao
570
+ * @LastEditTime: 2026-04-22
571
+ */
572
+
573
+ /**
574
+ * 获取展示广告配置服务参数
575
+ */
576
+ interface GetDisplayAdOptions {
577
+ /** 对外广告 ID,内部会映射为 placementId */
578
+ adId?: string;
579
+ /** 后端广告位 ID */
580
+ placementId?: string;
581
+ /** 小程序 appId */
582
+ appId: string;
583
+ /** 广告展示类型 */
584
+ type?: DisplayAdType;
585
+ }
586
+ /**
587
+ * 标准化展示广告结果
588
+ */
589
+ interface DisplayAdResult {
590
+ /** 是否展示 */
591
+ show: boolean;
592
+ /** 广告 ID */
593
+ adId: string;
594
+ /** 广告类型 */
595
+ type: DisplayAdType;
596
+ /** 广告提供方 */
597
+ provider: DisplayAdProvider;
598
+ /** 广告优先级 */
599
+ priority: DisplayAdPriority;
600
+ /** 微信广告位 ID */
601
+ unitId: string;
602
+ /** 自定义广告配置 */
603
+ customAd: DisplayCustomAdConfig | null;
604
+ /** 监测配置 */
605
+ trackers: {
606
+ exposure?: string[];
607
+ click?: string[];
608
+ close?: string[];
609
+ [key: string]: any;
610
+ };
611
+ /** 缓存配置 */
612
+ cache: {
613
+ enable: boolean;
614
+ ttl: number;
615
+ [key: string]: any;
616
+ };
617
+ /** 扩展字段 */
618
+ ext: Record<string, any>;
619
+ /** 原始响应数据 */
620
+ rawData: Record<string, any>;
621
+ }
622
+
623
+ /**
624
+ * 标准化展示广告配置
625
+ * @param advertConfigs 原始接口广告配置列表
626
+ * @param fallbackType 兜底广告类型
627
+ * @returns 标准化结果
628
+ */
629
+ declare function normalizeDisplayAdData(advertConfigs: AdvertConfigItem[], fallbackType?: DisplayAdType): DisplayAdResult;
630
+ /**
631
+ * 获取展示广告配置
632
+ * @param options 请求参数
633
+ * @returns 标准化服务结果
634
+ */
635
+ declare function getDisplayAdConfig(options: GetDisplayAdOptions): Promise<BuildResultReturn<DisplayAdResult>>;
636
+
637
+ export { type DisplayAdResult, DyErrorCode, DyErrorMessage, ENV_TYPE, EXTERNAL_ENV_TYPE, type GetDisplayAdOptions, type HandleDyPayFlowParams, type HandleDyPayFlowResult, JdErrorCode, JdErrorMessage, type JdInsuranceExternalOptions, type JdInsuranceOptions, type JdInsuranceResult, type JdjrCashLoanExternalOptions, type JdjrCashLoanOptions, type ServicesOptions, createServices, getDisplayAdConfig, getDyPayRtaData, handleDyPayFlow, handleJdInsurance, handleJdInsuranceExt, handleJdjrCashLoanExt, handleJdjrCashLoanFlow, normalizeDisplayAdData };