@@ -67,11 +67,11 @@ kit.buildData = function(p) {
6767 }
6868
6969 var refPage = _ . getRefPage ( ) ;
70- if ( ! data . properties . hasOwnProperty . call ( '$referrer' ) ) {
70+ if ( ! data . properties . hasOwnProperty ( '$referrer' ) ) {
7171 data . properties . $referrer = refPage . route ;
7272 }
7373
74- if ( ! data . properties . hasOwnProperty . call ( '$referrer_title' ) ) {
74+ if ( ! data . properties . hasOwnProperty ( '$referrer_title' ) ) {
7575 data . properties . $referrer_title = refPage . title ;
7676 }
7777 }
@@ -469,7 +469,7 @@ var ArrayProto = Array.prototype,
469469 slice = ArrayProto . slice ,
470470 toString$1 = ObjProto . toString ,
471471 hasOwnProperty = ObjProto . hasOwnProperty ,
472- LIB_VERSION = '1.14.27 ' ,
472+ LIB_VERSION = '1.14.28 ' ,
473473 LIB_NAME = 'MiniProgram' ;
474474
475475var source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term' ;
@@ -1431,25 +1431,19 @@ _.setRefPage = function() {
14311431 try {
14321432 var pages = _ . getCurrentPage ( ) ;
14331433 if ( pages && pages . route ) {
1434+ var url_query = pages . sensors_mp_url_query ? '?' + pages . sensors_mp_url_query : '' ;
14341435 var current_path = pages . route ;
14351436 var current_title = _ . getPageTitle ( current_path ) ;
1436- _refInfo . route = current_path ;
1437+ _refInfo . route = current_path + url_query ;
14371438 _refInfo . title = current_title ;
14381439
1439- var len = page_route_map . length ,
1440- path = '' ;
1440+ var len = page_route_map . length ;
14411441
1442- if ( len >= 1 ) {
1443- path = page_route_map [ len - 1 ] . route ;
1444- }
1445-
1446- if ( path !== current_path ) {
1447- if ( len >= 2 ) {
1448- page_route_map . shift ( ) ;
1449- page_route_map . push ( _refInfo ) ;
1450- } else {
1451- page_route_map . push ( _refInfo ) ;
1452- }
1442+ if ( len >= 2 ) {
1443+ page_route_map . shift ( ) ;
1444+ page_route_map . push ( _refInfo ) ;
1445+ } else {
1446+ page_route_map . push ( _refInfo ) ;
14531447 }
14541448 }
14551449 } catch ( error ) {
@@ -1471,11 +1465,21 @@ _.getRefPage = function() {
14711465 return _refInfo ;
14721466} ;
14731467
1474- _ . setPageRefData = function ( prop ) {
1468+ _ . setPageRefData = function ( prop , path , query ) {
14751469 var refPage = _ . getRefPage ( ) ;
1470+
14761471 if ( _ . isObject ( prop ) ) {
1477- prop . $referrer = refPage . route ;
1478- prop . $referrer_title = refPage . title ;
1472+ if ( ! path ) {
1473+ prop . $referrer = refPage . route ;
1474+ prop . $referrer_title = refPage . title ;
1475+ } else if ( page_route_map . length > 0 && path ) {
1476+ query = query ? '?' + query : '' ;
1477+ prop . $referrer = _ . getPath ( path ) + query ;
1478+ prop . $referrer_title = _ . getPageTitle ( path ) ;
1479+ } else {
1480+ prop . $referrer = '直接打开' ;
1481+ prop . $referrer_title = '' ;
1482+ }
14791483 }
14801484} ;
14811485
@@ -2456,11 +2460,13 @@ sa.autoTrackCustom = {
24562460
24572461 _ . setLatestChannel ( utms . pre2 ) ;
24582462 _ . setSfSource ( para , prop ) ;
2459- _ . setPageRefData ( prop ) ;
2463+
24602464 sa . registerApp ( {
24612465 $latest_scene : prop . $scene
24622466 } ) ;
24632467 prop . $url_query = _ . setQuery ( para . query ) ;
2468+ _ . setPageRefData ( prop , para . path , prop . $url_query ) ;
2469+
24642470 if ( not_use_auto_track ) {
24652471 prop = _ . extend ( prop , not_use_auto_track ) ;
24662472 sa . track ( '$MPShow' , prop ) ;
@@ -2712,7 +2718,7 @@ sa.appShow = function(option, prop) {
27122718 $latest_scene : obj . $scene
27132719 } ) ;
27142720 obj . $url_query = _ . setQuery ( option . query ) ;
2715- _ . setPageRefData ( obj ) ;
2721+ _ . setPageRefData ( obj , option . path , obj . $url_query ) ;
27162722 if ( _ . isObject ( prop ) ) {
27172723 obj = _ . extend ( obj , prop ) ;
27182724 }
0 commit comments