|  | @@ -91,10 +91,24 @@ function websocketclose(e) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function websocketsend(Data) {
 | 
	
		
			
				|  |  | -    console.log('ws状态', wsConfig.ws.readyState)
 | 
	
		
			
				|  |  | -	if(wsConfig.ws.readyState==1){
 | 
	
		
			
				|  |  | +    console.log('ws状态', wsConfig.ws)
 | 
	
		
			
				|  |  | +	if(wsConfig.ws && wsConfig.ws.readyState==1){
 | 
	
		
			
				|  |  | +		let param = [
 | 
	
		
			
				|  |  | +			"SEND" +
 | 
	
		
			
				|  |  | +			"\nproject:" +
 | 
	
		
			
				|  |  | +			"elab-marketing-system" +
 | 
	
		
			
				|  |  | +			"\nmethod:" +
 | 
	
		
			
				|  |  | +			"POST" +
 | 
	
		
			
				|  |  | +			"\npath:" +
 | 
	
		
			
				|  |  | +			"/behavior/brandMiniWeb/upload" +
 | 
	
		
			
				|  |  | +			"\ndestination:" +
 | 
	
		
			
				|  |  | +			"/ws/remote/invoke" +
 | 
	
		
			
				|  |  | +			"\n\n" +
 | 
	
		
			
				|  |  | +			JSON.stringify(Data) +
 | 
	
		
			
				|  |  | +			"\u0000",
 | 
	
		
			
				|  |  | +		];
 | 
	
		
			
				|  |  |  		//数据发送
 | 
	
		
			
				|  |  | -		wsConfig.ws.send(Data);
 | 
	
		
			
				|  |  | +		wsConfig.ws.send(JSON.stringify(param));
 | 
	
		
			
				|  |  |  	}else{
 | 
	
		
			
				|  |  |  		// 如果还没有创建好socket链接或者链接还没打开,则放到待发送列表中
 | 
	
		
			
				|  |  |  		if(Data){
 | 
	
	
		
			
				|  | @@ -126,15 +140,17 @@ function getQueryString(name) {
 | 
	
		
			
				|  |  |   * 初始进入页面参数
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  function initPage(){
 | 
	
		
			
				|  |  | +	let userInfo = getStorage('userInfo') ? JSON.parse(getStorage('userInfo')) : null;
 | 
	
		
			
				|  |  |  	let queryObj = getStorage('queryObj') ? JSON.parse(getStorage('queryObj')) : null;
 | 
	
		
			
				|  |  |  	let urlObj = queryObj || util.getUrlParams(location.href) || {};
 | 
	
		
			
				|  |  | -	let brandId = urlObj.special_ID || $config.brandId || ''
 | 
	
		
			
				|  |  | +	let brandId = urlObj.brandId || urlObj.special_ID || $config.brandId || '';
 | 
	
		
			
				|  |  | +	let userId = urlObj.leavePhoneCustomerId ? urlObj.leavePhoneCustomerId : (userInfo?userInfo.userId:'');
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |          session: urlObj.session || '',
 | 
	
		
			
				|  |  |          // 项目id,默认仙女山项目
 | 
	
		
			
				|  |  |          houseId: urlObj.xcxHouseId || '',
 | 
	
		
			
				|  |  | -        userId: urlObj.leavePhoneCustomerId || '',
 | 
	
		
			
				|  |  | -        openId: urlObj.openid || '',
 | 
	
		
			
				|  |  | +        userId: userId || '',
 | 
	
		
			
				|  |  | +        openId: urlObj.openid || (userInfo ? userInfo.openId : ''),
 | 
	
		
			
				|  |  |          brandId: brandId || '',
 | 
	
		
			
				|  |  |          product: urlObj.xcxHouseId || '',
 | 
	
		
			
				|  |  |          fromPlatform: urlObj.fromProduce || '',
 | 
	
	
		
			
				|  | @@ -165,9 +181,31 @@ function connectSend(openid, userid, houseId) {
 | 
	
		
			
				|  |  |  	if (socketTaskList && socketTaskList.length > 0) {
 | 
	
		
			
				|  |  |  		for (var i = 0; i < socketTaskList.length; i++) {
 | 
	
		
			
				|  |  |  			if(socketTaskList[i]){
 | 
	
		
			
				|  |  | -				console.log("***ws-socketTaskList列表***", i)
 | 
	
		
			
				|  |  | +				// wsConfig.ws.send(socketTaskList[i]);
 | 
	
		
			
				|  |  | +				if(!socketTaskList[i].userId){
 | 
	
		
			
				|  |  | +					socketTaskList[i].userId = userid;
 | 
	
		
			
				|  |  | +					socketTaskList[i].brandUserId = userid;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				if(!socketTaskList[i].openId){
 | 
	
		
			
				|  |  | +					socketTaskList[i].openId = openid;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				// console.log("***ws-socketTaskList列表***", socketTaskList[i])
 | 
	
		
			
				|  |  | +				let param = [
 | 
	
		
			
				|  |  | +					"SEND" +
 | 
	
		
			
				|  |  | +					"\nproject:" +
 | 
	
		
			
				|  |  | +					"elab-marketing-system" +
 | 
	
		
			
				|  |  | +					"\nmethod:" +
 | 
	
		
			
				|  |  | +					"POST" +
 | 
	
		
			
				|  |  | +					"\npath:" +
 | 
	
		
			
				|  |  | +					"/behavior/brandMiniWeb/upload" +
 | 
	
		
			
				|  |  | +					"\ndestination:" +
 | 
	
		
			
				|  |  | +					"/ws/remote/invoke" +
 | 
	
		
			
				|  |  | +					"\n\n" +
 | 
	
		
			
				|  |  | +					JSON.stringify(socketTaskList[i]) +
 | 
	
		
			
				|  |  | +					"\u0000",
 | 
	
		
			
				|  |  | +				];
 | 
	
		
			
				|  |  |  				// 发送堆积的待发送消息
 | 
	
		
			
				|  |  | -				wsConfig.ws.send(socketTaskList[i]);
 | 
	
		
			
				|  |  | +				wsConfig.ws.send(JSON.stringify(param));
 | 
	
		
			
				|  |  |  				socketTaskList[i] = null;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -202,7 +240,7 @@ function reconnect() {
 | 
	
		
			
				|  |  |   *  重置ws连接
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  function reset() {
 | 
	
		
			
				|  |  | -    console.log('重置ws', wsConfig)
 | 
	
		
			
				|  |  | +    console.log('重启心跳')
 | 
	
		
			
				|  |  |      //重置心跳
 | 
	
		
			
				|  |  |      clearTimeout(wsConfig.timeoutObj);
 | 
	
		
			
				|  |  |      //清除时间
 | 
	
	
		
			
				|  | @@ -217,14 +255,14 @@ function reset() {
 | 
	
		
			
				|  |  |  function start() {
 | 
	
		
			
				|  |  |      let ws = wsConfig.ws;
 | 
	
		
			
				|  |  |      //开启心跳
 | 
	
		
			
				|  |  | -    console.log("开启心跳", wsConfig);
 | 
	
		
			
				|  |  | +    console.log("开启心跳", wsConfig,ws.readyState);
 | 
	
		
			
				|  |  |      wsConfig.timeoutObj && clearTimeout(wsConfig.timeoutObj);
 | 
	
		
			
				|  |  |      wsConfig.serverTimeoutObj && clearTimeout(wsConfig.serverTimeoutObj);
 | 
	
		
			
				|  |  |      wsConfig.timeoutObj = setTimeout(function() {
 | 
	
		
			
				|  |  |          //这里发送一个心跳,后端收到后,返回一个心跳消息,
 | 
	
		
			
				|  |  |          if (ws.readyState == 1) {
 | 
	
		
			
				|  |  |              //如果连接正常
 | 
	
		
			
				|  |  | -            // websock.send("heartCheck"); //这里可以自己跟后端约定
 | 
	
		
			
				|  |  | +            ws.send("heartCheck"); //这里可以自己跟后端约定
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              //否则重连
 | 
	
		
			
				|  |  |              reconnect();
 | 
	
	
		
			
				|  | @@ -390,6 +428,8 @@ var util = {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			let queryObj = getStorage('queryObj') ? JSON.parse(getStorage('queryObj')) : null;
 | 
	
		
			
				|  |  |  			let urlObj = queryObj || util.getUrlParams(location.href) || {};
 | 
	
		
			
				|  |  | +			let userInfo = getStorage('userInfo') ? JSON.parse(getStorage('userInfo')) : null;
 | 
	
		
			
				|  |  | +			let userId = urlObj.leavePhoneCustomerId ? urlObj.leavePhoneCustomerId : (userInfo?userInfo.userId:'');
 | 
	
		
			
				|  |  |  			let brandId = urlObj.special_ID || $config.brandId || ''
 | 
	
		
			
				|  |  |  			//在页面参数里面手动添加path参数
 | 
	
		
			
				|  |  |  			pvCurPageParams.brandId = brandId;
 | 
	
	
		
			
				|  | @@ -405,9 +445,9 @@ var util = {
 | 
	
		
			
				|  |  |  				fromPlatform: urlObj.fromPlatform || urlObj.fromProduce || 'h5',
 | 
	
		
			
				|  |  |  				ip: window.ip || '',
 | 
	
		
			
				|  |  |  				cookieId: from_cookie || getStorage("cookie_id") || '',
 | 
	
		
			
				|  |  | -				openId: urlObj.openid || '',
 | 
	
		
			
				|  |  | -				userId: urlObj.leavePhoneCustomerId || '',
 | 
	
		
			
				|  |  | -				brandUserId: urlObj.leavePhoneCustomerId || '',
 | 
	
		
			
				|  |  | +				openId: urlObj.openid || (userInfo ? userInfo.openId : ''),
 | 
	
		
			
				|  |  | +				userId: userId,
 | 
	
		
			
				|  |  | +				brandUserId: userId,
 | 
	
		
			
				|  |  |  				createTime: this.formatTime(new Date()),
 | 
	
		
			
				|  |  |  				uploadTime: this.formatTime(new Date()),
 | 
	
		
			
				|  |  |  				product: 'h5', //iframeUrl代表是顾问分享的外链
 | 
	
	
		
			
				|  | @@ -428,6 +468,7 @@ var util = {
 | 
	
		
			
				|  |  |  				pvLastPageParams: para.pvLastPageParams || '', //上一页页面参数
 | 
	
		
			
				|  |  |  				pvPageLoadTime: para.pvPageLoadTime || '', //加载时间
 | 
	
		
			
				|  |  |  				type: para.type || '', //埋点类型
 | 
	
		
			
				|  |  | +				reserve1: urlObj.channel || '', //来源平台,抖音百度微信
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			let timeNow = new Date().getTime();
 | 
	
		
			
				|  |  |  			let session = getStorage('sessionNumber') ? Number(getStorage('sessionNumber')) : timeNow;
 | 
	
	
		
			
				|  | @@ -452,22 +493,23 @@ var util = {
 | 
	
		
			
				|  |  |  			// ];
 | 
	
		
			
				|  |  |  			// app.wsSendOrder(param,data);//socket 消息发送
 | 
	
		
			
				|  |  |  			console.warn("***mook***", (data.pvId || data.clkId || data.eventId), data)
 | 
	
		
			
				|  |  | -			let param = [
 | 
	
		
			
				|  |  | -			    "SEND" +
 | 
	
		
			
				|  |  | -			    "\nproject:" +
 | 
	
		
			
				|  |  | -			    "elab-marketing-system" +
 | 
	
		
			
				|  |  | -			    "\nmethod:" +
 | 
	
		
			
				|  |  | -			    "POST" +
 | 
	
		
			
				|  |  | -			    "\npath:" +
 | 
	
		
			
				|  |  | -			    "/behavior/brandMiniWeb/upload" +
 | 
	
		
			
				|  |  | -			    "\ndestination:" +
 | 
	
		
			
				|  |  | -			    "/ws/remote/invoke" +
 | 
	
		
			
				|  |  | -			    "\n\n" +
 | 
	
		
			
				|  |  | -			    JSON.stringify(data) +
 | 
	
		
			
				|  |  | -			    "\u0000",
 | 
	
		
			
				|  |  | -			];
 | 
	
		
			
				|  |  | -			console.log("上报埋点数据", param);
 | 
	
		
			
				|  |  | -			websocketsend(JSON.stringify(param));
 | 
	
		
			
				|  |  | +			// let param = [
 | 
	
		
			
				|  |  | +			//     "SEND" +
 | 
	
		
			
				|  |  | +			//     "\nproject:" +
 | 
	
		
			
				|  |  | +			//     "elab-marketing-system" +
 | 
	
		
			
				|  |  | +			//     "\nmethod:" +
 | 
	
		
			
				|  |  | +			//     "POST" +
 | 
	
		
			
				|  |  | +			//     "\npath:" +
 | 
	
		
			
				|  |  | +			//     "/behavior/brandMiniWeb/upload" +
 | 
	
		
			
				|  |  | +			//     "\ndestination:" +
 | 
	
		
			
				|  |  | +			//     "/ws/remote/invoke" +
 | 
	
		
			
				|  |  | +			//     "\n\n" +
 | 
	
		
			
				|  |  | +			//     JSON.stringify(data) +
 | 
	
		
			
				|  |  | +			//     "\u0000",
 | 
	
		
			
				|  |  | +			// ];
 | 
	
		
			
				|  |  | +			// console.log("上报埋点数据", param);
 | 
	
		
			
				|  |  | +			// websocketsend(JSON.stringify(param));
 | 
	
		
			
				|  |  | +			websocketsend(data);
 | 
	
		
			
				|  |  |  		} catch (e) {
 | 
	
		
			
				|  |  |  			console.warn("***util.js-onError***", e);
 | 
	
		
			
				|  |  |  		}
 |