refactor(login): 重构登录页面并优化账号绑定逻辑
- 调整页面布局,使内容居中显示 - 移除不必要的键盘事件监听代码 - 抽离 handleBind 和 processLogin 函数,提高代码复用性 - 修改按钮点击事件处理方式,使用 onclick 属性
This commit is contained in:
72
linuxdo.php
72
linuxdo.php
@@ -162,55 +162,47 @@ function get_curl($url, $post = 0, $referer = 0, $cookie = 0, $header = 0, $ua =
|
|||||||
<meta name="keywords" content="<?= $_CONFIG['game_name'] ?>,<?= $_CONFIG['game_description'] ?>">
|
<meta name="keywords" content="<?= $_CONFIG['game_name'] ?>,<?= $_CONFIG['game_description'] ?>">
|
||||||
|
|
||||||
<link rel="stylesheet" href="static/css/login.css?v=1.1.6" />
|
<link rel="stylesheet" href="static/css/login.css?v=1.1.6" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.onkeydown = document.onkeyup = document.onkeypress = function (event) {
|
function handleBind(account, linuxdo_account) {
|
||||||
var e = event || window.event || arguments.callee.caller.arguments[0];
|
return fetch("/linuxdo?act=bind&account=" + account + "&connect_id=" + linuxdo_account).then(res => {
|
||||||
if (e && e.keyCode == 123) {
|
const { password } = res.data
|
||||||
e.returnValue = false;
|
location.href = "/play?account=" + document.getElementById("linuxdo").value + "&token=" + password;
|
||||||
return false;
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
function processLogin(params = {}, connect_id) {
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append("serverId", "1");
|
||||||
|
Object.entries(params).forEach(([key, value]) => formData.append(key, value));
|
||||||
|
fetch("/api?act=reg", { method: "POST", body: formData }).then(res => {
|
||||||
|
if (res.code == '0') {
|
||||||
|
handleBind(res.data.account, connect_id)
|
||||||
|
} else {
|
||||||
|
showTips(res.msg, 6, 'error');
|
||||||
|
return
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function registerDirect() {
|
||||||
|
const linuxdo_account = document.getElementById("linuxdo").value;
|
||||||
|
processLogin({ type: "1", account: linuxdo_account, password: "1", password2: "1" }, linuxdo_account)
|
||||||
|
}
|
||||||
|
function linkAccount() {
|
||||||
|
const account = document.getElementById("account").value;
|
||||||
|
const password = document.getElementById("password").value;
|
||||||
|
const linuxdo_account = document.getElementById("linuxdo").value;
|
||||||
|
processLogin({ type: "0", account, password, }, linuxdo_account)
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">
|
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">
|
||||||
<?php if (empty($row)) { ?>
|
<?php if (empty($row)) { ?>
|
||||||
<div style="width:400px">
|
<div style="width:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;flex-direction:column;">
|
||||||
当前尚未有你的游戏账号,请选择<br>
|
当前尚未有你的游戏账号,请选择<br>
|
||||||
<a onclick="registerDirect" style="cursor:pointer"><b>Linuxdo账号绑定</b></a></br>
|
<a onclick="registerDirect" style="cursor:pointer"><b>Linuxdo账号绑定</b></a></br>
|
||||||
<input type="hidden" id="linuxdo" value="<?= $userInfo['user_username'] ?>">
|
<input type="hidden" id="linuxdo" value="<?= $userInfo['user_username'] ?>">
|
||||||
<script>
|
|
||||||
function handleBind(account, linuxdo_account) {
|
|
||||||
return fetch("/linuxdo?act=bind&account=" + account + "&connect_id=" + linuxdo_account).then(res => {
|
|
||||||
const { password } = res.data
|
|
||||||
location.href = "/play?account=" + document.getElementById("linuxdo").value + "&token=" + password;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
function processLogin(params = {}, connect_id) {
|
|
||||||
const formData = new FormData();
|
|
||||||
formData.append("serverId", "1");
|
|
||||||
Object.entries(params).forEach(([key, value]) => formData.append(key, value));
|
|
||||||
fetch("/api?act=reg", { method: "POST", body: formData }).then(res => {
|
|
||||||
if (res.code == '0') {
|
|
||||||
handleBind(res.data.account, connect_id)
|
|
||||||
} else {
|
|
||||||
showTips(res.msg, 6, 'error');
|
|
||||||
return
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
function registerDirect() {
|
|
||||||
const linuxdo_account = document.getElementById("linuxdo").value;
|
|
||||||
processLogin({ type: "1", account: linuxdo_account, password: "1", password2: "1" }, linuxdo_account)
|
|
||||||
}
|
|
||||||
function linkAccount() {
|
|
||||||
const account = document.getElementById("account").value;
|
|
||||||
const password = document.getElementById("password").value;
|
|
||||||
const linuxdo_account = document.getElementById("linuxdo").value;
|
|
||||||
processLogin({ type: "0", account, password, }, linuxdo_account)
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<br>
|
<br>
|
||||||
如果已有账号,请输入账号和密码<br>
|
如果已有账号,请输入账号和密码<br>
|
||||||
<input type="text" id="account" placeholder="请输入账号" onKeyUp="value = value.replace(/[\W]/g, '')"
|
<input type="text" id="account" placeholder="请输入账号" onKeyUp="value = value.replace(/[\W]/g, '')"
|
||||||
@@ -218,7 +210,7 @@ function get_curl($url, $post = 0, $referer = 0, $cookie = 0, $header = 0, $ua =
|
|||||||
<br>
|
<br>
|
||||||
<input type="password" id="password" placeholder="请输入密码">
|
<input type="password" id="password" placeholder="请输入密码">
|
||||||
<br>
|
<br>
|
||||||
<button type="submit" @click="linkAccount">绑定并登录</button>
|
<button type="submit" onclick="linkAccount">绑定并登录</button>
|
||||||
</div>
|
</div>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user