|
@@ -70,6 +70,8 @@ public class OmgPaymentReturnPageRenderer {
|
|
|
+ "function orderRef(value){try{var id=new URL(value).searchParams.get('ddId')||'';return id?'***'+id.slice(-4):'';}"
|
|
+ "function orderRef(value){try{var id=new URL(value).searchParams.get('ddId')||'';return id?'***'+id.slice(-4):'';}"
|
|
|
+ "catch(error){return '';}}"
|
|
+ "catch(error){return '';}}"
|
|
|
+ "function routePath(value){return String(value||'').split('?')[0];}"
|
|
+ "function routePath(value){return String(value||'').split('?')[0];}"
|
|
|
|
|
+ + "function errorSummary(error){return {name:error&&error.name?String(error.name):'Error',"
|
|
|
|
|
+ + "message:error&&error.message?String(error.message).slice(0,160):''};}"
|
|
|
+ "function snapshot(details){var data={elapsedMs:Date.now()-startedAt,readyState:document.readyState,"
|
|
+ "function snapshot(details){var data={elapsedMs:Date.now()-startedAt,readyState:document.readyState,"
|
|
|
+ "visibilityState:document.visibilityState,hidden:document.hidden,hasFocus:document.hasFocus()};"
|
|
+ "visibilityState:document.visibilityState,hidden:document.hidden,hasFocus:document.hasFocus()};"
|
|
|
+ "if(details){Object.keys(details).forEach(function(key){data[key]=details[key];});}return data;}"
|
|
+ "if(details){Object.keys(details).forEach(function(key){data[key]=details[key];});}return data;}"
|
|
@@ -86,7 +88,15 @@ public class OmgPaymentReturnPageRenderer {
|
|
|
+ "function bridgeAvailable(){return !!(window.uni&&uni.webView&&uni.webView.getEnv&&uni.webView.redirectTo);}"
|
|
+ "function bridgeAvailable(){return !!(window.uni&&uni.webView&&uni.webView.getEnv&&uni.webView.redirectTo);}"
|
|
|
+ "function schemeFallback(reason){if(handoffObserved||schemeStarted){return;}schemeStarted=true;"
|
|
+ "function schemeFallback(reason){if(handoffObserved||schemeStarted){return;}schemeStarted=true;"
|
|
|
+ "log('scheme_fallback_start',{reason:reason,target:targetSummary(target),orderRef:orderRef(target)});"
|
|
+ "log('scheme_fallback_start',{reason:reason,target:targetSummary(target),orderRef:orderRef(target)});"
|
|
|
- + "try{window.location.replace(target);}catch(error){log('scheme_fallback_exception',{name:error&&error.name?String(error.name):'Error'});}}"
|
|
|
|
|
|
|
+ + "try{window.location.replace(target);}catch(error){log('scheme_fallback_exception',errorSummary(error));}}"
|
|
|
|
|
+ + "function iosParentRedirect(trigger){if(!/iPhone|iPad|iPod/i.test(navigator.userAgent)||!window.plus||!plus.webview){return false;}"
|
|
|
|
|
+ + "try{var current=plus.webview.currentWebview(),parent=current&¤t.parent?current.parent():null;"
|
|
|
|
|
+ + "log('ios_parent_redirect_environment',{trigger:trigger,current:!!current,parent:!!parent});"
|
|
|
|
|
+ + "if(!parent||typeof parent.evalJS!=='function'){return false;}"
|
|
|
|
|
+ + "log('ios_parent_redirect_start',{trigger:trigger,routePath:routePath(appRoute),orderRef:orderRef(target)});"
|
|
|
|
|
+ + "parent.evalJS('uni.redirectTo({url:'+JSON.stringify(appRoute)+'})');"
|
|
|
|
|
+ + "setTimeout(function(){if(!handoffObserved){schemeFallback('ios_parent_no_handoff');}},1200);return true;}"
|
|
|
|
|
+ + "catch(error){log('ios_parent_redirect_exception',errorSummary(error));return false;}}"
|
|
|
+ "function bridgeRedirect(trigger,force){if(handoffObserved||(bridgeStarted&&!force)||!bridgeAvailable()){return false;}"
|
|
+ "function bridgeRedirect(trigger,force){if(handoffObserved||(bridgeStarted&&!force)||!bridgeAvailable()){return false;}"
|
|
|
+ "bridgeStarted=true;var envResolved=false;var envTimer=setTimeout(function(){if(!envResolved){"
|
|
+ "bridgeStarted=true;var envResolved=false;var envTimer=setTimeout(function(){if(!envResolved){"
|
|
|
+ "log('bridge_environment_timeout',{trigger:trigger});schemeFallback('bridge_environment_timeout');}},500);"
|
|
+ "log('bridge_environment_timeout',{trigger:trigger});schemeFallback('bridge_environment_timeout');}},500);"
|
|
@@ -94,11 +104,12 @@ public class OmgPaymentReturnPageRenderer {
|
|
|
+ "log('bridge_environment',{trigger:trigger,plus:env.plus===true,nvue:env.nvue===true,uvue:env.uvue===true,h5:env.h5===true});"
|
|
+ "log('bridge_environment',{trigger:trigger,plus:env.plus===true,nvue:env.nvue===true,uvue:env.uvue===true,h5:env.h5===true});"
|
|
|
+ "if(!(env.plus||env.nvue||env.uvue)){schemeFallback('bridge_not_app');return;}"
|
|
+ "if(!(env.plus||env.nvue||env.uvue)){schemeFallback('bridge_not_app');return;}"
|
|
|
+ "log('bridge_redirect_start',{trigger:trigger,routePath:routePath(appRoute),orderRef:orderRef(target)});"
|
|
+ "log('bridge_redirect_start',{trigger:trigger,routePath:routePath(appRoute),orderRef:orderRef(target)});"
|
|
|
|
|
+ + "if(env.plus&&iosParentRedirect(trigger)){return;}"
|
|
|
+ "try{uni.webView.redirectTo({url:appRoute});setTimeout(function(){if(!handoffObserved){"
|
|
+ "try{uni.webView.redirectTo({url:appRoute});setTimeout(function(){if(!handoffObserved){"
|
|
|
+ "schemeFallback('bridge_no_handoff');}},1200);}catch(error){log('bridge_redirect_exception',"
|
|
+ "schemeFallback('bridge_no_handoff');}},1200);}catch(error){log('bridge_redirect_exception',"
|
|
|
- + "{name:error&&error.name?String(error.name):'Error'});schemeFallback('bridge_exception');}});}"
|
|
|
|
|
|
|
+ + "errorSummary(error));schemeFallback('bridge_exception');}});}"
|
|
|
+ "catch(error){envResolved=true;clearTimeout(envTimer);log('bridge_environment_exception',"
|
|
+ "catch(error){envResolved=true;clearTimeout(envTimer);log('bridge_environment_exception',"
|
|
|
- + "{name:error&&error.name?String(error.name):'Error'});schemeFallback('bridge_environment_exception');}return true;}"
|
|
|
|
|
|
|
+ + "errorSummary(error));schemeFallback('bridge_environment_exception');}return true;}"
|
|
|
+ "link.addEventListener('touchstart',function(event){log('manual_open_touch',{isTrusted:event.isTrusted===true,"
|
|
+ "link.addEventListener('touchstart',function(event){log('manual_open_touch',{isTrusted:event.isTrusted===true,"
|
|
|
+ "target:targetSummary(target),orderRef:orderRef(target)});},{passive:true});"
|
|
+ "target:targetSummary(target),orderRef:orderRef(target)});},{passive:true});"
|
|
|
+ "link.addEventListener('click',function(event){log('manual_open_click',{isTrusted:event.isTrusted===true,"
|
|
+ "link.addEventListener('click',function(event){log('manual_open_click',{isTrusted:event.isTrusted===true,"
|