ping(); } catch (Throwable $e) { // 卷王 token 已失效或配置错误 → 清会话 + 强制显示登录页(避免 login.php 把人踢回 index.php 形成死循环) $_SESSION = []; @session_destroy(); } if (ny_is_auth()) { header('Location: index.php'); exit; } } $cfg = ny_load_config(); $err = ''; $ok = false; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user = trim((string)($_POST['username'] ?? $cfg['username'])); $pwd = (string)($_POST['password'] ?? ''); // 允许用户在本页调整账号;密码必须输入 if ($user === '' || $pwd === '') { $err = '请输入账号与密码。'; } else { // 用当前配置的连接信息 + 本页输入的账密做一次卷王登录 $test = $cfg; $test['username'] = $user; $test['password'] = $pwd; try { $client = new SurveyKingClient($test); $client->getToken(true); // 登录成功:把账号与密码写回配置(本地单用户工具,持久化密码以便 token // 失效时平台能自动重新登录卷王,避免后台刷新陷入"未配置账号"的死状态) $cfg['username'] = $user; $cfg['password'] = $pwd; ny_save_config($cfg); ny_login(); $ok = true; } catch (Throwable $e) { $err = '登录失败:' . $e->getMessage(); } } } ?>