cbvirtua 1.0.122 → 2.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 (173) hide show
  1. package/package.json +2 -4
  2. package/valid.txt +468 -0
  3. package/vue3-hash-calendar-main.zip +0 -0
  4. package/1.zip +0 -0
  5. package/7.zip +0 -0
  6. package/888.zip +0 -0
  7. package/Checkbox Checked-1.png +0 -0
  8. package/_/345/217/267 (1).svg" +0 -1
  9. package/_/345/217/267.svg +0 -1
  10. package/a.png +0 -0
  11. package/babel-plugin-async-lock-master.zip +0 -0
  12. package/build-own-react-main.zip +0 -0
  13. package/check_box.svg +0 -1
  14. package/check_box_outline_blank.svg +0 -1
  15. package/checkbox_unchecked.svg +0 -1
  16. package/floating-vue-main.zip +0 -0
  17. package/font_2009600_gpzp7pxtnw.zip +0 -0
  18. package/font_2553510_ciljc7axaw7.woff +0 -0
  19. package/font_2553510_ciljc7axaw7.woff2 +0 -0
  20. package/leetcode-javascript-master.zip +0 -0
  21. package/loginDemo-master.zip +0 -0
  22. package/mi.txt +0 -374
  23. package/mitt-main.zip +0 -0
  24. package/mp-weixin-back-main.zip +0 -0
  25. package/pdfsss.txt +0 -900
  26. package/sms-check-code-master.zip +0 -0
  27. package/sss.txt +0 -2
  28. package/study-summarize-master.zip +0 -0
  29. package/tool.txt +0 -19
  30. package/v-dropdown-menu-master.zip +0 -0
  31. package/v-track-master/v-track-master/.browserslistrc +0 -3
  32. package/v-track-master/v-track-master/.eslintignore +0 -3
  33. package/v-track-master/v-track-master/.eslintrc.js +0 -15
  34. package/v-track-master/v-track-master/.gitattributes +0 -1
  35. package/v-track-master/v-track-master/.github/FUNDING.yml +0 -12
  36. package/v-track-master/v-track-master/.github/workflows/node.js.yml +0 -29
  37. package/v-track-master/v-track-master/.travis.yml +0 -22
  38. package/v-track-master/v-track-master/.yarnrc +0 -1
  39. package/v-track-master/v-track-master/LICENSE +0 -21
  40. package/v-track-master/v-track-master/README.md +0 -131
  41. package/v-track-master/v-track-master/babel.config.js +0 -25
  42. package/v-track-master/v-track-master/build/rollup.config.base.js +0 -14
  43. package/v-track-master/v-track-master/build/rollup.config.browser.js +0 -21
  44. package/v-track-master/v-track-master/build/rollup.config.es.js +0 -11
  45. package/v-track-master/v-track-master/docs/.babelrc +0 -5
  46. package/v-track-master/v-track-master/docs/App.vue +0 -61
  47. package/v-track-master/v-track-master/docs/assets/app.scss +0 -197
  48. package/v-track-master/v-track-master/docs/assets/index.scss +0 -10
  49. package/v-track-master/v-track-master/docs/assets/mixins.scss +0 -64
  50. package/v-track-master/v-track-master/docs/assets/normalize.scss +0 -349
  51. package/v-track-master/v-track-master/docs/components/button.vue +0 -15
  52. package/v-track-master/v-track-master/docs/components/code-snippet.vue +0 -72
  53. package/v-track-master/v-track-master/docs/dist/css/app.2e14d2d6.css +0 -4
  54. package/v-track-master/v-track-master/docs/dist/css/chunk-vendors.c687a9b2.css +0 -1
  55. package/v-track-master/v-track-master/docs/dist/favicon.ico +0 -0
  56. package/v-track-master/v-track-master/docs/dist/fonts/element-icons.535877f5.woff +0 -0
  57. package/v-track-master/v-track-master/docs/dist/fonts/element-icons.732389de.ttf +0 -0
  58. package/v-track-master/v-track-master/docs/dist/js/app.efe84ade.js +0 -2
  59. package/v-track-master/v-track-master/docs/dist/js/app.efe84ade.js.map +0 -1
  60. package/v-track-master/v-track-master/docs/dist/js/chunk-vendors.c94e27ba.js +0 -13
  61. package/v-track-master/v-track-master/docs/dist/js/chunk-vendors.c94e27ba.js.map +0 -1
  62. package/v-track-master/v-track-master/docs/index.html +0 -1
  63. package/v-track-master/v-track-master/docs/main.js +0 -78
  64. package/v-track-master/v-track-master/docs/pages/block-show.vue +0 -177
  65. package/v-track-master/v-track-master/docs/pages/custom-events.vue +0 -291
  66. package/v-track-master/v-track-master/docs/pages/home.vue +0 -269
  67. package/v-track-master/v-track-master/docs/pages/started.vue +0 -151
  68. package/v-track-master/v-track-master/docs/pages/track-view.vue +0 -234
  69. package/v-track-master/v-track-master/docs/tracks/action.js +0 -37
  70. package/v-track-master/v-track-master/docs/tracks/events.js +0 -140
  71. package/v-track-master/v-track-master/docs/tracks/index.js +0 -13
  72. package/v-track-master/v-track-master/docs/utils/date.js +0 -219
  73. package/v-track-master/v-track-master/docs/utils/dom.js +0 -26
  74. package/v-track-master/v-track-master/jest.config.js +0 -18
  75. package/v-track-master/v-track-master/package.json +0 -67
  76. package/v-track-master/v-track-master/postcss.config.js +0 -5
  77. package/v-track-master/v-track-master/public/favicon.ico +0 -0
  78. package/v-track-master/v-track-master/public/index.html +0 -18
  79. package/v-track-master/v-track-master/src/hooks/index.js +0 -217
  80. package/v-track-master/v-track-master/src/index.js +0 -79
  81. package/v-track-master/v-track-master/src/utils/debug.js +0 -13
  82. package/v-track-master/v-track-master/src/utils/dom.js +0 -73
  83. package/v-track-master/v-track-master/src/utils/helper.js +0 -122
  84. package/v-track-master/v-track-master/src/utils/vis-monitor.js +0 -183
  85. package/v-track-master/v-track-master/tests/helper.js +0 -37
  86. package/v-track-master/v-track-master/tests/unit/.eslintrc.js +0 -5
  87. package/v-track-master/v-track-master/tests/unit/track-click-async.spec.js +0 -52
  88. package/v-track-master/v-track-master/tests/unit/track-click-delay.spec.js +0 -46
  89. package/v-track-master/v-track-master/tests/unit/track-click-native.spec.js +0 -84
  90. package/v-track-master/v-track-master/tests/unit/track-click-param.spec.js +0 -55
  91. package/v-track-master/v-track-master/tests/unit/track-click.spec.js +0 -47
  92. package/v-track-master/v-track-master/tests/unit/track-custom-event-async.spec.js +0 -61
  93. package/v-track-master/v-track-master/tests/unit/track-custom-event-delay.spec.js +0 -59
  94. package/v-track-master/v-track-master/tests/unit/track-custom-event-param.spec.js +0 -68
  95. package/v-track-master/v-track-master/tests/unit/track-custom-event.spec.js +0 -55
  96. package/v-track-master/v-track-master/tests/unit/track-show-custom-scroll-once.spec.js +0 -62
  97. package/v-track-master/v-track-master/tests/unit/track-show-custom-scroll.spec.js +0 -62
  98. package/v-track-master/v-track-master/tests/unit/track-show-once.spec.js +0 -55
  99. package/v-track-master/v-track-master/tests/unit/track-show-param.spec.js +0 -51
  100. package/v-track-master/v-track-master/tests/unit/track-show.spec.js +0 -55
  101. package/v-track-master/v-track-master/tests/unit/track-view-vif.spec.js +0 -54
  102. package/v-track-master/v-track-master/tests/unit/track-view-watch-delay.spec.js +0 -63
  103. package/v-track-master/v-track-master/tests/unit/track-view-watch.spec.js +0 -61
  104. package/v-track-master/v-track-master/tests/unit/track-view.spec.js +0 -32
  105. package/v-track-master/v-track-master/vue.config.js +0 -45
  106. package/v-track-master/v-track-master/yarn.lock +0 -10186
  107. package/v-track-master.zip +0 -0
  108. package/vant-weapp-dev.zip +0 -0
  109. package/vue-autosize-input-master.zip +0 -0
  110. package/vue-awesome-dropdown-master.zip +0 -0
  111. package/vue-codemod-main.zip +0 -0
  112. package/vue-collapsed-main.zip +0 -0
  113. package/vue-input-code-master.zip +0 -0
  114. package/vue-jscodeshift-adapter-master.zip +0 -0
  115. package/vue-verify-master.zip +0 -0
  116. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/.hbuilderx/launch.json +0 -11
  117. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/App.vue +0 -17
  118. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/README.md +0 -13
  119. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/components/xiaolu-tree/code.js +0 -408
  120. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/components/xiaolu-tree/css/icon.css +0 -342
  121. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/components/xiaolu-tree/css/style.scss +0 -119
  122. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/components/xiaolu-tree/search/index.vue +0 -66
  123. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/components/xiaolu-tree/tree.vue +0 -70
  124. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/main.js +0 -11
  125. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/manifest.json +0 -78
  126. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/pages/chooseUser/chooseUser.vue +0 -69
  127. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/pages/chooseUser/data.js +0 -96
  128. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/pages/index/index.vue +0 -122
  129. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/pages.json +0 -25
  130. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/changelog.md +0 -80
  131. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/i18n/en.json +0 -7
  132. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/i18n/index.js +0 -8
  133. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json +0 -7
  134. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json +0 -7
  135. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/keypress.js +0 -45
  136. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/popup.js +0 -26
  137. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue +0 -90
  138. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup/uni-popup.vue +0 -496
  139. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js +0 -45
  140. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue +0 -313
  141. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue +0 -143
  142. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue +0 -187
  143. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/package.json +0 -87
  144. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-popup/readme.md +0 -17
  145. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/changelog.md +0 -8
  146. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/index.scss +0 -1
  147. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/package.json +0 -82
  148. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/readme.md +0 -4
  149. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/index.scss +0 -7
  150. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_border.scss +0 -3
  151. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_color.scss +0 -66
  152. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_radius.scss +0 -55
  153. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_space.scss +0 -56
  154. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_styles.scss +0 -167
  155. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_text.scss +0 -24
  156. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/setting/_variables.scss +0 -146
  157. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/styles/tools/functions.scss +0 -19
  158. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/theme.scss +0 -31
  159. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-scss/variables.scss +0 -62
  160. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-transition/changelog.md +0 -22
  161. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-transition/components/uni-transition/createAnimation.js +0 -131
  162. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-transition/components/uni-transition/uni-transition.vue +0 -286
  163. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-transition/package.json +0 -84
  164. package/xiaolu-tree-plugin-main/xiaolu-tree-plugin-main/uni_modules/uni-transition/readme.md +0 -11
  165. package//346/224/266/347/274/251/344/270/212/347/256/255/345/244/264 (1).svg" +0 -1
  166. package//346/224/266/347/274/251/344/270/212/347/256/255/345/244/264.svg +0 -1
  167. package//346/224/266/347/274/251/344/270/213/347/256/255/345/244/264.svg +0 -1
  168. package//346/224/266/347/274/251/347/256/255/345/244/264.svg +0 -1
  169. package//346/226/260/345/273/272 /346/226/207/346/234/254/346/226/207/346/241/243 (2).txt" +0 -90
  170. package//346/226/260/345/273/272 /346/226/207/346/234/254/346/226/207/346/241/243 (3).txt" +0 -142
  171. package//346/226/260/345/273/272 /346/226/207/346/234/254/346/226/207/346/241/243 (3).zip +0 -0
  172. package//346/226/260/345/273/272 /346/226/207/346/234/254/346/226/207/346/241/243.txt" +0 -59
  173. package//351/227/256/345/217/267.svg +0 -1
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=dist/favicon.ico><link href=//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/nord.min.css rel=stylesheet><title>v-track</title><link href=dist/css/app.2e14d2d6.css rel=preload as=style><link href=dist/css/chunk-vendors.c687a9b2.css rel=preload as=style><link href=dist/js/app.efe84ade.js rel=preload as=script><link href=dist/js/chunk-vendors.c94e27ba.js rel=preload as=script><link href=dist/css/chunk-vendors.c687a9b2.css rel=stylesheet><link href=dist/css/app.2e14d2d6.css rel=stylesheet></head><body><noscript><strong>We're sorry but v-track doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=dist/js/chunk-vendors.c94e27ba.js></script><script src=dist/js/app.efe84ade.js></script></body></html>
@@ -1,78 +0,0 @@
1
- import Vue from "vue";
2
- import VueRouter from "vue-router";
3
- import {
4
- Alert,
5
- Card,
6
- Collapse,
7
- CollapseItem,
8
- Message,
9
- Notification
10
- } from "element-ui";
11
- import App from "./App.vue";
12
- import Home from "./pages/home.vue";
13
- import Started from "./pages/started.vue";
14
- import CustomEvents from "./pages/custom-events.vue";
15
- import TrackView from "./pages/track-view.vue";
16
- import BlockShow from "./pages/block-show.vue";
17
- import VueTrack from "../";
18
- import trackEvents from "./tracks";
19
-
20
- Vue.use(VueRouter);
21
- Vue.use(Alert);
22
- Vue.use(Card);
23
- Vue.use(Collapse);
24
- Vue.use(CollapseItem);
25
- Vue.use(VueTrack, {
26
- trackEvents,
27
- trackEnable: {
28
- UVPV: "routeUpdate",
29
- TONP: true
30
- }
31
- });
32
-
33
- Vue.prototype.$message = Message;
34
- Vue.prototype.$notify = Notification;
35
-
36
- const router = new VueRouter({
37
- routes: [
38
- {
39
- path: "/",
40
- name: "HOME",
41
- component: Home
42
- },
43
- {
44
- path: "/started",
45
- name: "STARTED",
46
- component: Started
47
- },
48
- {
49
- path: "/custom-events",
50
- name: "CUSTOM_EVENTS",
51
- component: CustomEvents
52
- },
53
- {
54
- path: "/track-view",
55
- name: "TRACK_VIEW",
56
- component: TrackView,
57
- meta: {
58
- keepAlive: true
59
- }
60
- },
61
- {
62
- path: "/block-show",
63
- name: "BLOCK_SHOW",
64
- component: BlockShow
65
- },
66
- {
67
- path: "*",
68
- redirect: "/"
69
- }
70
- ]
71
- });
72
-
73
- /* eslint-disable no-new */
74
- new Vue({
75
- el: "#app",
76
- router,
77
- render: h => h(App)
78
- });
@@ -1,177 +0,0 @@
1
- <template>
2
- <div class="page-home page">
3
- <section class="nav">
4
- <router-link :to="{ name: 'STARTED' }">
5
- 快速开始
6
- </router-link>
7
- <router-link :to="{ name: 'HOME' }">
8
- 事件行为埋点
9
- </router-link>
10
- <router-link :to="{ name: 'CUSTOM_EVENTS' }">
11
- 自定义事件埋点
12
- </router-link>
13
- <router-link :to="{ name: 'TRACK_VIEW' }">
14
- 页面行为埋点
15
- </router-link>
16
- <router-link :to="{ name: 'HOME' }">
17
- 返回
18
- </router-link>
19
- <a href="https://github.com/l-hammer/v-track/issues">打开一个 issue</a>
20
- </section>
21
-
22
- <!----------------------- DEMO 1 ------------------------>
23
- <section class="demo">
24
- <el-alert
25
- center
26
- type="info"
27
- title="这是一个只会上报一次的区域展现埋点"
28
- :closable="false"
29
- >
30
- </el-alert>
31
- <div class="section-content large">
32
- <el-card shadow="always" v-track:18028.show.once>
33
- 我只想被曝光一次
34
- </el-card>
35
- </div>
36
- </section>
37
- <section class="snippets">
38
- <CodeSnippet
39
- class="snippet"
40
- lang="html"
41
- :code="trackViewComponentOnceSnippet"
42
- />
43
- </section>
44
-
45
- <!----------------------- DEMO 2 ------------------------>
46
- <section class="demo">
47
- <el-alert
48
- center
49
- type="info"
50
- title="这是一个会连续上报的区域展现埋点"
51
- :closable="false"
52
- >
53
- </el-alert>
54
- <div class="section-content large">
55
- <el-card shadow="always" v-track:18027.show>
56
- 我想被曝光无数次
57
- </el-card>
58
- </div>
59
- </section>
60
- <section class="snippets">
61
- <CodeSnippet
62
- class="snippet"
63
- lang="html"
64
- :code="trackViewComponentSnippet"
65
- />
66
- </section>
67
-
68
- <!----------------------- DEMO 3 ------------------------>
69
- <section ref="viewport1" class="demo viewport">
70
- <el-alert
71
- center
72
- type="info"
73
- title="某个区域内元素曝光埋点"
74
- :closable="false"
75
- >
76
- </el-alert>
77
- <div class="section-content large">
78
- <el-card shadow="always" v-track:18029.show="{ viewport: 'viewport1' }">
79
- 我也想被曝光无数次
80
- </el-card>
81
- </div>
82
- </section>
83
- <section class="snippets">
84
- <CodeSnippet
85
- class="snippet"
86
- lang="html"
87
- :code="viewportTrackViewComponentSnippet1"
88
- />
89
- </section>
90
-
91
- <!----------------------- DEMO 4 ------------------------>
92
- <section ref="viewport2" class="demo viewport">
93
- <el-alert
94
- center
95
- type="info"
96
- title="某个区域内元素曝光超过一半则上报埋点"
97
- :closable="false"
98
- >
99
- </el-alert>
100
- <div class="section-content large">
101
- <el-card
102
- shadow="always"
103
- v-track:18030.show="{ viewport: 'viewport2', percent: 0.5 }"
104
- >
105
- 我也想被曝光无数次
106
- </el-card>
107
- </div>
108
- </section>
109
- <section class="snippets">
110
- <CodeSnippet
111
- class="snippet"
112
- lang="html"
113
- :code="viewportTrackViewComponentSnippet2"
114
- />
115
- </section>
116
- </div>
117
- </template>
118
-
119
- <script>
120
- import CodeSnippet from "../components/code-snippet";
121
-
122
- const trackViewComponentSnippet = `
123
- <el-card shadow="always" v-track:18027.show>我想被曝光无数次</el-card>
124
- `;
125
- const trackViewComponentOnceSnippet = `
126
- <el-card shadow="always" v-track:18027.show.once>我只想被曝光一次</el-card>
127
- `;
128
- const viewportTrackViewComponentSnippet1 = `
129
- <section ref="viewport">
130
- <el-card shadow="always" v-track:18029.show="{ viewport: 'viewport1' }">我也想被曝光无数次</el-card>
131
- </section>
132
- `;
133
- const viewportTrackViewComponentSnippet2 = `
134
- <section ref="viewport">
135
- <el-card shadow="always" v-track:18029.show="{ viewport: 'viewport2', percent: 0.5 }">我也想被曝光无数次</el-card>
136
- </section>
137
- `;
138
-
139
- export default {
140
- name: "BlockShow",
141
- components: {
142
- CodeSnippet
143
- },
144
- data() {
145
- return {
146
- trackViewComponentSnippet,
147
- trackViewComponentOnceSnippet,
148
- viewportTrackViewComponentSnippet1,
149
- viewportTrackViewComponentSnippet2,
150
- show: false,
151
- rest1: null,
152
- rest2: null
153
- };
154
- },
155
- methods: {
156
- async fetchRest(delay) {
157
- const response = await new Promise(resolve => {
158
- setTimeout(() => {
159
- resolve({ data: "success" });
160
- }, 300);
161
- });
162
-
163
- if (
164
- (!delay && this.rest1 === response.data) ||
165
- (delay && this.rest2 === response.data)
166
- ) {
167
- this.$message.success(
168
- "异步事件返回成功,但返回结果和上一次相等,埋点不会上报"
169
- );
170
- } else {
171
- this.$message.success("异步事件返回成功");
172
- !delay ? (this.rest1 = response.data) : (this.rest2 = response.data);
173
- }
174
- }
175
- }
176
- };
177
- </script>
@@ -1,291 +0,0 @@
1
- <template>
2
- <div class="page-home page">
3
- <section class="nav">
4
- <router-link :to="{ name: 'STARTED' }">
5
- 快速开始
6
- </router-link>
7
- <router-link :to="{ name: 'HOME' }">
8
- 事件行为埋点
9
- </router-link>
10
- <router-link :to="{ name: 'HOME' }">
11
- 返回
12
- </router-link>
13
- <router-link :to="{ name: 'TRACK_VIEW' }">
14
- 页面行为埋点
15
- </router-link>
16
- <router-link :to="{ name: 'BLOCK_SHOW' }">
17
- 区域展现埋点
18
- </router-link>
19
- <a href="https://github.com/l-hammer/v-track/issues">打开一个 issue</a>
20
- </section>
21
-
22
- <!----------------------- DEMO 1 ------------------------>
23
- <section class="demo">
24
- <el-alert
25
- center
26
- type="info"
27
- title="这是一个自定义事件行为埋点"
28
- :closable="false"
29
- >
30
- </el-alert>
31
- <div class="section-content">
32
- <Button v-track:18015.custom-event="handleCustomEvent"></Button>
33
- </div>
34
- </section>
35
-
36
- <section class="snippets">
37
- <CodeSnippet class="snippet" lang="html" :code="ButtonComponentSnippet" />
38
- <CodeSnippet
39
- class="snippet"
40
- lang="html"
41
- :code="trackCustomEventSnippet"
42
- />
43
- </section>
44
-
45
- <!----------------------- DEMO 2 ------------------------>
46
- <section class="demo">
47
- <el-alert
48
- center
49
- type="info"
50
- title="这是一个有带参数的自定义事件埋点"
51
- :closable="false"
52
- >
53
- </el-alert>
54
- <div class="section-content">
55
- <Button
56
- v-track:18019.custom-event="handleCustomEventWithParam"
57
- ></Button>
58
- </div>
59
- </section>
60
-
61
- <section class="snippets">
62
- <CodeSnippet
63
- class="snippet"
64
- lang="html"
65
- :code="ButtonComponentWithParamSnippet"
66
- />
67
- <CodeSnippet
68
- class="snippet"
69
- lang="html"
70
- :code="trackCustomEventWithParamSnippet"
71
- />
72
- </section>
73
-
74
- <!----------------------- DEMO 3 ------------------------>
75
- <section class="demo">
76
- <el-alert
77
- center
78
- type="info"
79
- title="这是一个发生在自定义事件之后的埋点,默认先执行埋点再执行自定义事件。如示例所示:activeName初始值为Feedback,自定义事件会更新该值,所以埋点获取到activeName的值应为当前激活面板的name"
80
- :closable="false"
81
- >
82
- </el-alert>
83
- <div class="section-content collapse-wrapper">
84
- <el-collapse
85
- accordion
86
- v-model="activeName"
87
- v-track:18020.change.delay="handleChange"
88
- >
89
- <el-collapse-item title="反馈 Feedback" name="Feedback">
90
- <div>
91
- 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;
92
- </div>
93
- <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
94
- </el-collapse-item>
95
- <el-collapse-item title="效率 Efficiency" name="Efficiency">
96
- <div>简化流程:设计简洁直观的操作流程;</div>
97
- <div>
98
- 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;
99
- </div>
100
- <div>
101
- 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
102
- </div>
103
- </el-collapse-item>
104
- <el-collapse-item title="可控 Controllability" name="Controllability">
105
- <div>
106
- 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;
107
- </div>
108
- <div>
109
- 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。
110
- </div>
111
- </el-collapse-item>
112
- </el-collapse>
113
- </div>
114
- </section>
115
-
116
- <section class="snippets">
117
- <CodeSnippet
118
- class="snippet"
119
- lang="html"
120
- :code="trackCustomEventDelaySnippet"
121
- />
122
- <CodeSnippet
123
- class="snippet"
124
- lang="js"
125
- :code="jsTrackCustomEventDelaySnippet"
126
- />
127
- </section>
128
-
129
- <!----------------------- DEMO 4 ------------------------>
130
- <section class="demo">
131
- <el-alert
132
- center
133
- type="info"
134
- title="这是一个有异步行为的自定义事件埋点。如示例所示:rest初始值为null,自定义事件会fetch为success,所以埋点获取到的rest值应该为success"
135
- :closable="false"
136
- >
137
- </el-alert
138
- ><el-alert
139
- center
140
- type="warning"
141
- title="备注:同普通DOM事件埋点一样,只有在 rest 发生变化时才会触发埋点"
142
- :closable="false"
143
- >
144
- </el-alert>
145
- <div class="section-content">
146
- <Button v-track:18021.custom-event.async="{ fetchRest, rest }"></Button>
147
- </div>
148
- </section>
149
-
150
- <section class="snippets">
151
- <CodeSnippet
152
- class="snippet"
153
- lang="html"
154
- :code="trackCustomEventAsyncSnippet"
155
- />
156
- <CodeSnippet
157
- class="snippet"
158
- lang="js"
159
- :code="jsTrackCustomEventAsyncSnippet"
160
- />
161
- </section>
162
- </div>
163
- </template>
164
-
165
- <script>
166
- import CodeSnippet from "../components/code-snippet";
167
- import Button from "../components/button";
168
-
169
- const ButtonComponentSnippet = `
170
- <!-- button 组件 -->
171
- <div class="track-button" @click="$emit('custom-event')">
172
- click me
173
- </div>
174
- `;
175
- const ButtonComponentWithParamSnippet = `
176
- <!-- button 组件 -->
177
- <div class="track-button" @click="e => $emit('custom-event', { id: Date.now().toString(36) }, e)">
178
- click me
179
- </div>
180
- `;
181
- const trackCustomEventSnippet = `
182
- <Button v-track:18015.custom-event="handleCustomEvent"></Button>
183
- `;
184
- const trackCustomEventWithParamSnippet = `
185
- <Button v-track:18019.custom-event="handleCustomEventWithParam"></Button>
186
- `;
187
- const trackCustomEventDelaySnippet = `
188
- <el-collapse
189
- accordion
190
- v-model="activeName"
191
- v-track:18020.change.delay="handleChange"
192
- >
193
- <el-collapse-item title="反馈" name="Feedback">...</el-collapse-item>
194
- <el-collapse-item title="效率" name="Efficiency">...</el-collapse-item>
195
- <el-collapse-item title="可控" name="Controllability">...</el-collapse-item>
196
- </el-collapse>
197
- `;
198
- const jsTrackCustomEventDelaySnippet = `
199
- export default {
200
- data() {
201
- return {
202
- activeName: "Feedback",
203
- };
204
- },
205
- methods: {
206
- handleChange(val) {
207
- this.activeName = val;
208
- }
209
- }
210
- }
211
- `;
212
- const trackCustomEventAsyncSnippet = `
213
- <Button v-track:18021.custom-event.async="{ fetchRest, rest }"></Button>
214
- `;
215
- const jsTrackCustomEventAsyncSnippet = `
216
- export default {
217
- data() {
218
- return {
219
- rest: null
220
- };
221
- },
222
- methods: {
223
- async fetchRest() {
224
- const response = await new Promise(resolve => {
225
- setTimeout(() => {
226
- resolve({ data: "success" });
227
- }, 300);
228
- });
229
-
230
- this.rest = response.data;
231
- }
232
- }
233
- }
234
- `;
235
-
236
- export default {
237
- name: "CustomEvents",
238
- components: {
239
- Button,
240
- CodeSnippet
241
- },
242
- data() {
243
- return {
244
- ButtonComponentSnippet,
245
- ButtonComponentWithParamSnippet,
246
- trackCustomEventSnippet,
247
- trackCustomEventWithParamSnippet,
248
- trackCustomEventDelaySnippet,
249
- trackCustomEventAsyncSnippet,
250
- jsTrackCustomEventDelaySnippet,
251
- jsTrackCustomEventAsyncSnippet,
252
- item: {
253
- id: Math.random()
254
- .toString(36)
255
- .substr(2)
256
- },
257
- activeName: "Feedback",
258
- rest: null
259
- };
260
- },
261
- methods: {
262
- handleCustomEvent() {
263
- this.$message.success("自定义事件执行成功");
264
- },
265
- handleCustomEventWithParam(item, { target }) {
266
- this.$message.success(
267
- `自定义事件执行成功,参数为${JSON.stringify(item)}--${target}`
268
- );
269
- },
270
- handleChange(val) {
271
- this.activeName = val;
272
- },
273
- async fetchRest() {
274
- const response = await new Promise(resolve => {
275
- setTimeout(() => {
276
- resolve({ data: "success" });
277
- }, 300);
278
- });
279
-
280
- if (this.rest === response.data) {
281
- this.$message.success(
282
- "异步事件返回成功,但返回结果和上一次相等,埋点不会上报"
283
- );
284
- } else {
285
- this.rest = response.data;
286
- this.$message.success("异步事件返回成功");
287
- }
288
- }
289
- }
290
- };
291
- </script>