@be-link/cls-logger 1.0.1-beta.26 → 1.0.1-beta.28

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.
package/dist/index.esm.js CHANGED
@@ -2986,7 +2986,7 @@ function getBrowserDeviceInfo(options) {
2986
2986
  if (options.includeNetwork) {
2987
2987
  try {
2988
2988
  const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2989
- if (conn && isPlainObject(conn)) {
2989
+ if (conn && typeof conn === 'object') {
2990
2990
  if (typeof conn.effectiveType === 'string')
2991
2991
  out.netEffectiveType = conn.effectiveType;
2992
2992
  if (typeof conn.downlink === 'number')
@@ -3001,6 +3001,43 @@ function getBrowserDeviceInfo(options) {
3001
3001
  // ignore
3002
3002
  }
3003
3003
  }
3004
+ if (options.includeNetworkType) {
3005
+ try {
3006
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
3007
+ if (conn && typeof conn === 'object') {
3008
+ const type = conn.type;
3009
+ const eff = conn.effectiveType;
3010
+ let val = '';
3011
+ if (type === 'wifi' || type === 'ethernet') {
3012
+ val = 'WIFI';
3013
+ }
3014
+ else if (type === 'cellular' || type === 'wimax') {
3015
+ if (eff === 'slow-2g' || eff === '2g')
3016
+ val = '2G';
3017
+ else if (eff === '3g')
3018
+ val = '3G';
3019
+ else if (eff === '4g')
3020
+ val = '4G';
3021
+ else
3022
+ val = '4G';
3023
+ }
3024
+ else {
3025
+ // type 未知或不支持,降级使用 effectiveType
3026
+ if (eff === 'slow-2g' || eff === '2g')
3027
+ val = '2G';
3028
+ else if (eff === '3g')
3029
+ val = '3G';
3030
+ else if (eff === '4g')
3031
+ val = '4G';
3032
+ }
3033
+ if (val)
3034
+ out.networkType = val;
3035
+ }
3036
+ }
3037
+ catch {
3038
+ // ignore
3039
+ }
3040
+ }
3004
3041
  return out;
3005
3042
  }
3006
3043
  function createWebDeviceInfoBaseFields(opts) {
@@ -3030,7 +3067,7 @@ function createWebDeviceInfoBaseFields(opts) {
3030
3067
  try {
3031
3068
  const g = globalThis;
3032
3069
  const extra = g[globalKey];
3033
- if (extra && isPlainObject(extra))
3070
+ if (extra && typeof extra === 'object')
3034
3071
  return { ...base, ...extra };
3035
3072
  }
3036
3073
  catch {
@@ -3067,7 +3104,7 @@ function getMiniProgramDeviceInfo(options) {
3067
3104
  try {
3068
3105
  if (typeof wxAny.getNetworkTypeSync === 'function') {
3069
3106
  const n = wxAny.getNetworkTypeSync();
3070
- out.networkType = n?.networkType ? String(n.networkType) : '';
3107
+ out.networkType = n?.networkType ? String(n.networkType).toUpperCase() : '';
3071
3108
  }
3072
3109
  else if (typeof wxAny.getNetworkType === 'function') {
3073
3110
  // 异步更新:先不阻塞初始化
@@ -3077,7 +3114,9 @@ function getMiniProgramDeviceInfo(options) {
3077
3114
  const g = globalThis;
3078
3115
  if (!g.__beLinkClsLoggerDeviceInfo__)
3079
3116
  g.__beLinkClsLoggerDeviceInfo__ = {};
3080
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3117
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType
3118
+ ? String(res.networkType).toUpperCase()
3119
+ : '';
3081
3120
  }
3082
3121
  catch {
3083
3122
  // ignore
@@ -3096,7 +3135,7 @@ function getMiniProgramDeviceInfo(options) {
3096
3135
  const g = globalThis;
3097
3136
  if (!g.__beLinkClsLoggerDeviceInfo__)
3098
3137
  g.__beLinkClsLoggerDeviceInfo__ = {};
3099
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3138
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType).toUpperCase() : '';
3100
3139
  }
3101
3140
  catch {
3102
3141
  // ignore
@@ -3137,7 +3176,7 @@ function createMiniDeviceInfoBaseFields(opts) {
3137
3176
  try {
3138
3177
  const g = globalThis;
3139
3178
  const extra = g[globalKey];
3140
- if (extra && isPlainObject(extra))
3179
+ if (extra && typeof extra === 'object')
3141
3180
  return { ...base, ...extra };
3142
3181
  }
3143
3182
  catch {
package/dist/index.js CHANGED
@@ -2990,7 +2990,7 @@ function getBrowserDeviceInfo(options) {
2990
2990
  if (options.includeNetwork) {
2991
2991
  try {
2992
2992
  const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2993
- if (conn && isPlainObject(conn)) {
2993
+ if (conn && typeof conn === 'object') {
2994
2994
  if (typeof conn.effectiveType === 'string')
2995
2995
  out.netEffectiveType = conn.effectiveType;
2996
2996
  if (typeof conn.downlink === 'number')
@@ -3005,6 +3005,43 @@ function getBrowserDeviceInfo(options) {
3005
3005
  // ignore
3006
3006
  }
3007
3007
  }
3008
+ if (options.includeNetworkType) {
3009
+ try {
3010
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
3011
+ if (conn && typeof conn === 'object') {
3012
+ const type = conn.type;
3013
+ const eff = conn.effectiveType;
3014
+ let val = '';
3015
+ if (type === 'wifi' || type === 'ethernet') {
3016
+ val = 'WIFI';
3017
+ }
3018
+ else if (type === 'cellular' || type === 'wimax') {
3019
+ if (eff === 'slow-2g' || eff === '2g')
3020
+ val = '2G';
3021
+ else if (eff === '3g')
3022
+ val = '3G';
3023
+ else if (eff === '4g')
3024
+ val = '4G';
3025
+ else
3026
+ val = '4G';
3027
+ }
3028
+ else {
3029
+ // type 未知或不支持,降级使用 effectiveType
3030
+ if (eff === 'slow-2g' || eff === '2g')
3031
+ val = '2G';
3032
+ else if (eff === '3g')
3033
+ val = '3G';
3034
+ else if (eff === '4g')
3035
+ val = '4G';
3036
+ }
3037
+ if (val)
3038
+ out.networkType = val;
3039
+ }
3040
+ }
3041
+ catch {
3042
+ // ignore
3043
+ }
3044
+ }
3008
3045
  return out;
3009
3046
  }
3010
3047
  function createWebDeviceInfoBaseFields(opts) {
@@ -3034,7 +3071,7 @@ function createWebDeviceInfoBaseFields(opts) {
3034
3071
  try {
3035
3072
  const g = globalThis;
3036
3073
  const extra = g[globalKey];
3037
- if (extra && isPlainObject(extra))
3074
+ if (extra && typeof extra === 'object')
3038
3075
  return { ...base, ...extra };
3039
3076
  }
3040
3077
  catch {
@@ -3071,7 +3108,7 @@ function getMiniProgramDeviceInfo(options) {
3071
3108
  try {
3072
3109
  if (typeof wxAny.getNetworkTypeSync === 'function') {
3073
3110
  const n = wxAny.getNetworkTypeSync();
3074
- out.networkType = n?.networkType ? String(n.networkType) : '';
3111
+ out.networkType = n?.networkType ? String(n.networkType).toUpperCase() : '';
3075
3112
  }
3076
3113
  else if (typeof wxAny.getNetworkType === 'function') {
3077
3114
  // 异步更新:先不阻塞初始化
@@ -3081,7 +3118,9 @@ function getMiniProgramDeviceInfo(options) {
3081
3118
  const g = globalThis;
3082
3119
  if (!g.__beLinkClsLoggerDeviceInfo__)
3083
3120
  g.__beLinkClsLoggerDeviceInfo__ = {};
3084
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3121
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType
3122
+ ? String(res.networkType).toUpperCase()
3123
+ : '';
3085
3124
  }
3086
3125
  catch {
3087
3126
  // ignore
@@ -3100,7 +3139,7 @@ function getMiniProgramDeviceInfo(options) {
3100
3139
  const g = globalThis;
3101
3140
  if (!g.__beLinkClsLoggerDeviceInfo__)
3102
3141
  g.__beLinkClsLoggerDeviceInfo__ = {};
3103
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3142
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType).toUpperCase() : '';
3104
3143
  }
3105
3144
  catch {
3106
3145
  // ignore
@@ -3141,7 +3180,7 @@ function createMiniDeviceInfoBaseFields(opts) {
3141
3180
  try {
3142
3181
  const g = globalThis;
3143
3182
  const extra = g[globalKey];
3144
- if (extra && isPlainObject(extra))
3183
+ if (extra && typeof extra === 'object')
3145
3184
  return { ...base, ...extra };
3146
3185
  }
3147
3186
  catch {
package/dist/index.umd.js CHANGED
@@ -2992,7 +2992,7 @@
2992
2992
  if (options.includeNetwork) {
2993
2993
  try {
2994
2994
  const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2995
- if (conn && isPlainObject(conn)) {
2995
+ if (conn && typeof conn === 'object') {
2996
2996
  if (typeof conn.effectiveType === 'string')
2997
2997
  out.netEffectiveType = conn.effectiveType;
2998
2998
  if (typeof conn.downlink === 'number')
@@ -3007,6 +3007,43 @@
3007
3007
  // ignore
3008
3008
  }
3009
3009
  }
3010
+ if (options.includeNetworkType) {
3011
+ try {
3012
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
3013
+ if (conn && typeof conn === 'object') {
3014
+ const type = conn.type;
3015
+ const eff = conn.effectiveType;
3016
+ let val = '';
3017
+ if (type === 'wifi' || type === 'ethernet') {
3018
+ val = 'WIFI';
3019
+ }
3020
+ else if (type === 'cellular' || type === 'wimax') {
3021
+ if (eff === 'slow-2g' || eff === '2g')
3022
+ val = '2G';
3023
+ else if (eff === '3g')
3024
+ val = '3G';
3025
+ else if (eff === '4g')
3026
+ val = '4G';
3027
+ else
3028
+ val = '4G';
3029
+ }
3030
+ else {
3031
+ // type 未知或不支持,降级使用 effectiveType
3032
+ if (eff === 'slow-2g' || eff === '2g')
3033
+ val = '2G';
3034
+ else if (eff === '3g')
3035
+ val = '3G';
3036
+ else if (eff === '4g')
3037
+ val = '4G';
3038
+ }
3039
+ if (val)
3040
+ out.networkType = val;
3041
+ }
3042
+ }
3043
+ catch {
3044
+ // ignore
3045
+ }
3046
+ }
3010
3047
  return out;
3011
3048
  }
3012
3049
  function createWebDeviceInfoBaseFields(opts) {
@@ -3036,7 +3073,7 @@
3036
3073
  try {
3037
3074
  const g = globalThis;
3038
3075
  const extra = g[globalKey];
3039
- if (extra && isPlainObject(extra))
3076
+ if (extra && typeof extra === 'object')
3040
3077
  return { ...base, ...extra };
3041
3078
  }
3042
3079
  catch {
@@ -3073,7 +3110,7 @@
3073
3110
  try {
3074
3111
  if (typeof wxAny.getNetworkTypeSync === 'function') {
3075
3112
  const n = wxAny.getNetworkTypeSync();
3076
- out.networkType = n?.networkType ? String(n.networkType) : '';
3113
+ out.networkType = n?.networkType ? String(n.networkType).toUpperCase() : '';
3077
3114
  }
3078
3115
  else if (typeof wxAny.getNetworkType === 'function') {
3079
3116
  // 异步更新:先不阻塞初始化
@@ -3083,7 +3120,9 @@
3083
3120
  const g = globalThis;
3084
3121
  if (!g.__beLinkClsLoggerDeviceInfo__)
3085
3122
  g.__beLinkClsLoggerDeviceInfo__ = {};
3086
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3123
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType
3124
+ ? String(res.networkType).toUpperCase()
3125
+ : '';
3087
3126
  }
3088
3127
  catch {
3089
3128
  // ignore
@@ -3102,7 +3141,7 @@
3102
3141
  const g = globalThis;
3103
3142
  if (!g.__beLinkClsLoggerDeviceInfo__)
3104
3143
  g.__beLinkClsLoggerDeviceInfo__ = {};
3105
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
3144
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType).toUpperCase() : '';
3106
3145
  }
3107
3146
  catch {
3108
3147
  // ignore
@@ -3143,7 +3182,7 @@
3143
3182
  try {
3144
3183
  const g = globalThis;
3145
3184
  const extra = g[globalKey];
3146
- if (extra && isPlainObject(extra))
3185
+ if (extra && typeof extra === 'object')
3147
3186
  return { ...base, ...extra };
3148
3187
  }
3149
3188
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../src/mini/deviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAsE9D,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAC5C,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,CAqC3B"}
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../src/mini/deviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuE9D,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAC5C,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,CAqC3B"}
package/dist/mini.esm.js CHANGED
@@ -1845,7 +1845,7 @@ function getMiniProgramDeviceInfo(options) {
1845
1845
  try {
1846
1846
  if (typeof wxAny.getNetworkTypeSync === 'function') {
1847
1847
  const n = wxAny.getNetworkTypeSync();
1848
- out.networkType = n?.networkType ? String(n.networkType) : '';
1848
+ out.networkType = n?.networkType ? String(n.networkType).toUpperCase() : '';
1849
1849
  }
1850
1850
  else if (typeof wxAny.getNetworkType === 'function') {
1851
1851
  // 异步更新:先不阻塞初始化
@@ -1855,7 +1855,9 @@ function getMiniProgramDeviceInfo(options) {
1855
1855
  const g = globalThis;
1856
1856
  if (!g.__beLinkClsLoggerDeviceInfo__)
1857
1857
  g.__beLinkClsLoggerDeviceInfo__ = {};
1858
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
1858
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType
1859
+ ? String(res.networkType).toUpperCase()
1860
+ : '';
1859
1861
  }
1860
1862
  catch {
1861
1863
  // ignore
@@ -1874,7 +1876,7 @@ function getMiniProgramDeviceInfo(options) {
1874
1876
  const g = globalThis;
1875
1877
  if (!g.__beLinkClsLoggerDeviceInfo__)
1876
1878
  g.__beLinkClsLoggerDeviceInfo__ = {};
1877
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
1879
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType).toUpperCase() : '';
1878
1880
  }
1879
1881
  catch {
1880
1882
  // ignore
@@ -1915,7 +1917,7 @@ function createMiniDeviceInfoBaseFields(opts) {
1915
1917
  try {
1916
1918
  const g = globalThis;
1917
1919
  const extra = g[globalKey];
1918
- if (extra && isPlainObject(extra))
1920
+ if (extra && typeof extra === 'object')
1919
1921
  return { ...base, ...extra };
1920
1922
  }
1921
1923
  catch {
package/dist/mini.js CHANGED
@@ -1868,7 +1868,7 @@ function getMiniProgramDeviceInfo(options) {
1868
1868
  try {
1869
1869
  if (typeof wxAny.getNetworkTypeSync === 'function') {
1870
1870
  const n = wxAny.getNetworkTypeSync();
1871
- out.networkType = n?.networkType ? String(n.networkType) : '';
1871
+ out.networkType = n?.networkType ? String(n.networkType).toUpperCase() : '';
1872
1872
  }
1873
1873
  else if (typeof wxAny.getNetworkType === 'function') {
1874
1874
  // 异步更新:先不阻塞初始化
@@ -1878,7 +1878,9 @@ function getMiniProgramDeviceInfo(options) {
1878
1878
  const g = globalThis;
1879
1879
  if (!g.__beLinkClsLoggerDeviceInfo__)
1880
1880
  g.__beLinkClsLoggerDeviceInfo__ = {};
1881
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
1881
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType
1882
+ ? String(res.networkType).toUpperCase()
1883
+ : '';
1882
1884
  }
1883
1885
  catch {
1884
1886
  // ignore
@@ -1897,7 +1899,7 @@ function getMiniProgramDeviceInfo(options) {
1897
1899
  const g = globalThis;
1898
1900
  if (!g.__beLinkClsLoggerDeviceInfo__)
1899
1901
  g.__beLinkClsLoggerDeviceInfo__ = {};
1900
- g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType) : '';
1902
+ g.__beLinkClsLoggerDeviceInfo__.networkType = res?.networkType ? String(res.networkType).toUpperCase() : '';
1901
1903
  }
1902
1904
  catch {
1903
1905
  // ignore
@@ -1938,7 +1940,7 @@ function createMiniDeviceInfoBaseFields(opts) {
1938
1940
  try {
1939
1941
  const g = globalThis;
1940
1942
  const extra = g[globalKey];
1941
- if (extra && isPlainObject(extra))
1943
+ if (extra && typeof extra === 'object')
1942
1944
  return { ...base, ...extra };
1943
1945
  }
1944
1946
  catch {
package/dist/types.d.ts CHANGED
@@ -267,7 +267,7 @@ export interface DeviceInfoOptions {
267
267
  includeUserAgent?: boolean;
268
268
  /** Web/H5:是否包含 navigator.connection 信息,默认 true */
269
269
  includeNetwork?: boolean;
270
- /** 小程序:是否尝试采集网络类型(异步更新),默认 true */
270
+ /** Web/小程序:是否尝试采集网络类型(Web: best effort; 小程序: 异步更新),默认 true */
271
271
  includeNetworkType?: boolean;
272
272
  }
273
273
  export interface BehaviorMonitorOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../src/web/deviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqI9D,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAC5C,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,CAqC3B"}
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../src/web/deviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAkK9D,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAC5C,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,CAqC3B"}
package/dist/web.esm.js CHANGED
@@ -2064,7 +2064,7 @@ function getBrowserDeviceInfo(options) {
2064
2064
  if (options.includeNetwork) {
2065
2065
  try {
2066
2066
  const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2067
- if (conn && isPlainObject(conn)) {
2067
+ if (conn && typeof conn === 'object') {
2068
2068
  if (typeof conn.effectiveType === 'string')
2069
2069
  out.netEffectiveType = conn.effectiveType;
2070
2070
  if (typeof conn.downlink === 'number')
@@ -2079,6 +2079,43 @@ function getBrowserDeviceInfo(options) {
2079
2079
  // ignore
2080
2080
  }
2081
2081
  }
2082
+ if (options.includeNetworkType) {
2083
+ try {
2084
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2085
+ if (conn && typeof conn === 'object') {
2086
+ const type = conn.type;
2087
+ const eff = conn.effectiveType;
2088
+ let val = '';
2089
+ if (type === 'wifi' || type === 'ethernet') {
2090
+ val = 'WIFI';
2091
+ }
2092
+ else if (type === 'cellular' || type === 'wimax') {
2093
+ if (eff === 'slow-2g' || eff === '2g')
2094
+ val = '2G';
2095
+ else if (eff === '3g')
2096
+ val = '3G';
2097
+ else if (eff === '4g')
2098
+ val = '4G';
2099
+ else
2100
+ val = '4G';
2101
+ }
2102
+ else {
2103
+ // type 未知或不支持,降级使用 effectiveType
2104
+ if (eff === 'slow-2g' || eff === '2g')
2105
+ val = '2G';
2106
+ else if (eff === '3g')
2107
+ val = '3G';
2108
+ else if (eff === '4g')
2109
+ val = '4G';
2110
+ }
2111
+ if (val)
2112
+ out.networkType = val;
2113
+ }
2114
+ }
2115
+ catch {
2116
+ // ignore
2117
+ }
2118
+ }
2082
2119
  return out;
2083
2120
  }
2084
2121
  function createWebDeviceInfoBaseFields(opts) {
@@ -2108,7 +2145,7 @@ function createWebDeviceInfoBaseFields(opts) {
2108
2145
  try {
2109
2146
  const g = globalThis;
2110
2147
  const extra = g[globalKey];
2111
- if (extra && isPlainObject(extra))
2148
+ if (extra && typeof extra === 'object')
2112
2149
  return { ...base, ...extra };
2113
2150
  }
2114
2151
  catch {
package/dist/web.js CHANGED
@@ -2087,7 +2087,7 @@ function getBrowserDeviceInfo(options) {
2087
2087
  if (options.includeNetwork) {
2088
2088
  try {
2089
2089
  const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2090
- if (conn && isPlainObject(conn)) {
2090
+ if (conn && typeof conn === 'object') {
2091
2091
  if (typeof conn.effectiveType === 'string')
2092
2092
  out.netEffectiveType = conn.effectiveType;
2093
2093
  if (typeof conn.downlink === 'number')
@@ -2102,6 +2102,43 @@ function getBrowserDeviceInfo(options) {
2102
2102
  // ignore
2103
2103
  }
2104
2104
  }
2105
+ if (options.includeNetworkType) {
2106
+ try {
2107
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
2108
+ if (conn && typeof conn === 'object') {
2109
+ const type = conn.type;
2110
+ const eff = conn.effectiveType;
2111
+ let val = '';
2112
+ if (type === 'wifi' || type === 'ethernet') {
2113
+ val = 'WIFI';
2114
+ }
2115
+ else if (type === 'cellular' || type === 'wimax') {
2116
+ if (eff === 'slow-2g' || eff === '2g')
2117
+ val = '2G';
2118
+ else if (eff === '3g')
2119
+ val = '3G';
2120
+ else if (eff === '4g')
2121
+ val = '4G';
2122
+ else
2123
+ val = '4G';
2124
+ }
2125
+ else {
2126
+ // type 未知或不支持,降级使用 effectiveType
2127
+ if (eff === 'slow-2g' || eff === '2g')
2128
+ val = '2G';
2129
+ else if (eff === '3g')
2130
+ val = '3G';
2131
+ else if (eff === '4g')
2132
+ val = '4G';
2133
+ }
2134
+ if (val)
2135
+ out.networkType = val;
2136
+ }
2137
+ }
2138
+ catch {
2139
+ // ignore
2140
+ }
2141
+ }
2105
2142
  return out;
2106
2143
  }
2107
2144
  function createWebDeviceInfoBaseFields(opts) {
@@ -2131,7 +2168,7 @@ function createWebDeviceInfoBaseFields(opts) {
2131
2168
  try {
2132
2169
  const g = globalThis;
2133
2170
  const extra = g[globalKey];
2134
- if (extra && isPlainObject(extra))
2171
+ if (extra && typeof extra === 'object')
2135
2172
  return { ...base, ...extra };
2136
2173
  }
2137
2174
  catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/cls-logger",
3
- "version": "1.0.1-beta.26",
3
+ "version": "1.0.1-beta.28",
4
4
  "description": "@be-link cls-logger - 腾讯云 CLS 日志上报封装",
5
5
  "homepage": "https://github.com/snowmountain-top/be-link",
6
6
  "author": "zhuiyi",