zjs_project vor 1 Jahr
Ursprung
Commit
99f35bb359

+ 78 - 0
src/mixins/commonPageMethod.js

@@ -0,0 +1,78 @@
+const util = require('@/utils/util.js').default;
+// import requestConfig from '@/static/lib/requestConfig';
+export default {
+	data() {
+		return {
+		}
+	},
+	mounted() {
+		console.warn("---mounted---",this.pvId,this.$route.meta.keepAlive)
+		if(this.pvId && !this.$route.meta.keepAlive){
+			let param = {
+				type: 'PV',
+				pvId: this.pvId,
+				locusBehaviorName: this.locusBehaviorName,
+				pvCurPageName: this.pvCurPageName,
+			};
+			util.trackRequest(param);//发送统一PV埋点
+		}
+	},
+	// beforeDestroy() {
+	// 	console.warn("---beforeDestroy---")
+	// 	this.pvCloseHandle()
+	// },
+	// /**
+	//  * 生命周期函数--监听页面隐藏
+	//  */
+	// onHide: function() {
+	// 	console.warn("---onhide---")
+	// 	this.pvCloseHandle()
+	// },
+	beforeRouteLeave(to, from, next) {
+		console.warn("router:beforeRouteLeave:",from.name);
+		// 在离开当前路由前执行的方法
+		// 例如保存表单数据、清理定时器等操作
+		this.pvCloseHandle();
+		next();
+	},
+	beforeRouteEnter(to, from, next) {
+		console.warn("router:beforeRouteEnter:",to.name,to);
+		next();
+	},
+	activated(){
+		console.warn("activated:",this.pvId);
+		if(this.pvId && this.$route.meta.keepAlive){
+			let param = {
+				type: 'PV',
+				pvId: this.pvId,
+				locusBehaviorName: this.locusBehaviorName,
+				pvCurPageName: this.pvCurPageName,
+			};
+			util.trackRequest(param);//发送统一PV埋点
+		}
+	},
+	methods: {
+		pvShowHandle(){
+			if(this.pvId){
+				let param = {
+					type: 'PV',
+					pvId: this.pvId,
+					locusBehaviorName: this.locusBehaviorName,
+					pvCurPageName: this.pvCurPageName,
+				};
+				util.trackRequest(param);//发送统一PV埋点
+			}
+		},
+		pvCloseHandle(){
+			if(this.pvId){
+				let param = {
+					type: 'PV',
+					pvId: this.pvId + '_close',
+					pvCurPageName: this.pvCurPageName,
+					locusBehaviorName: this.locusBehaviorName,
+				};
+				util.trackRequest(param);
+			}
+		},
+	}
+}

+ 0 - 2
src/mixins/screenshot.js

@@ -7,8 +7,6 @@ export default {
 		}
 	},
 	watch: {},
