1<html> 2 <head> 3 <meta charset="utf-8" /> 4 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 6 <meta name="format-detection" content="telephone=no, address=no, email=no" /> 7 <meta name="description" content="åºäºâèªå»º+å ±å»ºâæ¨¡å¼ï¼å°åæ£ã弿ãå¤å±çº§çè¾¹ç¼è®¡ç®èµæºéåèµ·æ¥ï¼æå»ºäºå ¨çé¦ä¸ªç¾ä¸é级èç¹è¾¹ç¼è®¡ç®å¹³å°ãã" /> 8 <meta name="keywords" content="ç»å½æåäº,æåäºå®ç½ç»å½,æåäºç¨æ·ç»å½,æåäº,æåäºå®ç½,ç½å¿ç§æ" /> 9 <!-- ç¾åº¦ç«é¿HTMLæ ç¾éªè¯ --> 10 <meta name="baidu-site-verification" content="oPxtUFdTTu" /> 11 <title>ç»å½ - æåäºå®ç½</title> 12 <link rel="icon" sizes="any" href="//static.xycloud.com/www/assets/img/favicon.ico"> 13 <link rel="stylesheet" type="text/css" href="//static.xycloud.com/www/assets/css/css-1.3.9.css" /> 14 <link rel="stylesheet" type="text/css" href="//static.xycloud.com/www/assets/css/pagination.css" /> 15 </head> 16 <body> 17 <!-- header --> 18 <div class="hd"> 19 <div class="main"> 20 <h1 class="logobox"><a class="logo" href="https://www.xycloud.com" title="æåäºå®ç½">æåäºå®ç½</a></h1> 21 <div class="nav"> 22 <ul id="navList" class="navlist"> 23 <li data-id="products"> 24 <a class="nav-hover nav-hover-sj" href="javascript:void(0)" >产å</a> 25 <div class="subnav"> 26 <div class="subnav-listbox"> 27 <div class="subnav-list-unit"> 28 <a href="https://www.xycloud.com/products/edgecomputing"> 29 <i class="i-toggle-nav i-toggle-ser"></i> 30 <i class="i-toggle-nav i-toggle-ser i-toggle-back"></i> 31 <h3>æåè¾¹ç¼è®¡ç®</h3> 32 <p>åºäºäºåçææ¯å¼æ¾æµ·éè¾¹ç¼è®¡ç®èç¹èµæº</p> 33 </a> 34 </div> 35 <div class="subnav-list-unit"> 36 <a href="https://www.xycloud.com/products/cdn"> 37 <i class="i-toggle-nav i-toggle-cnt"></i> 38 <i class="i-toggle-nav i-toggle-cnt i-toggle-back"></i> 39 <h3>æåCDN</h3> 40 <p>å ¨æ°ä¸ä»£çåå¸å¼CDN</p> 41 </a> 42 <!-- <div class="subnav-btns"> 43 <a href="https://www.xycloud.com/products/scdn" class="btn-subnav-hot">å ±äº«ç<img src="//static.xycloud.com/www/assets/img/hot.png" alt="" /></a> 44 <a href="https://www.xycloud.com/products/platinumcdn">åè¶ç</a> 45 <a href="https://www.xycloud.com/products/standardcdn">æ åç</a> 46 </div> --> 47 </div> 48 <div class="subnav-list-unit"> 49 <a href="https://www.xycloud.com/products/evaluation"> 50 <i class="i-toggle-nav i-toggle-fn"></i> 51 <i class="i-toggle-nav i-toggle-fn i-toggle-back"></i> 52 <h3>彿°è®¡ç®</h3> 53 <p>髿ãè½»éã便æ·çæ æå¡å¨åºç¨</p> 54 </a> 55 </div> 56 <div class="subnav-list-unit subnav-list-unit-last"> 57 <a href="https://www.xycloud.com/products/edgestorage"> 58 <i class="i-toggle-nav i-toggle-est"></i> 59 <i class="i-toggle-nav i-toggle-est i-toggle-back"></i> 60 <h3>è¾¹ç¼åå¨</h3> 61 <p>å®å ¨ãæµ·éãé«å¯é çåå¸å¼å卿å¡</p> 62 </a> 63 </div> 64 <div class="subnav-list-unit subnav-list-unit-last"> 65 <a href="https://www.xycloud.com/products/burrow"> 66 <i class="i-toggle-nav i-toggle-xytd"></i> 67 <i class="i-toggle-nav i-toggle-xytd i-toggle-back"></i> 68 <h3>æåéé<span class="i-toggle-est-new"><img src="//static.xycloud.com/www/assets/img/new.png" alt="" /></span></h3> 69 <p>
69åºäºæåæ éè¾¹ç¼è®¡ç®èç¹çæ°æ®ä¼ è¾æå¡</p> 70 </a> 71 </div> 72 </div> 73 </div> 74 </li> 75 <!-- <li data-id="example"><a class="nav-hover" href="https://www.xycloud.com/products/example">ç¹ææ¡ä¾</a></li> --> 76 <!-- <li data-id="linktoken"><a class="nav-hover" href="https://www.xycloud.com/linktoken">使ç¨è¯´æ</a></li> --> 77 <li data-id="docs"><a class="nav-hover" href="https://docs.xycloud.com">帮å©ä¸å¿</a></li> 78 <li data-id="about"><a class="nav-hover" href="https://www.xycloud.com/about">å ³äºæä»¬</a></li> 79 </ul> 80 </div> 81 <div class="aside-nav"> 82 <!-- æªç»å½å¯è§ --> 83 <dl class="aside-navlist" id="unlogged-aside-nav"> 84 <dd><a href="https://www.xycloud.com/login?ref=https%3A%2F%2Fconsole.xycloud.com%23%2Foverview">æ§å¶å°</a></dd> 85 <dd><a href="https://www.xycloud.com/login" id="login-href">ç»å½</a></dd> 86 <dd><a class="user-regist-link" href="https://www.xycloud.com/register" onclick='_gsq.push(["T","GWD-002889","trackEvent","xycloud","Header-ç«å³æ³¨å","pc"]);'>ç«å³æ³¨å<img src="//static.xycloud.com/www/assets/img/hot2.gif" alt="" /></a></dd> 87 </dl> 88 <!-- ç»å½å¯è§ --> 89 <dl class="aside-navlist" id="logged-aside-nav"> 90 <dd><a href="https://www.xycloud.com/login?ref=https%3A%2F%2Fconsole.xycloud.com%23%2Foverview">æ§å¶å°</a></dd> 91 <dd> 92 <a><i class="i-user"></i><span class="nav-user" id="user-name">ç¨æ·åç§°ç¨æ·åç§°</span></a> 93 <div class="user-subbox"> 94 <!-- <a href="#">è´¦æ·ä¿¡æ¯</a> --> 95 <!-- <a href="#">è´¹ç¨ä¸å¿</a> --> 96 <a href="https://console.xycloud.com#/account/security">è´¦æ·ä¿¡æ¯</a> 97 <!-- <a href="#">æ¶æ¯ä¸å¿<span class="msg-num">1</span></a> --> 98 <!-- <a href="https://console.xycloud.com">æ§å¶å°</a> --> 99 <a href="javascript:;" onclick="frameWorkMethods.logout()">éåº</a> 100 </div> 101 </dd> 102 </dl> 103 </div> 104 </div> 105</div> 106 107
108<script type="text/javascript"> 109 var href = window.location.href; 110 var index = href.indexOf("xycloud.com/") + 12; 111 var uri = href.substring(index); 112 var uriEncode = "/login?ref=" + encodeURIComponent(uri); 113 var loginHref = document.getElementById("login-href"); 114 115 // console.log(href); 116 // console.log(uri); 117 // console.log(uri.indexOf("login")); 118 // console.log(uriEncode); 119 120 //设置èåé«äº®; 121 var navLists = document.getElementById("navList").getElementsByTagName("li"); 122 if(uri && uri.indexOf("products")===0){ 123 siteNav("products"); 124 } 125 if(uri && uri.indexOf("linktoken")===0){ 126 siteNav("linktoken"); 127 } 128 // if(uri&&uri.indexOf(href.indexOf("docs.xycloud.com"))>=0){ 129 // siteNav("doc"); 130 // } 131 if(uri && uri.indexOf("about")===0){ 132 siteNav("about"); 133 } 134 if(uri && uri.indexOf("products/example")===0){ 135 siteNav("example"); 136 } 137 function siteNav(dataId){ 138 var _this; 139 for(var i=0; i<navLists.length; i++){ 140 _this = navLists[i]; 141 _this.getAttribute("data-id")==dataId ? _this.className = "on" : _this.className = ""; 142 } 143 } 144 145 //uriåå¨ && éç»å½é¡µé¢ 146 if (uri && uri.indexOf("login") === -1){ 147 // console.log(1111111111111); 148 loginHref.setAttribute('href',uriEncode); 149 }; 150 151</script>
151 152 153 154 155 <!-- content --> 156 157 <style type="text/css"> 158 .main { 159 perspective: 800px; 160 } 161 162 .loginbox { 163 height: 334px; 164 transform-style: preserve-3d; 165 transition: all 0.5s; 166 } 167 168 .loginbox-back { 169 transform: rotateY(180deg); 170 } 171 172 .front { 173 position: absolute; 174 width: 400px; 175 left: 0; 176 top: 0; 177 background: #fff; 178 padding: 35px; 179 box-sizing: border-box; 180 backface-visibility: hidden; 181 } 182 183 .back { 184 position: absolute; 185 left: 0; 186 top: 0; 187 width: 100%; 188 background: #fff; 189 height: 100%; 190 padding: 35px; 191 box-sizing: border-box; 192 transform: rotateY(180deg); 193 backface-visibility: hidden; 194 } 195 196 .form-tit, .inp-ect { 197 backface-visibility: hidden; 198 } 199 200 201 .back-arrow { 202 position: relative; 203 top: -20px; 204 right: 10px; 205 cursor: pointer; 206 color: #666; 207 width: 60px; 208 } 209 210 .regform { 211 width: 100%; 212 } 213 214 #cert-phone-num[disabled] { 215 background: #f5f5f5; 216 cursor: not-allowed; 217 color: #00000040; 218 } 219 220 </style> 221 <div class="wp wp-login"> 222 <div class="main"> 223 <div class="login-slogan"> 224 <h1> 225 <span>æåäº</span> 226 <small>å ¨çè¾¹ç¼è®¡ç®åé¢è </small> 227 </h1> 228 </div> 229 <div class="loginbox"> 230 <div class="side front"> 231 <div class="form-tit"> 232 <h3>ç»å½æåäº</h3> 233 </div> 234 <form class="loginform"> 235 <div class="inp-unit"> 236 <div class="inpbox" id="account-container"> 237 <input 238 id="account-input" 239 class="itxt" 240 type="text" 241 placeholder="ææºå·/é®ç®±" 242 name="account" 243 oninput="methods.phoneInputChange()" 244 /> 245 </div> 246 <p class="err" id="account-err">error text here</p> 247 </div> 248 <div class="inp-unit"> 249 <div class="inpbox" id="password-container"> 250 <input 251 class="itxt" type="password" 252 placeholder="å¯ç " 253 name="password" 254 oninput="methods.passwordInputChange()" 255 maxlength="20" 256 onkeydown="return methods.keyDown(event,'password')" 257 /> 258 </div> 259 <p class="err" id="password-err">error text here</p> 260 </div> 261 <div class="inp-unit" id="graph-captcha-wrapper" style="display: none;"> 262 <div class="inpbox" id="graph-captcha-container"> 263 <input 264 class="itxt" 265 type="text" 266 placeholder="å¾å½¢éªè¯ç " 267 name="graphCaptcha" 268 maxlength="4" 269 onkeydown="return methods.keyDown(event,'graphCaptcha')" 270 /> 271 <div class="inp-codebox"> 272 <img id="graph-captcha-img" src="" alt="ç¹å»åæ¢éªè¯ç " 273 onclick="methods.clickGraphCaptcha()"/> 274 </div> 275 </div> 276 <p class="err" id="graph-captcha-err">error text here</p> 277 </div> 278 <div class="inpbtn"> 279 <a class="btn-big" onclick="methods.doLogin()">ç»å½</a> 280 </div> 281 <div class="inp-ect"> 282 <p>è¿æ²¡æè´¦å·ï¼<a href="https://www.xycloud.com/register">å 费注å</a></p>
283 <span class="abs"><a href="https://www.xycloud.com/retrieve_password/by_phone">å¿è®°å¯ç </a></span> 284 </div> 285 </form> 286 </div> 287 <div class="side back"> 288 <div class="back-arrow" onclick="methods.toggleLogin()">< è¿å</div> 289 <div class="form-tit"> 290 <h3>çä¿¡äºæ¬¡è®¤è¯</h3> 291 </div> 292 <div class="regform"> 293 <div class="inp-unit"> 294 <div class="inpbox inpbox-phone" id="cert-phone-container"> 295 <div class="area-num">+86</div> 296 <input class="itxt" disabled type="text" id="cert-phone-num" placeholder="ææºå·ç " 297 name="phone" 298 maxlength="11" 299 onpaste="return false"/> 300 </div> 301 <p class="err" id="cert-phone-err">éè¯¯ä¿¡æ¯æç¤º</p> 302 </div> 303 304 <div class="inp-unit" id="cert-phone-captcha-wrapper"> 305 <div class="inpbox inpbox-code" id="cert-phone-captcha-container"> 306 <input class="itxt" type="text" placeholder="ææºéªè¯ç " 307 id="cert-phone-captcha" 308 maxlength="6" 309 name="phoneCaptcha" 310 onkeydown="return certMethods.keyDown(event,'phoneCaptcha')" 311 oninput="certMethods.inputChange(event,'phoneCaptcha')" 312 onblur="certMethods.blurFromInput('phoneCaptcha')" 313 onpaste="return false"/> 314 </div> 315 <div class="inp-codebtn"> 316 <a class="btn-code" href="#" id="cert-send-phone-captcha-btn" 317 onclick="certMethods.sendPhoneCaptcha()">è·åææºéªè¯ç </a> 318 </div> 319 <p class="err" id="cert-phone-captcha-err">éè¯¯ä¿¡æ¯æç¤º</p> 320 <p class="err-tip">请è¾å ¥8ä½å å«åæ¯åæ°åçå¯ç </p> 321 <p class="err-ok" id="cert-phone-captcha-success">çä¿¡éªè¯ç å·²åé</p> 322 </div> 323 <div class="inpbtn"> 324 <button class="btn-big btn-disable" 325 type="button" 326 onClick="certMethods.next()" 327 id="cert-next-btn" 328 disabled 329 >ç»å½ 330 </button> 331 </div> 332 </div> 333</div> 334 335 </div> 336 </div> 337 </div> 338 339 <!-- footer --> 340 <div class="ft"> 341 <div class="main"> 342 <div class="ft-top"> 343 <div class="ft-menu"> 344 <dl class="ft-dl"> 345 <dt>æåäºäº§å</dt> 346 <dd><a href="https://www.xycloud.com/products/edgecomputing">è¾¹ç¼è®¡ç®</a></dd> 347 <dd><a href="https://www.xycloud.com/products/evaluation">彿°è®¡ç®</a></dd> 348 <dd><a href="https://www.xycloud.com/products/cdn">æåCDN</a></dd> 349 <dd><a href="https://www.xycloud.com/products/edgestorage">è¾¹ç¼åå¨</a></dd> 350 <dd><a href="https://www.xycloud.com/products/burrow">æåéé</a></dd> 351 </dl> 352 <dl class="ft-dl"> 353 <dt>帮å©ä¸å¿</dt> 354 <dd><a href="https://docs.xycloud.com/products/1/1/1.html">è¾¹ç¼è®¡ç®</a></dd> 355 <dd><a href="https://docs.xycloud.com/products/2/1/1.html">彿°è®¡ç®</a></dd> 356 <dd><a href="https://docs.xycloud.com/products/3/1/1.html">æåCDN</a></dd> 357 <dd><a href="https://docs.xycloud.com/products/9/1/1.html">è¾¹ç¼åå¨</a></dd> 358 <dd><a href="https://docs.xycloud.com/others/8/1.html">ç¸å ³åè®®</a></dd> 359 </dl> 360 <dl class="ft-dl"> 361 <dt>å¿«éå ¥å£</dt> 362 <dd><a href="https://www.xycloud.com/login?ref=https%3A%2F%2Fconsole.xycloud.com%23%2Foverview">æ§å¶å°</a></dd> 363 <!-- <dd><a href="https://www.xycloud.com/products/example">ç¹ææ¡ä¾</a></dd> --> 364 </dl> 365 <dl class="ft-dl"> 366 <dt>
366å ³äºæä»¬</dt> 367 <dd><a href="https://www.xycloud.com/about">äºè§£æåäº</a></dd> 368 <dd><a href="https://www.xycloud.com/about#develop">åå±åç¨</a></dd> 369 <dd><a href="https://www.xycloud.com/about#glory">å¥é¡¹è£èª</a></dd> 370 <dd><a href="https://www.xycloud.com/about#news">æ°é»å¨æ</a></dd> 371 <dd><a href="https://www.xycloud.com/about#contact">èç³»æä»¬</a></dd> 372 </dl> 373 </div> 374 <div class="ft-contact"> 375 <dl class="ft-dl"> 376 <dt>èç³»æä»¬</dt> 377 <dd>é®ç®±ï¼<a href="mailto:[email protected]">[email protected]</a></dd> 378 <dd> 379 <div class="ft-wxcode"><img src="//static.xycloud.com/www/assets/img/company_code.jpg" alt="" /></div> 380 </dd> 381 </dl> 382 </div> 383 </div> 384 <div class="ft-bot"> 385 <p>Copyright©2015-2021 xycloud.com All Rights Reserved æ·±å³å¸ç½å¿ç§ææéå ¬å¸ææ 386 <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44030502007600" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><img src="//static.xycloud.com/www/assets/img/batb.png" alt="" style="float:left;"/><span style="color:#939393;">ç²¤å ¬ç½å®å¤ 44030502007600å·</span></a> 387 388 <!--
388<script id="ebsgovicon" src="https://szcert.ebs.org.cn/govicons.js?id=69f05648-4860-4543-a152-2af5e73a064f&width=18&height=25&type=1" type="text/javascript" charset="utf-8"></script>
388 --> 389 <a href="http://beian.miit.gov.cn" target="_blank" rel="nofollow">粤ICPå¤14008884å·</a> | <a href="https://www.xycloud.com/map">ç½ç«å°å¾</a> 390 391 <a target="_blank" href="https://szcert.ebs.org.cn/69f05648-4860-4543-a152-2af5e73a064f "><img src="//static.xycloud.com/www/assets/img/gongshang.png" style="display:inline-block;text-decoration:none;width:18px;margin-right:1px;"/>å·¥åç½ç</a> 392 </p> 393 </div> 394 </div> 395</div> 396 397<!--[if lte IE 9]> 398<div class="lowBrowser"> 399 <div class="lowBrowser-main"> 400 <h3>请å级æ¨çæµè§å¨</h3> 401 <p>Oops! æ¨çæµè§å¨çæ¬è¿ä½ï¼æ³æ¥ææ´å¥½çæµè§ä½éªï¼è¯·ä¸è½½æä½¿ç¨ä»¥ä¸ä»»æä¸æ¬¾æµè§å¨~</p> 402 <a href="https://www.google.cn/intl/zh-CN/chrome/" target="_blank" title="è°·ææµè§å¨"><img src="//static.xycloud.com/www/assets/img/download-chrome.png" alt="è°·ææµè§å¨"></a> 403 <a href="http://www.firefox.com.cn/download/" target="_blank" title="ç«çæµè§å¨"><img src="//static.xycloud.com/www/assets/img/download-ff.png" alt="ç«çæµè§å¨"></a> 404 <a href="https://www.microsoft.com/zh-cn/download/internet-explorer.aspx" target="_blank" title="ææ°IEæµè§å¨"><img src="//static.xycloud.com/www/assets/img/download-ie.png" alt="ææ°IEæµè§å¨"></a> 405 </div> 406</div> 407<![endif]--> 408 409 <!-- asidenav --> 410 <div class="asidefixed"> 411 <ul class="asidefixed-list"> 412 <li><i class="i-feedback" onclick="asideNavMethods.toggleView()">å¨è¯¢åé¦</i></li> 413 </ul> 414</div> 415 416<!-- å馿µ®å± --> 417<div class="pop" id="toggle-view" style="display:none;"> 418 <div class="pop-wp"> 419 <div class="pop-ani"> 420 <div class="pop-tit"> 421 <h2>产åå¨è¯¢ä¸æè§åé¦</h2> 422 <a href="javascript:;" class="pop-close" title="å ³é" onclick="asideNavMethods.hideView()">å ³é</a> 423 </div> 424 <div class="pop-main"> 425 <form action="" class="feedback-form"> 426 <div class="inp-unit" id="type-container"> 427 <h3>åé¦ç±»å<em>*</em></h3> 428 <div class="inp-lbls"> 429 <div class="radiobox"> 430 <input id="p1" name="category" type="radio" value=1 /><label for="p1">产åå¨è¯¢</label> 431 </div> 432 <div class="radiobox"> 433 <input id="p2" name="category" type="radio" value=2 /><label for="p2">éæ±å»ºè®®</label> 434 </div> 435 <div class="radiobox"> 436 <input id="p3" name="category" type="radio" value=3 /><label for="p3">bugåé¦</label> 437 </div> 438 </div> 439 </div> 440 <p class="err" id="type-err">è¯·éæ©åé¦ç±»å</p> 441 <div class="inp-unit"> 442 <h3>å 容æè¿°<em>*</em></h3> 443 <div class="inpbox-txtarea" id="content-container"> 444 <textarea class="txtarea" id="content" placeholder="è¯·è¯¦ç»æè¿°æ¨è¦å¨è¯¢çå 容ï¼ä»¥ä¾¿æä»¬ä¸ºæ¨æä¾æ´å¥½çæå¡" name="content"></textarea> 445 </div> 446 <p class="err" id="content-err">请填ååé¦å 容</p> 447 </div> 448 <h3>èç³»æ¹å¼<em>*</em></h3> 449 <div class="inp-unit inpbox-pdleft"> 450 <div class="inpbox" id="name-container"> 451 <h4>å§å</h4> 452 <input type="text" class="itxt" 453 maxlength="20" 454 name="name" 455 oninput="asideNavMethods.inputChange(event,'name')" 456 /> 457 </div> 458 <p class="err" id="name-err">å§åä¸å¾è¶ è¿20个å符</p> 459 </div> 460 <div class="inp-unit inpbox-pdleft"> 461 <div class="inpbox" id="email-container"> 462 <h4>èç³»é®ç®±</h4> 463 <input type="text" class="itxt" name="email" 464 onblur="asideNavMethods.inputChange(event,'email')"/> 465 </div> 466 <p class="err" id="email-err">é®ç®±æ ¼å¼ä¸æ£ç¡®</p> 467 </div> 468 <div class="inp-unit inpbox-pdleft"> 469 <div class="inpbox" id="phone-container"> 470 <h4>ææºå·ç </h4> 471 <input type="text" class="itxt" name="phone" 472 maxlength="11" 473 onkeydown="return asideNavMethods.keyDown(event,'phone')" 474 onblur="asideNavMethods.inputChange(event,'phone')" 475 onpaste="return false"/> 476 </div> 477 <p class="err" id="phone-err">ææºæ ¼å¼ä¸æ£ç¡®</p> 478 </div> 479 <div class="inp-unit inpbox-pdleft"> 480 <div class="inpbox inp-code" id="code-container"> 481 <h4>éªè¯ç </h4> 482 <input type="text" class="itxt" name="code" 483 maxlength="4" 484 onkeydown="return asideNavMethods.keyDown(event,'graphCaptcha')" 485 onpaste="return false"/> 486 <div class="inp-codebox"> 487 <img src="//static.xycloud.com/www/assets/img/code.jpg" alt="" 488 id="graph-code-img" 489 onclick="asideNavMethods.clickGraphCaptcha()"/> 490 </div> 491 </div> 492 <p class="err" id="code-err">éªè¯ç 䏿£ç¡®</p> 493 </div> 494 <div class="inpbtn"> 495 <a href="#" class="btn" onclick="asideNavMethods.submit()">æäº¤</a> 496 </div> 497 </form> 498 </div> 499 </div> 500 </div> 501</div> 502 503<!-- å馿å --> 504<div class="pop" id="toggle-success" style="display:none;"> 505 <div class="pop-wp"> 506 <div class="pop-ani"> 507 <div class="pop-tit"> 508 <h2>产åå¨è¯¢ä¸æè§åé¦</h2> 509 <a href="javascript:;" class="pop-close" title="å ³é" 510 onclick="asideNavMethods.hideSuccessView()">å ³é</a> 511 </div> 512 <div class="pop-main"> 513 <div class="pop-feedback-success"> 514 <i class="i-success"></i> 515 <h3>æäº¤æå</h3> 516 <p>æè°¢æ¨çåé¦ï¼æä»¬å°ä¼è®¤çæ¥çå¹¶ååºåå¤ã<br/>å¦éæäº¤æ´è¯¦ç»çåé¦å 容ï¼è¯·éè¿é®ä»¶çæ¹å¼åéå°<br/>[email protected]ã</p> 517 </div> 518 <div class="inpbtn"> 519 <a href="#" class="btn" onclick="asideNavMethods.hideSuccessView()">ç¡®å®</a> 520 </div> 521 </div> 522 </div> 523 </div> 524</div> 525 526<!-- åé¦å¤±è´¥ --> 527<div class="pop" id="toggle-fail" style="display:none;"> 528 <div class="pop-wp"> 529 <div class="pop-ani"> 530 <div class="pop-tit"> 531 <h2>产åå¨è¯¢ä¸æè§åé¦</h2> 532 <a href="javascript:;" class="pop-close" title="å ³é" 533 onclick="asideNavMethods.hideFailView()">å ³é</a> 534 </div> 535 <div class="pop-main"> 536 <div class="pop-txt"> 537 <div class="tbbox"> 538 <div class="tbcell"> 539 <p>æ¨æäº¤è¿äºé¢ç¹ï¼è¯·ç¨ååè¯ã</p> 540 </div> 541 </div> 542 <div class="inpbtn"> 543 <a href="#" class="btn" onclick="asideNavMethods.hideFailView()">ç¡®å®</a> 544 </div> 545 </div> 546 </div> 547 </div> 548 </div> 549</div> 550 551<!--
551<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/jQuery-3.3.1.min.js"></script>
vendor: 1 bytes, line 551
551
552<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/jQuery.pjax.js"></script>
552 --> 553 </body> 554
554<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/es6-promise.auto.min.js"></script>
554 555
555<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/jQuery-3.3.1.min.js"></script>
555 556
556<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/jQuery.pjax.js"></script>
556 557
557<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/swiper.js"></script>
557 558
558<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/pagecontrol.js"></script>
558 559
559<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/countUp.js"></script>
559 560
560<script src="https://cdn.hcharts.cn/highcharts/highcharts.js"></script>
560 561
561<script type="text/javascript"> 562 Highcharts.setOptions({ global: { useUTC: false } }); 563 </script>
563 564
564<script type="text/javascript" src="//static.xycloud.com/www/assets/js/lib/echarts.min.js"></script>
564 565
565<script type="text/javascript" src="https://fcrc-video.xycdn.com/h5/test/xyvod.js"></script>
565 566
566<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
566 567
567<script type="text/javascript" src="//static.xycloud.com/www/assets/js/xyp2p-20190319.js"></script>
567 568
568<script type="text/javascript" src="//static.xycloud.com/www/assets/js/util.js"></script>
568 569
569<script src="https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/3.0.0-beta.1/jsencrypt.min.js"></script>
569 570 <!-- ç¾åº¦ç»è®¡æ°ç弿¥ç»è®¡ä»£ç è·å --> 571
571<script> 572 var _hmt = _hmt || []; 573 (function() { 574 var hm = document.createElement("script"); 575 hm.src = "https://hm.baidu.com/hm.js?a82fbe6b647c12f654153b50bdf91d5e"; 576 var s = document.getElementsByTagName("script")[0]; 577 s.parentNode.insertBefore(hm, s); 578 })(); 579 //Gridsum tracking code begin. 580 var _gsq = _gsq || []; 581 (function () { 582 var s = document.createElement('script'); 583 s.type = 'text/javascript'; 584 s.async = true; 585 s.src = (location.protocol == 'https:' ? 'https://ssl.' : 'http://static.') + 'gridsumdissector.com/js/Clients/GWD-002889-C0ED43/gs.js'; 586 var firstScript = document.getElementsByTagName('script')[0]; 587 firstScript.parentNode.insertBefore(s, firstScript); 588 })(); 589 </script>
589 590
590<script type="text/javascript"> 591 var asideNavMethods = (function($){ 592 var dataObj = {} 593 var sendPhoneCaptchaAlready = false; 594 return { 595 init: function () { 596 this.changeGraphCaptcha(); 597 }, 598 toggleView: function() { 599 $("#toggle-view").show(); 600 this.changeGraphCaptcha(); 601 }, 602 hideView: function(){ 603 this.clearInput(); 604 $("#toggle-view").hide(); 605 }, 606 showSuccessView: function(){ 607 $("#toggle-success").show(); 608 }, 609 hideSuccessView: function(){ 610 $("#toggle-success").hide(); 611 }, 612 showFailView: function(){ 613 $("#toggle-fail").show(); 614 }, 615 hideFailView: function(){ 616 $("#toggle-fail").hide(); 617 }, 618 //è·åè¡¨åæ°æ® 619 getFromData: function(){ 620 var data = $('.feedback-form').serializeArray(); 621 dataObj = $util.ArrayDataFormatter(data); 622 return dataObj; 623 }, 624 inputChange: function(event,type){ 625 if(type === "name"){ 626 this.checkName(); 627 }else if(type === "email"){ 628 var dataObj = this.getFromData(); 629 var email = dataObj.email; 630 if(email === ""){ 631 this.hideEmailTip(); 632 }else if(email !== ""){ 633 this.checkEmail() 634 } 635 }else if(type === 'phone'){ 636 var dataObj = this.getFromData(); 637 var phone = dataObj.phone; 638 if(phone === ""){ 639 this.hidePhoneTip(); 640 }else if(phone !== ""){ 641 this.checkPhone(); 642 } 643 }else if(type === 'graphCaptcha'){ 644 var dataObj = this.getFromData(); 645 var code = dataObj.code; 646 if(code === ""){ 647 this.hideGraphCaptchaTip(); 648 }else if(code !== ""){ 649 this.checkGraphCaptcha(); 650 } 651 } 652 }, 653 checkName: function(){ 654 var dataObj = this.getFromData(); 655 var name = dataObj.name; 656 if(name.length > 20){ 657 this.showNameTip('å§åä¸å¾è¶ è¿20个å符') 658 return false; 659 }else{ 660 this.hideNameTip() 661 } 662 return true; 663 }, 664 checkEmail: function(){ 665 var dataObj = this.getFromData(); 666 var email = dataObj.email; 667 if (!$util.checkByRegular("email", email)){ 668 this.showEmailTip('é®ç®±æ ¼å¼ä¸æ£ç¡®') 669 return false; 670 }else{ 671 this.hideEmailTip() 672 return true; 673 } 674 }, 675 checkPhone: function(){ 676 var dataObj = this.getFromData(); 677 var phone = dataObj.phone; 678 if (!$util.checkByRegular("phone", phone)){ 679 this.showPhoneTip('ææºæ ¼å¼ä¸æ£ç¡®') 680 return false; 681 }else{ 682 this.hidePhoneTip() 683 return true; 684 } 685 }, 686 checkGraphCaptcha: function(){ 687 var dataObj = this.getFromData(); 688 var code = dataObj.code; 689 if (code.length != 4){ 690 this.showGraphCaptchaTip('éªè¯ç 䏿£ç¡®') 691 return false; 692 }else{ 693 this.hideGraphCaptchaTip() 694 return true; 695 } 696 }, 697 // å§åé误æç¤º 698 showNameTip: function(msg){ 699 $util.showInputTip("error","#name-container","#name-err", msg); 700 }, 701 hideNameTip: function(){ 702 $util.hideInputTip("error","#name-container","#name-err"); 703 }, 704 // é®ç®±é误æç¤º 705 showEmailTip: function(msg){ 706 $util.showInputTip("error","#email-container","#email-err", msg); 707 }, 708 hideEmailTip: function(){ 709 $util.hideInputTip("error","#email-container","#email-err"); 710 }, 711 // ææºå·ç é误æç¤º 712 showPhoneTip: function(msg){ 713 $util.showInputTip("error","#phone-container","#phone-err", msg); 714 }, 715 hidePhoneTip: function(){ 716 $util.hideInputTip("error","#phone-container","#phone-err"); 717 }, 718 //ç¹å»åæ¢éªè¯ç çå¾ç 719 clickGraphCaptcha: function(){ 720 $(".regform").find("input[name='code']").focus(); 721 this.changeGraphCaptcha(); 722 }, 723 showGraphCaptchaTip: function(msg){ 724 $util.showInputTip("error","#code-container","#code-err",msg); 725 }, 726 hideGraphCaptchaTip: function(msg){ 727 $util.hideInputTip("error","#code-container","#code-err"); 728 }, 729 showTypeTip: function(msg){ 730 $util.showInputTip("error","#type-container","#type-err",msg); 731 }, 732 hideTypeTip: function(msg){ 733 $util.hideInputTip("error","#type-container","#type-err"); 734 }, 735 showContentTip: function(msg){ 736 $util.showInputTip("error","#content-container","#content-err",msg); 737 }, 738 hideContentTip: function(msg){ 739 $util.hideInputTip("error","#content-container","#content-err"); 740 }, 741 //忢å¾çéªè¯ç çajax 742 changeGraphCaptcha: function(){ 743 var captchaUrl = "https://www.xycloud.com/captcha" + "?biz=user_feedback" + "&t=" + (new Date().getTime()); 744 $("#graph-code-img").attr("src",captchaUrl) 745 }, 746 //çå¬é®çæä¸ 747 keyDown: function(event,type){ 748 var keyCode = event.keyCode; 749 var dataObj = this.getFromData(); 750 //æä½é®ä½ 751 if ($util.keyCodeIsOperate(keyCode)){ 752 return true; 753 }; 754 if (type === "phone"){ 755 if($util.keyCodeIsNum(keyCode)){ 756 return true; 757 }; 758 return false;
759 } 760 else if (type === "graphCaptcha"){ 761 //å¾å½¢éªè¯ç input åªå 许è¾å ¥æ°åå忝 762 var graphCaptcha = dataObj.graphCaptcha; 763 if($util.keyCodeIsNum(keyCode)){ 764 return true; 765 }; 766 if($util.keyCodeIsLetter(keyCode)){ 767 return true; 768 }; 769 return false; 770 } 771 return true; 772 }, 773 verify: function(){ 774 // showGraphCaptchaTip 775 var dataObj = this.getFromData(); 776 // 1. æ ¡éªåé¦ç±»å 777 if(!dataObj.category){ 778 this.showTypeTip('è¯·éæ©åé¦ç±»å') 779 return false; 780 }else{ 781 this.hideTypeTip() 782 } 783 // 2. æ ¡éªå 容æè¿° 784 if(!dataObj.content || ($util.trimSpace(dataObj.content)).length == 0){ 785 this.showContentTip('请填ååé¦å 容') 786 return false; 787 }else{ 788 this.hideContentTip() 789 } 790 // 3. æ ¡éªå§å 791 if(!dataObj.name || ($util.trimSpace(dataObj.name)).length == 0){ 792 this.showNameTip('è¯·å¡«åæ¨çå§å') 793 return false; 794 } 795 else if(!this.checkName()){ 796 return false; 797 } 798 799 // 4. æ ¡éªé®ç®± 800 if(!dataObj.email || ($util.trimSpace(dataObj.email)).length == 0){ 801 this.showEmailTip('è¯·å¡«åæ¨çèç³»é®ç®±') 802 return false; 803 } 804 else if(!this.checkEmail()){ 805 return false; 806 } 807 // 5. æ ¡éªææºå·ç 808 if(!dataObj.phone || ($util.trimSpace(dataObj.phone)).length == 0){ 809 this.showPhoneTip('è¯·å¡«åæ¨çææºå·ç ') 810 return false; 811 } 812 else if(!this.checkPhone()){ 813 return false; 814 } 815 // 6. éªè¯ç æ ¡éª 816 if(!dataObj.code || ($util.trimSpace(dataObj.phone)).length == 0){ 817 this.showGraphCaptchaTip('请填åéªè¯ç ') 818 return false 819 }else if(!this.checkGraphCaptcha()){ 820 return false 821 } 822 this.hideTypeTip() 823 this.hideContentTip() 824 this.hideNameTip() 825 this.hideEmailTip() 826 this.hidePhoneTip() 827 return true; 828 }, 829 submit: function(){ 830 831 if(this.verify()){ 832 var self = this; 833 var dataObj = this.getFromData(); 834 var data = { 835 category: Number(dataObj.category), 836 code: dataObj.code, 837 content: dataObj.content, 838 email: dataObj.email, 839 name: dataObj.name, 840 phone: Number(dataObj.phone) 841 } 842 var url = "/feedback"; 843 var successCallback = function(res){ 844 var resCode = res.code; 845 // return false; 846 //注åæå 847 if (resCode === 0){ 848 self.clearInput(); 849 self.hideView() 850 self.showSuccessView() 851 } 852 else if (resCode === 1){ 853 var error = res.error; 854 if(error && error.res == 0){ 855 self.clearInput(); 856 self.hideView() 857 self.showFailView() 858 }else{ 859 self.showGraphCaptchaTip('å¾å½¢éªè¯ç 䏿£ç¡®') 860 self.changeGraphCaptcha(); 861 } 862 } 863 }; 864 var type = "POST"; 865 $util.doAjax(url, type, data, successCallback); 866 } 867 868 }, 869 clearInput: function(){ 870 $(".pop-main form input[name!=category]").each(function(){ 871 $(this).val('') 872 }) 873 $('input[name=category]:checked').prop('checked', false).removeAttr('checked'); 874 $("#content").val('') 875 this.hideTypeTip() 876 this.hideContentTip() 877 this.hideNameTip() 878 this.hideEmailTip() 879 this.hidePhoneTip() 880 this.hideGraphCaptchaTip() 881 } 882 } 883 })(jQuery); 884 885 $(document).ready(function(){ 886 asideNavMethods.init(); 887 }); 888</script>
888 889 890
890<script type="text/javascript"> 891 var frameWorkMethods = (function($){ 892 return { 893 init: function () { 894 // console.log($("#console-link")); 895 this.queryUserProfile(); 896 }, 897 //æ¥è¯¢user-profile 898 queryUserProfile: function() { 899 // return false; 900 var mySelf = this; 901 var url = $pars.ajaxDomain + "/auth/profile"; 902 var type = "POST"; 903 var consoleUrl = "https://console.xycloud.com"; 904 var successCallback = function(res){ 905 var resCode = res.code; 906 // console.log(JSON.stringify(res)); 907 //æªç»å½ 908 if (resCode === 1){ 909 $("#unlogged-aside-nav").show(); 910 } 911 //ç»å½ 912 else if (resCode === 0){ 913 var result = res.result; 914 var userName = result.name || result.mobile || result.email; 915 $pars.userInfo = result; 916 // console.log(result); 917 $("#logged-aside-nav").show(); 918 $("#user-name").text(userName); 919 }; 920 // return false; 921 }; 922 923 $util.doAjax(url,type,null,successCallback); 924 }, 925 //logout 926 logout: function(){ 927 // console.log(1211111111111) 928 var mySelf = this; 929 var url = $pars.ajaxDomain + "/auth/logout"; 930 var type = "POST"; 931 var csrfToken = 'uzB6xlBD3NtE85OaQmY4vTX0CJLDThhBUxJeSRzz'; 932 var postData = { _csrf_token: csrfToken }; 933 var loadScript = function(url, callback) 934 { 935 var script = document.createElement("script"); 936 script.type = "text/javascript"; 937 if (script.readyState) { //IE 938 script.onreadystatechange = function() { 939 if (script.readyState == "loaded" || 940 script.readyState == "complete" ) { 941 script.onreadystatechange = null; 942 callback(); 943 } 944 }; 945 } else { 946 script.onload = function() { 947 callback(); 948 }; 949 } 950 script.onerror = function() { 951 callback(); 952 }; 953 script.src = url; 954 document.body.appendChild(script); 955 }; 956 var successCallback = function(res){ 957 var resCode = res.code; 958 if (resCode === 0){ 959 console.log("éåºæåï¼"); 960 if (res.result.platform && res.result.platform.length > 0) { 961 var platform = res.result.platform, callback = function() { 962 var url = platform.shift(); 963 if (url) 964 { 965 loadScript(url, callback); 966 } else { 967 window.location.href = '/'; 968 } 969 }; 970 loadScript(platform.shift(), callback); 971 } else { 972 window.location.href = '/'; 973 } 974 }; 975 }; 976 $util.doAjax(url, type, postData, successCallback); 977 }, 978 } 979 })(jQuery); 980 981 $(document).ready(function(){ 982 frameWorkMethods.init(); 983 }); 984 985 </script>
985 986 987
987<script type="text/javascript"> 988 989 var methods = (function ($) { 990 991 var needGraphCaptcha = false; 992 var ref = "/"; 993 994 return { 995 init: function () { 996 var mySelf = this; 997 $("#account-input").focus(); 998 mySelf.checkNeedGraphCaptcha(); 999 mySelf.getRefFromUrl(); 1000 $(document).keyup(function (event) { 1001 if (event.keyCode == 13) { 1002 mySelf.doLogin(); 1003 } 1004 }); 1005 }, 1006 //æ ¡éªæ¯å¦éè¦éªè¯ç 1007 checkNeedGraphCaptcha: function () { 1008 needGraphCaptcha = false; 1009 // needGraphCaptcha = true; 1010 // console.log(needGraphCaptcha); 1011 //éè¦éªè¯ç 1012 if (needGraphCaptcha) { 1013 needGraphCaptcha = true; 1014 this.showGraphCaptcha(); 1015 this.changeGraphCaptcha(); 1016 } 1017 //ä¸éè¦éªè¯ç 1018 else { 1019 needGraphCaptcha = false; 1020 this.hideGraphCaptcha(); 1021 } 1022 }, 1023 //ä»urlä¸è§£æåºrefï¼å³ç»å½æååè·³åè¯¥é¡µé¢ 1024 getRefFromUrl: function () { 1025 // var href = window.location.href; 1026 var search = window.location.search; 1027 var searchFormat = decodeURIComponent(search); 1028 var index = searchFormat.indexOf("ref=") + 4; 1029 var url = searchFormat.substring(index); 1030 1031 const reg1 = /^\// 1032 const reg2 = /^(https:\/\/)(.*)(.xycloud.com){1}/ 1033 if (search && (reg1.test(url) || reg2.test(url) || url == "")) { 1034 ref = url; 1035 } 1036 ; 1037 }, 1038 phoneInputChange: function () { 1039 1040 }, 1041 passwordInputChange: function () { 1042 1043 }, 1044 //çå¬é®çæä¸ 1045 keyDown: function (event, type) { 1046 var mySelf = this; 1047 var keyCode = event.keyCode; 1048 var dataObj = mySelf.getFromData(); 1049 // console.log(keyCode); 1050 // console.log(type); 1051 1052 // console.log(dataObj); 1053 //æä½é®ä½ 1054 if ($util.keyCodeIsOperate(keyCode)) { 1055 return true; 1056 } 1057 1058 if (type === "password") { 1059 // console.log(11111111111) 1060 if (keyCode === 13) { 1061 mySelf.doLogin(); 1062 } 1063 } else if (type === "graphCaptcha") { 1064 //å¾å½¢éªè¯ç input åªå 许è¾å ¥æ°åå忝 1065 var graphCaptcha = dataObj.graphCaptcha; 1066 // console.log(graphCaptcha); 1067 // console.log($util.keyCodeIsNum(keyCode)) 1068 // console.log($util.keyCodeIsLetter(keyCode)) 1069 // if (graphCaptcha.length > 3){ 1070 // return false; 1071 // }; 1072 if ($util.keyCodeIsNum(keyCode)) { 1073 return true; 1074 } 1075 if ($util.keyCodeIsLetter(keyCode)) { 1076 return true; 1077 } 1078 1079 return false; 1080 } else { 1081 return true; 1082 } 1083 1084 }, 1085 //è´¦å·æç¤º 1086 showAccountTip: function (msg) { 1087 $util.showInputTip("error", "#account-container", "#account-err", msg); 1088 }, 1089 //å¯ç æç¤º 1090 showPasswordTip: function (msg) { 1091 $util.showInputTip("error", "#password-container", "#password-err", msg); 1092 }, 1093 //å¾å½¢éªè¯ç æç¤º 1094 showGraphCaptchaTip: function (msg) { 1095 $util.showInputTip("error", "#graph-captcha-container", "#graph-captcha-err", msg); 1096 }, 1097 //å±ç¤ºå¾å½¢éªè¯ç 1098 showGraphCaptcha: function () { 1099 $("#graph-captcha-wrapper").slideDown(300); 1100 }, 1101 //éèå¾å½¢éªè¯ç 1102 hideGraphCaptcha: function () { 1103 $("#graph-captcha-wrapper").slideUp(300); 1104 }, 1105 //éèææé误tip 1106 hideAllInputTip: function () { 1107 $util.hideInputTip("error", "#account-container", "#account-err"); 1108 $util.hideInputTip("error", "#password-container", "#password-err"); 1109 $util.hideInputTip("error", "#graph-captcha-container", "#graph-captcha-err"); 1110 }, 1111 //ç¹å»åæ¢éªè¯ç çå¾ç 1112 clickGraphCaptcha: function () { 1113 var mySelf = this; 1114 $(".loginbox").find("input[name='graphCaptcha']").focus(); 1115 mySelf.changeGraphCaptcha(); 1116 }, 1117 //ç¹å»åæ¢éªè¯ç 1118 changeGraphCaptcha: function () { 1119 console.log("忢éªè¯ç "); 1120 var captchaUrl = "https://www.xycloud.com/captcha" + "?biz=login" + "&t=" + (new Date().getTime()); 1121 $("#graph-captcha-img").attr("src", captchaUrl) 1122 }, 1123 //è·åè¡¨åæ°æ® 1124 getFromData: function () { 1125 var data = $('.loginform').serializeArray(); 1126 dataObj = $util.ArrayDataFormatter(data); 1127 return dataObj; 1128 }, 1129 //表åæäº¤æ ¡éª 1130 validate: function () { 1131 var mySelf = this; 1132 var dataObj = mySelf.getFromData(); 1133 var account = dataObj.account; 1134 var password = dataObj.password; 1135 var graphCaptcha = dataObj.graphCaptcha; 1136 // console.log(password) 1137 1138 this.hideAllInputTip(); 1139 //phoneåemailæ ¡éªåæ¶å¤±è´¥ 1140 if (!$util.checkByRegular("phone", account) && !$util.checkByRegular("email", account)) { 1141 console.log("åç«¯æ ¡éªåºé phoneåemailæ ¡éªåæ¶å¤±è´¥"); 1142 this.showAccountTip("é®ç®±æææºæ ¼å¼é误ï¼è¯·ä¿®æ¹"); 1143 return false;
1144 } 1145 1146 //å¯ç å°äº6ä½ 1147 if (password.length < 6) { 1148 console.log("åç«¯æ ¡éªåºé å¯ç å°äº6ä½"); 1149 this.showPasswordTip("å¯ç ä¸è½å°äº6ä½"); 1150 return false; 1151 } 1152 1153 if (needGraphCaptcha && graphCaptcha.length !== 4) { 1154 console.log('åç«¯æ ¡éªåºé graphCaptchaé¿åº¦ä¸æ£ç¡®ï¼'); 1155 this.showGraphCaptchaTip("å¾å½¢éªè¯ç é误ï¼è¯·éæ°è¾å ¥"); 1156 return false; 1157 } 1158 1159 return true; 1160 }, 1161 //ç»å½ 1162 doLogin: function () { 1163 var mySelf = this; 1164 var dataObj = mySelf.getFromData(); 1165 var validateRes = this.validate(); 1166 console.log('æ ¡éªçç»ææ¯ ' + validateRes); 1167 // console.log(data); 1168 1169 if (!validateRes) { 1170 return false; 1171 } 1172 1173 var encrypt = new JSEncrypt(); 1174 var publicKey = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdGZnCYAAtqildtbMoYV\nwQ8p5GO6arj1sUXJHT5SdE2HEjANLEE84Nv6zqJMMMNw5FeRYA0XKbWykNJF1Qj8\n7NyIcPsd\/YQBCub2WU0W+kvio261rL2GiXT0CAtQHhc8ylwVXJ6w602pf751bRTM\nNiiEwWbTWVYOMPqUFWuljxJc\/uNm+M1RdOCZYe6XB7Dvwxf7O53OYrcKVQX2K+fT\nmvNLraYh3ZLdIM1Kj2lloQFYqrSMZinzimdZT4nHK+\/akhr7Mqpprt5ETRHmy8+Y\nT+8O+HNb0uDFheWiVCWwy7KlcMGzWcgfJ9uQ0mJuN4vRss1vcEemcrrM1rZiyHd4\n4wIDAQAB\n-----END PUBLIC KEY-----"; 1175 var csrfToken = 'uzB6xlBD3NtE85OaQmY4vTX0CJLDThhBUxJeSRzz'; 1176 encrypt.setPublicKey(publicKey); 1177 1178 var url = $pars.ajaxDomain + "/auth/login"; 1179 var type = "POST"; 1180 // æ´ä½å å¯postData 1181 var rawData = { 1182 account: dataObj.account, 1183 password: dataObj.password, 1184 type: 'valid', 1185 }; 1186 if (needGraphCaptcha) { 1187 rawData["code"] = dataObj.graphCaptcha; 1188 } 1189 var encryptedData = encrypt.encrypt(JSON.stringify(rawData)); 1190 var postData = { d: encryptedData, _csrf_token: csrfToken }; 1191 1192 var loadScript = function (url, callback) { 1193 var script = document.createElement("script"); 1194 script.type = "text/javascript"; 1195 if (script.readyState) { //IE 1196 script.onreadystatechange = function () { 1197 if (script.readyState == "loaded" || 1198 script.readyState == "complete") { 1199 script.onreadystatechange = null; 1200 callback(); 1201 } 1202 }; 1203 } else { 1204 script.onload = function () { 1205 callback(); 1206 }; 1207 } 1208 script.onerror = function () { 1209 callback(); 1210 }; 1211 script.src = url; 1212 document.body.appendChild(script); 1213 }; 1214 1215 var successCallback = function (res) { 1216 var resCode = res.code; 1217 //ç»å½æå 1218 if (resCode === 0) { 1219 console.log("ç»å½æå"); 1220 if (res.result.platform.length > 0) { 1221 var platform = res.result.platform, callback = function () { 1222 var url = platform.shift(); 1223 // console.log(url) 1224 if (url) { 1225 loadScript(url, callback); 1226 } else { 1227 window.location.href = ref; 1228 } 1229 }; 1230 loadScript(platform.shift(), callback); 1231 } else { 1232 window.location.href = ref; 1233 } 1234 } else if (resCode === 1) { 1235 var error = res.error; 1236 for (var type in error) { 1237 var msg = error[type]; 1238 if (type === 'email') { 1239 mySelf.showAccountTip(msg); 1240 } else if (type === 'password') { 1241 mySelf.showPasswordTip(msg); 1242 } else if (type === 'graphCaptcha') { 1243 needGraphCaptcha = true; 1244 mySelf.showGraphCaptcha(); 1245 mySelf.showGraphCaptchaTip("å¾å½¢éªè¯ç é误ï¼è¯·éæ°è¾å ¥"); 1246 } else { 1247 console.log('æªè¯å«çé误类å' + JSON.stringify(res)) 1248 } 1249 } 1250 mySelf.changeGraphCaptcha(); 1251 1252 } 1253 }; 1254 1255 $util.doAjax(url, type, postData, successCallback, function (res) { 1256 if (res.code === 3) { 1257 mySelf.toggleLogin(); 1258 $('#cert-phone-num').val(dataObj.account); 1259 1260 } 1261 }); 1262 }, 1263 toggleLogin: function () { 1264 $(".loginbox").toggleClass('loginbox-back'); 1265 }, 1266 } 1267 })(jQuery); 1268 1269 $(document).ready(function () { 1270 methods.init(); 1271 }); 1272 1273 </script>
1273 1274 1275 1276
1276<script type="text/javascript"> 1277 var certMethods = (function ($) { 1278 var dataObj = {}; 1279 var sendPhoneCaptchaAlready = false; 1280 var ref = "/"; 1281 return { 1282 init: function () { 1283 // $("#cert-phone-captcha-wrapper").show(); 1284 }, 1285 //ææºæç¤º 1286 showPhoneTip: function (msg) { 1287 $util.showInputTip("error", "#cert-phone-container", "#cert-phone-err", msg); 1288 }, 1289 //ææºéªè¯ç æç¤º 1290 showPhoneCaptchaTip: function (msg) { 1291 $util.showInputTip("error", "#cert-phone-captcha-container", "#cert-phone-captcha-err", msg); 1292 }, 1293 //çå¬é®çæä¸ 1294 keyDown: function (event, type) { 1295 var keyCode = event.keyCode; 1296 //æä½é®ä½ 1297 if ($util.keyCodeIsOperate(keyCode)) { 1298 return true; 1299 } 1300 if (type === "phoneCaptcha") { 1301 //ææºéªè¯ç input åªå 许è¾å ¥æ°å 1302 if ($util.keyCodeIsNum(keyCode)) { 1303 return true; 1304 } 1305 return false; 1306 } 1307 1308 return true; 1309 }, 1310 //卿çå¬ ææºåå¾å½¢éªè¯ç çæ¹å 1311 inputChange: function (event, type) { 1312 if (type === "phoneCaptcha") { 1313 var dataObj = this.getFromData(); 1314 var phoneCaptcha = dataObj.phoneCaptcha; 1315 if (phoneCaptcha.length === 6) { 1316 this.blurFromInput('phoneCaptcha') 1317 } else { 1318 $util.disableButton("#cert-next-btn"); 1319 } 1320 } 1321 }, 1322 //åéææºéªè¯ç 1323 sendPhoneCaptcha: function () { 1324 var mySelf = this; 1325 //ç¦ç¨åçä¿¡éªè¯ç æé® 1326 $util.disableButton("#cert-send-phone-captcha-btn"); 1327 $("#cert-send-phone-captcha-btn").text("åéä¸"); 1328 //åéææºéªè¯ç ajax 1329 mySelf.sendPhoneCaptchaAjax(); 1330 }, 1331 1332 //åéææºéªè¯ç ajax 1333 sendPhoneCaptchaAjax: function () { 1334 var mySelf = this; 1335 var url = $pars.ajaxDomain + "/security/verify/mobile/code"; 1336 var type = "POST"; 1337 var dataObj = mySelf.getFromData(); 1338 var count = 60; 1339 var timer = null; 1340 var postData = { 1341 phone: dataObj.phone, 1342 biz: 'security', 1343 }; 1344 1345 var successCallback = function (res) { 1346 console.log("åéææºéªè¯ç ç»æï¼", res); 1347 var resCode = res.code; 1348 if (resCode === 0) { 1349 $("#cert-phone-captcha-wrapper").show(); 1350 $(".regform").find("input[name='phoneCaptcha']").focus(); 1351 $util.hideInputTip("error", "#cert-phone-captcha-container", "#cert-phone-captcha-err"); 1352 $util.showInputTip("success", "#cert-phone-captcha-container", "#cert-phone-captcha-success", "çä¿¡å·²åé"); 1353 sendPhoneCaptchaAlready = true; 1354 //åè®¡æ¶ 1355 var countDown = function () { 1356 var text = count + "såéæ°è·å"; 1357 $("#cert-send-phone-captcha-btn").text(text); 1358 if (count == 0) { 1359 clearTimeout(timer); 1360 //å¯ç¨åçä¿¡éªè¯ç æé® 1361 $util.enableButton("#cert-send-phone-captcha-btn"); 1362 $("#cert-send-phone-captcha-btn").text("éæ°è·åéªè¯ç "); 1363 $util.hideInputTip("success", "#cert-phone-captcha-container", "#cert-phone-captcha-success"); 1364 } else { 1365 count--; 1366 timer = setTimeout(function () { 1367 countDown(); 1368 }, 1000); 1369 } 1370 }; 1371 countDown(); 1372 } else { 1373 console.log('åéææºéªè¯ç é误', res); 1374 } 1375 }; 1376 1377 $util.doAjax(url, type, postData, successCallback); 1378 }, 1379 //表åinputå¤±ç¦ 1380 blurFromInput: function (type) { 1381 var mySelf = this; 1382 var dataObj = mySelf.getFromData(); 1383 1384 if (type === "phoneCaptcha") { 1385 var phoneCaptcha = dataObj.phoneCaptcha; 1386 if (phoneCaptcha === "") { 1387 $util.hideInputTip("error", "#cert-phone-captcha-container", "#cert-phone-captcha-err"); 1388 } else if (phoneCaptcha !== "") { 1389 mySelf.checkInputByRegular("phoneCaptcha"); 1390 } 1391 } 1392 1393 }, 1394 //æ£åæ£æ¥è¾å ¥å å®¹ï¼æªéè¿åæ¾ç¤ºé误æç¤ºï¼éè¿åéèé误æç¤º 1395 checkInputByRegular: function (type) { 1396 var dataObj = this.getFromData(); 1397 1398 if (type === "phoneCaptcha") { 1399 var phoneCaptcha = dataObj.phoneCaptcha; 1400 if (phoneCaptcha.length !== 6) { 1401 this.showPhoneCaptchaTip("ææºéªè¯ç é误ï¼è¯·éæ°è¾å ¥"); 1402 $util.disableButton("#cert-next-btn"); 1403 return false;
1404 } else { 1405 $util.hideInputTip("error", "#cert-phone-captcha-container", "#cert-phone-captcha-err"); 1406 // 设置æé®å¯ç¹ 1407 $util.enableButton("#cert-next-btn"); 1408 return true; 1409 } 1410 } 1411 }, 1412 next: function () { 1413 var mySelf = this; 1414 if (!sendPhoneCaptchaAlready) { 1415 this.showPhoneCaptchaTip('请å è·åææºéªè¯ç '); 1416 return; 1417 } 1418 1419 var url = $pars.ajaxDomain + "/security/verify/mobile/code"; 1420 var type = "GET"; 1421 var verifyCodeData = { 1422 biz: 'security', 1423 phone: dataObj.phone, 1424 phoneCaptcha: dataObj.phoneCaptcha, 1425 }; 1426 1427 console.log('æ ¡éªææºå·', verifyCodeData); 1428 1429 var successCallback = function (res) { 1430 var resCode = res.code; 1431 if (resCode === 0) { 1432 mySelf.certLogin(); 1433 } else { 1434 mySelf.showPhoneCaptchaTip('ææºéªè¯ç é误'); 1435 $util.hideInputTip("success", "#cert-phone-captcha-container", "#cert-phone-captcha-success"); 1436 } 1437 }; 1438 1439 $util.doAjax(url, type, verifyCodeData, successCallback); 1440 }, 1441 certLogin: function () { 1442 var mySelf = this; 1443 var url = $pars.ajaxDomain + "/auth/login"; 1444 var type = "POST"; 1445 var loginObj = methods.getFromData(); 1446 1447 var encrypt = new JSEncrypt(); 1448 var publicKey = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdGZnCYAAtqildtbMoYV\nwQ8p5GO6arj1sUXJHT5SdE2HEjANLEE84Nv6zqJMMMNw5FeRYA0XKbWykNJF1Qj8\n7NyIcPsd\/YQBCub2WU0W+kvio261rL2GiXT0CAtQHhc8ylwVXJ6w602pf751bRTM\nNiiEwWbTWVYOMPqUFWuljxJc\/uNm+M1RdOCZYe6XB7Dvwxf7O53OYrcKVQX2K+fT\nmvNLraYh3ZLdIM1Kj2lloQFYqrSMZinzimdZT4nHK+\/akhr7Mqpprt5ETRHmy8+Y\nT+8O+HNb0uDFheWiVCWwy7KlcMGzWcgfJ9uQ0mJuN4vRss1vcEemcrrM1rZiyHd4\n4wIDAQAB\n-----END PUBLIC KEY-----"; 1449 var csrfToken = 'uzB6xlBD3NtE85OaQmY4vTX0CJLDThhBUxJeSRzz'; 1450 encrypt.setPublicKey(publicKey); 1451 1452 var loginData = { 1453 account: loginObj.account, 1454 password: loginObj.password, 1455 biz: 'security', 1456 phone: dataObj.phone, 1457 phoneCaptcha: dataObj.phoneCaptcha, 1458 }; 1459 1460 var encryptedData = encrypt.encrypt(JSON.stringify(loginData)); 1461 var postData = { d: encryptedData, _csrf_token: csrfToken }; 1462 1463 var loadScript = function (url, callback) { 1464 var script = document.createElement("script"); 1465 script.type = "text/javascript"; 1466 if (script.readyState) { //IE 1467 script.onreadystatechange = function () { 1468 if (script.readyState == "loaded" || 1469 script.readyState == "complete") { 1470 script.onreadystatechange = null; 1471 callback(); 1472 } 1473 }; 1474 } else { 1475 script.onload = function () { 1476 callback(); 1477 }; 1478 } 1479 script.onerror = function () { 1480 callback(); 1481 }; 1482 script.src = url; 1483 document.body.appendChild(script); 1484 }; 1485 1486 var successCallback = function (res) { 1487 var resCode = res.code; 1488 if (resCode === 0) { 1489 console.log("ç»å½æå"); 1490 if (res.result.platform.length > 0) { 1491 var platform = res.result.platform, callback = function () { 1492 var url = platform.shift(); 1493 if (url) { 1494 loadScript(url, callback); 1495 } else { 1496 window.location.href = ref; 1497 } 1498 }; 1499 loadScript(platform.shift(), callback); 1500 } else { 1501 window.location.href = ref; 1502 } 1503 } else { 1504 mySelf.showPhoneCaptchaTip('ç»å½å¤±è´¥'); 1505 $util.hideInputTip("success", "#cert-phone-captcha-container", "#cert-phone-captcha-success"); 1506 } 1507 }; 1508 1509 $util.doAjax(url, type, postData, successCallback); 1510 }, 1511 getFromData: function () { 1512 // è·åè¡¨åæ°æ® 1513 dataObj.phone = $('#cert-phone-num').val(); 1514 dataObj.phoneCaptcha = $('#cert-phone-captcha').val(); 1515 return dataObj 1516 } 1517 } 1518 })(jQuery); 1519 1520 $(document).ready(function () { 1521 certMethods.init(); 1522 }); 1523 </script>
1523 1524</html>
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.