@djvlc/runtime-web 1.0.3 → 1.0.4
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/error-reporter.d.ts +76 -0
- package/dist/error-reporter.d.ts.map +1 -0
- package/dist/index.d.ts +56 -94
- package/dist/index.d.ts.map +1 -1
- package/dist/mount.d.ts +114 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/performance.d.ts +88 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/runtime.css +440 -0
- package/dist/runtime.esm.js +5312 -1125
- package/dist/runtime.iife.js +1 -1
- package/dist/storage.d.ts +33 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/tracking.d.ts +87 -0
- package/dist/tracking.d.ts.map +1 -0
- package/dist/utils.d.ts +66 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 埋点与追踪
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 埋点事件
|
|
6
|
+
*/
|
|
7
|
+
export interface TrackEvent {
|
|
8
|
+
/** 事件名称 */
|
|
9
|
+
event: string;
|
|
10
|
+
/** 事件数据 */
|
|
11
|
+
data?: Record<string, unknown>;
|
|
12
|
+
/** 页面 UID */
|
|
13
|
+
pageUid?: string;
|
|
14
|
+
/** 页面版本 ID */
|
|
15
|
+
pageVersionId?: string;
|
|
16
|
+
/** 组件 ID */
|
|
17
|
+
componentId?: string;
|
|
18
|
+
/** 时间戳 */
|
|
19
|
+
timestamp: number;
|
|
20
|
+
/** 追踪 ID */
|
|
21
|
+
traceId?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 埋点配置
|
|
25
|
+
*/
|
|
26
|
+
export interface TrackingConfig {
|
|
27
|
+
/** 上报端点 */
|
|
28
|
+
endpoint?: string;
|
|
29
|
+
/** 批量上报阈值 */
|
|
30
|
+
batchSize?: number;
|
|
31
|
+
/** 上报间隔 */
|
|
32
|
+
flushInterval?: number;
|
|
33
|
+
/** 是否启用 */
|
|
34
|
+
enabled?: boolean;
|
|
35
|
+
/** 采样率 */
|
|
36
|
+
sampleRate?: number;
|
|
37
|
+
/** 自定义上报函数 */
|
|
38
|
+
reporter?: (events: TrackEvent[]) => void | Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 埋点管理器
|
|
42
|
+
*/
|
|
43
|
+
export declare class TrackingManager {
|
|
44
|
+
private events;
|
|
45
|
+
private config;
|
|
46
|
+
private flushTimer;
|
|
47
|
+
private traceId;
|
|
48
|
+
constructor(config?: TrackingConfig);
|
|
49
|
+
/**
|
|
50
|
+
* 追踪事件
|
|
51
|
+
*/
|
|
52
|
+
track(event: string, data?: Record<string, unknown>, context?: Partial<TrackEvent>): void;
|
|
53
|
+
/**
|
|
54
|
+
* 追踪页面访问
|
|
55
|
+
*/
|
|
56
|
+
trackPageView(pageUid: string, pageVersionId?: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* 追踪组件曝光
|
|
59
|
+
*/
|
|
60
|
+
trackComponentView(componentId: string, componentType: string, pageUid?: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* 追踪组件点击
|
|
63
|
+
*/
|
|
64
|
+
trackComponentClick(componentId: string, componentType: string, pageUid?: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* 追踪动作执行
|
|
67
|
+
*/
|
|
68
|
+
trackAction(actionType: string, success: boolean, duration: number, pageUid?: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* 追踪错误
|
|
71
|
+
*/
|
|
72
|
+
trackError(error: Error, context?: Record<string, unknown>): void;
|
|
73
|
+
/**
|
|
74
|
+
* 立即上报
|
|
75
|
+
*/
|
|
76
|
+
flush(): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* 销毁
|
|
79
|
+
*/
|
|
80
|
+
destroy(): void;
|
|
81
|
+
private defaultReporter;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 创建埋点管理器
|
|
85
|
+
*/
|
|
86
|
+
export declare function createTrackingManager(config?: TrackingConfig): TrackingManager;
|
|
87
|
+
//# sourceMappingURL=tracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../src/tracking.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,GAAE,cAAmB;IAiBvC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAmBzF;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAY5D;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAItF;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvF;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3F;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQjE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACH,OAAO,IAAI,IAAI;YAQD,eAAe;CAU9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,eAAe,CAE9E"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 预连接 CDN/API 域名
|
|
6
|
+
*/
|
|
7
|
+
export declare function preconnect(hosts: string[]): void;
|
|
8
|
+
/**
|
|
9
|
+
* 预加载 runtime 资源
|
|
10
|
+
*/
|
|
11
|
+
export declare function preloadAssets(cdnBaseUrl: string, version?: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* 获取设备 ID
|
|
14
|
+
*/
|
|
15
|
+
export declare function getDeviceId(): string;
|
|
16
|
+
/**
|
|
17
|
+
* 生成追踪 ID
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateTraceId(): string;
|
|
20
|
+
/**
|
|
21
|
+
* 生成 Span ID
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateSpanId(): string;
|
|
24
|
+
/**
|
|
25
|
+
* 生成 traceparent 头
|
|
26
|
+
*/
|
|
27
|
+
export declare function generateTraceparent(): string;
|
|
28
|
+
export declare const urlUtils: {
|
|
29
|
+
/**
|
|
30
|
+
* 获取 URL 参数
|
|
31
|
+
*/
|
|
32
|
+
getParam(name: string, url?: string): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* 设置 URL 参数
|
|
35
|
+
*/
|
|
36
|
+
setParam(name: string, value: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* 删除 URL 参数
|
|
39
|
+
*/
|
|
40
|
+
removeParam(name: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* 构建 URL
|
|
43
|
+
*/
|
|
44
|
+
build(base: string, params: Record<string, string | number | boolean | undefined>): string;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 可见性监听
|
|
48
|
+
*/
|
|
49
|
+
export declare function onVisibilityChange(callback: (visible: boolean) => void): () => void;
|
|
50
|
+
/**
|
|
51
|
+
* 网络状态监听
|
|
52
|
+
*/
|
|
53
|
+
export declare function onNetworkChange(callback: (online: boolean) => void): () => void;
|
|
54
|
+
/**
|
|
55
|
+
* 检测是否为移动端
|
|
56
|
+
*/
|
|
57
|
+
export declare function isMobile(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* 检测是否为微信环境
|
|
60
|
+
*/
|
|
61
|
+
export declare function isWeChat(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 检测是否支持 WebP
|
|
64
|
+
*/
|
|
65
|
+
export declare function supportsWebP(): Promise<boolean>;
|
|
66
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAQhD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAwB,GAAG,IAAI,CAgBzF;AAID;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAcpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C;AAID,eAAO,MAAM,QAAQ;IACnB;;OAEG;mBACY,MAAM,iBAA+B,MAAM,GAAG,IAAI;IAKjE;;OAEG;mBACY,MAAM,SAAS,MAAM,GAAG,IAAI;IAM3C;;OAEG;sBACe,MAAM,GAAG,IAAI;IAM/B;;OAEG;gBAEK,MAAM,UACJ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM;CASV,CAAC;AAIF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAMnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAS/E;AAID;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAYrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,eAAe,QACgD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@djvlc/runtime-web",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "DJV 低代码平台浏览器版运行时(CDN 发布用)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/runtime.iife.js",
|
|
@@ -33,9 +33,8 @@
|
|
|
33
33
|
"clean": "rimraf dist"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@djvlc/contracts-types": "^1.4.0",
|
|
37
36
|
"@djvlc/openapi-user-client": "^1.5.0",
|
|
38
|
-
"@djvlc/runtime-core": "1.0.
|
|
37
|
+
"@djvlc/runtime-core": "1.0.1"
|
|
39
38
|
},
|
|
40
39
|
"devDependencies": {
|
|
41
40
|
"@types/node": "^20.10.0",
|