Skip to content

Commit 2ace157

Browse files
author
shengyonggen
committed
Release 1.14.26
1 parent 7790966 commit 2ace157

14 files changed

+217
-283
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 1.14.26(2021-11-11)
2+
1. 修复
3+
- 修复返回操作触发页面浏览事件时 `$referrer` 值不准确的问题
4+
- 修复不设置页面标题会出现错误日志的问题
5+
- 修复属性值传空数组会被删除不上报的问题
6+
17
## 1.14.25(2021-10-28)
28
1. 修复
39
- 修复 `setWebviewUrl` 方法可能会导致客户参数无法解析的问题

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sa-sdk-miniprogram",
3-
"version": "1.14.25",
3+
"version": "1.14.26",
44
"description": "sensorsdata miniprogram sdk",
55
"main": "sensorsdata.min.js",
66
"scripts": {

product/sensorsdata.custom.es6.full.js

Lines changed: 34 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,8 @@ var mpHook = {
8787
onShow: 1,
8888
onReady: 1,
8989
onPullDownRefresh: 1,
90-
onReachBottom: 1,
9190
onShareAppMessage: 1,
9291
onShareTimeline: 1,
93-
onPullDownRefresh: 1,
9492
onReachBottom: 1,
9593
onPageScroll: 1,
9694
onResize: 1,
@@ -197,7 +195,7 @@ var ArrayProto = Array.prototype,
197195
slice = ArrayProto.slice,
198196
toString$1 = ObjProto.toString,
199197
hasOwnProperty = ObjProto.hasOwnProperty,
200-
LIB_VERSION = '1.14.25',
198+
LIB_VERSION = '1.14.26',
201199
LIB_NAME = 'MiniProgram';
202200

203201
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
@@ -512,12 +510,7 @@ _.strip_sa_properties = function(p) {
512510
logger.info('您的数据-', v, '的数组里的值必须是字符串,已经将其删除');
513511
}
514512
});
515-
if (temp.length !== 0) {
516-
p[k] = temp;
517-
} else {
518-
delete p[k];
519-
logger.info('已经删除空的数组');
520-
}
513+
p[k] = temp;
521514
}
522515
if (!(_.isString(v) || _.isNumber(v) || _.isDate(v) || _.isBoolean(v) || _.isArray(v))) {
523516
logger.info('您的数据-', v, '-格式不满足要求,我们已经将其删除');
@@ -1129,7 +1122,7 @@ _.setPageSfSource = function(prop) {
11291122
var myvar = JSON.parse(JSON.stringify(options));
11301123
for (var i in myvar) {
11311124
myvar[i] = _.decodeURIComponent(myvar[i]);
1132-
};
1125+
}
11331126

11341127
if (!_.isEmptyObject(myvar) && myvar._sfs) {
11351128
prop.$sf_source = myvar._sfs;
@@ -1156,25 +1149,33 @@ try {
11561149
}
11571150

11581151
_.setRefPage = function() {
1159-
1152+
var _refInfo = {
1153+
route: "直接打开",
1154+
title: "",
1155+
};
11601156
try {
1161-
var pages = getCurrentPages();
1162-
if (pages && pages.length === 1) {
1163-
var current_path = pages[pages.length - 1].route;
1157+
var pages = _.getCurrentPage();
1158+
if (pages && pages.route) {
1159+
var current_path = pages.route;
11641160
var current_title = _.getPageTitle(current_path);
1165-
var currentPageInfo = {
1166-
title: current_title,
1167-
route: current_path
1168-
};
1161+
_refInfo.route = current_path;
1162+
_refInfo.title = current_title;
1163+
1164+
var len = page_route_map.length,
1165+
path = "";
11691166

1170-
if (page_route_map.length >= 2) {
1171-
if (page_route_map[page_route_map.length - 1].route !== currentPageInfo.route) {
1172-
page_route_map.push(currentPageInfo);
1167+
if (len >= 1) {
1168+
path = page_route_map[len - 1].route;
1169+
}
1170+
1171+
if (path !== current_path) {
1172+
if (len >= 2) {
11731173
page_route_map.shift();
1174+
page_route_map.push(_refInfo);
1175+
} else {
1176+
page_route_map.push(_refInfo);
11741177
}
1175-
} else {
1176-
page_route_map.push(currentPageInfo);
1177-
}
1178+
};
11781179
}
11791180
} catch (error) {
11801181
logger.info(error);
@@ -1187,27 +1188,9 @@ _.getRefPage = function() {
11871188
title: ''
11881189
};
11891190

1190-
try {
1191-
var pages = getCurrentPages();
1192-
if (pages && pages.length >= 2) {
1193-
_refInfo.route = pages[pages.length - 2].route;
1194-
_refInfo.title = _.getPageTitle(_refInfo.route);
1195-
} else if (pages && pages.length >= 1) {
1196-
if (page_route_map.length >= 2) {
1197-
var refPages = page_route_map;
1198-
_refInfo.route = refPages[refPages.length - 2].route;
1199-
_refInfo.title = _.getPageTitle(_refInfo.route);
1200-
}
1201-
1202-
if (_refInfo.route === pages[pages.length - 1].route) {
1203-
_refInfo = {
1204-
title: '',
1205-
route: '直接打开'
1206-
};
1207-
}
1208-
}
1209-
} catch (error) {
1210-
logger.info(error);
1191+
if (page_route_map.length > 1) {
1192+
_refInfo.title = page_route_map[0].title;
1193+
_refInfo.route = page_route_map[0].route;
12111194
}
12121195
return _refInfo;
12131196
};
@@ -1253,7 +1236,7 @@ _.getPageTitle = function(route) {
12531236
});
12541237
if (title.length === 0) {
12551238
var finalTitle = _.extend(globalConfigTitle, pageConfigTitle);
1256-
title = finalTitle.titleVal;
1239+
title = finalTitle.titleVal || '';
12571240
}
12581241
}
12591242
} catch (err) {
@@ -1488,6 +1471,7 @@ sa.prepareData = function(p, callback) {
14881471
}
14891472

14901473
var refPage = _.getRefPage();
1474+
14911475
if (!data.properties.hasOwnProperty('$referrer')) {
14921476
data.properties.$referrer = refPage.route;
14931477
}
@@ -2215,16 +2199,19 @@ sa.setWebViewUrl = function(url, after_hash) {
22152199
logger.info('error:请传入正确的 URL 格式');
22162200
return false;
22172201
}
2202+
22182203
if (!/^http(s)?:\/\//.test(url)) {
22192204
logger.info('warning: 请传入正确的 URL 格式');
22202205
return false;
22212206
}
2207+
22222208
var reg = /([^?#]+)(\?[^#]*)?(#.*)?/,
22232209
arr = reg.exec(url);
22242210

22252211
if (!arr) {
22262212
return false;
22272213
}
2214+
22282215
var host = arr[1] || '',
22292216
search = arr[2] || '',
22302217
hash = arr[3] || '',
@@ -2727,6 +2714,7 @@ sa.pageShow = function(prop) {
27272714
var router = _.getCurrentPath();
27282715
var title = _.getPageTitle(router);
27292716
var currentPage = _.getCurrentPage();
2717+
_.setRefPage();
27302718
if (sa.para.preset_properties.url_path === true) {
27312719
sa.registerApp({
27322720
$url_path: router

product/sensorsdata.custom.full.js

Lines changed: 34 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,8 @@ var mpHook = {
8989
onShow: 1,
9090
onReady: 1,
9191
onPullDownRefresh: 1,
92-
onReachBottom: 1,
9392
onShareAppMessage: 1,
9493
onShareTimeline: 1,
95-
onPullDownRefresh: 1,
9694
onReachBottom: 1,
9795
onPageScroll: 1,
9896
onResize: 1,
@@ -199,7 +197,7 @@ var ArrayProto = Array.prototype,
199197
slice = ArrayProto.slice,
200198
toString$1 = ObjProto.toString,
201199
hasOwnProperty = ObjProto.hasOwnProperty,
202-
LIB_VERSION = '1.14.25',
200+
LIB_VERSION = '1.14.26',
203201
LIB_NAME = 'MiniProgram';
204202

205203
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
@@ -514,12 +512,7 @@ _.strip_sa_properties = function(p) {
514512
logger.info('您的数据-', v, '的数组里的值必须是字符串,已经将其删除');
515513
}
516514
});
517-
if (temp.length !== 0) {
518-
p[k] = temp;
519-
} else {
520-
delete p[k];
521-
logger.info('已经删除空的数组');
522-
}
515+
p[k] = temp;
523516
}
524517
if (!(_.isString(v) || _.isNumber(v) || _.isDate(v) || _.isBoolean(v) || _.isArray(v))) {
525518
logger.info('您的数据-', v, '-格式不满足要求,我们已经将其删除');
@@ -1131,7 +1124,7 @@ _.setPageSfSource = function(prop) {
11311124
var myvar = JSON.parse(JSON.stringify(options));
11321125
for (var i in myvar) {
11331126
myvar[i] = _.decodeURIComponent(myvar[i]);
1134-
};
1127+
}
11351128

11361129
if (!_.isEmptyObject(myvar) && myvar._sfs) {
11371130
prop.$sf_source = myvar._sfs;
@@ -1158,25 +1151,33 @@ try {
11581151
}
11591152

11601153
_.setRefPage = function() {
1161-
1154+
var _refInfo = {
1155+
route: "直接打开",
1156+
title: "",
1157+
};
11621158
try {
1163-
var pages = getCurrentPages();
1164-
if (pages && pages.length === 1) {
1165-
var current_path = pages[pages.length - 1].route;
1159+
var pages = _.getCurrentPage();
1160+
if (pages && pages.route) {
1161+
var current_path = pages.route;
11661162
var current_title = _.getPageTitle(current_path);
1167-
var currentPageInfo = {
1168-
title: current_title,
1169-
route: current_path
1170-
};
1163+
_refInfo.route = current_path;
1164+
_refInfo.title = current_title;
1165+
1166+
var len = page_route_map.length,
1167+
path = "";
11711168

1172-
if (page_route_map.length >= 2) {
1173-
if (page_route_map[page_route_map.length - 1].route !== currentPageInfo.route) {
1174-
page_route_map.push(currentPageInfo);
1169+
if (len >= 1) {
1170+
path = page_route_map[len - 1].route;
1171+
}
1172+
1173+
if (path !== current_path) {
1174+
if (len >= 2) {
11751175
page_route_map.shift();
1176+
page_route_map.push(_refInfo);
1177+
} else {
1178+
page_route_map.push(_refInfo);
11761179
}
1177-
} else {
1178-
page_route_map.push(currentPageInfo);
1179-
}
1180+
};
11801181
}
11811182
} catch (error) {
11821183
logger.info(error);
@@ -1189,27 +1190,9 @@ _.getRefPage = function() {
11891190
title: ''
11901191
};
11911192

1192-
try {
1193-
var pages = getCurrentPages();
1194-
if (pages && pages.length >= 2) {
1195-
_refInfo.route = pages[pages.length - 2].route;
1196-
_refInfo.title = _.getPageTitle(_refInfo.route);
1197-
} else if (pages && pages.length >= 1) {
1198-
if (page_route_map.length >= 2) {
1199-
var refPages = page_route_map;
1200-
_refInfo.route = refPages[refPages.length - 2].route;
1201-
_refInfo.title = _.getPageTitle(_refInfo.route);
1202-
}
1203-
1204-
if (_refInfo.route === pages[pages.length - 1].route) {
1205-
_refInfo = {
1206-
title: '',
1207-
route: '直接打开'
1208-
};
1209-
}
1210-
}
1211-
} catch (error) {
1212-
logger.info(error);
1193+
if (page_route_map.length > 1) {
1194+
_refInfo.title = page_route_map[0].title;
1195+
_refInfo.route = page_route_map[0].route;
12131196
}
12141197
return _refInfo;
12151198
};
@@ -1255,7 +1238,7 @@ _.getPageTitle = function(route) {
12551238
});
12561239
if (title.length === 0) {
12571240
var finalTitle = _.extend(globalConfigTitle, pageConfigTitle);
1258-
title = finalTitle.titleVal;
1241+
title = finalTitle.titleVal || '';
12591242
}
12601243
}
12611244
} catch (err) {
@@ -1490,6 +1473,7 @@ sa.prepareData = function(p, callback) {
14901473
}
14911474

14921475
var refPage = _.getRefPage();
1476+
14931477
if (!data.properties.hasOwnProperty('$referrer')) {
14941478
data.properties.$referrer = refPage.route;
14951479
}
@@ -2217,16 +2201,19 @@ sa.setWebViewUrl = function(url, after_hash) {
22172201
logger.info('error:请传入正确的 URL 格式');
22182202
return false;
22192203
}
2204+
22202205
if (!/^http(s)?:\/\//.test(url)) {
22212206
logger.info('warning: 请传入正确的 URL 格式');
22222207
return false;
22232208
}
2209+
22242210
var reg = /([^?#]+)(\?[^#]*)?(#.*)?/,
22252211
arr = reg.exec(url);
22262212

22272213
if (!arr) {
22282214
return false;
22292215
}
2216+
22302217
var host = arr[1] || '',
22312218
search = arr[2] || '',
22322219
hash = arr[3] || '',
@@ -2729,6 +2716,7 @@ sa.pageShow = function(prop) {
27292716
var router = _.getCurrentPath();
27302717
var title = _.getPageTitle(router);
27312718
var currentPage = _.getCurrentPage();
2719+
_.setRefPage();
27322720
if (sa.para.preset_properties.url_path === true) {
27332721
sa.registerApp({
27342722
$url_path: router

0 commit comments

Comments
 (0)