fix: 全量提示改为顶部 toast 飘窗 + 修复卷王 token 失效跳转死循环 + 调整行点击防御
- 所有 showAlert 改为 showToast 顶部飘窗(首屏 / 抽取页统一,含空消息守卫) - 导出排序新增 成绩升序 / 成绩降序 两种(前后端 + 设置弹窗都支持) - 设置保存:仅连接信息真变化才 reload projects,避免非连接改动导致持续刷新失败 - 强化历史成绩弹窗排序与兜底(缺 submit_ts 时按 idx 倒序) - 行点击事件加防御:要求父节点是 #tbody,避免被无关 tr 误触发 - 卷王 token 失效时:先 fetch logout 清会话再跳 login.php,登录页也加 token 探测兜底,根治"跳不过去"死循环 - 移除 index.php / draw.php 中已无用的内联 #alert DOM - 兼容 config_get 缺 export_sort 时回退 time 的 4 模式归一化
This commit is contained in:
@@ -8,8 +8,19 @@ declare(strict_types=1);
|
||||
require __DIR__ . '/bootstrap.php';
|
||||
|
||||
if (ny_is_auth()) {
|
||||
header('Location: index.php');
|
||||
exit;
|
||||
// 已登录但卷王 token 可能已过期:用当前 token 探一次卷王 /system,能 200 即视为有效,否则清掉本地会话强制重新登录
|
||||
try {
|
||||
$client = new SurveyKingClient($cfg);
|
||||
$client->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();
|
||||
|
||||
Reference in New Issue
Block a user