Przeglądaj źródła

用户行为记录

zhengjinyi 2 lat temu
rodzic
commit
9b42fd7616

+ 1 - 0
src/main/resources/static/js/base.js

@@ -49,6 +49,7 @@ if(localStorage.getItem('userInfo')){
 // 头部
 var globalHead = new Vue({
     el: '#globalHead',
+    mixins: [cmSysVitaMixins],
     data: {
         loginStatus: false,
         userData: {},

+ 47 - 0
src/main/resources/static/js/mixins/cmSysMixins.js

@@ -0,0 +1,47 @@
+// 统计数据
+// 统计类型 1:首页banner;2:直播模块;3:最新活动;4:热门文章;5:新品橱窗;6:活动列表
+var cmSysVitaMixins = function () {
+    return {
+        data() {
+            return {
+                browseTime: 0,  // 浏览时长初始值为 0
+                clearTimeSet: null,
+            }
+        },
+        methods: {
+            setTime() {
+                //设置定时器
+                let _self = this;
+                this.clearTimeSet = setInterval(() => {
+                    _self.browseTime++;
+                    console.log(_self.browseTime, "时长累计");
+                }, 1000);
+            },
+            cmSysVitas() {
+                var _this = this;
+                UserApi.cmSysVitas({},function (response) {
+                    if(response.code === 0){
+                        _this.bankInfo = response.data;
+                    }else{
+                        console.log('<-------上送用户行为记录异常------>')
+                    }
+                })
+            },
+            beforeunloadHandler(e) {
+                console.log('关闭窗口之后')
+                debugger
+                clearInterval(this.clearTimeSet); // 离开页面后清除定时器
+                this.cmSysVitas(); // 上送后台接口,将浏览时长等信息传到后台,离开当前路由后调用
+            }
+        },
+        mounted() {
+            // 页面加载完成后开始计时
+            this.setTime();
+            // 绑定窗口关闭[监听]事件
+            window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
+        },
+        destroyed() { // 解除窗口关闭[监听]事件
+            window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
+        }
+    }
+}();

+ 1 - 0
src/main/resources/templates/components/foot-link.html

@@ -8,5 +8,6 @@
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/ajax.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/utils.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/shopping.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/mixins/cmSysMixins.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/utils.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/base.js(v=${version})}"></script>