|
@@ -1,8 +1,7 @@
|
|
|
import { logApi, reportFrontLogApi } from '@/http/logApi'
|
|
|
import { getBrowser } from '@/uilts/help.js';
|
|
|
import { logType } from './logEnum.js';
|
|
|
-import { getChromeStorage } from '@/uilts/chromeExtension'
|
|
|
-
|
|
|
+import { getChromeStorage, setChromeStorage } from '@/uilts/chromeExtension'
|
|
|
let userInfo = null;
|
|
|
let mid = '';
|
|
|
/**
|
|
@@ -10,39 +9,49 @@ let mid = '';
|
|
|
* @extParams 最终上报到阿里云以json字符串存储的参数,如果extparams传入的不是obj会转换成obj
|
|
|
*/
|
|
|
export async function reportLog(eventData = {}, extParams = {}) {
|
|
|
- if (!userInfo) {
|
|
|
- userInfo = await getChromeStorage('userInfo') || null;
|
|
|
- }
|
|
|
- if (!mid) {
|
|
|
- mid = await getChromeStorage('mid') || '';
|
|
|
- }
|
|
|
- let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
|
|
|
- let platform = isMobile ? `mobile` : `pc`;
|
|
|
- let browser = getBrowser();
|
|
|
- if (chrome && chrome.tabs) {
|
|
|
- chrome.tabs.getCurrent((tab) => {
|
|
|
- if (tab && tab.url) {
|
|
|
- let { url = '' } = tab;
|
|
|
- let extData = {
|
|
|
- url,
|
|
|
- platform,
|
|
|
- browser,
|
|
|
- twitterId: userInfo && userInfo.nickName || '',
|
|
|
- ...eventData,
|
|
|
- }
|
|
|
- paramsPretreatmentAndRequest(logType.denet, extData, extParams)
|
|
|
- }else{
|
|
|
- let extData = {
|
|
|
- platform,
|
|
|
- browser,
|
|
|
- twitterId: userInfo && userInfo.nickName || '',
|
|
|
- ...eventData,
|
|
|
+ // 2.reportLog 异常 存储到本地,再上报
|
|
|
+ try {
|
|
|
+ if (!userInfo) {
|
|
|
+ userInfo = await getChromeStorage('userInfo') || null;
|
|
|
+ }
|
|
|
+ if (!mid) {
|
|
|
+ mid = await getChromeStorage('mid') || '';
|
|
|
+ }
|
|
|
+ let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
|
|
|
+ let platform = isMobile ? `mobile` : `pc`;
|
|
|
+ let browser = getBrowser();
|
|
|
+ if (chrome && chrome.tabs) {
|
|
|
+ chrome.tabs.getCurrent((tab) => {
|
|
|
+ if (tab && tab.url) {
|
|
|
+ let { url = '' } = tab;
|
|
|
+ let extData = {
|
|
|
+ url,
|
|
|
+ platform,
|
|
|
+ browser,
|
|
|
+ twitterId: userInfo && userInfo.nickName || '',
|
|
|
+ ...eventData,
|
|
|
+ }
|
|
|
+ paramsPretreatmentAndRequest(logType.denet, extData, extParams)
|
|
|
+ } else {
|
|
|
+ let extData = {
|
|
|
+ platform,
|
|
|
+ browser,
|
|
|
+ twitterId: userInfo && userInfo.nickName || '',
|
|
|
+ ...eventData,
|
|
|
+ }
|
|
|
+ paramsPretreatmentAndRequest(logType.denet, extData, extParams)
|
|
|
}
|
|
|
- paramsPretreatmentAndRequest(logType.denet, extData, extParams)
|
|
|
- }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ paramsPretreatmentAndRequest(logType.denet, eventData, extParams)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ reportFrontLogApi({
|
|
|
+ logData: JSON.stringify({
|
|
|
+ funcName: 'reportLog',
|
|
|
+ errmsg: error.message
|
|
|
+ })
|
|
|
})
|
|
|
- } else {
|
|
|
- paramsPretreatmentAndRequest(logType.denet, eventData, extParams)
|
|
|
}
|
|
|
}
|
|
|
|