UNPKG

house-middleware-sdk

Version:

58 hosue rn native sdk

100 lines (93 loc) 3.24 kB
/** * 老埋点方法 * @param pageType * @param actionType * @param cate * @param params */ export function writeLog(pageType, actionType, cate, params) { if (!actionType) { console.error("actionType不能为空"); return; } if (typeof actionType !== "object") { console.error("actionType应该类似{'wb':'xxx','ajk':'123','jjr':'xxx'},'wbtz':'xxx'}"); return; } if (!actionType.wb && !actionType.ajk && !actionType.jjr && !actionType.wbtz) { console.error("至少有一个平台设置actionType"); return; } require("house-middleware-sdk/utils/findImpl") .default( () => writeLogWbImpl(String(pageType), String(actionType.wb), String(cate), null, params), () => writeLogAjkImpl(String(pageType), String(actionType.ajk), String(cate), null, params), () => writeYdjjrImpl(String(pageType), String(actionType.jjr), String(cate), null, params), () => writeLogWbtzImpl(String(pageType), String(actionType.wbtz), String(cate), null, params) ); } /** * 新埋点 带sidDict参数 * @param pageType string * @param actionType string * @param cate string * @param sidDict map * @param params map */ export function writeLogWithSid(pageType, actionType, cate, sidDict, params) { if (!actionType) { console.error('actionType不能为空'); return; } if (typeof actionType !== 'object') { console.error('actionType应该类似{\'wb\':\'xxx\',\'ajk\':\'123\',\'jjr\':\'123\',\'wbtz\':\'123\'}'); return; } if (!actionType.wb && !actionType.ajk && !actionType.jjr && !actionType.wbtz) { console.error("至少有一个平台设置actionType"); return; } require('house-middleware-sdk/utils/findImpl') .default( () => writeLogWbImpl(String(pageType), String(actionType.wb), String(cate), sidDict, params), () => writeLogAjkImpl(String(pageType), String(actionType.ajk), String(cate), sidDict, params), () => writeYdjjrImpl(String(pageType), String(actionType.jjr), String(cate), sidDict, params), () => writeLogWbtzImpl(String(pageType), String(actionType.jjr), String(cate), sidDict, params) ); } function writeLogWbImpl(pageType, actionType, cate, sidDict, params) { let pArray = []; if (params) { Object.keys(params).forEach(function (key) { pArray.push(String(params[key])) }); } let paramsObject = { pagetype: pageType, actiontype: actionType, cate: cate, paramsArray: pArray, paramsJson: sidDict ? sidDict : {} }; require("@w/wbapp").setWebLog(paramsObject); } function writeLogAjkImpl(pageType, actionType, cate, sidDict, params) { let pObj = {}; if (params) { Object.keys(params).forEach(function (key) { pObj[key] = String(params[key]) }); } pObj["cate"] = String(cate); if (sidDict) { pObj['sid'] = JSON.stringify(sidDict); } require("ajkapp").writeLog(actionType, pObj); } function writeYdjjrImpl(pageType, actionType, cate, sidDict, params) { require('react-native').NativeModules?.WmdaModule?.writeLog(actionType, params); } //TODO:{58同镇 老版埋点 ...} function writeLogWbtzImpl(pageType, actionType, cate, sidDict, params) { writeLogWbImpl(pageType, actionType, cate, sidDict, params); }