一直覺得Wiwiz自帶的認證頁面不太方便,尤其是不支持Cookie,這樣每次認證時都需要手動輸入認證信息,會比較麻煩。
我利用自定義認證頁面的定製代碼,加入了記錄和處理Cookie的功能,用Javascript實現的。
這裏分享給大家,誰需要請拿去用吧。
認證頁面效果圖:
認證頁面HTML代碼:
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <meta http-equiv="Pragma" content="no-cache">
- <meta http-equiv="Cache-Control" content="no-cache">
- <meta name="viewport" content="user-scalable=no, width=device-width" />
- <!-- 必須引入AuthPageScript.js -->
- <script src="/as/AuthPageScript.js"></script>
- <script>
- /* 讀寫Cookie的函數 */
- function SetCookie(name,value) {
- var Days = 180;
- var exp = new Date();
- exp.setTime(exp.getTime() + Days*24*60*60*1000);
- document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
- }
- function getCookie(name) {
- var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
- if(arr != null)
- return unescape(arr[2]);
- return "";
- }
- /* 用於在認證時記錄Cookie */
- function recordCookie() {
- if(document.getElementById("remember").checked == false)
- return;
- else {
- var u = document.getElementById("username").value;
- var p = document.getElementById("pswd").value;
- SetCookie("wifi-user", u);
- SetCookie("wifi-pswd", p);
- }
- }
- /* 頁面初始化是讀入Cookie並自動按下認證按鈕 */
- function doInit() {
- var u = getCookie("wifi-user");
- var p = getCookie("wifi-pswd");
- if(u != "") {
- document.getElementById("username").value = u;
- document.getElementById("pswd").value = p;
- document.getElementById("login").click();
- }
- }
- /* 回調函數。“獲取驗證碼”按鈕按下後,將自動調用此函數。可根據code值自行改寫該函數。 */
- function WiwizSmsVerifyMsg(code) {
- if (code == "-1") {
- alert("手機號碼不可爲空!");
- } else if(code == "0") {
- alert("驗證碼已通過短信發送至您的手機,請注意查收。然後請在認證頁面輸入驗證碼。");
- } else if(code == "1") {
- alert("該熱點不允許進行手機號碼驗證。如有疑問請您聯繫熱點管理員。");
- } else if(code == "2") {
- alert("該熱點不允許進行手機號碼驗證。如有疑問請您聯繫熱點管理員。");
- } else if(code == "3") {
- alert("該手機號碼不允許進行驗證。如有疑問請您聯繫熱點管理員。");
- } else if(code == "4") {
- alert("手機號碼驗證過於頻繁,請稍後再試。");
- } else if(code == "5") {
- alert("該手機號碼進行驗證次數已超過今日上限。");
- } else if(code == "6") {
- alert("熱點認證服務已暫停,不可進行手機驗證。");
- } else if(code == "7") {
- alert("該熱點手機驗證次數已超過配額。請聯繫熱點管理員。");
- } else if(code == "8") {
- alert("請求已超時,請刷新認證頁面。");
- } else if(code == "9") {
- alert("請使用上一次通過短信接收到的驗證碼。");
- } else if(code == "99") {
- alert("驗證短信發送失敗。請檢查手機號碼的有效性,或聯繫熱點管理員。");
- } else if(code == "999") {
- alert("系統異常,驗證短信發送失敗。請聯繫熱點管理員。");
- } else {
- alert("系統異常。請聯繫熱點管理員。");
- }
- }
- /* 回調函數。“認證”按鈕按下後,如報錯將自動調用此函數。可根據code值自行改寫該函數。 */
- function WiwizAuthPageError(code) {
- if (code == 1) {
- alert("您無法使用此網絡,除非您認同此協議條款。");
- } else if(code == 2) {
- alert("請輸入用戶名。");
- } else if(code == 3) {
- alert("用戶名或密碼錯誤。");
- } else if(code == 4) {
- alert("電子招待券無效。");
- } else if(code == 6) {
- alert("超過最大在線用戶數。");
- } else if(code == 7) {
- alert("請輸入手機號碼。");
- } else if(code == 32) {
- alert("賬戶存在異常,暫時鎖定中。");
- } else if(code == 35) {
- alert("手機驗證碼錯誤或已超時。");
- } else {
- alert("未知錯誤。錯誤碼:"+ code);
- }
- }
- </script>
- </head>
- <body onload="doInit();">
- <form name="myform" id="myform" action="" method="post">
- <center>
- <table width="320" bgcolor="#ffffff">
- <tr><td align="center">
- <br>
- <table width="100%" cellspacing="2" cellpadding="2">
- <tr align="center"><td>
- <font size="+2" color="#000000"><b>Wifi無線網絡 - 10M帶寬 </b> </font>
- </td></tr>
- <tr align="center"><td>
- <img src="/as/img/wiwiz.gif"></img>
- </td></tr>
- </table>
- <table width="99%" cellspacing="1" cellpadding="2" style="font-size:12px">
- <tr align="center">
- <td width="100%">
- <table style="font-size:12px" width="98%">
- <tr><td>
- <font color="#ff1111">
- 本熱點爲計費WiFi熱點。費率爲:
- 3元/日
- 50元/月
- </font>
- </td></tr>
- </table>
- <table style="font-size:12px" width="100%">
- <tr>
- <td align="center">
- 在使用此網絡之前,請您詳細閱讀使用條款。<br>
- <textarea readonly rows="4" style="width:87%;font-size:12px">條款內容</textarea>
- <br>
- <!-- 參數: agree 代表認同協議 -->
- <input name="agree" id="agree" type="checkbox" value="1" checked />
- <label for="agree">我完全同意此條款的內容。</label>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table width="100%" cellspacing="1" cellpadding="4" style="font-size:12px">
- <tr align="center">
- <td width="100%">
- <table style="font-size:12px">
- <tr>
- <td>用戶名: </td>
- <td><!-- 參數: username 代表用戶名 -->
- <input name="username" id="username" type="text" value="" style="width:140px" />
- </td>
- </tr>
- <tr>
- <td>密碼: </td>
- <td><!-- 參數: pswd 代表密碼 -->
- <input name="pswd" id="pswd" type="password" style="width:140px" />
- </td>
- </tr>
- </table>
- <input name="remember" id="remember" type="checkbox" value="1" checked /><label for="remember">下次自動登錄</label>
- <br><br>
- <!-- 用於開始觸發認證的按鈕,onclick事件必須調用WiwizStartAuth()函數 -->
- <!-- recordCookie函數用於處理記錄Cookie -->
- <input type="button" name="login" id="login" value=" 立即開始使用此網絡 " onclick="recordCookie(); WiwizStartAuth();" />
- <br>
- <br>
- <font size="-1"><b><a href="#" onclick="window.open('http://cp.wiwiz.com/as/s/viewhotspot/?gw_id='+ WiwizGetQueryParameter('gw_id')); return false;">更多信息</a></font></b>
- <br>
- <br>
- <font style="font-size:12px"><b>
- <a href="/as/s/register/" target="_blank">註冊</a> |
- <a href="/as/s/remindpswd/" target="_blank">忘記密碼?</a>
- </b></font>
- </td>
- </tr>
- </table>
- </td></tr></table>
- <br>
- </center>
- </form>
- </body></html>