@jctrans-materials/shared 1.0.37-beta.0 → 1.0.37-beta.2
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.cjs.js +6 -6
- package/dist/index.d.ts +376 -0
- package/dist/index.esm.js +2265 -1975
- package/package.json +10 -2
package/dist/index.d.ts
CHANGED
|
@@ -35,6 +35,11 @@ export declare interface BaseResponse<T = any> {
|
|
|
35
35
|
[k: string]: any;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* 事件拦截回调
|
|
40
|
+
*/
|
|
41
|
+
export declare type BeforeSendCallback = (event: GioEvent) => GioEvent;
|
|
42
|
+
|
|
38
43
|
/**
|
|
39
44
|
* 验证验证码绑定第三方应用
|
|
40
45
|
* @param data
|
|
@@ -120,6 +125,11 @@ export declare function completeCompRedirectApi(data: any): Promise<any>;
|
|
|
120
125
|
*/
|
|
121
126
|
export declare function completeJoinCompanyRedirectApi(data: any): Promise<any>;
|
|
122
127
|
|
|
128
|
+
/**
|
|
129
|
+
* 配置值回调
|
|
130
|
+
*/
|
|
131
|
+
export declare type ConfigCallback<T = GioConfigValue> = (value: T) => void;
|
|
132
|
+
|
|
123
133
|
export declare function createRequest(driver: RequestDriver, options?: RequestOptions): RequestAdapter;
|
|
124
134
|
|
|
125
135
|
export declare const currentConfig: {
|
|
@@ -138,6 +148,11 @@ export declare const currentConfig: {
|
|
|
138
148
|
*/
|
|
139
149
|
export declare function Decrypt(word: string): string;
|
|
140
150
|
|
|
151
|
+
/**
|
|
152
|
+
* 设备 ID 回调
|
|
153
|
+
*/
|
|
154
|
+
export declare type DeviceIdCallback = (deviceId: string) => void;
|
|
155
|
+
|
|
141
156
|
export declare type DisplayInfo = "Continent" | "Country" | "Province" | "City" | "Seaport" | "Airport";
|
|
142
157
|
|
|
143
158
|
export declare const emitter: Emitter<ModalEvents>;
|
|
@@ -368,6 +383,25 @@ export declare const getSharedConfig: () => {
|
|
|
368
383
|
*/
|
|
369
384
|
export declare function getToken(): string | undefined;
|
|
370
385
|
|
|
386
|
+
/**
|
|
387
|
+
* 安全的 tracker 访问函数
|
|
388
|
+
* 在组件中使用时,可以避免 SSR 阶段解构报错
|
|
389
|
+
*
|
|
390
|
+
* @example
|
|
391
|
+
* ```typescript
|
|
392
|
+
* // ❌ 错误:可能在 SSR 阶段解构报错
|
|
393
|
+
* const { $gio } = useNuxtApp();
|
|
394
|
+
*
|
|
395
|
+
* // ✅ 正确:使用 getTracker 安全访问
|
|
396
|
+
* const { $gio } = useNuxtApp();
|
|
397
|
+
* const gio = getTracker($gio);
|
|
398
|
+
* if (gio) {
|
|
399
|
+
* gio.track('event');
|
|
400
|
+
* }
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
export declare function getTracker<T extends GioTracker>(trackerInstance?: T): T | null;
|
|
404
|
+
|
|
371
405
|
/**
|
|
372
406
|
* 获取用户手机号邮箱信息
|
|
373
407
|
* @param data
|
|
@@ -375,6 +409,329 @@ export declare function getToken(): string | undefined;
|
|
|
375
409
|
*/
|
|
376
410
|
export declare function getUserInfoApi(data: any): Promise<any>;
|
|
377
411
|
|
|
412
|
+
/**
|
|
413
|
+
* GIO 属性对象
|
|
414
|
+
*/
|
|
415
|
+
export declare interface GioAttributes {
|
|
416
|
+
[key: string]: GioAttributeValue;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* GrowingIO SDK 类型定义
|
|
421
|
+
* 严格约束传参,防止业务侧传入深层嵌套对象导致埋点失效
|
|
422
|
+
*/
|
|
423
|
+
/**
|
|
424
|
+
* GIO 属性值类型
|
|
425
|
+
* 只允许 string, number 或一维数组
|
|
426
|
+
* 文档限制:key ≤ 100 字符,value ≤ 1000 字符,数组元素 ≤ 100 个
|
|
427
|
+
*/
|
|
428
|
+
export declare type GioAttributeValue = string | number | Array<string | number>;
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* 回调函数类型
|
|
432
|
+
*/
|
|
433
|
+
export declare type GioCallback = () => void;
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* SDK 配置项类型
|
|
437
|
+
*/
|
|
438
|
+
export declare type GioConfigKey = 'dataCollect' | 'debug' | 'serverUrl' | 'trackPage' | 'forceLogin' | 'idMapping' | 'version';
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* SDK 配置值类型
|
|
442
|
+
*/
|
|
443
|
+
export declare type GioConfigValue = boolean | string | number | object;
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* GIO 事件对象(用于拦截回调)
|
|
447
|
+
*/
|
|
448
|
+
export declare interface GioEvent {
|
|
449
|
+
eventType: 'CUSTOM' | 'PAGE' | 'VISIT' | string;
|
|
450
|
+
eventName: string;
|
|
451
|
+
attributes: GioAttributes;
|
|
452
|
+
path: string;
|
|
453
|
+
query: string;
|
|
454
|
+
title: string;
|
|
455
|
+
[key: string]: any;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* 通用属性对象(支持静态值和动态函数)
|
|
460
|
+
* 动态函数支持返回:string, number, boolean, Array<string | number>
|
|
461
|
+
*/
|
|
462
|
+
export declare interface GioGeneralProps {
|
|
463
|
+
[key: string]: GioAttributeValue | (() => string | number | boolean | Array<string | number>);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* GrowingIO SDK 初始化配置项
|
|
468
|
+
* 参考官方文档:https://help-center.growingio.com/@sdk-v4/docs/webjs/initSettings.html
|
|
469
|
+
*/
|
|
470
|
+
export declare interface GioInitOptions {
|
|
471
|
+
/** 应用版本号,默认 '1.0.0' */
|
|
472
|
+
version?: string;
|
|
473
|
+
/** 数据上报服务端地址,SaaS 客户默认 https://napi.growingio.com,OP 私有部署需填写 */
|
|
474
|
+
serverUrl?: string;
|
|
475
|
+
/** 是否开启调试模式,默认 false。开启后在浏览器控制台输出日志 */
|
|
476
|
+
debug?: boolean;
|
|
477
|
+
/** 是否开启数据采集,默认 true。关闭后不会采集和上报事件 */
|
|
478
|
+
dataCollect?: boolean;
|
|
479
|
+
/** 是否自动采集页面访问事件,默认 true。关闭后需手动 sendPage */
|
|
480
|
+
trackPage?: boolean;
|
|
481
|
+
/** 是否开启强制登录模式,默认 false。微信公众号 H5 需要使用 openId/unionId 时设为 true */
|
|
482
|
+
forceLogin?: boolean;
|
|
483
|
+
/** 是否开启多用户身份上报(ID-MAPPING),默认 false。需要设置 userKey 时开启 */
|
|
484
|
+
idMapping?: boolean;
|
|
485
|
+
/** 指定打通的移动端包名(APP 内嵌页面场景) */
|
|
486
|
+
packageName?: string;
|
|
487
|
+
/** 平台类型,默认 'Web'。其他场景:wxwv(微信公众号), alip(支付宝小程序), iOS, Android 等 */
|
|
488
|
+
platform?: 'Web' | 'wxwv' | 'alip' | 'baidup' | 'qq' | 'bytedance' | 'kuaishoup' | 'jdp' | 'Android' | 'iOS' | 'Minp';
|
|
489
|
+
/** 自定义 cookie 存储的域,默认为当前站点的一级域名 */
|
|
490
|
+
cookieDomain?: string;
|
|
491
|
+
/** SDK 信息持久化存储类型,默认 'cookie'。可选 'localStorage' */
|
|
492
|
+
storageType?: 'cookie' | 'localStorage';
|
|
493
|
+
/** 是否开启增强型 UA,默认 true。开启后能更准确识别 Windows 11,但会增加上报数据大小 */
|
|
494
|
+
extraUA?: boolean;
|
|
495
|
+
/** 是否开启 hash 解析,默认 false。SPA 使用 hash 路由时设为 true */
|
|
496
|
+
hashtag?: boolean;
|
|
497
|
+
/** 是否采集爬虫环境数据,默认 true */
|
|
498
|
+
trackBot?: boolean;
|
|
499
|
+
/** 访问事件是否使用原始进入数据,默认 true。关闭可解决跳出率异常问题 */
|
|
500
|
+
originalSource?: boolean;
|
|
501
|
+
/** 与小程序打通时是否自动删除 gioInfo 参数,默认 true */
|
|
502
|
+
rewriteQuery?: boolean;
|
|
503
|
+
/** 数据上报优先方式,默认 'beacon'。可选 'xhr', 'image' */
|
|
504
|
+
sendType?: 'beacon' | 'xhr' | 'image';
|
|
505
|
+
/** 请求超时时长(毫秒),默认 5000。仅对 XHR 和 image 生效 */
|
|
506
|
+
requestTimeout?: number;
|
|
507
|
+
/** 上报忽略字段,如 ['screenHeight', 'screenWidth'] */
|
|
508
|
+
ignoreFields?: string[];
|
|
509
|
+
/** 曝光比例(0-1),与曝光插件结合使用,默认 0 */
|
|
510
|
+
impressionScale?: number;
|
|
511
|
+
/** 与小程序打通时的配置项,SDK >= 4.3.0 支持 */
|
|
512
|
+
embeddedAdapter?: {
|
|
513
|
+
/** 圈选服务器地址,SaaS 客户不需要配置 */
|
|
514
|
+
circleServerUrl?: string;
|
|
515
|
+
};
|
|
516
|
+
/** 允许传入其他未列出的配置项 */
|
|
517
|
+
[key: string]: any;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* 页面属性对象
|
|
522
|
+
*/
|
|
523
|
+
export declare interface GioPageProps {
|
|
524
|
+
path: string;
|
|
525
|
+
query: string;
|
|
526
|
+
title: string;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* 事件计时器 ID 类型
|
|
531
|
+
*/
|
|
532
|
+
export declare type GioTimerId = string;
|
|
533
|
+
|
|
534
|
+
declare class GioTracker {
|
|
535
|
+
private get shouldValidateAttributes();
|
|
536
|
+
/**
|
|
537
|
+
* 获取 window.gdp 方法
|
|
538
|
+
* 非浏览器环境(如 Nuxt SSR)返回空函数,确保服务端渲染不会报错
|
|
539
|
+
*/
|
|
540
|
+
private get gdp();
|
|
541
|
+
/**
|
|
542
|
+
* 检查 SDK 是否已初始化
|
|
543
|
+
* 在 SSR 环境下返回 false
|
|
544
|
+
*/
|
|
545
|
+
isInitialized(): boolean;
|
|
546
|
+
/**
|
|
547
|
+
* 检查当前是否在浏览器环境中
|
|
548
|
+
* 可用于组件中判断是否执行 GIO 相关逻辑
|
|
549
|
+
*/
|
|
550
|
+
isBrowser(): boolean;
|
|
551
|
+
/**
|
|
552
|
+
* 初始化 GrowingIO SDK
|
|
553
|
+
* 使用官方 gio-webjs-sdk npm 包进行初始化
|
|
554
|
+
*
|
|
555
|
+
* @param accountId - 账户 ID(从 GrowingIO 平台获取)
|
|
556
|
+
* @param dataSourceId - 数据源 ID(从 GrowingIO 平台获取)
|
|
557
|
+
* @param options - 初始化配置项
|
|
558
|
+
* @param callback - 可选回调函数
|
|
559
|
+
*
|
|
560
|
+
* @example
|
|
561
|
+
* ```typescript
|
|
562
|
+
* // 基础初始化
|
|
563
|
+
* tracker.init('your-account-id', 'your-datasource-id', {
|
|
564
|
+
* debug: true,
|
|
565
|
+
* trackPage: false,
|
|
566
|
+
* });
|
|
567
|
+
*
|
|
568
|
+
* // 微信公众号 H5(需要 forceLogin)
|
|
569
|
+
* tracker.init('accountId', 'dataSourceId', 'appId', {
|
|
570
|
+
* forceLogin: true,
|
|
571
|
+
* debug: true,
|
|
572
|
+
* });
|
|
573
|
+
*
|
|
574
|
+
* // 私有化部署
|
|
575
|
+
* tracker.init('accountId', 'dataSourceId', {
|
|
576
|
+
* serverUrl: 'https://your-growingio-server.com',
|
|
577
|
+
* debug: true,
|
|
578
|
+
* });
|
|
579
|
+
* ```
|
|
580
|
+
*/
|
|
581
|
+
init(accountId: string, dataSourceId: string, options?: GioInitOptions, callback?: GioCallback): void;
|
|
582
|
+
/**
|
|
583
|
+
* 初始化 GrowingIO SDK(微信公众号 H5 场景,需要 appId)
|
|
584
|
+
*/
|
|
585
|
+
init(accountId: string, dataSourceId: string, appId: string, options: GioInitOptions, callback?: GioCallback): void;
|
|
586
|
+
/**
|
|
587
|
+
* 动态修改配置
|
|
588
|
+
*/
|
|
589
|
+
setOption<T extends GioConfigValue>(key: GioConfigKey, value: T, callback?: GioCallback): void;
|
|
590
|
+
/**
|
|
591
|
+
* 获取 SDK 当前配置
|
|
592
|
+
*/
|
|
593
|
+
getOption<T extends GioConfigValue>(key: GioConfigKey | "", callback: ConfigCallback<T>): void;
|
|
594
|
+
/**
|
|
595
|
+
* 获取 SDK 版本号
|
|
596
|
+
*/
|
|
597
|
+
getVersion(callback: ConfigCallback<string>): void;
|
|
598
|
+
/**
|
|
599
|
+
* 获取增强型 UserAgent
|
|
600
|
+
*/
|
|
601
|
+
getUserAgent(callback: (userAgent: string) => void): void;
|
|
602
|
+
/**
|
|
603
|
+
* 设置访问用户 ID(匿名用户 ID/设备 ID)
|
|
604
|
+
* 仅可合法调用一次,多次调用无效
|
|
605
|
+
* 需要在初始化时将 forceLogin 设置为 true
|
|
606
|
+
*/
|
|
607
|
+
identify(deviceId: string, callback?: GioCallback): void;
|
|
608
|
+
/**
|
|
609
|
+
* 获取访问用户 ID(设备 ID)
|
|
610
|
+
*/
|
|
611
|
+
getDeviceId(callback: DeviceIdCallback): void;
|
|
612
|
+
/**
|
|
613
|
+
* 设置登录用户 ID
|
|
614
|
+
* 需要在初始化时设置 idMapping: true
|
|
615
|
+
* @param userId 用户 ID,长度 0 < length ≤ 1000
|
|
616
|
+
* @param userKey 用户 ID 类型标识(用于 ID-MAPPING)
|
|
617
|
+
*/
|
|
618
|
+
setUserId(userId: string | number, userKey?: string | number, callback?: GioCallback): void;
|
|
619
|
+
/**
|
|
620
|
+
* 清除登录用户 ID(登出时调用)
|
|
621
|
+
*/
|
|
622
|
+
clearUserId(callback?: GioCallback): void;
|
|
623
|
+
/**
|
|
624
|
+
* 发送埋点事件
|
|
625
|
+
* @param eventName 事件名称(需在平台预先配置)
|
|
626
|
+
* @param attributes 事件属性
|
|
627
|
+
* @param callback 回调函数
|
|
628
|
+
*/
|
|
629
|
+
track(eventName: string, attributes?: GioAttributes, callback?: GioCallback): void;
|
|
630
|
+
/**
|
|
631
|
+
* 设置用户属性(登录用户身份)
|
|
632
|
+
* @param userAttributes 用户属性对象
|
|
633
|
+
* @param callback 回调函数
|
|
634
|
+
*/
|
|
635
|
+
setUserAttributes(userAttributes: GioUserAttributes, callback?: GioCallback): void;
|
|
636
|
+
/**
|
|
637
|
+
* 设置全局通用属性(对所有事件生效)
|
|
638
|
+
* 支持静态值和动态函数
|
|
639
|
+
* 可多次调用,同名属性会被覆盖(动态值优先级更高)
|
|
640
|
+
*/
|
|
641
|
+
setGeneralProps(props: GioGeneralProps, callback?: GioCallback): void;
|
|
642
|
+
/**
|
|
643
|
+
* 清除全局通用属性
|
|
644
|
+
* @param propertyNames 要清除的属性名数组,传空数组清空所有
|
|
645
|
+
*/
|
|
646
|
+
clearGeneralProps(propertyNames?: string[], callback?: GioCallback): void;
|
|
647
|
+
/**
|
|
648
|
+
* 设置页面变更回调
|
|
649
|
+
* SDK 触发页面变更时会调用该回调
|
|
650
|
+
* 建议配合关闭 trackPage 后手动 sendPage 使用
|
|
651
|
+
*/
|
|
652
|
+
setPageListener(callback: PageListenerCallback): void;
|
|
653
|
+
/**
|
|
654
|
+
* 设置页面属性
|
|
655
|
+
* 仅生效于当前页面的页面浏览事件和无埋点事件
|
|
656
|
+
* 仅在关闭 trackPage 时可用
|
|
657
|
+
*/
|
|
658
|
+
setPageAttributes(props: GioAttributes, callback?: GioCallback): void;
|
|
659
|
+
/**
|
|
660
|
+
* 清除页面属性
|
|
661
|
+
* @param propertyNames 要清除的属性名数组,传空数组清空所有
|
|
662
|
+
*/
|
|
663
|
+
clearPageAttributes(propertyNames?: string[], callback?: GioCallback): void;
|
|
664
|
+
/**
|
|
665
|
+
* 手动发送页面访问事件
|
|
666
|
+
* 仅在关闭 trackPage 时可用
|
|
667
|
+
* ⚠️ 危险操作,容易导致页面访问时长、跳出率等数据异常
|
|
668
|
+
* 强烈建议配合 setPageListener 使用
|
|
669
|
+
*/
|
|
670
|
+
sendPage(options?: {
|
|
671
|
+
title?: string;
|
|
672
|
+
}, callback?: GioCallback): void;
|
|
673
|
+
/**
|
|
674
|
+
* 设置事件发送前拦截回调
|
|
675
|
+
* 可修改 path、query、title、attributes
|
|
676
|
+
* SDK 版本 >= 4.2.2 支持
|
|
677
|
+
*/
|
|
678
|
+
setBeforeSendListener(callback: BeforeSendCallback): void;
|
|
679
|
+
/**
|
|
680
|
+
* 初始化事件计时器
|
|
681
|
+
* @param eventName 事件名称
|
|
682
|
+
* @returns timerId 计时器唯一标识
|
|
683
|
+
*/
|
|
684
|
+
trackTimerStart(eventName: string, callback?: (timerId: GioTimerId) => void): void;
|
|
685
|
+
/**
|
|
686
|
+
* 暂停事件计时器
|
|
687
|
+
*/
|
|
688
|
+
trackTimerPause(timerId: GioTimerId, callback?: GioCallback): void;
|
|
689
|
+
/**
|
|
690
|
+
* 恢复事件计时器
|
|
691
|
+
*/
|
|
692
|
+
trackTimerResume(timerId: GioTimerId, callback?: GioCallback): void;
|
|
693
|
+
/**
|
|
694
|
+
* 停止事件计时器
|
|
695
|
+
* 会自动发送事件并删除计时器
|
|
696
|
+
* @param timerId 计时器 ID
|
|
697
|
+
* @param attributes 事件属性(event_duration 会自动添加)
|
|
698
|
+
*/
|
|
699
|
+
trackTimerEnd(timerId: GioTimerId, attributes?: GioAttributes, callback?: GioCallback): void;
|
|
700
|
+
/**
|
|
701
|
+
* 删除单个事件计时器
|
|
702
|
+
* 不会发送事件
|
|
703
|
+
*/
|
|
704
|
+
removeTimer(timerId: GioTimerId, callback?: GioCallback): void;
|
|
705
|
+
/**
|
|
706
|
+
* 清除所有事件计时器
|
|
707
|
+
* 不会发送事件
|
|
708
|
+
* 注意:官方文档中此方法不接受参数
|
|
709
|
+
*/
|
|
710
|
+
clearTrackTimer(callback?: GioCallback): void;
|
|
711
|
+
/**
|
|
712
|
+
* 注册插件
|
|
713
|
+
* 用于扩展功能(如性能监控、曝光追踪等)
|
|
714
|
+
* @param plugins 插件数组
|
|
715
|
+
* @param callback 可选回调函数
|
|
716
|
+
*/
|
|
717
|
+
registerPlugins(plugins: any[], callback?: (registeredPlugins: any[]) => void): void;
|
|
718
|
+
/**
|
|
719
|
+
* 校验属性对象(开发环境使用)
|
|
720
|
+
* - 检查 key 长度 ≤ 100
|
|
721
|
+
* - 检查 value 长度 ≤ 1000
|
|
722
|
+
* - 检查数组长度 ≤ 100
|
|
723
|
+
* - 检查是否包含嵌套对象
|
|
724
|
+
*/
|
|
725
|
+
private _validateAttributes;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* 用户属性对象
|
|
730
|
+
*/
|
|
731
|
+
export declare interface GioUserAttributes {
|
|
732
|
+
[key: string]: GioAttributeValue;
|
|
733
|
+
}
|
|
734
|
+
|
|
378
735
|
export declare const HasLoginKey = "hasLogin";
|
|
379
736
|
|
|
380
737
|
/**
|
|
@@ -393,6 +750,18 @@ declare interface IResponse<T> {
|
|
|
393
750
|
data: T;
|
|
394
751
|
}
|
|
395
752
|
|
|
753
|
+
/**
|
|
754
|
+
* 检查 GIO 是否可用(浏览器环境且已初始化)
|
|
755
|
+
*
|
|
756
|
+
* @example
|
|
757
|
+
* ```typescript
|
|
758
|
+
* if (isGioAvailable($gio)) {
|
|
759
|
+
* $gio.track('event');
|
|
760
|
+
* }
|
|
761
|
+
* ```
|
|
762
|
+
*/
|
|
763
|
+
export declare function isGioAvailable(trackerInstance?: typeof tracker): boolean;
|
|
764
|
+
|
|
396
765
|
/**
|
|
397
766
|
* 判断域名是否为 IP
|
|
398
767
|
*/
|
|
@@ -752,6 +1121,11 @@ export declare type ModalEvents = Record<ActionKeys, any> & {
|
|
|
752
1121
|
|
|
753
1122
|
export declare type ModalOpenCallback = () => void;
|
|
754
1123
|
|
|
1124
|
+
/**
|
|
1125
|
+
* 页面变更回调
|
|
1126
|
+
*/
|
|
1127
|
+
export declare type PageListenerCallback = (pageProps: GioPageProps) => void;
|
|
1128
|
+
|
|
755
1129
|
export declare interface PageParams {
|
|
756
1130
|
current?: number;
|
|
757
1131
|
size?: number;
|
|
@@ -1073,6 +1447,8 @@ export declare interface TokenData {
|
|
|
1073
1447
|
*/
|
|
1074
1448
|
export declare const TokenKey = "JC-JAVA-Token-Root";
|
|
1075
1449
|
|
|
1450
|
+
export declare const tracker: GioTracker;
|
|
1451
|
+
|
|
1076
1452
|
/** 归一化之后的实体 */
|
|
1077
1453
|
export declare interface UnifiedItem {
|
|
1078
1454
|
id: number | string;
|