@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.
Files changed (34) hide show
  1. package/README.MD +225 -0
  2. package/dist/es/helpers/filter-undefined-properties.js +12 -0
  3. package/dist/es/index.js +8 -0
  4. package/dist/es/media-fusion-tracker.js +35 -0
  5. package/dist/es/models/DocActionEvent.js +27 -0
  6. package/dist/es/models/DocVisitEvent.js +27 -0
  7. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/_commonjsHelpers.js +8 -0
  8. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/index.js +7 -0
  9. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/_virtual/index2.js +4 -0
  10. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/gsido-tracker.js +86 -0
  11. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/filter-undefined-properties.js +12 -0
  12. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/load-script.js +11 -0
  13. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/helpers/object-to-map.js +9 -0
  14. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/lib/gsido-proxy.js +79 -0
  15. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/models/DocActionEvent.js +27 -0
  16. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/models/DocVisitEvent.js +27 -0
  17. package/dist/es/node_modules/@kbapp/gsido-tracker/dist/es/node_modules/lodash.clonedeep/index.js +452 -0
  18. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/_virtual/_commonjsHelpers.js +8 -0
  19. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/_virtual/dayjs.min.js +4 -0
  20. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/core/tmuyun-sdk-report.js +15 -0
  21. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/core/tmuyun-sdk.js +36 -0
  22. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/index.js +38 -0
  23. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/models/TmuyunDocModel.js +99 -0
  24. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/models/TmuyunDocType.js +16 -0
  25. package/dist/es/node_modules/@kbapp/tmuyun-tracker/dist/es/node_modules/dayjs/dayjs.min.js +282 -0
  26. package/dist/types/__tests__/index.test.d.ts +1 -0
  27. package/dist/types/helpers/filter-undefined-properties.d.ts +8 -0
  28. package/dist/types/index.d.ts +3 -0
  29. package/dist/types/media-fusion-tracker.d.ts +50 -0
  30. package/dist/types/models/DocActionEvent.d.ts +66 -0
  31. package/dist/types/models/DocVisitEvent.d.ts +75 -0
  32. package/dist/umd/index.js +1 -0
  33. package/examples/index.html +241 -0
  34. 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
+ }