1// æ ¹æ®æ°å计ç®é¢è²ç±» 2function getColorClass(num) { 3 var colorGreen = [0, 5, 6, 11, 16, 17, 21, 22, 27]; 4 var colorBlue = [3, 4, 9, 10, 14, 15, 20, 25, 26]; 5 6 if (colorGreen.indexOf(num) !== -1) { 7 return 'color-1'; 8 } else if (colorBlue.indexOf(num) !== -1) { 9 return 'color-2'; 10 } else { 11 return 'color-0'; 12 } 13} 14 15$(document).ready(function(){ 16 showPage(); 17 getPageDatas(); 18 19 $(".mui-control-item").click(function (e) { 20 var tab = e.target.dataset.tab; 21 $(".mui-control-item").removeClass('mui-active'); 22 $(e.target).addClass('mui-active'); 23 $(".mui-control-content").hide(); 24 $("#" + tab).show(); 25 }); 26 27 $(".forecast-nav span").click(function(e){ 28 $(".forecast-nav span").removeClass("active"); 29 e.target.classList = ['active']; 30 var types = e.target.dataset.type; 31 var gameType = appData.type; 32 getForecastData(gameType, types); 33 }); 34 35 var show_ioslogo = $.cookie('show_ioslogo') 36 if(!show_ioslogo){ 37 let isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); 38 if(isiOS){ 39 $('.foot-bookmark').show() 40 } 41 } 42 43 var shwo_alert = $.cookie('show_alert') 44 if (!shwo_alert) { 45 showAl() 46 } 47}); 48 49document.addEventListener('visibilitychange', function() { 50 if (!document.hidden) { 51 getData() 52 formatForecast() 53 } 54}); 55 56function getForecastData(game, type){ 57 $.ajax({ 58 url: '/data/get/getForecastByType', 59 data: { 60 game: game, 61 type: type 62 }, 63 type: 'GET', 64 success: function (res) { 65 //console.log(res); 66 $("#forecast").find(".result-tr").remove(); 67 if(type == "sz"){ 68 $.each(res, function(i, item) { 69 $("#forecast").append('<div class="result-tr"><span>'+ item['qishu'] +'</span><span>'+ item['kjcode'] +'</span><span id="sz">'+ item['dx'] + item['ds'] +'</span><span><span style="color: #00a0e9">'+ item['yesno'] +'</span></span></div>'); 70 }); 71 } else { 72 $.each(res, function(i, item) { 73 $("#forecast").append('<div class="result-tr"><span>'+ item['qishu'] +'</span><span>'+ item['kjcode'] +'</span><span>'+ item['dx'] + item['ds'] +'</span><span><span style="color: #00a0e9">'+ item['yesno'] +'</span></span></div>'); 74 }); 75 } 76 } 77 }) 78} 79 80var times; 81var timeout; 82var isRefreshingData = false; 83function showPage(){ 84 //console.log(appData); 85 clearInterval(timeout); 86 times = appData['time']['t']; 87 timeout = setInterval(function () { 88 times = times - 1; 89 setTime(times); 90 }, 1000) 91} 92 93function formatData(force){ 94 $nowQishu = $('#period').text(); 95 if(!force && $nowQishu == appData['issue'][0]['qishu']){ 96 return false; 97 } 98 99 $("#period").text(appData['issue'][0]['qishu']); 100 //$("#qishu2").text(appData['issue'][0]['qishu']); 101 $("#mi-qishu").text(appData['issue'][0]['qishu']); 102 $("#mi-qishu2").text(Number(appData['issue'][0]['qishu']) + 1); 103 $("#mi-num1").text(appData['issue'][0]['num1']); 104 $("#mi-num2").text(appData['issue'][0]['num2']); 105 $("#mi-num3").text(appData['issue'][0]['num3']); 106 $("#mi-num4").text(appData['issue'][0]['sum']); 107 108 // 为主æ¾ç¤ºåºåçsumæ·»å é¢è²ç±» 109 var colorClass = getColorClass(Number(appData['issue'][0]['sum'])); 110 $("#num4").removeClass('color-0 color-1 color-2').addClass(colorClass); 111 $("#mi-num4").removeClass('color-0 color-1 color-2').addClass(colorClass); 112 formatIssue(appData['issue'][0]['qishu']); 113 formatIssueList(); 114 formatResult(); 115 formatTrend(); 116 formatCensus(); 117 //formatForecast(); 118 setTimeout(formatForecast, 2000); 119} 120 121function setTime(time){ 122 //console.log(time); 123 var hour = parseInt(time/60/60); 124 var min = parseInt(time/60%60); 125 var sec = parseInt(time%60); 126 if(hour < 10){ 127 hour = "0" + hour; 128 } 129 if(min < 10){ 130 min = "0" + min; 131 } 132 if(sec < 10){ 133 sec = "0" + sec; 134 } 135 if(time >= 0){ 136 var timeHtml = '<span>䏿:</span><b class="ng-binding" style="background:red;" id="minutes">'+min+'</b><span>å</span><b class="ng-binding" style="background:red;" id="seconds">'+sec+'</b><span>ç§</span>'; 137 if (hour > 0) { 138 timeHtml = '<span>䏿:</span><b class="ng-binding" style="background:red;" id="hours">'+hour+'</b><span>
138æ¶</span><b class="ng-binding" style="background:red;" id="minutes">' + min + '</b><span>å</span><b class="ng-binding" style="background:red;" id="seconds">' + sec + '</b><span>ç§</span>'; 139 } 140 $(".opentime").html(timeHtml); 141 $("#mi-time").html(min + ":" + sec); 142 } else { 143 getDataFile(); 144 //getData(); 145 $(".opentime .ng-binding").html('--'); 146 $("#loading").show(); 147 $("#issues").hide(); 148 $("#mi-time").html('--:--') 149 // $("#times").html("å¼å¥ä¸"); 150 $(".center-lo").show(); 151 } 152} 153 154function getDataFile() { 155 let nowTs = Date.parse(new Date()) / 1000 156 $.ajax({ 157 url: '/open/' + appData['type'] + '.js?_=' + nowTs, 158 type: 'GET', 159 success: function (res) { 160 let nowSec = res - nowTs 161 if (nowSec >= 0) { 162 getData() 163 } 164 } 165 }) 166} 167 168function getData(){ 169 if (isRefreshingData) { 170 return; 171 } 172 isRefreshingData = true; 173 $.ajax({ 174 url: '/data/get/checkData?type=' + appData['type'], 175 type: 'GET', 176 cache: false, 177 success: function (res) { 178 if (res && res.time && typeof res.time.t !== 'undefined') { 179 if (res.issue && res.issue.length) { 180 clearInterval(timeout); 181 182 // ä¿æåæçforecastæ°æ®ï¼å¦ææ°æ°æ®ä¸æ²¡æforecast 183 if (!res.forecast || res.forecast.length === 0) { 184 res.forecast = appData.forecast || []; 185 } 186 187 appData = res; 188 showPage(); 189 formatData(false); 190 $("#loading").hide(); 191 $("#issues").show(); 192 $(".center-lo").hide(); 193 } else { 194 setTime(res.time.t); 195 } 196 } else { 197 console.error('忥å¼å¥æ¶é´å¤±è´¥ï¼ååºç¼ºå° time.t'); 198 } 199 }, 200 error: function (xhr, status, error) { 201 console.error('忥å¼å¥æ¶é´å¤±è´¥ï¼', status, error); 202 }, 203 complete: function () { 204 isRefreshingData = false; 205 } 206 }) 207} 208 209function formatIssue(issue){ 210 var issueData = appData['issue']; 211 $.each(issueData,function(i, v){ 212 if(v['qishu'] == issue){ 213 //$("#qishu2").text(v['qishu']); 214 $("#num1").text(v['num1']); 215 $("#num2").text(v['num2']); 216 $("#num3").text(v['num3']); 217 $("#num4").text(v['sum']); 218 219 // 为主æ¾ç¤ºåºåçsumæ·»å é¢è²ç±» 220 var colorClass = getColorClass(Number(v['sum'])); 221 $("#num4").removeClass('color-0 color-1 color-2').addClass(colorClass); 222 223 var dx, ds; 224 if(v['sum'] > 13){ 225 dx = '<span class="badge ng-binding red-info">大</span>' 226 } else { 227 dx = '<span class="badge ng-binding red-info">å°</span>'; 228 } 229 if(v['sum'] % 2 != 0){ 230 ds = '<span class="badge ng-binding red-info">å</span>'; 231 } else { 232 ds = '<span class="badge ng-binding red-info">å</span>'; 233 } 234 $("#dxds").html(""); 235 $("#dxds").append(dx + ds); 236 return false; 237 } 238 }); 239} 240 241function formatIssueList(){ 242 $(".issue-more").html(""); 243 //console.log(appData); 244 $.each(appData['issue'], function(i, item) { 245 $(".issue-more").append("<li>"+ item['qishu'] +"</li>"); 246 }); 247} 248 249function formatResult(){ 250 // 计ç®é¢è²ç±» 251 var sum = Number(appData['issue'][0]['sum']); 252 var colorClass = getColorClass(sum); 253 254 var resultHtml = '<tr><td>' + appData['issue'][0]['qishu'] + '</td><td>' + appData['issue'][0]['time'] + '</td><td>' + appData['issue'][0]['num1'] + '+' + appData['issue'][0]['num2'] + '+' + appData['issue'][0]['num3'] + '=<span class="' + colorClass + '">' + appData['issue'][0]['sum'] + '</span></td></tr>'; 255 $("#result tbody").prepend(resultHtml); 256 $("#result tbody tr").eq(-1).remove(); 257} 258 259function formatTrend(){ 260 var da, xiao, dan, shuang, dadan, dashuang, xiaodan, xiaoshuang; 261 var sum = Number(appData['issue'][0]['sum']); 262 var colorClass = getColorClass(sum); 263 264 if(sum > 13){ 265 da = '<td><div style="background-color:red">大</div></td>'; 266 xiao = '<td></td>'; 267 if(sum % 2 != 0){
268 dadan = '<td><div style="background-color:green;width:30px;">大å</div></td>'; 269 dashuang = '<td></td>'; 270 } else { 271 dadan = '<td></td>'; 272 dashuang = '<td><div style="background-color:blue;width:30px;">大å</div></td>'; 273 } 274 xiaodan = '<td></td>'; 275 xiaoshuang = '<td></td>'; 276 } else { 277 da = '<td></td>'; 278 xiao = '<td><div style="background-color:blue">å°</div></td>'; 279 if(sum % 2 != 0){ 280 xiaodan = '<td><div style="background-color:green;width:30px;">å°å</div></td>'; 281 xiaoshuang = '<td></td>'; 282 } else { 283 xiaodan = '<td></td>'; 284 xiaoshuang = '<td><div style="background-color:blue;width:30px;">å°å</div></td>'; 285 } 286 dadan = '<td></td>'; 287 dashuang = '<td></td>'; 288 } 289 if(sum % 2 != 0){ 290 dan = '<td><div style="background-color:green">å</div></td>'; 291 shuang = '<td></td>'; 292 } else { 293 dan = '<td></td>'; 294 shuang = '<td><div style="background-color:blue">å</div></td>'; 295 } 296 var trendHtml = '<tr><td>'+appData['issue'][0]['qishu']+'</td> <td><span class="' + colorClass + '">'+sum+'</span></td> '+da +xiao+dan+shuang+xiaodan+xiaoshuang+dadan+dashuang+'</tr>'; 297 $("#trend tbody").prepend(trendHtml); 298 $("#trend tbody tr").eq(-1).remove(); 299} 300 301function formatCensus(){ 302 $.each(appData['num']['done_data'], function(i, item) { 303 $("#" + i).html(item); 304 }); 305 $.each(appData['num']['pode_data'], function(i, item) { 306 $("#" + i).html(item); 307 }); 308} 309 310function formatForecast(){ 311 var gameType = appData.type; 312 $("#forecast tbody").html(''); 313 314 // æ£æ¥æ¯å¦æforecastæ°æ® 315 if (!appData['forecast'] || appData['forecast'].length === 0) { 316 console.log('No forecast data available'); 317 return; 318 } 319 320 $.each(appData['forecast'], function(i, item) { 321 let isRight = item.right; 322 323 // 为kjcodeæ·»å é¢è²ç±» 324 var colorClass = getColorClass(Number(item['kjcode'])); 325 var coloredKjcode = '<span class="' + colorClass + '">' + item['kjcode'] + '</span>'; 326 327 let forecastHtml = '<tr><td>' + item['qishu'] + '</td> <td>' + coloredKjcode + '</td> <td>' + item['dx'] + ' | ' + item['ds'] + '</td> <td> <img src="/static/theme2/img/dc_' + item['right'] + '.png"> </td> </tr>'; 328 if (isRight < 0) { 329 forecastHtml = '<tr><td>' + item['qishu'] + '</td> <td>' + coloredKjcode + '</td> <td>' + item['dx'] + ' | ' + item['ds'] + '</td> <td></td> </tr>'; 330 } 331 $("#forecast tbody").append(forecastHtml) 332 }); 333} 334 335 336function closeAl() 337{ 338 $('.al-bg').hide(); 339 $.cookie('show_alert', '1', { expires: 1 }) 340} 341 342function showAl() 343{ 344 $('.al-bg').show(); 345} 346 347 348function hideIosLogo(){ 349 $('.foot-bookmark').hide() 350 $.cookie('show_ioslogo', '1', { expires: 1 }) 351} 352 353function getPageDatas() { 354 $.ajax({ 355 url: '/data/get/getPageDatas', 356 type: 'GET', 357 success: function (res) { 358 res = res.slice(8) 359 res = JSON.parse(window.atob(res)); 360 $('.banner').html(''); 361 362 res.banner.forEach(element => { 363 $('.banner').append('<a id="b_' + element.id + '" href="/game/page/link?id=' + element.id + '&url=' + element.link + '" target="_blank"></a>'); 364 }); 365 366 res.banner.forEach(element => { 367 var xhr = new XMLHttpRequest(); 368 xhr.open("get", element.img, true); 369 xhr.responseType = "blob"; 370 xhr.onload = function () { 371 if (this.status == 200) { 372 var blob = this.response; 373 var img = document.createElement("img"); 374 img.onload = function (e) { 375 window.URL.revokeObjectURL(img.src); 376 }; 377 img.src = window.URL.createObjectURL(blob); 378 $('#b_' + element.id).append('<img src="' + img.src + '" />'); 379 } 380 } 381 xhr.send(); 382 }); 383 384 if(res.alert.length == 1){ 385 let item = res.alert[0] 386 $('#al').html('<div class="al-bg" id="al-close"><div class="al-model-bg" onclick="closeAl()"><div class="al-model"><div class="al-title">è¯·è®¤åæ¬å¼å¥ç½ç½å</div><img src="'+item.qrcode+'" class="al-qrcode"><div class="al-a"><a class="al-a-1" href="/game/page/linkalert?id='+item.id+'&index=1&url='+item.item1url+'" target="_blank">'+item.item1+'</a><a class="al-a-2" href="/game/page/linkalert?id='+item.id+'&index=2&url='+item.item2url+'" target="_blank">'+item.item2+'</a><a class="al-a-3" href="/game/page/linkalert?id='+item.id+'&index=3&url='+item.item3url+'" target="_blank">'+item.item3+'</a></div></div></div></div><img class="al-show" id="al_ball" src="https://images.htqwhj.com/images/touzhu.png" onclick="showAl()">'); 387 } 388 } 389 }) 390}
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.