@zxhy-npm/send-sls-logger 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/trace.js +53 -10
  2. package/package.json +1 -1
package/lib/trace.js CHANGED
@@ -46,13 +46,12 @@ export const browserInfo = (() => {
46
46
  let browserVersion = '';
47
47
  let osName = '';
48
48
  let osVersion = '';
49
- // 检测操作系统
49
+ // 检测操作系统部分保持不变
50
50
  if (ua.indexOf('Win') > -1) {
51
51
  osName = 'Windows';
52
52
  }
53
53
  else if (ua.indexOf('Mac') > -1) {
54
54
  osName = 'MacOS';
55
- // 匹配 Mac OS X 10_15_7 或 Mac OS X 13_1_0 这样的格式
56
55
  const macVersion = ua.match(/Mac OS X (\d+[._]\d+[._]\d+)/);
57
56
  if (macVersion) {
58
57
  osVersion = macVersion[1].replace(/_/g, '.');
@@ -64,24 +63,68 @@ export const browserInfo = (() => {
64
63
  else if (ua.indexOf('X11') > -1) {
65
64
  osName = 'Unix';
66
65
  }
67
- // 检测浏览器
68
- if (ua.indexOf('Chrome') > -1) {
69
- browserName = 'Chrome';
70
- browserVersion = ua.match(/Chrome\/(\d+\.\d+)/)?.[1] || '';
66
+ // 检测浏览器,按优先级排序
67
+ if (ua.indexOf('QQBrowser') > -1) {
68
+ browserName = 'QQ浏览器';
69
+ browserVersion = ua.match(/QQBrowser\/([\d.]+)/)?.[1] || '';
70
+ }
71
+ else if (ua.indexOf('MicroMessenger') > -1) {
72
+ browserName = '微信';
73
+ browserVersion = ua.match(/MicroMessenger\/([\d.]+)/)?.[1] || '';
74
+ }
75
+ else if (ua.indexOf('Edge') > -1) {
76
+ browserName = 'Edge';
77
+ browserVersion = ua.match(/Edge\/([\d.]+)/)?.[1] || '';
78
+ }
79
+ else if (ua.indexOf('360EE') > -1) {
80
+ browserName = '360极速浏览器';
81
+ }
82
+ else if (ua.indexOf('360SE') > -1) {
83
+ browserName = '360安全浏览器';
84
+ }
85
+ else if (ua.indexOf('Maxthon') > -1) {
86
+ browserName = '遨游浏览器';
87
+ browserVersion = ua.match(/Maxthon\/([\d.]+)/)?.[1] || '';
88
+ }
89
+ else if (ua.indexOf('QihooBrowser') > -1) {
90
+ browserName = '360浏览器';
91
+ browserVersion = ua.match(/QihooBrowser\/([\d.]+)/)?.[1] || '';
92
+ }
93
+ else if (ua.indexOf('UBrowser') > -1) {
94
+ browserName = 'UC浏览器';
95
+ browserVersion = ua.match(/UBrowser\/([\d.]+)/)?.[1] || '';
96
+ }
97
+ else if (ua.indexOf('DingTalk') > -1) {
98
+ browserName = '钉钉';
99
+ browserVersion = ua.match(/DingTalk\/([\d.]+)/)?.[1] || '';
100
+ }
101
+ else if (ua.indexOf('LBBROWSER') > -1) {
102
+ browserName = '猎豹浏览器';
71
103
  }
72
104
  else if (ua.indexOf('Firefox') > -1) {
73
105
  browserName = 'Firefox';
74
- browserVersion = ua.match(/Firefox\/(\d+\.\d+)/)?.[1] || '';
106
+ browserVersion = ua.match(/Firefox\/([\d.]+)/)?.[1] || '';
75
107
  }
76
- else if (ua.indexOf('Safari') > -1) {
108
+ else if (ua.indexOf('Safari') > -1 && ua.indexOf('Chrome') === -1) {
77
109
  browserName = 'Safari';
78
- browserVersion = ua.match(/Version\/(\d+\.\d+)/)?.[1] || '';
110
+ browserVersion = ua.match(/Version\/([\d.]+)/)?.[1] || '';
111
+ }
112
+ else if (ua.indexOf('Chrome') > -1) {
113
+ browserName = 'Chrome';
114
+ browserVersion = ua.match(/Chrome\/([\d.]+)/)?.[1] || '';
79
115
  }
80
116
  else if (ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1) {
81
117
  browserName = 'IE';
82
118
  browserVersion = ua.match(/(MSIE |rv:)(\d+\.\d+)/)?.[2] || '';
83
119
  }
84
- return `${osName}${osVersion ? ` ${osVersion}` : ''}-(${browserName}-${browserVersion})`;
120
+ // 获取 Chrome 内核版本
121
+ const chromeVersion = ua.match(/Chrome\/([\d.]+)/)?.[1];
122
+ const chromeKernel = chromeVersion ? ` (Chrome内核 ${chromeVersion})` : '';
123
+ // 对于使用 Chrome 内核的浏览器,添加内核版本信息
124
+ if (chromeVersion && browserName !== 'Chrome') {
125
+ browserVersion = `${browserVersion}${chromeKernel}`;
126
+ }
127
+ return `${osName}${osVersion ? ` ${osVersion}` : ''}-${browserName}-${browserVersion}`;
85
128
  })();
86
129
  export const mobileInfo = (() => {
87
130
  const ua = navigator.userAgent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zxhy-npm/send-sls-logger",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "阿里云sls的logger发送",
5
5
  "scripts": {
6
6
  "build": "rm -rf lib && tsc"