1$(function () { 2 reqMemberCardAction(); 3 4 $(document).on('click', '.btnCHTLogin', function () { 5 var $this = $(this); 6 var data = { returnUrl: $this.data('returnUrl') || location.href }; 7 8 var url = $this.attr('href'); 9 if (url) { 10 $this.data('curl', url); 11 } else { 12 url = $this.data('curl'); 13 } 14 15 data.curl = url; 16 17 $this.removeAttr('href'); 18 19 ckickLogIn(data); 20 }); 21 22 $(document).on('click', '.lnkLogut', function () { 23 var $this = $(this); 24 var data = { returnUrl: $this.data('returnUrl') ?? location.href }; 25 26 var url = $this.attr('href'); 27 if (url) { 28 $this.data('curl', url); 29 } else { 30 url = $this.data('curl'); 31 } 32 33 data.curl = url; 34 35 $this.removeAttr('href'); 36 37 ckickLogOut(data); 38 }); 39 40 function ckickLogIn(data) { 41 $.ajax({ 42 type: 'POST', 43 url: '/home/eshop/api/Login/LogInUser', 44 data: data, 45 async: false, 46 success: function (response) { 47 console.log({ 'success': response, data }); 48 if (response != null && data != null) { 49 window.location.href = data.curl; 50 showLoading(); 51 } 52 }, 53 error: function (jqXHR) { 54 console.log('fail', jqXHR); 55 }, 56 dataType: 'json' 57 }); 58 } 59 60 function ckickLogOut(data) { 61 $.ajax({
62 type: 'POST', 63 url: '/home/eshop/api/Login/LogOutUser', 64 data: data, 65 async: false, 66 success: function (response) { 67 console.log({ 'success': response, data }); 68 69 if (response != null && data != null) { 70 71 var urlparts = data.returnUrl.split('?'); 72 var returnUrl = ''; 73 if (urlparts.length >= 2) { 74 returnUrl = response.logoutMemberUrl || urlparts[0]; 75 } else { 76 returnUrl = removeURLParameter(data.returnUrl, 'flowID'); 77 } 78 response.returnURL = updateQueryStringParameter(data.curl, 'ReturnURL', returnUrl.replace(/=/g, 'DengYu').replace(/&/g, 'YiJi')); 79 console.log(response.returnURL); 80 window.location.href = response.returnURL; 81 showLoading(); 82 } 83 }, 84 error: function (jqXHR) { 85 console.log(jqXHR); 86 }, 87 dataType: 'json' 88 }); 89 } 90}); 91 92function updateQueryStringParameter(uri, key, value) { 93 var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); 94 var separator = uri.indexOf('?') !== -1 ? "&" : "?"; 95 if (uri.match(re)) { 96 return uri.replace(re, '$1' + key + "=" + value + '$2'); 97 } 98 else { 99 return uri + separator + key + "=" + value; 100 } 101} 102 103function removeURLParameter(url, parameter) { 104 //prefer to use l.search if you have a location/link object 105 var urlparts = url.split('?'); 106 if (urlparts.length >= 2) { 107 108 var prefix = encodeURIComponent(parameter) + '='; 109 var pars = urlparts[1].split(/[&;]/g); 110 111 //reverse iteration as may be destructive 112 for (var i = pars.length; i-- > 0;) { 113 //idiom for string.startsWith 114 if (pars[i].lastIndexOf(prefix, 0) !== -1) { 115 pars.splice(i, 1); 116 } 117 } 118 119 url = urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : ""); 120 return url; 121 } else { 122 return url; 123 } 124} 125 126function reqMemberCardAction() { 127 var config = window.MegaMenuConfig || {}; 128 $.ajax({
129 url: '/home/eshop/api/MegaMenu/MemberCardModal', 130 method: 'POST', 131 data: { isEnterprise: !!config.isEnterprise, isMobile: !!config.isMobile }, 132 global: false, 133 success: function (stream) { 134 $('[data-membercard-div]').append(stream); 135 }, 136 error: function (xhr) { 137 console.log(xhr); 138 } 139 }); 140} 141 142//----------------------------------------- 143$.extend({ 144 MegaMenu: new MegeMenuConfigurations() 145}); 146 147// Header åºç¤è¨å® 148function MegeMenuConfigurations() { 149 var scrollOptions = { 150 BannerSelector: '.index-mega-banner', 151 TabScrollTop_limit: 0, 152 }; 153 154 function ScrollSetting() { 155 return scrollOptions; 156 } 157 158 return { 159 SetScrollOption: function (opt) { 160 var option = new ScrollSetting(); 161 if (!opt) 162 return option 163 return $.extend(option, opt) 164 }, 165 ScrollOptions: scrollOptions 166 } 167}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.