@kbapp/media-fusion-tracker 0.0.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/README.MD +225 -0
- package/dist/es/helpers/filter-undefined-properties.js +12 -0
- package/dist/es/index.js +8 -0
- package/dist/es/media-fusion-tracker.js +35 -0
- package/dist/es/models/DocActionEvent.js +27 -0
- package/dist/es/models/DocVisitEvent.js +27 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/_commonjsHelpers.js +8 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/index.js +7 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/index2.js +4 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/gsido-tracker.js +86 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/filter-undefined-properties.js +12 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/load-script.js +11 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/object-to-map.js +9 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/lib/gsido-proxy.js +79 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/models/DocActionEvent.js +27 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/models/DocVisitEvent.js +27 -0
- package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/node_modules/lodash.clonedeep/index.js +452 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/_virtual/_commonjsHelpers.js +8 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/_virtual/dayjs.min.js +4 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/core/tmuyun-sdk-report.js +15 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/core/tmuyun-sdk.js +36 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/index.js +38 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/models/TmuyunDocModel.js +99 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/models/TmuyunDocType.js +16 -0
- package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/node_modules/dayjs/dayjs.min.js +282 -0
- package/dist/types/__tests__/index.test.d.ts +1 -0
- package/dist/types/helpers/filter-undefined-properties.d.ts +8 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/media-fusion-tracker.d.ts +50 -0
- package/dist/types/models/DocActionEvent.d.ts +66 -0
- package/dist/types/models/DocVisitEvent.d.ts +75 -0
- package/dist/umd/index.js +1 -0
- package/examples/index.html +241 -0
- package/package.json +47 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>测试demo</title>
|
|
8
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
|
|
9
|
+
integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous" />
|
|
10
|
+
</head>
|
|
11
|
+
|
|
12
|
+
<body>
|
|
13
|
+
<div id="app">
|
|
14
|
+
<div class="card m-2" v-for="(item, index) in list" :key="index">
|
|
15
|
+
<h5 class="card-header">
|
|
16
|
+
<div class="d-flex justify-content-between align-items-center">
|
|
17
|
+
<span class="flex-grow-1">{{item.title}}</span>
|
|
18
|
+
|
|
19
|
+
<template v-if="item.done.status.loading">
|
|
20
|
+
<button type="button" class="btn btn-primary" disabled>
|
|
21
|
+
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
|
|
22
|
+
</button>
|
|
23
|
+
</template>
|
|
24
|
+
<template v-else>
|
|
25
|
+
<button type="button" class="btn btn-primary" @click="item.done">{{item.buttonText}}</button>
|
|
26
|
+
</template>
|
|
27
|
+
</div>
|
|
28
|
+
</h5>
|
|
29
|
+
|
|
30
|
+
<div class="card-body">
|
|
31
|
+
<template v-if="item.subtitle">
|
|
32
|
+
<div class="card-title fw-bold">{{item.subtitle}}</div>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<template v-if="item.desc">
|
|
36
|
+
<div class="card-text">{{item.desc}}</div>
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<template v-if="item.done.status.data">
|
|
40
|
+
<div class="alert alert-success mt-2" role="alert">{{item.done.status.data}}</div>
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<template v-if="item.done.status.error">
|
|
44
|
+
<div class="alert alert-danger mt-2" role="alert">{{item.done.status.error}}</div>
|
|
45
|
+
</template>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</body>
|
|
50
|
+
<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
|
|
51
|
+
<script>
|
|
52
|
+
// VConsole 默认会挂载到 `window.VConsole` 上
|
|
53
|
+
var vConsole = new window.VConsole();
|
|
54
|
+
</script>
|
|
55
|
+
<script type="module">
|
|
56
|
+
import { createApp, ref, reactive } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
|
|
57
|
+
import { MediaFusionTracker, DocActionEvent, DocVisitEvent } from '../dist/es/index.js'
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* 装饰器,用于处理done函数的调用
|
|
61
|
+
* @param {Function} callback - 实际执行的函数
|
|
62
|
+
* @returns {Function} - 装饰后的函数
|
|
63
|
+
*/
|
|
64
|
+
const decorateDone = (callback) => {
|
|
65
|
+
/** 状态 */
|
|
66
|
+
const status = reactive({
|
|
67
|
+
/** 请求中 */
|
|
68
|
+
loading: false,
|
|
69
|
+
|
|
70
|
+
/** 请求完成 */
|
|
71
|
+
data: null,
|
|
72
|
+
|
|
73
|
+
/** 异常值 */
|
|
74
|
+
error: null,
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
async function done() {
|
|
78
|
+
status.data = null
|
|
79
|
+
status.error = null
|
|
80
|
+
status.loading = true
|
|
81
|
+
|
|
82
|
+
try {
|
|
83
|
+
const data = await Promise.resolve(callback())
|
|
84
|
+
status.data = data
|
|
85
|
+
} catch (error) {
|
|
86
|
+
status.error = error
|
|
87
|
+
throw error
|
|
88
|
+
} finally {
|
|
89
|
+
status.loading = false
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
done['status'] = status
|
|
94
|
+
|
|
95
|
+
return done
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const kbTracker = new MediaFusionTracker({
|
|
99
|
+
sdkUrl: 'https://page.kaiba315.com.cn/js/gsido-h5-min-1.0.7.1_final.js', // 个推SDK地址
|
|
100
|
+
appid: 'xzc9chqi1s5bPYs3SWtPm2', // 埋点应用ID,由开吧分配
|
|
101
|
+
enableLog: true, // 开发环境可设为true,开启埋点日志输出
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
const list = reactive([
|
|
105
|
+
{
|
|
106
|
+
title: 'report',
|
|
107
|
+
subtitle: '普通事件上报',
|
|
108
|
+
buttonText: '执行',
|
|
109
|
+
desc: `执行结果 上报事件`,
|
|
110
|
+
done: decorateDone(async () => {
|
|
111
|
+
kbTracker.report({
|
|
112
|
+
name: 'test_event_name',
|
|
113
|
+
params: {
|
|
114
|
+
test_event_params: '1',
|
|
115
|
+
},
|
|
116
|
+
})
|
|
117
|
+
return '上报成功'
|
|
118
|
+
}),
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
title: 'report.DocVisitEvent',
|
|
122
|
+
subtitle: 'DocVisitEvent上报',
|
|
123
|
+
buttonText: '执行',
|
|
124
|
+
desc: `执行结果 上报事件`,
|
|
125
|
+
done: decorateDone(async () => {
|
|
126
|
+
kbTracker.report({
|
|
127
|
+
name: 'DocVisitEvent',
|
|
128
|
+
params: DocVisitEvent.createDocTrackEvent({
|
|
129
|
+
biz: 'MISC_PAGE',
|
|
130
|
+
ref1: 'about',
|
|
131
|
+
ref2: 'index',
|
|
132
|
+
title: '关于',
|
|
133
|
+
suid: '1234',
|
|
134
|
+
pubTime: '2024-01-01 12:00:00',
|
|
135
|
+
}),
|
|
136
|
+
})
|
|
137
|
+
return '上报成功'
|
|
138
|
+
}),
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'report.DocActionEvent',
|
|
142
|
+
subtitle: 'DocActionEvent上报',
|
|
143
|
+
buttonText: '执行',
|
|
144
|
+
desc: `执行结果 上报事件`,
|
|
145
|
+
done: decorateDone(async () => {
|
|
146
|
+
kbTracker.report({
|
|
147
|
+
name: 'DocActionEvent',
|
|
148
|
+
params: DocActionEvent.createDocTrackEvent({
|
|
149
|
+
act: 'click',
|
|
150
|
+
biz: 'MISC_PAGE',
|
|
151
|
+
ref1: 'about',
|
|
152
|
+
ref2: 'index',
|
|
153
|
+
title: '关于',
|
|
154
|
+
suid: '1234',
|
|
155
|
+
}),
|
|
156
|
+
})
|
|
157
|
+
return '上报成功'
|
|
158
|
+
}),
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
title: 'setReportGlobalAttrs',
|
|
162
|
+
subtitle: '设置全局公共上报属性',
|
|
163
|
+
buttonText: '执行',
|
|
164
|
+
desc: `执行结果 上报事件`,
|
|
165
|
+
done: decorateDone(async () => {
|
|
166
|
+
kbTracker.setReportGlobalAttrs({
|
|
167
|
+
userId: '123456', // 用户唯一标识
|
|
168
|
+
appVersion: '1.0.0', // APP版本号
|
|
169
|
+
})
|
|
170
|
+
return '设置成功'
|
|
171
|
+
}),
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
title: 'report',
|
|
175
|
+
subtitle: '有好剧上报测试',
|
|
176
|
+
buttonText: '执行',
|
|
177
|
+
desc: `执行结果 上报事件`,
|
|
178
|
+
done: decorateDone(async () => {
|
|
179
|
+
// 设置公共上报的属性
|
|
180
|
+
kbTracker.setReportGlobalAttrs({
|
|
181
|
+
/**
|
|
182
|
+
*
|
|
183
|
+
* 用户 id, 有则填,
|
|
184
|
+
* 注意!!!:下方填写的uid仅为示例,具体填写请参考说明
|
|
185
|
+
*/
|
|
186
|
+
uid: 5864291,
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* 按 http 通用请求中的 kb_os 参数规则填写:
|
|
190
|
+
* 微信小程序中打开页面: WXTiny
|
|
191
|
+
* 微信页面中打开页面: WX-Web
|
|
192
|
+
* 其他载体打开页面: Browser
|
|
193
|
+
*
|
|
194
|
+
* 注意!!!:下方填写的os仅为示例,具体填写请参考说明
|
|
195
|
+
*/
|
|
196
|
+
os: 'WX-Web',
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* 按 http 通用请求中的 kb_ep 参数规则填写:
|
|
200
|
+
* 开吧客户端: 16
|
|
201
|
+
* 非客户端且非小程序打开 H5 页面: 201
|
|
202
|
+
* 有好剧小程序: 921
|
|
203
|
+
* 大剧院小程序: 922
|
|
204
|
+
*
|
|
205
|
+
* 注意!!!:下方填写的ep仅为示例,具体填写请参考说明
|
|
206
|
+
*/
|
|
207
|
+
ep: 921
|
|
208
|
+
})
|
|
209
|
+
|
|
210
|
+
/** 上报浏览点 */
|
|
211
|
+
kbTracker.report({
|
|
212
|
+
name: 'DocVisitEvent',
|
|
213
|
+
params: DocVisitEvent.createDocTrackEvent({
|
|
214
|
+
biz: '业务类型',
|
|
215
|
+
unit: '业务单元',
|
|
216
|
+
ref1: '对象标识1 可为空',
|
|
217
|
+
ref2: '对象标识2 可为空',
|
|
218
|
+
ref3: '对象标识3 可为空',
|
|
219
|
+
sid: '站点 ID 可为空',
|
|
220
|
+
title: '稿件标题',
|
|
221
|
+
channel: '所属单位 可为空',
|
|
222
|
+
depart: '所属部门 可为空',
|
|
223
|
+
suid: '分享人的用用户id 可为空'
|
|
224
|
+
}),
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
return '上报成功'
|
|
228
|
+
}),
|
|
229
|
+
},
|
|
230
|
+
])
|
|
231
|
+
|
|
232
|
+
createApp({
|
|
233
|
+
setup() {
|
|
234
|
+
return {
|
|
235
|
+
list,
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
}).mount('#app')
|
|
239
|
+
</script>
|
|
240
|
+
|
|
241
|
+
</html>
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kbapp/media-fusion-tracker",
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"access": "public"
|
|
5
|
+
},
|
|
6
|
+
"version": "0.0.1",
|
|
7
|
+
"description": "开吧融媒体上报平台",
|
|
8
|
+
"main": "./dist/umd/index.js",
|
|
9
|
+
"module": "./dist/es/index.js",
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/types/index.d.ts",
|
|
14
|
+
"import": "./dist/es/index.js",
|
|
15
|
+
"require": "./dist/umd/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
"author": "along",
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"package.json",
|
|
23
|
+
"README.md",
|
|
24
|
+
"examples"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"dev": "npm run build && vite",
|
|
28
|
+
"build": "rm -rf ./dist && vite build",
|
|
29
|
+
"publish": "npm run build && npm publish",
|
|
30
|
+
"test": "vitest"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@kbapp/gsido-tracker": "^0.0.1",
|
|
34
|
+
"@kbapp/tmuyun-tracker": "^1.0.1-alpha.0",
|
|
35
|
+
"@types/lodash.clonedeep": "^4.5.9",
|
|
36
|
+
"lodash.clonedeep": "^4.5.0"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"@kbapp/js-bridge": "^1.0.16-alpha.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"typescript": "^5.9.3",
|
|
43
|
+
"vite": "^7.3.0",
|
|
44
|
+
"vite-plugin-dts": "^4.5.4",
|
|
45
|
+
"vitest": "^4.1.2"
|
|
46
|
+
}
|
|
47
|
+
}
|