@cloudcare/rum-uniapp 2.1.9 → 2.1.10

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.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.buildEnv = void 0;
7
7
  var buildEnv = {
8
- sdkVersion: '2.1.9',
8
+ sdkVersion: '2.1.10',
9
9
  sdkName: 'df_uniapp_rum_sdk'
10
10
  };
11
11
  exports.buildEnv = buildEnv;
@@ -68,7 +68,7 @@ var processedMessageByDataMap = function processedMessageByDataMap(message) {
68
68
  rowData.measurement = key;
69
69
  var tagsStr = [];
70
70
  var tags = (0, _utils.extend)({}, _dataMap.commonTags, value.tags);
71
- var filterFileds = ['date', 'type']; // 已经在datamap中定义过的fields和tags
71
+ var filterFileds = ['date', 'type', CUSTOM_KEYS]; // 已经在datamap中定义过的fields和tags
72
72
 
73
73
  (0, _utils.each)(tags, function (value_path, _key) {
74
74
  var _value = (0, _utils.findByPath)(message, value_path);
@@ -76,13 +76,13 @@ var processedMessageByDataMap = function processedMessageByDataMap(message) {
76
76
  filterFileds.push(_key);
77
77
 
78
78
  if (_value || (0, _utils.isNumber)(_value)) {
79
- rowData.tags[_key] = _value;
79
+ rowData.tags[_key] = (0, _utils.escapeJsonValue)(_value);
80
80
  tagsStr.push((0, _utils.escapeRowData)(_key) + '=' + (0, _utils.escapeRowData)(_value));
81
81
  }
82
82
  });
83
83
 
84
84
  if (message.tags && (0, _utils.isObject)(message.tags) && !(0, _utils.isEmptyObject)(message.tags)) {
85
- // 自定义tag
85
+ // 自定义tag, 存储成field
86
86
  var _tagKeys = [];
87
87
  (0, _utils.each)(message.tags, function (_value, _key) {
88
88
  // 如果和之前tag重名,则舍弃
@@ -92,14 +92,15 @@ var processedMessageByDataMap = function processedMessageByDataMap(message) {
92
92
  if (_value || (0, _utils.isNumber)(_value)) {
93
93
  _tagKeys.push(_key);
94
94
 
95
- rowData.tags[_key] = _value;
96
- tagsStr.push((0, _utils.escapeRowData)(_key) + '=' + (0, _utils.escapeRowData)(_value));
95
+ rowData.fields[_key] = _value; // 这里不需要转译
96
+
97
+ fieldsStr.push((0, _utils.escapeRowData)(_key) + '=' + (0, _utils.escapeRowField)(_value));
97
98
  }
98
99
  });
99
100
 
100
101
  if (_tagKeys.length) {
101
- rowData.tags[CUSTOM_KEYS] = _tagKeys;
102
- tagsStr.push((0, _utils.escapeRowData)(CUSTOM_KEYS) + '=' + (0, _utils.escapeRowData)(_tagKeys));
102
+ rowData.fields[CUSTOM_KEYS] = (0, _utils.escapeRowField)(_tagKeys);
103
+ fieldsStr.push((0, _utils.escapeRowData)(CUSTOM_KEYS) + '=' + (0, _utils.escapeRowField)(_tagKeys));
103
104
  }
104
105
  }
105
106
 
@@ -116,8 +117,7 @@ var processedMessageByDataMap = function processedMessageByDataMap(message) {
116
117
  if (_valueData || (0, _utils.isNumber)(_valueData)) {
117
118
  rowData.fields[_key] = _valueData; // 这里不需要转译
118
119
 
119
- _valueData = type === 'string' ? '"' + _valueData.replace(/[\\]*"/g, '"').replace(/"/g, '\\"') + '"' : (0, _utils.escapeRowData)(_valueData);
120
- fieldsStr.push((0, _utils.escapeRowData)(_key) + '=' + _valueData);
120
+ fieldsStr.push((0, _utils.escapeRowData)(_key) + '=' + (0, _utils.escapeRowField)(_valueData));
121
121
  }
122
122
  } else if ((0, _utils.isString)(_value)) {
123
123
  var _valueData = (0, _utils.findByPath)(message, _value);
@@ -127,8 +127,7 @@ var processedMessageByDataMap = function processedMessageByDataMap(message) {
127
127
  if (_valueData || (0, _utils.isNumber)(_valueData)) {
128
128
  rowData.fields[_key] = _valueData; // 这里不需要转译
129
129
 
130
- _valueData = (0, _utils.escapeRowData)(_valueData);
131
- fieldsStr.push((0, _utils.escapeRowData)(_key) + '=' + _valueData);
130
+ fieldsStr.push((0, _utils.escapeRowData)(_key) + '=' + (0, _utils.escapeRowField)(_valueData));
132
131
  }
133
132
  }
134
133
  });
@@ -20,6 +20,9 @@ exports.withSnakeCaseKeys = withSnakeCaseKeys;
20
20
  exports.deepSnakeCase = deepSnakeCase;
21
21
  exports.toSnakeCase = toSnakeCase;
22
22
  exports.escapeRowData = escapeRowData;
23
+ exports.escapeJsonValue = escapeJsonValue;
24
+ exports.escapeFieldValueStr = escapeFieldValueStr;
25
+ exports.escapeRowField = escapeRowField;
23
26
  exports.getOrigin = getOrigin;
24
27
  exports.createContextManager = createContextManager;
25
28
  exports.getActivePage = getActivePage;
@@ -641,6 +644,28 @@ function escapeRowData(str) {
641
644
  });
642
645
  }
643
646
 
647
+ function escapeJsonValue(value) {
648
+ if (isString(value)) {
649
+ return value;
650
+ } else {
651
+ return jsonStringify(value);
652
+ }
653
+ }
654
+
655
+ function escapeFieldValueStr(str) {
656
+ return '"' + str.replace(/[\\]*"/g, '"').replace(/"/g, '\\"') + '"';
657
+ }
658
+
659
+ function escapeRowField(value) {
660
+ if (_typeof(value) === 'object' && value) {
661
+ return escapeFieldValueStr(jsonStringify(value));
662
+ } else if (isString(value)) {
663
+ return escapeFieldValueStr(value);
664
+ } else {
665
+ return value;
666
+ }
667
+ }
668
+
644
669
  var urlParse = function urlParse(para) {
645
670
  var URLParser = function URLParser(a) {
646
671
  this._fields = {
@@ -1,4 +1,4 @@
1
1
  export var buildEnv = {
2
- sdkVersion: '2.1.9',
2
+ sdkVersion: '2.1.10',
3
3
  sdkName: 'df_uniapp_rum_sdk'
4
4
  };
@@ -1,4 +1,4 @@
1
- import { findByPath, escapeRowData, isNumber, each, isString, values, extend, isObject, isEmptyObject, isArray, isBoolean, toServerDuration } from '../helper/utils';
1
+ import { findByPath, escapeRowData, isNumber, each, isString, values, extend, isObject, isEmptyObject, isArray, escapeRowField, escapeJsonValue, toServerDuration } from '../helper/utils';
2
2
  import { sdk } from '../core/sdk';
3
3
  import { LifeCycleEventType } from '../core/lifeCycle';
4
4
  import { commonTags, dataMap } from './dataMap';
@@ -53,7 +53,7 @@ export var processedMessageByDataMap = function processedMessageByDataMap(messag
53
53
  rowData.measurement = key;
54
54
  var tagsStr = [];
55
55
  var tags = extend({}, commonTags, value.tags);
56
- var filterFileds = ['date', 'type']; // 已经在datamap中定义过的fields和tags
56
+ var filterFileds = ['date', 'type', CUSTOM_KEYS]; // 已经在datamap中定义过的fields和tags
57
57
 
58
58
  each(tags, function (value_path, _key) {
59
59
  var _value = findByPath(message, value_path);
@@ -61,13 +61,13 @@ export var processedMessageByDataMap = function processedMessageByDataMap(messag
61
61
  filterFileds.push(_key);
62
62
 
63
63
  if (_value || isNumber(_value)) {
64
- rowData.tags[_key] = _value;
64
+ rowData.tags[_key] = escapeJsonValue(_value);
65
65
  tagsStr.push(escapeRowData(_key) + '=' + escapeRowData(_value));
66
66
  }
67
67
  });
68
68
 
69
69
  if (message.tags && isObject(message.tags) && !isEmptyObject(message.tags)) {
70
- // 自定义tag
70
+ // 自定义tag, 存储成field
71
71
  var _tagKeys = [];
72
72
  each(message.tags, function (_value, _key) {
73
73
  // 如果和之前tag重名,则舍弃
@@ -77,14 +77,15 @@ export var processedMessageByDataMap = function processedMessageByDataMap(messag
77
77
  if (_value || isNumber(_value)) {
78
78
  _tagKeys.push(_key);
79
79
 
80
- rowData.tags[_key] = _value;
81
- tagsStr.push(escapeRowData(_key) + '=' + escapeRowData(_value));
80
+ rowData.fields[_key] = _value; // 这里不需要转译
81
+
82
+ fieldsStr.push(escapeRowData(_key) + '=' + escapeRowField(_value));
82
83
  }
83
84
  });
84
85
 
85
86
  if (_tagKeys.length) {
86
- rowData.tags[CUSTOM_KEYS] = _tagKeys;
87
- tagsStr.push(escapeRowData(CUSTOM_KEYS) + '=' + escapeRowData(_tagKeys));
87
+ rowData.fields[CUSTOM_KEYS] = escapeRowField(_tagKeys);
88
+ fieldsStr.push(escapeRowData(CUSTOM_KEYS) + '=' + escapeRowField(_tagKeys));
88
89
  }
89
90
  }
90
91
 
@@ -101,8 +102,7 @@ export var processedMessageByDataMap = function processedMessageByDataMap(messag
101
102
  if (_valueData || isNumber(_valueData)) {
102
103
  rowData.fields[_key] = _valueData; // 这里不需要转译
103
104
 
104
- _valueData = type === 'string' ? '"' + _valueData.replace(/[\\]*"/g, '"').replace(/"/g, '\\"') + '"' : escapeRowData(_valueData);
105
- fieldsStr.push(escapeRowData(_key) + '=' + _valueData);
105
+ fieldsStr.push(escapeRowData(_key) + '=' + escapeRowField(_valueData));
106
106
  }
107
107
  } else if (isString(_value)) {
108
108
  var _valueData = findByPath(message, _value);
@@ -112,8 +112,7 @@ export var processedMessageByDataMap = function processedMessageByDataMap(messag
112
112
  if (_valueData || isNumber(_valueData)) {
113
113
  rowData.fields[_key] = _valueData; // 这里不需要转译
114
114
 
115
- _valueData = escapeRowData(_valueData);
116
- fieldsStr.push(escapeRowData(_key) + '=' + _valueData);
115
+ fieldsStr.push(escapeRowData(_key) + '=' + escapeRowField(_valueData));
117
116
  }
118
117
  }
119
118
  });
@@ -511,6 +511,25 @@ export function escapeRowData(str) {
511
511
  return '\\' + word;
512
512
  });
513
513
  }
514
+ export function escapeJsonValue(value) {
515
+ if (isString(value)) {
516
+ return value;
517
+ } else {
518
+ return jsonStringify(value);
519
+ }
520
+ }
521
+ export function escapeFieldValueStr(str) {
522
+ return '"' + str.replace(/[\\]*"/g, '"').replace(/"/g, '\\"') + '"';
523
+ }
524
+ export function escapeRowField(value) {
525
+ if (typeof value === 'object' && value) {
526
+ return escapeFieldValueStr(jsonStringify(value));
527
+ } else if (isString(value)) {
528
+ return escapeFieldValueStr(value);
529
+ } else {
530
+ return value;
531
+ }
532
+ }
514
533
  export var urlParse = function urlParse(para) {
515
534
  var URLParser = function URLParser(a) {
516
535
  this._fields = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcare/rum-uniapp",
3
- "version": "2.1.9",
3
+ "version": "2.1.10",
4
4
  "main": "cjs/index.js",
5
5
  "module": "esm/index.js",
6
6
  "miniprogram": "cjs",