|
@@ -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);
|
|
|
}
|