1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import {logApi} from '@/http/logApi'
- import { logType } from './logEnum.js';
- /**
- * @eventData 以键值对存储,会在最终上报里解开的参数
- * @extParams 最终上报到阿里云以json字符串存储的参数,如果extparams传入的不是obj会转换成obj
- */
- export function reportLog(eventData = {}, extParams = {}) {
- paramsPretreatmentAndRequest(logType.denet, eventData, extParams)
- }
- function paramsPretreatmentAndRequest(logType, eventData, extParams) {
- extParams = wrapObject(extParams)
- let obj = {};
- let pageSource = eventData.pageSource;
- if(eventData.hasOwnProperty('pageSource')) {
- delete eventData.pageSource;
- }
- obj.logType = logType;
- obj.eventData = JSON.stringify(eventData)
- obj.extParams = JSON.stringify(extParams)
- logApi({params: {
- pageSource,
- ...obj
- }})
- }
- function wrapObject(extParams) {
- if (typeDecide(extParams, 'Object')) {
- return extParams
- }
- return { 'defaultExt': extParams }
- }
- /**
- * 检测对象类型
- */
- function typeDecide(o, type) {
- return Object.prototype.toString.call(o) === `[object ${type}]`;
- }
|