123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import axios from 'axios';
- import { logType } from './logEnum.js';
- const logApi = {
- prod: 'https://log.weiqumeta.com',
- pre: 'https://prelog.weiqumeta.com',
- test: 'https://testlog.weiqumeta.com'
- }
- const logAPIUrl = logApi[process.env.NUXT_ENV.MODE] + '/log-center'
- /**
- * @eventData 以键值对存储,会在最终上报里解开的参数
- * @extParams 最终上报到阿里云以json字符串存储的参数,如果extparams传入的不是obj会转换成obj
- */
- export function reportLog(params) {
- paramsPretreatmentAndRequest(logType.denet, params)
- }
- function paramsPretreatmentAndRequest(logType, params) {
- let {eventData = {}, extParams = {}} = params.params || {
- params: {
- }
- }
- extParams = wrapObject(extParams)
- params.params.logType = logType;
- params.params.eventData = JSON.stringify(eventData)
- params.params.extParams = JSON.stringify(extParams)
-
- axios.post(`${logAPIUrl}/statistics/uploadLogFromFrontend`, params)
- }
- function wrapObject(extParams) {
- if (typeDecide(extParams, 'Object')) {
- return extParams
- }
- return { 'defaultExt': extParams }
- }
- /**
- * 检测对象类型
- */
- function typeDecide(o, type) {
- return Object.prototype.toString.call(o) === `[object ${type}]`;
- }
|