Skip to content

Commit 0e5c944

Browse files
author
shengyonggen
committed
Release 1.14.20
1 parent 3829369 commit 0e5c944

14 files changed

+271
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.14.20(2021-08-20)
2+
1. 新增
3+
- 新增采集页面浏览时长事件 `$MPPageLeave`
4+
15
## 1.14.19(2021-08-9)
26
1. 修复
37
- 修复特定情况下分享字段解析报错问题

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.19",
3+
"version": "1.14.20",
44
"description": "sensorsdata miniprogram sdk",
55
"main": "sensorsdata.min.js",
66
"scripts": {

product/sensorsdata.custom.es6.full.js

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ sa.para = {
1919
pageShow: true,
2020
pageShare: true,
2121
mpClick: false,
22-
mpFavorite: true
22+
mpFavorite: true,
23+
pageLeave: false
2324
},
2425
autotrack_exclude_page: {
2526
pageShow: [],
@@ -159,13 +160,14 @@ var ArrayProto = Array.prototype,
159160
slice = ArrayProto.slice,
160161
toString = ObjProto.toString,
161162
hasOwnProperty = ObjProto.hasOwnProperty,
162-
LIB_VERSION = '1.14.19',
163+
LIB_VERSION = '1.14.20',
163164
LIB_NAME = 'MiniProgram';
164165

165166
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
166167
var latest_source_channel = ['$latest_utm_source', '$latest_utm_medium', '$latest_utm_campaign', '$latest_utm_content', '$latest_utm_term', '$latest_sa_utm'];
167168
var latest_share_info = ['$latest_share_distinct_id', '$latest_share_url_path', '$latest_share_depth', '$latest_share_method'];
168169
var share_info_key = ['sensors_share_d', 'sensors_share_p', 'sensors_share_i', 'sensors_share_m'];
170+
var page_show_time = Date.now();
169171

170172
var mpshow_time = null;
171173

@@ -2269,6 +2271,28 @@ _.getUtmFromPage = function() {
22692271
return newObj;
22702272
};
22712273

2274+
_.sendPageLeave = function() {
2275+
var currentPage = {};
2276+
try {
2277+
var pages = getCurrentPages();
2278+
currentPage = pages[pages.length - 1];
2279+
} catch (error) {
2280+
logger.info(error)
2281+
};
2282+
var router = currentPage.route;
2283+
if (page_show_time >= 0 && router !== '') {
2284+
var prop = {};
2285+
var title = _.getPageTitle(router);
2286+
var page_stay_time = (Date.now() - page_show_time) / 1000;
2287+
prop.$url_query = currentPage.sensors_mp_url_query ? currentPage.sensors_mp_url_query : '';
2288+
prop.$url_path = router;
2289+
prop.$title = title;
2290+
prop.event_duration = page_stay_time;
2291+
sa.track('$MPPageLeave', prop);
2292+
page_show_time = -1
2293+
}
2294+
}
2295+
22722296

22732297

22742298
sa.autoTrackCustom = {

product/sensorsdata.custom.full.js

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ sa.para = {
1919
pageShow: true,
2020
pageShare: true,
2121
mpClick: false,
22-
mpFavorite: true
22+
mpFavorite: true,
23+
pageLeave: false
2324
},
2425
autotrack_exclude_page: {
2526
pageShow: [],
@@ -159,13 +160,14 @@ var ArrayProto = Array.prototype,
159160
slice = ArrayProto.slice,
160161
toString = ObjProto.toString,
161162
hasOwnProperty = ObjProto.hasOwnProperty,
162-
LIB_VERSION = '1.14.19',
163+
LIB_VERSION = '1.14.20',
163164
LIB_NAME = 'MiniProgram';
164165

165166
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
166167
var latest_source_channel = ['$latest_utm_source', '$latest_utm_medium', '$latest_utm_campaign', '$latest_utm_content', '$latest_utm_term', '$latest_sa_utm'];
167168
var latest_share_info = ['$latest_share_distinct_id', '$latest_share_url_path', '$latest_share_depth', '$latest_share_method'];
168169
var share_info_key = ['sensors_share_d', 'sensors_share_p', 'sensors_share_i', 'sensors_share_m'];
170+
var page_show_time = Date.now();
169171

170172
var mpshow_time = null;
171173

@@ -2269,6 +2271,28 @@ _.getUtmFromPage = function() {
22692271
return newObj;
22702272
};
22712273

2274+
_.sendPageLeave = function() {
2275+
var currentPage = {};
2276+
try {
2277+
var pages = getCurrentPages();
2278+
currentPage = pages[pages.length - 1];
2279+
} catch (error) {
2280+
logger.info(error)
2281+
};
2282+
var router = currentPage.route;
2283+
if (page_show_time >= 0 && router !== '') {
2284+
var prop = {};
2285+
var title = _.getPageTitle(router);
2286+
var page_stay_time = (Date.now() - page_show_time) / 1000;
2287+
prop.$url_query = currentPage.sensors_mp_url_query ? currentPage.sensors_mp_url_query : '';
2288+
prop.$url_path = router;
2289+
prop.$title = title;
2290+
prop.event_duration = page_stay_time;
2291+
sa.track('$MPPageLeave', prop);
2292+
page_show_time = -1
2293+
}
2294+
}
2295+
22722296

22732297

22742298
sa.autoTrackCustom = {

product/sensorsdata.es6.full.js

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ sa.para = {
1919
pageShow: true,
2020
pageShare: true,
2121
mpClick: false,
22-
mpFavorite: true
22+
mpFavorite: true,
23+
pageLeave: false
2324
},
2425
autotrack_exclude_page: {
2526
pageShow: [],
@@ -159,13 +160,14 @@ var ArrayProto = Array.prototype,
159160
slice = ArrayProto.slice,
160161
toString = ObjProto.toString,
161162
hasOwnProperty = ObjProto.hasOwnProperty,
162-
LIB_VERSION = '1.14.19',
163+
LIB_VERSION = '1.14.20',
163164
LIB_NAME = 'MiniProgram';
164165

165166
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
166167
var latest_source_channel = ['$latest_utm_source', '$latest_utm_medium', '$latest_utm_campaign', '$latest_utm_content', '$latest_utm_term', '$latest_sa_utm'];
167168
var latest_share_info = ['$latest_share_distinct_id', '$latest_share_url_path', '$latest_share_depth', '$latest_share_method'];
168169
var share_info_key = ['sensors_share_d', 'sensors_share_p', 'sensors_share_i', 'sensors_share_m'];
170+
var page_show_time = Date.now();
169171

170172
var mpshow_time = null;
171173

@@ -2269,6 +2271,28 @@ _.getUtmFromPage = function() {
22692271
return newObj;
22702272
};
22712273

2274+
_.sendPageLeave = function() {
2275+
var currentPage = {};
2276+
try {
2277+
var pages = getCurrentPages();
2278+
currentPage = pages[pages.length - 1];
2279+
} catch (error) {
2280+
logger.info(error)
2281+
};
2282+
var router = currentPage.route;
2283+
if (page_show_time >= 0 && router !== '') {
2284+
var prop = {};
2285+
var title = _.getPageTitle(router);
2286+
var page_stay_time = (Date.now() - page_show_time) / 1000;
2287+
prop.$url_query = currentPage.sensors_mp_url_query ? currentPage.sensors_mp_url_query : '';
2288+
prop.$url_path = router;
2289+
prop.$title = title;
2290+
prop.event_duration = page_stay_time;
2291+
sa.track('$MPPageLeave', prop);
2292+
page_show_time = -1
2293+
}
2294+
}
2295+
22722296

22732297
function mp_proxy(option, method, identifier) {
22742298
var newFunc = sa.autoTrackCustom[identifier];
@@ -2369,6 +2393,23 @@ function tabProxy(option) {
23692393
}
23702394
}
23712395

2396+
function pageLeaveProxy(option) {
2397+
var oldHide = option['onHide'];
2398+
option['onHide'] = function() {
2399+
if (oldHide) {
2400+
oldHide.apply(this, arguments);
2401+
}
2402+
_.sendPageLeave();
2403+
};
2404+
var oldUnload = option['onUnload'];
2405+
option['onUnload'] = function() {
2406+
if (oldUnload) {
2407+
oldUnload.apply(this, arguments);
2408+
}
2409+
_.sendPageLeave();
2410+
}
2411+
}
2412+
23722413

23732414
sa.autoTrackCustom = {
23742415
trackCustom: function(api, prop, event) {
@@ -2517,6 +2558,7 @@ sa.autoTrackCustom = {
25172558
}
25182559
},
25192560
pageShow: function() {
2561+
page_show_time = Date.now();
25202562
var prop = {};
25212563
var router = _.getCurrentPath();
25222564
var title = _.getPageTitle(router);
@@ -2831,6 +2873,10 @@ Page = function(option) {
28312873
tabProxy(option);
28322874
}
28332875

2876+
if (sa.para.autoTrack && sa.para.autoTrack.pageLeave) {
2877+
pageLeaveProxy(option)
2878+
}
2879+
28342880
mp_proxy(option, "onLoad", 'pageLoad');
28352881
mp_proxy(option, "onShow", 'pageShow');
28362882
mp_proxy(option, "onAddToFavorites", 'pageAddFavorites');
@@ -2858,6 +2904,10 @@ Component = function(option) {
28582904
tabProxy(option.methods);
28592905
}
28602906

2907+
if (sa.para.autoTrack && sa.para.autoTrack.pageLeave) {
2908+
pageLeaveProxy(option.methods)
2909+
}
2910+
28612911
mp_proxy(option.methods, 'onLoad', 'pageLoad');
28622912
mp_proxy(option.methods, 'onShow', 'pageShow');
28632913
mp_proxy(option.methods, "onAddToFavorites", 'pageAddFavorites');

product/sensorsdata.full.js

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ sa.para = {
1919
pageShow: true,
2020
pageShare: true,
2121
mpClick: false,
22-
mpFavorite: true
22+
mpFavorite: true,
23+
pageLeave: false
2324
},
2425
autotrack_exclude_page: {
2526
pageShow: [],
@@ -159,13 +160,14 @@ var ArrayProto = Array.prototype,
159160
slice = ArrayProto.slice,
160161
toString = ObjProto.toString,
161162
hasOwnProperty = ObjProto.hasOwnProperty,
162-
LIB_VERSION = '1.14.19',
163+
LIB_VERSION = '1.14.20',
163164
LIB_NAME = 'MiniProgram';
164165

165166
var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
166167
var latest_source_channel = ['$latest_utm_source', '$latest_utm_medium', '$latest_utm_campaign', '$latest_utm_content', '$latest_utm_term', '$latest_sa_utm'];
167168
var latest_share_info = ['$latest_share_distinct_id', '$latest_share_url_path', '$latest_share_depth', '$latest_share_method'];
168169
var share_info_key = ['sensors_share_d', 'sensors_share_p', 'sensors_share_i', 'sensors_share_m'];
170+
var page_show_time = Date.now();
169171

170172
var mpshow_time = null;
171173

@@ -2269,6 +2271,28 @@ _.getUtmFromPage = function() {
22692271
return newObj;
22702272
};
22712273

2274+
_.sendPageLeave = function() {
2275+
var currentPage = {};
2276+
try {
2277+
var pages = getCurrentPages();
2278+
currentPage = pages[pages.length - 1];
2279+
} catch (error) {
2280+
logger.info(error)
2281+
};
2282+
var router = currentPage.route;
2283+
if (page_show_time >= 0 && router !== '') {
2284+
var prop = {};
2285+
var title = _.getPageTitle(router);
2286+
var page_stay_time = (Date.now() - page_show_time) / 1000;
2287+
prop.$url_query = currentPage.sensors_mp_url_query ? currentPage.sensors_mp_url_query : '';
2288+
prop.$url_path = router;
2289+
prop.$title = title;
2290+
prop.event_duration = page_stay_time;
2291+
sa.track('$MPPageLeave', prop);
2292+
page_show_time = -1
2293+
}
2294+
}
2295+
22722296

22732297
function mp_proxy(option, method, identifier) {
22742298
var newFunc = sa.autoTrackCustom[identifier];
@@ -2369,6 +2393,23 @@ function tabProxy(option) {
23692393
}
23702394
}
23712395

2396+
function pageLeaveProxy(option) {
2397+
var oldHide = option['onHide'];
2398+
option['onHide'] = function() {
2399+
if (oldHide) {
2400+
oldHide.apply(this, arguments);
2401+
}
2402+
_.sendPageLeave();
2403+
};
2404+
var oldUnload = option['onUnload'];
2405+
option['onUnload'] = function() {
2406+
if (oldUnload) {
2407+
oldUnload.apply(this, arguments);
2408+
}
2409+
_.sendPageLeave();
2410+
}
2411+
}
2412+
23722413

23732414
sa.autoTrackCustom = {
23742415
trackCustom: function(api, prop, event) {
@@ -2517,6 +2558,7 @@ sa.autoTrackCustom = {
25172558
}
25182559
},
25192560
pageShow: function() {
2561+
page_show_time = Date.now();
25202562
var prop = {};
25212563
var router = _.getCurrentPath();
25222564
var title = _.getPageTitle(router);
@@ -2831,6 +2873,10 @@ Page = function(option) {
28312873
tabProxy(option);
28322874
}
28332875

2876+
if (sa.para.autoTrack && sa.para.autoTrack.pageLeave) {
2877+
pageLeaveProxy(option)
2878+
}
2879+
28342880
mp_proxy(option, "onLoad", 'pageLoad');
28352881
mp_proxy(option, "onShow", 'pageShow');
28362882
mp_proxy(option, "onAddToFavorites", 'pageAddFavorites');
@@ -2858,6 +2904,10 @@ Component = function(option) {
28582904
tabProxy(option.methods);
28592905
}
28602906

2907+
if (sa.para.autoTrack && sa.para.autoTrack.pageLeave) {
2908+
pageLeaveProxy(option.methods)
2909+
}
2910+
28612911
mp_proxy(option.methods, 'onLoad', 'pageLoad');
28622912
mp_proxy(option.methods, 'onShow', 'pageShow');
28632913
mp_proxy(option.methods, "onAddToFavorites", 'pageAddFavorites');

0 commit comments

Comments
 (0)