Loading...
s;this.enable=t,this.enableToggle(this.enable)}config(l){this.baseInfo=Object.assign({},this.baseInfo,l)}onClick(l){const o=l.target&&l.target.getAttribute("data-log");o&&this.upload(o)}eventToggle(l){L(()=>{l?document.body.addEventListener("click",this.onClick,!1):document.body.removeEventListener("click",this.onClick,!1)})}enableToggle(l){this.enable=l,this.errorCapture(l),this.eventToggle(l)}async uploadAll(){if(!this.enable||!this.uploadQueue.length)return;const l=this.uploadQueue[0];await this.upload(l)}async upload(l,o={}){if(!this.enable)return!1;let n="",t="",i="";if(typeof l=="string")try{({eventName:n,params:t,typeName:i}=JSON.parse(l))}catch{return console.warn("埋点参数解析出错",l),!0}else({eventName:n,params:t,typeName:i}=l);if(!n||!i)return console.warn("埋点参数解析出错, 缺失 eventName 或 typeName",l),!0;const a={jsonInfo:{reportInfo:{eventName:n,params:t},baseInfo:{userAgent:navigator.userAgent,...this.baseInfo,pageUrl:window.location.href,typeName:i,requestTime:b(),uniqueKey:d(),...o}}};return a.jsonInfo.baseInfo.userName||(a.jsonInfo.baseInfo.userName=window.localStorage.getItem("userName")||""),this.log&&console.log("log: ",a),await r({url:u.url,data:a,retry:3,onSuccess:()=>{this.uploadErrorCount=0},onError:()=>{this.uploadErrorCount++}}),!0}}return V});