inc/login_input.asp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
index.asp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pay.asp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
inc/login_input.asp
New file @@ -0,0 +1,187 @@ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>登录码输入</title> <style> body { font-family: Arial, sans-serif; background-color: #f5f5f5; margin: 0; padding: 20px; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .container { background: white; padding: 30px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; max-width: 400px; width: 100%; } .title { font-size: 24px; color: #333; margin-bottom: 30px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; text-align: left; margin-bottom: 8px; color: #555; font-weight: bold; } .input-group input { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 5px; font-size: 16px; box-sizing: border-box; } .input-group input:focus { outline: none; border-color: #007bff; } .btn { background-color: #007bff; color: white; padding: 12px 30px; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; margin: 5px; transition: background-color 0.3s; } .btn:hover { background-color: #0056b3; } .btn:disabled { background-color: #ccc; cursor: not-allowed; } .tip { color: #666; font-size: 14px; margin-top: 20px; line-height: 1.5; } .error { color: #dc3545; font-size: 14px; margin-top: 10px; } </style> </head> <body> <div class="container"> <div class="title">广东民航医疗快线 支付登录</div> <form id="loginForm"> <div class="input-group"> <label for="loginCode">登录码:</label> <input type="text" id="loginCode" name="loginCode" maxlength="6" placeholder="请输入6位登录码" autocomplete="off"> </div> <div class="input-group"> <button type="button" id="payBtn" class="btn" disabled>去支付</button> </div> <div class="tip">请输入支付短信中发送的登录号</div> <div id="errorMsg" class="error" style="display: none;"></div> </form> </div> <script> const loginCodeInput = document.getElementById('loginCode'); const payBtn = document.getElementById('payBtn'); const errorMsg = document.getElementById('errorMsg'); let autoRedirectTimer = null; function validateLoginCode(code) { return /^[A-Za-z0-9]{6}$/.test(code); } function redirectToLogin(code) { const currentUrl = window.location.href.split('?')[0]; window.location.href = currentUrl + '?n=' + encodeURIComponent(code); } function updateButtonState() { const code = loginCodeInput.value.trim(); const isValid = validateLoginCode(code); payBtn.disabled = !isValid; if (isValid) { errorMsg.style.display = 'none'; // 清除之前的定时器 if (autoRedirectTimer) { clearTimeout(autoRedirectTimer); } // 设置自动跳转定时器(2秒后自动跳转) autoRedirectTimer = setTimeout(() => { redirectToLogin(code); }, 2000); } else { if (autoRedirectTimer) { clearTimeout(autoRedirectTimer); autoRedirectTimer = null; } } } function showError(message) { errorMsg.textContent = message; errorMsg.style.display = 'block'; } function hideError() { errorMsg.style.display = 'none'; } // 输入框事件监听 loginCodeInput.addEventListener('input', function() { const code = this.value.trim(); // 只允许输入数字和字母 this.value = code.replace(/[^A-Za-z0-9]/g, ''); updateButtonState(); hideError(); }); // 支付按钮点击事件 payBtn.addEventListener('click', function() { const code = loginCodeInput.value.trim(); if (validateLoginCode(code)) { redirectToLogin(code); } else { showError('请输入正确的6位登录码'); } }); // 回车键提交 loginCodeInput.addEventListener('keypress', function(e) { if (e.key === 'Enter') { const code = this.value.trim(); if (validateLoginCode(code)) { redirectToLogin(code); } else { showError('请输入正确的6位登录码'); } } }); // 页面加载时聚焦到输入框 window.addEventListener('load', function() { loginCodeInput.focus(); }); </script> </body> </html> index.asp
@@ -11,197 +11,10 @@ l = Request("l") '注册用户/登录 ' 如果没有传递任何参数,显示登录码输入页面 If n="" And s="" And u="" And l="" Then %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>登录码输入</title> <style> body { font-family: Arial, sans-serif; background-color: #f5f5f5; margin: 0; padding: 20px; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .container { background: white; padding: 30px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; max-width: 400px; width: 100%; } .title { font-size: 24px; color: #333; margin-bottom: 30px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; text-align: left; margin-bottom: 8px; color: #555; font-weight: bold; } .input-group input { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 5px; font-size: 16px; box-sizing: border-box; } .input-group input:focus { outline: none; border-color: #007bff; } .btn { background-color: #007bff; color: white; padding: 12px 30px; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; margin: 5px; transition: background-color 0.3s; } .btn:hover { background-color: #0056b3; } .btn:disabled { background-color: #ccc; cursor: not-allowed; } .tip { color: #666; font-size: 14px; margin-top: 20px; line-height: 1.5; } .error { color: #dc3545; font-size: 14px; margin-top: 10px; } </style> </head> <body> <div class="container"> <div class="title">广东民航医疗快线 支付登录</div> <form id="loginForm"> <div class="input-group"> <label for="loginCode">登录码:</label> <input type="text" id="loginCode" name="loginCode" maxlength="6" placeholder="请输入6位登录码" autocomplete="off"> </div> <div class="input-group"> <button type="button" id="payBtn" class="btn" disabled>去支付</button> </div> <div class="tip">请输入支付短信中发送的登录码</div> <div id="errorMsg" class="error" style="display: none;"></div> </form> </div> <script> const loginCodeInput = document.getElementById('loginCode'); const payBtn = document.getElementById('payBtn'); const errorMsg = document.getElementById('errorMsg'); let autoRedirectTimer = null; function validateLoginCode(code) { return /^[A-Za-z0-9]{6}$/.test(code); } function redirectToLogin(code) { const currentUrl = window.location.href.split('?')[0]; window.location.href = currentUrl + '?n=' + encodeURIComponent(code); } function updateButtonState() { const code = loginCodeInput.value.trim(); const isValid = validateLoginCode(code); payBtn.disabled = !isValid; if (isValid) { errorMsg.style.display = 'none'; // 清除之前的定时器 if (autoRedirectTimer) { clearTimeout(autoRedirectTimer); } // 设置自动跳转定时器(2秒后自动跳转) autoRedirectTimer = setTimeout(() => { redirectToLogin(code); }, 2000); } else { if (autoRedirectTimer) { clearTimeout(autoRedirectTimer); autoRedirectTimer = null; } } } function showError(message) { errorMsg.textContent = message; errorMsg.style.display = 'block'; } function hideError() { errorMsg.style.display = 'none'; } // 输入框事件监听 loginCodeInput.addEventListener('input', function() { const code = this.value.trim(); // 只允许输入数字和字母 this.value = code.replace(/[^A-Za-z0-9]/g, ''); updateButtonState(); hideError(); }); // 支付按钮点击事件 payBtn.addEventListener('click', function() { const code = loginCodeInput.value.trim(); if (validateLoginCode(code)) { redirectToLogin(code); } else { showError('请输入正确的6位登录码'); } }); // 回车键提交 loginCodeInput.addEventListener('keypress', function(e) { if (e.key === 'Enter') { const code = this.value.trim(); if (validateLoginCode(code)) { redirectToLogin(code); } else { showError('请输入正确的6位登录码'); } } }); // 页面加载时聚焦到输入框 window.addEventListener('load', function() { loginCodeInput.focus(); }); </script> </body> </html> <% Response.End If n="" And s="" And u="" And l="" Then %> <!--#include virtual="/inc/login_input.asp"--> <% Response.End End If Response.Cookies("n")=n pay.asp
New file @@ -0,0 +1,112 @@ <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <%Session.CodePage=65001%> <!--#include virtual="/inc/odbc.asp"--> <!--#include virtual="/inc/function.asp"--> <!--#include virtual="/inc/core.asp"--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <% n = Request("n") s = Request("s") u = Request("u") l = Request("l") '注册用户/登录 ' 如果没有传递任何参数,显示登录码输入页面 If n="" And s="" And u="" And l="" Then %> <!--#include virtual="/inc/login_input.asp"--> <% Response.End End If Response.Cookies("n")=n Response.Cookies("n").Expires=DateAdd("n",30,now()) Response.Cookies("s")=s Response.Cookies("s").Expires=DateAdd("s",30,now()) Set rs = Server.CreateObject("ADODB.Recordset") If n<>"" Then sql="select id,URL from dwzURL where dateadd(day,15,nTime)>=getdate() and n='"&n&"' order by id desc" rs.open Sql,objConn,1,1 If not rs.Eof Then URL=rs("URL") If InStr(URL,"MyOrder.php")>=1 Then DispatchOrdID=Mid(URL,InStr(URL,"DispatchOrdID")+14,10) Sign1=Md5Sign(DispatchOrdID,GPSKey,"utf-8") ElseIf InStr(URL,"GuestOrder.php")>=1 Then DispatchOrdID=Mid(URL,InStr(URL,"DispatchOrdID")+14,10) Sign1=Md5Sign(DispatchOrdID,GPSKey,"utf-8") If InStr(request.ServerVariables("HTTP_USER_AGENT"),"MicroMessenger")>=1 Then URL=Replace(URL,"GuestOrder.php","MyOrder.php") End If else Sign1=SignArgs(URL) End if Response.Redirect URL&"&sign="&Sign1 Else Response.Redirect "/OrdEvaluateError.asp" End If rs.close() ElseIf u<>"" Then sql="select id,vtext,vOrder from dictionary where vtitle='URL' and vType>=1 and vID="&u rs.open Sql,objConn,1,1 If not rs.Eof Then id=rs("id") URL=rs("vtext") sql="update dictionary set vOrder=vOrder+1 where id="&id objConn.Execute sql Response.Redirect URL Else Response.Redirect "/OrdEvaluateError.asp" End If rs.close() ElseIf l="1" Then '注册用户/登录(手机) LoginType = Request("t") UserPhone = Request("p") If LoginType="" Then LoginType=1 If Len(UserPhone)=11 And IsNumeric(UserPhone) Then %><!--#include virtual="/inc/JsonAPI.asp"--><% LoginSign="APPID"&APPID&"LoginType1UnixTime"&ToUnixTime(now(), +8)&"UserPhone"&UserPhone&"methodUser_Login" Sign1=Md5Sign(LoginSign,APPKey,"utf-8") appUrl="https://api.966120.com.cn/user/" args1="method=User_Login&LoginType=1&UserPhone="&UserPhone&"&APPID="&APPID&"&UnixTime="&ToUnixTime(now(), +8)&"&Sign="&Sign1 HTMLCODE= GetBody(appUrl,args1) 'Response.Write HTMLCODE &"<br><br>" 'Response.end json=HTMLCODE %> <script language="jscript" runat="server"> Array.prototype.get = function(i) { return this[i]; }; function getjson(str){ try{ eval("var jsonStr = (" + str + ")"); }catch(ex){ var jsonStr = null; } return jsonStr; } </script> <% str=json 'str=right(str,len(str)-instr(str,"?{")+1) 'str=left(str,InstrRev(str,"}")) dim obj set obj = getjson(str) str0="" result=obj.result If result=1 Then UserID=obj.UserID End If Sign1=Md5Sign(UserID,GPSKey,"utf-8") Response.Redirect "/index.html#/?UserID="&UserID&"&s="&s&"&Sign="&Sign1 'Response.Write UserID&"<br>"&LoginURL 'Response.end Else Response.Redirect "/index.html" End If Else Response.Redirect "/index.html" End If %>