1//getè¯·æ± 2$.ajax({ 3 type: 'get', 4 url: 'https://apis.map.qq.com/ws/location/v1/ip', 5 data: { 6 key: 'YW3BZ-CRQCB-YF3UE-NIBSW-KAB3Q-3MBX3', 7 output: 'jsonp', 8 }, 9 dataType: 'jsonp', 10 success: function (res) { 11 ipLoacation = res; 12 } 13}) 14function getDistance(e1, n1, e2, n2) { 15 const R = 6371 16 const { sin, cos, asin, PI, hypot } = Math 17 let getPoint = (e, n) => { 18 e *= PI / 180 19 n *= PI / 180 20 return { x: cos(n) * cos(e), y: cos(n) * sin(e), z: sin(n) } 21 } 22 23 let a = getPoint(e1, n1) 24 let b = getPoint(e2, n2) 25 let c = hypot(a.x - b.x, a.y - b.y, a.z - b.z) 26 let r = asin(c / 2) * 2 * R 27 return Math.round(r); 28} 29 30function showWelcome() { 31 32 let dist = getDistance(113.298395, 23.096729, ipLoacation.result.location.lng, ipLoacation.result.location.lat); //è¿éæ¢æèªå·±çç»çº¬åº¦ 33 let pos = ipLoacation.result.ad_info.nation; 34 let ip; 35 let posdesc; 36 //æ ¹æ®å½å®¶ãç份ãåå¸ä¿¡æ¯èªå®ä¹æ¬¢è¿è¯ 37 switch (ipLoacation.result.ad_info.nation) { 38 case "æ¥æ¬": 39 posdesc = "æ 乡çæåºæå¼äºï¼ä¸èµ·å»çå"; 40 break; 41 case "ç¾å½": 42 posdesc = "China!"; 43 break; 44 case "è±å½": 45 posdesc = "è§è¯ä¸çæ£çæ¥ä¸è½å§ã"; 46 break; 47 case "ä¿ç½æ¯": 48 posdesc = "èå¡ï¼"; 49 break; 50 case "æ³å½": 51 posdesc = "纯è¯äººæä¸ªéå ð³"; 52 break; 53 case "å¾·å½": 54 posdesc = "Die Zeit verging im Fluge."; 55 break; 56 case "澳大å©äº": 57 posdesc = "ä¸èµ·å»å¤§å ¡ç¤å§ï¼"; 58 break; 59 case "å æ¿å¤§": 60 posdesc = "æ¾èµ·ä¸çæ«å¶èµ äºä½ "; 61 break; 62 case "ä¸å½": 63 pos = ipLoacation.result.ad_info.province + " " + ipLoacation.result.ad_info.city + " " + ipLoacation.result.ad_info.district; 64 ip = ipLoacation.result.ip; 65 switch (ipLoacation.result.ad_info.province) { 66 case "å京å¸": 67 posdesc = "京ç·v50ççå®åï¼"; 68 break; 69 case "天津å¸": 70 posdesc = "讲段ç¸å£°å§ã"; 71 break; 72 case "æ²³åç": 73 posdesc = "å±±å¿å·å·æå£åï¼å¤©ä¸éå ³ãé马éæç±æ¤åï¼æ 鿱山ã"; 74 break; 75 case "山西ç": 76 posdesc = "山西ååé¢ï¼è¿ææçå¯ç±å¥³å~"; 77 break; 78 case "å èå¤èªæ²»åº": 79 posdesc = "天èèï¼éè«è«ï¼é£å¹èä½è§çç¾ã"; 80 break; 81 case "è¾½å®ç": 82 posdesc = "ææ³åç¤é¸¡æ¶ï¼"; 83 break; 84 case "åæç": 85 posdesc = "ç¶å éå°±æ¯ä¸åç§ç¤ä¹çã"; 86 break; 87 case "é»é¾æ±ç": 88 posdesc = "å¾å欢åå°æ»¨å¤§å§é¢ã"; 89 break; 90 case "䏿µ·å¸": 91 posdesc = "ä½ ç¥éåï¼åç¥æ¯ä¸æ¬¾..."; 92 break; 93 case "æ±èç": 94 switch (ipLoacation.result.ad_info.city) { 95 case "å京å¸": 96 posdesc = "è¿æ¯ææºæ³å»çåå¸å¦ã"; 97 break; 98 case "èå·å¸": 99 posdesc = "䏿天å ï¼ä¸æèæã"; 100 break; 101 default: 102 posdesc = "æ£è£ æ¯å¿ é¡»è¦æ£è£ çã"; 103 break; 104 } 105 break; 106 case "æµæ±ç": 107 posdesc = "ä¸é£æ¸ç»¿è¥¿æ¹æ³ï¼éå·²è¿äººæªåå½ã"; 108 break; 109 case "æ²³åç": 110 switch (ipLoacation.result.ad_info.city) { 111 case "éå·å¸": 112 posdesc = "豫å·ä¹åï¼å¤©å°ä¹ä¸ã"; 113 break; 114 case "åé³å¸": 115 posdesc = "è£æ¬å¸è¡£ï¼èº¬èäºåé³ãæ¤åé³éå½¼åé³ï¼"; 116 break; 117 case "驻马åºå¸": 118 posdesc = "å³°å³°æå¥ç³ï¼ç³ç³æä»æ°ãåµå²å±±çè±å¾ç¾å¦ï¼"; 119 break; 120 case "å¼å°å¸": 121 posdesc = "忣ä¸é¿å é天ã"; 122 break; 123 case "æ´é³å¸": 124 posdesc = "乿å¤é½æ£æ¯å¨ä¸ã"; 125 break; 126 default: 127 posdesc = "å¯å¦å¸¦æåå°æ²³åç©é¢å¦ï¼"; 128 break; 129 } 130 break; 131 case "å®å¾½ç":
132 posdesc = "èå ä½äºï¼èæ¹èµ·é£ã"; 133 break; 134 case "ç¦å»ºç": 135 posdesc = "äºéç½äºé´ï¼å²©åè¿å¸¦å±±ã"; 136 break; 137 case "æ±è¥¿ç": 138 posdesc = "æ»çéãèæ©å好åçè丸ï¼"; 139 break; 140 case "å±±ä¸ç": 141 posdesc = "饿é½å·ä¹ç¹çï¼ä¸æ³æµ·æ°´æ¯ä¸æ³»ã"; 142 break; 143 case "æ¹åç": 144 posdesc = "æ¥ç¢çå¹²é¢ï¼"; 145 break; 146 case "æ¹åç": 147 posdesc = "74751ï¼é¿æ²æ¯å¡å ã"; 148 break; 149 case "广ä¸ç": 150 posdesc = "SYSU å¨è¿éã"; 151 break; 152 case "广西壮æèªæ²»åº": 153 posdesc = "æ¡æå±±æ°´ç²å¤©ä¸ã"; 154 break; 155 case "æµ·åç": 156 posdesc = "æè§æ¥åºéç½æµªï¼å¤çäºèµ·æ¶éå ã"; 157 break; 158 case "åå·ç": 159 posdesc = "康康å·å¦¹åã"; 160 break; 161 case "è´µå·ç": 162 posdesc = "è å°ï¼å¦çï¼åå¡200ã"; 163 break; 164 case "äºåç": 165 posdesc = "çé¾é£èäºç¼ ç»ï¼ä¸ä»å°å·ç´è¸å¤©ã"; 166 break; 167 case "西èèªæ²»åº": 168 posdesc = "æ¬¢è¿æ¥å°ä¸çæé«åã"; 169 break; 170 case "é西ç": 171 posdesc = "æ¥ä»½èåé¢å é¦ã"; 172 break; 173 case "çèç": 174 posdesc = "ç¾ç¬ä½é¡»æ¨æ¨æ³ï¼æ¥é£ä¸åº¦çé¨å ³ã"; 175 break; 176 case "éæµ·ç": 177 posdesc = "çèå¹²åèé ¸å¥¶é½å¥½å¥½åã"; 178 break; 179 case "å®å¤åæèªæ²»åº": 180 posdesc = "å¤§æ¼ å¤çç´ï¼é¿æ²³è½æ¥åã"; 181 break; 182 case "æ°çç»´å¾å°èªæ²»åº": 183 posdesc = "驼éå¤éä¸ç»¸è·¯ï¼è¡é©¬ç¹é»åæ±é£ã"; 184 break; 185 case "å°æ¹¾ç": 186 posdesc = "æå¨è¿å¤´ï¼å¤§éå¨é£å¤´ã"; 187 break; 188 case "馿¸¯ç¹å«è¡æ¿åº": 189 posdesc = "æè§å¾ä½ åºè¯¥æ¯ç¿»å¢è¿æ¥çã"; 190 break; 191 case "æ¾³é¨ç¹å«è¡æ¿åº": 192 posdesc = "æ§æè·å®ï¼å¨çº¿åçã"; 193 break; 194 default: 195 posdesc = "带æå»ä½ çåå¸ééå§ï¼"; 196 break; 197 } 198 break; 199 default: 200 posdesc = "带æå»ä½ çå½å®¶ééå§ã"; 201 break; 202 } 203 204 //æ ¹æ®æ¬å°æ¶é´åæ¢æ¬¢è¿è¯ 205 let timeChange; 206 let date = new Date(); 207 if (date.getHours() >= 5 && date.getHours() < 11) timeChange = "<span>ä¸å好</span>ï¼ä¸æ¥ä¹è®¡å¨äºæ¨ï¼"; 208 else if (date.getHours() >= 11 && date.getHours() < 13) timeChange = "<span>ä¸å好</span>ï¼è¯¥æ¸é±¼ååé¥äºã"; 209 else if (date.getHours() >= 13 && date.getHours() < 15) timeChange = "<span>ä¸å好</span>ï¼ææå°ç¡ä¸ªåè§å§ï¼"; 210 else if (date.getHours() >= 15 && date.getHours() < 16) timeChange = "<span>ä¸ç¹å å¦</span>ï¼é¥®è¶å å¦ï¼"; 211 else if (date.getHours() >= 16 && date.getHours() < 19) timeChange = "<span>å¤é³æ é好ï¼</span>"; 212 else if (date.getHours() >= 19 && date.getHours() < 24) timeChange = "<span>æä¸å¥½</span>ï¼å¨èµ·æ¥ï¼"; 213 else timeChange = "夿·±äºï¼æ©ç¹ä¼æ¯ï¼å°ç¬å¤ã"; 214 215 try { 216 //èªå®ä¹ææ¬åéè¦æ¾çä½ç½® 217 document.getElementById("welcome-info").innerHTML = 218 `<b><center>ð æ¬¢è¿ä¿¡æ¯ ð</center></b>  æ¬¢è¿æ¥èª <b>${pos}</b> çå°ä¼ä¼´ï¼<b>${timeChange}</b>æ¨ç°å¨è·ç¦»<b>ä¸å¤§</b>约 <b>${dist}</b> å ¬éï¼<b>${posdesc}</b>`; 219 } catch (err) { 220 // console.log("Pjaxæ æ³è·å#welcome-infoå ç´ ððð") 221 } 222} 223 224window.onload = showWelcome;
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.