-	onReady() {
-	},
 	methods: {
 		//触发主页面的截屏动作
 		screenPromiseShot() {

+ 4 - 1
src/pages/webgl_rxdz/webgl_rxdz.vue

@@ -19,11 +19,12 @@
 	import floorMethod from '@/mixins/floorMethod.js';
 	import wallMethod from '@/mixins/wallMethod.js';
 	import loadModel from '@/mixins/loadModel.js';
+	import commonPageMethod from '@/mixins/commonPageMethod.js';
 	import viewShell from'@/components/newBottomCom/viewShell/viewShell.vue';
 	export default {
 		name:"webgl_rxdz",
 		components:{viewShell},
-		mixins:[screenshot,floorMethod,wallMethod,loadModel],
+		mixins:[screenshot,floorMethod,wallMethod,loadModel,commonPageMethod],
 		/**
 		 * 页面的初始数据
 		 */
@@ -592,6 +593,7 @@
 			
 		},
 		onShow(){
+			console.warn("---onShow1---",this.pvId)
 			if(this.attendEvent){
 				this.attendEvent()
 			}
@@ -607,6 +609,7 @@
 				return this.$store.state.userId;
 			},
 		},
+
 		methods: {
 			voiceMaskChange(voiceMask){
 				this.voiceMaskShow = voiceMask;

+ 2 - 1
src/pages/webgl_rxdz_customize/webgl_rxdz_customize.vue

@@ -6,12 +6,13 @@
 	const config = require('@/services/urlConfig.js');
 	import router from "@/router";
 	import touchHandle from '@/mixins/touchHandle.js';
+	import commonPageMethod from '@/mixins/commonPageMethod.js';
 // const app = getApp(); //获取应用实例
 // import requestConfig from '@/static/lib/requestConfig.js';
 // import commonPageMethod from '@/common/commonPageMethod.js';
 // import commonMethod from '@/common/commonMethod.js';
 export default {
-    mixins: [touchHandle],
+    mixins: [touchHandle,commonPageMethod],
     /**
      * 页面的初始数据
      */

+ 4 - 3
src/pages/webgl_rxdz_look/webgl_rxdz_look.vue

@@ -15,10 +15,10 @@
 	import loadModel from '@/mixins/loadModel.js';
 	import wallMethod from '@/mixins/wallMethod.js';
 	import floorMethod from '@/mixins/floorMethod.js';
-	// import commonPageMethod from '@/common/commonPageMethod.js';
+	import commonPageMethod from '@/mixins/commonPageMethod.js';
     // const app = getApp(); //获取应用实例
     export default {
-		mixins:[loadModel,floorMethod,wallMethod],
+		mixins:[loadModel,floorMethod,wallMethod,commonPageMethod],
         /**
          * 页面的初始数据
          */
@@ -26,8 +26,9 @@
             return {
 				pvCurPageName: "webgl_rxdz_look",
 				pvCurPageParams: null,
+				locusBehaviorName: "查看页面",
                 houseId: "",
-				pvId: 'p_2cmina_01043',
+				pvId: 'p_2cmina_23080404',
 				navbar: {
 				    showCapsule: 1,
 				    title: '查看户型',

+ 2 - 1
src/pages/webgl_rxdz_roam/webgl_rxdz_roam.vue

@@ -22,11 +22,12 @@
 	import floorMethod from '@/mixins/floorMethod.js';
 	import loadModel from '@/mixins/loadModel.js';
 	import wallMethod from '@/mixins/wallMethod.js';
+	import commonPageMethod from '@/mixins/commonPageMethod.js';
 	// import commonPageMethod from '@/common/commonPageMethod.js';
     // const app = getApp(); //获取应用实例
     export default {
 		components:{viewShell,viewMask},
-		mixins:[screenshot,loadModel,floorMethod,wallMethod],
+		mixins:[screenshot,loadModel,floorMethod,wallMethod,commonPageMethod],
         /**
          * 页面的初始数据
          */

+ 2 - 5
src/router/index.js

@@ -63,14 +63,11 @@ const router = new Router({
     ],
 })
 // router.beforeRouteLeave = (to, from, next)=> {
-//     if (from.meta.keepAlive && !to.meta.keepAlive) {
-//       const cachedInstance = this.$refs.keepAlive.$refs.instance
-//       cachedInstance && cachedInstance.$options.beforeRouteLeave && cachedInstance.$options.beforeRouteLeave.call(cachedInstance, to, from, next)
-//     }
+//     console.warn("router:start-2", from,to);
 //     next()
 // }
 // router.beforeEach((to, from, next) => {
-// 	// console.warn("router:start-1", from,to);
+// 	console.warn("router:start-1", from,to);
 // 	//如果存在用户账号信息|| to.query.uid
 // 	next();
 // })

+ 1 - 0
src/static/globlShowModel.js

@@ -81,6 +81,7 @@ var globlShowModel = [
 	'BP_L_2Sofa03',
 	'BP_XSPACE_painting_05',
 	'BP_T_1PeopleBasin03',
+	'BP_AutoWall_51M',
 ];
 
 module.exports = globlShowModel;

+ 33 - 25
src/utils/util.js

@@ -158,46 +158,55 @@ var util = {
 		}
 		try {
 			var session = Number(getStorage('sessionNumber')) + 1;
+			
+			if(typeof (para.clkParams) == 'object'){
+			    let obj = {
+			        locusBehaviorName: para.locusBehaviorName ? para.locusBehaviorName : ''
+			    }
+			    para.clkParams = Object.assign(obj,para.clkParams)
+			}
+			
+			let pvCurPageParams = "";//字符串string对象
+			if(para.pvCurPageParams){//调用的时候传递进来的-先转为对象
+				pvCurPageParams = typeof para.pvCurPageParams === 'object' ? para.pvCurPageParams : JSON.parse(para.pvCurPageParams)
+			}else{
+				pvCurPageParams = {};
+			}
+			let urlObj = util.getUrlParams(location.href) || {};
+			let brandId = urlObj.special_ID || urlObj.brandId || ''
+			//在页面参数里面手动添加path参数
+			pvCurPageParams.brandId = brandId;
+			pvCurPageParams.locusBehaviorName = para.locusBehaviorName || '';
+			pvCurPageParams.locusValue = para.locusValue || '';
+			pvCurPageParams.locusName = para.locusName || '';
 			let data = {
 				session: '',
 				userAgent: navigator.userAgent.substring(0, 255) || '',
 				browserName: navigator.appName || '',
 				browserVersion: navigator.appVersion.substring(0, 255) || '',
-				platform: location.href.indexOf("shareSign") > -1 ? 'h5' : 'tfb', //iframeUrl代表是顾问分享的外链
-				fromPlatform: util.getUrlParams(location.href).fromPlatform || util.getUrlParams(location.href)
-					.fromProduce || 'tfb',
-				deviceType: '' || "",
+				platform: 'h5', //iframeUrl代表是顾问分享的外链
+				fromPlatform: urlObj.fromPlatform || urlObj.fromProduce || 'h5',
 				ip: window.ip || '',
 				cookieId: from_cookie || getStorage("cookie_id") || '',
-				openId: util.getUrlParams(location.href).openid,
-				userId: util.getUrlParams(location.href).leavePhoneCustomerId || '',
-				brandUserId: util.getUrlParams(location.href).leavePhoneCustomerId || '',
+				openId: urlObj.openid || '',
+				userId: urlObj.leavePhoneCustomerId || '',
+				brandUserId: urlObj.leavePhoneCustomerId || '',
 				createTime: this.formatTime(new Date()),
 				uploadTime: this.formatTime(new Date()),
-				product: location.href.indexOf("shareSign") > -1 ? 'h5' : 'tfb', //iframeUrl代表是顾问分享的外链
-				project: para.project,
-				brandId: util.getUrlParams(location.href).special_ID || util.getUrlParams(location.href)
-					.brandId || null,
-				// expand:typeof para.expand==='object'?JSON.stringify(para.expand):para.expand,//扩展字段
-				expand: JSON.stringify(util.getUrlParams(location.href)), //扩展字段
+				product: 'h5', //iframeUrl代表是顾问分享的外链
+				project: para.project || urlObj.xcxHouseId || '',
+				brandId: brandId,
+				expand: JSON.stringify(urlObj), //扩展字段
 				imTalkId: para.imTalkId || '', //IM对话编号
 				imTalkType: para.imTalkType || '', //IM对话类型
-				eventModuleDes: para.eventModuleDes || '', //模块描述信息
-				eventInnerModuleId: para.eventInnerModuleId || '', //事件内部模块信息
 				eventName: para.eventName || '', //事件名称
-				eventId: para.eventId || '', //埋点ID
-				adviserId: para.adviserId || '', //顾问id
 				clkDesPage: para.clkDesPage || '', //点击前往的页面名称
 				clkId: para.clkId || '', //点击ID
 				clkName: para.clkName || '',
 				pvId: para.pvId || '', //PV埋点ID
-				clkParams: typeof para.clkParams === 'object' ? JSON.stringify(para.clkParams) : para
-				.clkParams, //点击参数
-				pvPageStayTime: para.pvPageStayTime || '',
+				clkParams: typeof para.clkParams === 'object' ? JSON.stringify(para.clkParams) : (para.clkParams || ''), //点击参数
 				pvCurPageName: para.pvCurPageName || '', //当前页面名称
-				pvCurPageParams: typeof para.pvCurPageParams === 'object' ? JSON.stringify(para
-					.pvCurPageParams) : para.pvCurPageParams ||
-					'', //当前页面参数
+				pvCurPageParams: typeof pvCurPageParams === 'object' ? JSON.stringify(pvCurPageParams) : (pvCurPageParams ||''), //当前页面参数
 				pvLastPageName: para.pvLastPageName || '', //上一页页面名称
 				pvLastPageParams: para.pvLastPageParams || '', //上一页页面参数
 				pvPageLoadTime: para.pvPageLoadTime || '', //加载时间
@@ -211,7 +220,6 @@ var util = {
 			session = Number(getStorage('sessionNumber')) + 1;
 			data.session = from_session || getStorage("cookie_id") + "_" + session || '';
 			sessionTime = timeNow
-			console.log(data.session)
 			// return data;
 			// app.globalData.session_id = data.session
 			// app.globalData.sessionTime = timeNow;
@@ -225,7 +233,7 @@ var util = {
 			// 	"\u0000"
 			// ];
 			// app.wsSendOrder(param,data);//socket 消息发送
-			console.warn("***mook***", (data.pvId || data.clkId || data.eventId), data.reserve3)
+			console.warn("***mook***", (data.pvId || data.clkId || data.eventId), data)
 		} catch (e) {
 			console.warn("***util.js-onError***", e);
 		}