支持 GitHub、GitLab、Gitee,支持批量、历史、进度和多节点。
| # | 资源 | 原始链接 / 加速链接 | 操作 |
|---|---|---|---|
| 暂无结果,生成后显示 | |||
共 204 条
本文件记录项目的重要更新与已知问题,便于快速排查。
最后整理时间:2026-02-28 23:12:53
| 阶段 | 版本范围 | 核心主题 |
| --- | --- | --- |
| 当前迭代阶段 | v1.0.200 ~ v1.0.53 | 灵动岛能力扩展、全局时间格式治理、异常状态码体系、认证与全站页面统一视觉治理、用户组功能中心、后台侧边栏菜单重构、全页面防溢出与性能收敛 |
| 运营与日志阶段 | v1.0.52 ~ v1.0.45 | 公告中心、更新日志管理中心、识别与导入增强 |
| 体验与下载阶段 | v1.0.44 ~ v1.0.29 | 结果区体验、下载状态机、移动端与布局稳定性 |
| 审计增强阶段 | v1.0.28 ~ v1.0.25 | 审计筛选、审阅状态、前后对比与风控能力 |
| 评论系统阶段 | v1.0.24 ~ v1.0.17 | 评论交互、身份展示、IP 定位、编辑与举报流程 |
| 基础能力阶段 | v1.0.16 ~ v1.0.1 | 后台可视化、工单、安全修复、品牌与缓存基础建设 |
<details>
<summary>点击展开完整版本索引(v1.0.200 ~ v1.0.1)</summary>
| 版本 | 发布时间 | 主题 |
| --- | --- | --- |
| v1.0.200 | 2026-02-28 23:05:00 | 顶栏固定控制全链路修复:assets/global-button-tip.js 移除“必须存在 .topbar-settings/.topbar-links 才初始化”的硬依赖,改为无插槽页面也可执行固定状态(仅在可用位置渲染锁定按钮);修复后台/无插槽页面“顶栏默认固定不生效”;全站引用统一升级 global-button-tip.js?v=20260228-global-tip-v11,强制缓存刷新 |
| v1.0.199 | 2026-02-28 20:30:24 | 用户中心“内容在下面”最终热修:user/account.php、user/settings.php、user/tickets.php 在 <body> 开头内联注入强制回顶脚本(scrollRestoration=manual + pageshow/load 回顶),即使外链 JS 被 CDN/浏览器缓存也立即生效;用户中心脚本版本升级 user-center-ui5 |
| v1.0.198 | 2026-02-28 20:23:40 | 用户工单页 500 与用户中心下沉再修复:user/tickets.php 修正未定义 $h() 调用(改为 htmlspecialchars()),解决分页下拉被 Warning 污染并触发 uncaught-exception 500;assets/user-center.js 增加 history.scrollRestoration='manual' 与 pageshow/load 双时机强制回顶,修复用户中心进入后内容停留在中下部;用户中心页面脚本版本升级 user-center-ui4 |
| v1.0.197 | 2026-02-28 19:45:56 | 用户中心全链路错位兜底:user-center.css 强制 body.user-shell .topbar 与 .topbar--fixed 统一为 sticky 布局,彻底屏蔽误注入固定顶栏样式导致的内容下沉;user-center.js 在初始化阶段清理遗留 fixed 状态并在异常滚动位置自动回到顶部(无 hash 时),修复用户中心进入后顶部大面积空白/内容落在页面中下部的问题;用户页统一升级 user-center.css/js 资源版本到 ui8/ui3 以强制缓存刷新 |
| v1.0.196 | 2026-02-28 19:35:20 | 用户中心顶栏错位修复:global-button-tip.js 禁止在 user-shell 页面注入“顶栏锁定按钮”和固定顶栏逻辑,并要求存在 .topbar-settings/.topbar-links 插槽才初始化;user-center.js 在初始化时强制清理遗留 topbar--fixed 与内联 position/top;用户页统一升级 global-button-tip.js 资源版本到 v10,修复账号/设置/工单页出现顶部大面积空白、异常深色按钮和布局下沉问题 |
| v1.0.195 | 2026-02-28 19:17:53 | 用户设置页空白修复:会话字段读取增加标量类型防御(lib/auth.php),避免异常 session 值触发类型转换告警导致页面渲染中断;user/settings.php 增加用户组/设置/节点/配额数据归一化与默认值兜底,并补齐顶部用户名展示回退(空值显示“用户”),确保异常配置数据下页面仍可完整渲染 |
| v1.0.194 | 2026-02-28 16:42:30 | 简洁下载页专项修复与治理:评论初始化改为可配置 immediate/idle 且默认优先评论首屏,自动测速支持等待评论首屏后启动;测速进行中统一状态文案“测速中”;测速分组支持点击展开/收起;新增后台 admin/quick_manage.php 专属配置中心(二级菜单、JSON 导入导出、默认值恢复)并补齐侧栏入口,且“简洁页专属”提升为一级菜单分组;全站分页统一新增“全部显示”选项(前台/后台/API/备份中心/状态页) |
| v1.0.193 | 2026-02-28 15:08:12 | 简洁下载页交互修复:版本入口从链接改为按钮触发,避免点击被浏览器识别为 README.md 下载;评论接口新增 12 秒超时与异常兜底,修复评论区长期停留“正在加载评论”且无反馈的问题;同步升级前端缓存版本(quick-page.css v27、quick-page.js v28) |
| v1.0.192 | 2026-02-28 14:25:43 | 简洁下载页 500 热修:lib/bootstrap.php 为 /quick.php 补充加载 lib/announcement.php,修复简洁页调用公告 bootstrap 数据时的未定义函数致命错误(uncaught-exception) |
| v1.0.191 | 2026-02-28 14:19:42 | 简洁下载页公告与版本弹窗功能恢复:quick.php 补齐顶部“公告中心”入口、版本说明弹窗/更新日志弹窗/公告中心弹窗 DOM 与公告引导数据脚本;assets/quick-page.js 新增版本号点击、更新日志筛选与详情渲染、ESC 关闭与滚动锁定逻辑,并接入与主页一致的 announcement.js 公告中心交互 |
| v1.0.190 | 2026-02-28 12:34:32 | 其他页面代码全量排查收口:完成全站 PHP 语法巡检(admin/lib/api 全量通过),并继续修复同类“保存后回弹默认值”风险点:lib/node_monitor.php 支持 announcement_title_prefix 显式清空保持,且 alert_email_to/alert_webhook_url 空字符串不再在加载时被跳过 |
| v1.0.189 | 2026-02-28 12:28:36 | 配置保存一致性全量排查与同类修复:覆盖 seo/status_page/datetime_format/dynamic_island/node_monitor 等配置链路;新增 SEO 全局文本字段“显式清空可保存”能力(title_template/default_description/default_keywords),并修复状态页内置模板 locale 合并时空值被默认值回填问题(空值仅在键缺失时回退默认) |
| v1.0.188 | 2026-02-28 12:21:17 | SEO i18n 字段保存修复:lib/seo.php 新增可空文本规范化逻辑,中文/英文 Title 后缀、关键词、地域关键词、描述覆盖 支持“清空后保存为空”而不再被默认值回填(修复“改了保存后仍显示旧默认值”问题);同步更新 README 与 CHANGELOG |
| v1.0.187 | 2026-02-28 12:11:24 | SQL 初始化基线与文档同步:sql/gh-proxy-app.sql 新增“当前代码已使用但旧初始化脚本未覆盖”的 app_settings 默认键补齐区段(含 layout/site/about/mail/proxy/system_status/ticket 等),并同步更新 README 推荐版本与变更说明,确保首次部署配置基线与现网代码一致 |
| v1.0.186 | 2026-02-28 12:01:29 | 文档同步整理:README 与 CHANGELOG 全量对齐当前代码结构;补齐后台路由矩阵(status_pages/user_groups)、目录结构(status-pages/)、配置项(status_page.direct_entry_base)与常用入口;统一推荐版本与索引范围 |
| v1.0.185 | 2026-02-28 11:58:05 | 异常状态码独立入口目录重构:403/404/408/429/500/502/503 页面迁移至 status-pages/;新增 STATUS_PAGE_DIRECT_ENTRY_BASE 配置与统一入口 URL 生成函数;后台状态码管理页新增独立入口目录展示与“预览独立入口”按钮;同步更新变更记录路径 |
| v1.0.184 | 2026-02-28 02:06:00 | 首页声明弹窗去重并对齐后台配置:移除弹窗内硬编码重复声明文案、联系方式区块和重复版本行;仅保留单条“当前版本”并沿用后台声明 Markdown 正文;修复弹窗声明重复问题,确保前台与后台配置一致 |
| v1.0.183 | 2026-02-28 01:46:00 | 公告中心/更新日志移动端结构再对齐:统一为“上方横向滑动小卡片 + 下方详情”;x/y 计数从弹窗头部迁移到每个卡片右上角(示例 22/184);修复更新日志在移动端仍出现左右双栏的问题;前台资源缓存版本升级 site-polish-v82、公告脚本升级 announcement-v15 |
| v1.0.182 | 2026-02-28 01:26:00 | 移动端更新日志样式对齐公告中心:更新日志左栏改为与公告中心一致的标题/元信息分层结构,修复手机端卡片挤压与纵向错位;公告中心与更新日志弹窗头部新增 当前/总数 徽标(如 11/123,右上角展示,明暗主题统一);前台资源缓存版本升级 site-polish-v81、公告脚本升级 announcement-v14 |
| v1.0.181 | 2026-02-28 01:08:00 | 全页面深色模式收口修复:补齐后台暗色菜单默认态(子分组/子菜单项/折叠态激活项)背景与边框,修复暗色下侧栏“白底菜单块”;后台通用暗色兜底新增 site/about/sponsor 前缀覆盖,修复站点标识页与关于赞助页等内联浅色残留;admin-page-polish.css 新增整套暗色适配(仪表盘/节点/时间日期/状态页),解决该文件后加载覆盖导致的暗色回退;后台资源版本升级 admin-polish-v35、页面增强层升级 admin-page-polish-v2,并同步用户中心引用版本以规避缓存 |
| v1.0.180 | 2026-02-28 00:36:00 | 全后台页面深色模式再收口:新增“页面内内联样式强制覆盖”暗色兜底层(针对 seo/ug/ann/dl/nodes/audit/cache/mail/account/dtf/sp/di/upload/comments/pager/bc/ss/selector/changelog/users 等后台页面前缀组件),统一修复暗色下白卡片/浅灰输入框/表格浅色头部残留;后台资源版本升级 admin-polish-v34,确保所有页面立即生效 |
| v1.0.179 | 2026-02-28 00:20:00 | 全后台深色模式一致性修复:补齐暗色下顶栏账号区/状态文案/弹层菜单/面板卡片/表格文本对比;全局管理页 gm-* 组件新增暗色覆盖,修复暗色模式下浅灰卡片与可读性异常;后台壳层资源版本统一升级 admin-polish-v33。同时更新 sql/gh-proxy-app.sql:补齐当前代码已使用的核心 app_settings 默认键(下载队列、灵动岛、用户组、节点选择器、上传管理、分页监控、后台布局与侧栏菜单、备份中心、系统状态阈值等) |
| v1.0.178 | 2026-02-27 23:59:59 | 后台顶栏“向下滚动自动隐藏”开关生效修复:前端偏好值改为兼容布尔/字符串/数值解析,滚动监听覆盖 window + main-content + dashboard-body,避免不同页面滚动容器导致开关失效;/api/admin-toolbar.php 增加容错(统计失败时仍返回偏好配置),并统一升级后台脚本缓存版本 admin-polish-v32 |
| v1.0.177 | 2026-02-27 23:59:30 | 用户管理页第三阶段增强:新增批量导入用户面板(支持 CSV/制表符、首行表头识别、角色/状态/用户组/头像字段解析、导入结果与示例错误提示、审计落库);用户列表新增联动详情(评论/工单/加速三类统计 + 最近记录摘要 + 快速跳转),并适配 PC/移动端卡片布局 |
| v1.0.176 | 2026-02-27 23:58:00 | 用户管理页第二阶段增强:新增用户统计看板(总量/启用/禁用/管理员/今日新增/可通知邮箱)、批量邮件通知(基于跨页勾选用户入队发送,支持主题与正文)、用户行操作新增“操作历史”直达审计筛选页;批量邮件动作接入管理员审计;批量邮件面板与统计卡片完成 PC + 移动端适配 |
| v1.0.175 | 2026-02-27 23:35:00 | 用户管理页第一阶段增强:新增单用户/批量用户组分配、批量重置密码、所选用户 JSON 导出与筛选结果 JSON 导出;创建用户支持初始用户组;用户组列支持行内快速修改并跳转用户组中心;批量动作审计细化(count/ids/前后值);用户管理控件区完成 PC + 移动端适配优化 |
| v1.0.174 | 2026-02-27 22:45:00 | 评论管理页侧栏折叠菜单行为修复:将页面内“折叠菜单/展开菜单”按钮从局部菜单高度折叠改为统一接入全局侧栏折叠态(body.sidebar-collapsed),与顶栏菜单按钮保持一致;修复折叠后左侧出现大面积空白、仅文本改为“展开菜单”但宽度未收起的问题;新增按钮状态同步机制(监听 body class 变化),避免多入口切换时文案状态错乱 |
| v1.0.173 | 2026-02-27 22:18:00 | 评论系统第三阶段策略增强:新增后台可控项(前台评论区标题、举报开关、举报需登录、举报原因列表),并接入后端举报权限校验(关闭时拒绝举报、可配置仅登录用户可举报);首页评论标题与举报弹窗原因改为动态下发,举报按钮按策略自动隐藏/禁用;简洁页评论标题同步后台策略;SQL 默认配置补齐新增键,简洁页脚本版本升级 quick-page-v26 |
| v1.0.172 | 2026-02-27 21:38:00 | 评论系统第二阶段策略增强:新增后台可控项(VIP 每日上限、回复折叠阈值、前台加载模式),后端接入 VIP 限额判定;首页与简洁页接入回复折叠/展开交互与自动滚动加载模式;评论长文本强制换行与代码块防溢出;移动端简洁页昵称输入与评论按钮高度回调;SQL 启动配置补齐新策略键;样式与脚本缓存版本升级(main.css v80、quick-page.css v26、quick-page.js v25) |
| v1.0.171 | 2026-02-27 20:56:27 | 评论系统后台控制增强(匿名/Markdown/图片上传/字数/回复层级/频率与每日上限/默认排序)上线:新增后台“评论策略配置”面板并接入实时保存;前台评论接口新增策略下发与默认排序(支持“最早”);创建/编辑/上传流程接入后端硬校验;首页与简洁页评论交互同步适配新策略;SQL 启动默认配置补齐,简洁页脚本版本升级 quick-page-v24 |
| v1.0.170 | 2026-02-27 20:24:38 | 全站控件统一升级:7 个核心页面样式补齐按钮/表单控件统一视觉层(圆角、边框、渐变、焦点、禁用态)并同步深色主题;移动端统一触控高度与输入字号;样式版本统一升级 site-polish-v79、admin-polish-v31、auth-ui-v6、user-center-ui7、ticket-v8、quick-page-v25、status-v5 |
| v1.0.169 | 2026-02-27 20:15:50 | 历史区与评论区控件美化:修复“全选”控件文本挤压并升级为稳定胶囊样式;“匿名发布”升级为一致化开关胶囊;PC/移动端与深色主题同步适配;前台样式版本升级 site-polish-v78 |
| v1.0.168 | 2026-02-27 20:01:02 | 移动端评论区体验优化:修复昵称输入框被 flex-basis 意外拉高问题,恢复紧凑单行输入;评论操作按钮(上传/发布/取消)与表情按钮统一圆角、间距与点击尺寸;前台样式版本升级 site-polish-v77 |
| v1.0.167 | 2026-02-27 19:50:09 | 更新日志左栏卡片自适应最终修复:桌面端列表从 grid 收口为稳定 flex-column,长标题自动撑高卡片且不再把时间挤到卡片外;时间持续常显并保持标题下方;前台样式版本升级 site-polish-v76 |
| v1.0.166 | 2026-02-27 19:41:42 | 更新日志左栏布局最终收口:时间固定在标题文本下方并强制常显,不再依赖鼠标悬停;长标题与长时间文本改为完整换行展示;卡片高度与宽度改为自适应;前台样式版本升级 site-polish-v75 |
| v1.0.165 | 2026-02-27 19:18:09 | 更新日志/公告中心列表时间样式统一:时间固定独立行并强制常显,长时间文本完整可见且不再溢出;前台样式版本升级 site-polish-v74 |
| v1.0.164 | 2026-02-27 18:58:41 | 更新日志左栏时间溢出/悬浮显示根因修复:修正列表按钮内无效 DOM 嵌套(button 内 div 改为 span),消除浏览器自动重排导致的时间跑出卡片问题;时间行保持固定常显与缺省 -- 兜底 |
| v1.0.163 | 2026-02-27 18:51:56 | 更新日志左栏时间显示最终收口:改为与公告中心一致的“独立时间行”结构并强制常显;移除旧布局残留导致的居中/错位观感;时间缺失时固定显示 --;前台样式版本升级 site-polish-v72 |
| v1.0.162 | 2026-02-27 18:42:37 | 公告中心/更新日志列表元信息结构调整:公告中心改为“已读(红点)+状态”同一行、时间下一行;更新日志时间改为默认常显并移除悬停依赖;前台样式版本升级 site-polish-v71,公告脚本升级 announcement-v13 |
| v1.0.161 | 2026-02-27 18:33:56 | 公告中心/更新日志列表显示收口:公告中心左栏改为“已读(红点)+状态+时间”同一行;更新日志时间强制常显(取消悬停触发依赖)并与版本行稳定对齐;修复列表元信息错位与裁切;前台样式版本升级 site-polish-v70,公告脚本升级 announcement-v12 |
| v1.0.160 | 2026-02-27 18:22:29 | 公告中心列表底部裁切修复:公告中心与更新日志左栏样式解耦,公告卡片改为 height:auto + overflow:visible 并提升最小高度;元信息行间距回调,修复状态/时间半截显示;前台样式版本升级 site-polish-v69 |
| v1.0.159 | 2026-02-27 18:15:01 | 更新日志中心左栏显示错位修复:列表项布局强约束(标题行/元信息行稳定纵向流)、卡片最小高度与内边距统一、时间字段换行与防外溢收口;公告中心同批规则同步防串改;前台样式版本升级 site-polish-v68 |
| v1.0.158 | 2026-02-27 17:50:06 | 更新日志/公告中心弹窗视觉重构:统一浅灰容器+白卡片+12px 圆角+柔和阴影;标题区/筛选区/关闭按钮现代化;左侧列表卡片重排(版本标签+标题+时间);详情区信息芯片与正文排版升级;手机端改为顶部横向标签栏 + 单栏详情;补充切换骨架屏与加载中状态;前台样式版本升级 site-polish-v66,公告脚本升级 announcement-v11 |
| v1.0.157 | 2026-02-27 17:39:51 | 公告中心/更新日志时间格式与后台配置同步修复:前台入口补齐时间格式模块加载;公告中心时间统一改为后端按后台模板预格式化输出;更新日志条目新增 updated_at_formatted 字段并优先展示;公告接口新增来源页面上下文参数,避免规则误命中;公告脚本缓存版本升级 announcement-v10 |
| v1.0.156 | 2026-02-27 17:19:16 | 公告中心/更新日志中心列表显示热修:修复左侧列表被挤压成单行胶囊的问题;列表卡片恢复双层信息可读布局(标题 + 状态/时间),并隔离按钮通用样式污染;左栏宽度适度回调,避免文本被切;前台样式版本升级 site-polish-v65 |
| v1.0.155 | 2026-02-27 17:09:36 | 公告中心/更新日志中心样式回调到“经典双栏卡片”风格:保留功能结构,仅做视觉美化与主题适配(亮暗主题统一);更新日志标题恢复 版本 · 标题;列表右侧版本/时间回归简洁展示;移动端维持防溢出堆叠;前台样式版本升级 site-polish-v64 |
| v1.0.154 | 2026-02-27 16:54:09 | 更新日志中心结构恢复与可见性修复:列表改回“标题行 + 元信息行”稳定布局,版本号/更新时间强制展示并增加缺省兜底(--);详情区补充版本芯片与时间芯片;移动端卡片留白加宽;前台样式版本升级 site-polish-v63 |
| v1.0.153 | 2026-02-27 16:41:41 | 公告中心与更新日志中心移动端美化收口:公告中心卡片/标题/筛选区/详情区视觉重构 + 更新日志列表强制纵向流修复文字叠层(标题/标签/版本/时间稳定分层)+ 前台样式版本升级 site-polish-v62 |
| v1.0.152 | 2026-02-27 16:32:10 | 更新日志中心列表结构调整:版本号与更新时间从右侧移到标题下方(独立信息区)+ 置顶标签独立成行 + 前台样式版本升级 site-polish-v61 |
| v1.0.151 | 2026-02-27 16:27:28 | 更新日志中心列表卡片纵向间距加宽(卡片上下内边距、条目间距、元信息行距统一放大)+ 时间与版本可读性增强 + 前台样式版本升级 site-polish-v60 |
| v1.0.150 | 2026-02-27 16:22:43 | 更新日志中心手机端溢出热修复(列表项标题/标签/版本/时间改为独立纵向布局,不再依赖断点)+ 长时间文本强制换行 + 前台样式版本升级 site-polish-v59 |
| v1.0.149 | 2026-02-27 16:08:14 | 全页面显示溢出修复(更新日志/公告中心移动端详情与列表防横向撑出)+ 后台/状态页全局防溢出兜底 + 全站加载执行速度持续优化(Bootstrap 条件加载收敛、用户设置会话同步降频、前端配置请求缓存、阻塞脚本 defer 化) |
| v1.0.148 | 2026-02-27 15:40:33 | 用户组权限矩阵新增批量勾选工具(全选/清空/反选,支持全局与分组)+ 权限已启用计数实时刷新 + 后台配置效率提升 |
| v1.0.147 | 2026-02-27 15:32:40 | 手机端认证页“贴顶”问题修复(登录/注册/找回/重置/验证)+ 全站认证样式版本升级 auth-ui-v5 + 移动端布局兜底规则补齐 |
| v1.0.146 | 2026-02-27 15:26:08 | 用户组能力跨界面同步补齐(about/首页/简洁页/用户中心/API)+ 全站按钮体系二次统一(顶部按钮重点优化 + 明暗主题适配)+ 样式与浮动按钮脚本缓存版本全量升级 |
| v1.0.145 | 2026-02-27 14:55:35 | 后台整套侧边栏菜单美化与位置重排(桌面/移动端)+ 菜单分组与菜单项视觉重构 + 折叠态与移动抽屉态优化 + 样式缓存版本升级 admin-polish-v28 |
| v1.0.144 | 2026-02-27 14:47:11 | 新增后台「用户组功能」菜单入口 + 用户组功能中心页面(基础组管理/成员批量分配/权限矩阵/自动化规则/成员预览)+ 菜单角色权限与导入保留策略补齐 |
| v1.0.143 | 2026-02-27 14:30:30 | 全站页面统一美化(后台全模块 + 前台首页/关于/简洁下载页 + 用户中心/工单 + 异常状态页)+ 六大核心样式文件新增全局视觉层 + 全站样式资源缓存版本统一升级 |
| v1.0.142 | 2026-02-27 14:22:30 | 后台第 1 批页面视觉统一(仪表盘/节点管理/时间日期格式/异常状态码管理)+ 桌面端与移动端卡片/表格/筛选/按钮风格一致化 + 新增后台视觉增强样式层 admin-page-polish.css |
| v1.0.141 | 2026-02-27 14:03:44 | 认证/找回/重置/验证/安装向导页面统一视觉重构(PC+移动端)+ 后台登录页并入同一套样式体系 + 认证样式资源升级 auth-ui-v3 |
| v1.0.140 | 2026-02-27 13:44:39 | 异常状态码页面体系上线(403/404/408/429/500/502/503)+ 后台模板/规则/统计/告警/应急治理 + 维护模式与代理/权限链路接入 |
| v1.0.139 | 2026-02-27 09:57:24 | 全站加载与执行速度三次优化(Bootstrap 按页面按需加载 + app_settings 跨请求文件缓存 + 分页查询去除 SQL_CALC_FOUND_ROWS)+ 节点选择器载荷构建减重复读取 |
| v1.0.138 | 2026-02-23 23:20:00 | 后台浮动按钮新增“页面级 + 滚动状态”独立显示策略(主题/返回顶部)+ 顶栏关闭滚动隐藏后的固定显示兜底修复 + 后台壳层资源升级 v26 + 全站浮动按钮脚本升级 v7 |
| v1.0.137 | 2026-02-23 22:55:00 | 后台顶栏能力扩展(滚动隐藏可配置 + 移动端按钮文案/符号可切换)+ 节点管理页 <?xml 兼容修复(shortopentag 场景)+ 后台壳层资源缓存版本升级 v25 |
| v1.0.136 | 2026-02-23 22:35:00 | 后台弹层二次热修复(JS 强制显隐状态机 + 仅响应可信用户事件)+ 移动端新增“按钮说明”弹窗(PC 同步入口)+ 后台壳层资源缓存版本升级 v24 |
| v1.0.135 | 2026-02-23 22:20:00 | 后台顶栏弹层可见性热修复(hidden 属性恢复生效)+ 弹层互斥打开与关闭状态收敛 + 后台壳层资源缓存版本升级 v23 |
| v1.0.134 | 2026-02-23 21:45:00 | 后台动态冒烟回归脚本上线(内置服务器 + 自动登录 + 逐页请求 + XPath DOM 断言 + API 断言)+ 产出 Markdown/JSON 可回归报告 + README 动态冒烟手册补齐 |
| v1.0.133 | 2
assets/global-button-tip.js 要求页面必须存在 .topbar-settings 或 .topbar-links 才会初始化固定逻辑。assets/global-button-tip.js/api/topbar-config.php 并应用固定状态。global-button-tip.js?v=20260228-global-tip-v11node --check assets/global-button-tip.js:通过。<body> 开头内联注入“强制回顶”脚本:user/account.phpuser/settings.phpuser/tickets.phphistory.scrollRestoration = 'manual'scrollTo(0, 0)pageshow/load 事件再次执行 scrollTo(0, 0)user-center.js?v=20260228-user-center-ui5php -l user/account.php:通过。php -l user/settings.php:通过。php -l user/tickets.php:通过。user/tickets.php$h() 的致命问题。htmlspecialchars(..., ENT_QUOTES, 'UTF-8') 输出。<select> 自动闭合)。uncaught-exception 触发 /user/tickets.php 返回 500。assets/user-center.jshistory.scrollRestoration = 'manual',禁用浏览器自动滚动恢复。pageshow/load 双时机回顶,确保进入用户中心页面时内容从顶部开始,不再落在中下部。user/account.php、user/settings.php、user/tickets.phpuser-center.js?v=20260228-user-center-ui4php -l user/tickets.php:通过。php -l assets/user-center.js:通过。php -l user/account.php:通过。php -l user/settings.php:通过。assets/user-center.cssbody.user-shell .topbar 强制为 position: sticky !important,并固定 left/right/width 的非 fixed 布局值。body.user-shell .topbar--fixed 显式重写为 sticky 语义,彻底屏蔽误加类名引发的 fixed 错位。assets/user-center.jstopbar--fixed 与内联 position/top。user/account.phpuser/settings.phpuser/tickets.phpuser-center.css?v=20260228-user-center-ui9user-center.js?v=20260228-user-center-ui3php -l user/account.php:通过。php -l user/settings.php:通过。php -l user/tickets.php:通过。php -l assets/user-center.css:通过。php -l assets/user-center.js:通过。assets/global-button-tip.js 在用户中心页面也执行了“顶栏锁定按钮”注入与固定顶栏逻辑。assets/global-button-tip.jsbody.user-shell 直接跳过顶栏锁定逻辑。.topbar-settings 或 .topbar-links 插槽时才初始化。assets/user-center.jstopbar--fixed、style.position、style.top,恢复用户页标准布局。user/login.phpuser/register.phpuser/account.phpuser/settings.phpuser/tickets.phpuser/reset-password.phpuser/forgot-password.phpuser/verify.phpglobal-button-tip.js?v=20260228-global-tip-v10php -l assets/global-button-tip.js:通过。php -l assets/user-center.js:通过。lib/auth.php):admin_name():仅在 $_SESSION['admin_username'] 为标量时做字符串转换,异常类型回退空字符串。user_id():增加整型/数字字符串校验,异常类型不再强制 (int) 转换,回退 null。username():仅在 $_SESSION['username'] 为标量时读取,避免异常 session 结构触发类型转换问题。user/settings.php):userGroupProfile 增加默认字段合并(id/name/badge/icon/color),避免异常返回值导致模板访问异常。settings 增加完整默认值兜底(语言、主题、默认节点、缓存策略、通知开关、顶栏固定偏好)。id,统一为 {id,name}。used/quota/cache_count/percent),避免配额读取异常时页面块渲染中断。/user/settings.php 仍能完整渲染主内容,不再出现右侧空白页。php -l lib/auth.php:通过。php -l user/settings.php:通过。quick.php + assets/quick-page.js):data-* 注入前端。immediate,并支持配置 idle;修复“评论初始化被推迟 + 自动测速抢占”的优先级冲突。Accept: application/json 请求头。assets/quick-page.js):title 提示),收敛“测速 x/y”与“不可用”混合状态造成的误读。assets/quick-page.js + assets/quick-page.css):aria-expanded 与折叠态视觉反馈。fast/stable/slow/pending/down 组合)。.quick-node-cards[hidden] { display:none !important; },避免被网格样式覆盖导致“看起来无法折叠”。admin/quick_manage.php):quick.runtime.* 与 layout.quick.show_*。lib/admin_sidebar_menu.php)新增“简洁页专属”一级菜单分组及子入口(总览/测速/评论/模块显隐)。admin/quick_manage.php。quick.php):quick-page.css 升级到 v29。quick-page.js 升级到 v33。README.md):lib/pagination.php)新增统一哨兵值与标签能力:pagination_page_size_all_value()pagination_is_show_all_page_size()pagination_append_show_all_option()pagination_page_size_label()pagination_resolve_public_page_size() 与 pagination_resolve_admin_page_size() 统一为所有分页模块自动追加“全部显示”选项。LIMIT/OFFSET 或按全量切片):lib/db.php(历史记录/最近日志/用户管理/审计日志)lib/comments.php(前台评论/后台评论/举报列表)lib/tickets.php(用户工单/后台工单)lib/announcement.php(公告管理)lib/proxy_service.php(缓存文件管理)lib/status_page.php(异常状态页日志)api/comments.phpapi/admin-comments.phpindex.php、quick.php、user/tickets.phpadmin/index.php、admin/users.php、admin/downloads.php、admin/cache.php、admin/audit.php、admin/comments.php、admin/tickets.php、admin/announcements.php、admin/site.php、admin/settings_search.php、admin/dynamic_island.php、admin/nodes.php、admin/node_selector.php、admin/upload_policy.phpadmin/backup_center.php、admin/status_pages.php、admin/pagination.php(导出历史)node --check assets/quick-page.js 通过。php -l quick.php 通过。php -l admin/quick_manage.php 通过。php -l lib/admin_sidebar_menu.php 通过。php -l(分页改造涉及页面)通过。README.md 下载,影响更新日志查看流程。quick.php):quick-page.css 升级到 v27。quick-page.js 升级到 v28。assets/quick-page.js):12000ms)与 AbortController 终止逻辑。评论加载超时,请稍后重试。评论接口响应异常,请稍后重试。评论加载失败,请稍后重试。node --check assets/quick-page.js 通过。php -l quick.php 通过。v1.0.193 摘要,便于与后续 v1.0.194 专项修复形成连续追踪链路。quick.php 调用了 announcement_fetch_front_payload()。lib/bootstrap.php 的公告模块按页面按需加载列表未包含 /quick.php,导致未定义函数触发 500 / uncaught-exception。lib/bootstrap.php 在公告模块加载条件中补充 /quick.php,确保简洁页可正常调用公告函数。php -l lib/bootstrap.php 通过。php -l quick.php 通过。README.md 推荐版本更新到 v1.0.192。CHANGELOG.md 索引与速查范围同步到 v1.0.192。quick.php):#announcementCenterBtn。site-signature-version),支持打开版本说明弹窗。versionInfoModal、changelogModal、announcementPortal、announcementCenterModal 相关 DOM。announcementBootstrap、changelogEntriesData 数据脚本,并加载 assets/announcement.js。assets/quick-page.js):ESC 关闭与焦点回退逻辑。quick.php):php -l quick.php 通过。node --check assets/quick-page.js 通过。README.md 推荐版本更新到 v1.0.191。CHANGELOG.md 索引与速查范围同步到 v1.0.191。admin/、lib/、api/ 全部 PHP 文件执行语法巡检(php -l),结果全部通过。lib/node_monitor.php):announcement_title_prefix 的空字符串,不再被 if ($raw === '') continue 跳过并回填默认。alert_email_to、alert_webhook_url 空字符串同样保留,避免后续读取与提交表现不一致。announcement_title_prefix 改为可显式清空;仍保留 40 字符长度约束。README.md 推荐版本更新到 v1.0.190。CHANGELOG.md 索引与速查范围同步到 v1.0.190。seo、status_page、datetime_format、dynamic_island、node_monitor。lib/seo.php:global.title_template、global.default_description、global.default_keywords 改为支持“显式清空后保持为空”。lib/status_page.php:array_key_exists 判定缺失键,不再把空字符串当作缺失键回填默认文案。php -l lib/seo.php 通过。php -l lib/status_page.php 通过。README.md 推荐版本更新到 v1.0.189,补充本次“保存一致性排查与修复”说明。CHANGELOG.md 顶部索引与速查范围同步到 v1.0.189。lib/seo.php):seo_normalize_optional_text(),用于可空文本字段的规范化(保留空值,不回填默认值)。i18n 区段改为“键存在时尊重提交值(含空字符串)”,仅在键缺失时回退到默认配置。中文/英文 Title 后缀、关键词、地域关键词、描述覆盖 在后台清空后保存仍被还原为默认值的问题。php -l lib/seo.php 通过。i18n.zh-CN.title_suffix 提交空字符串后可稳定保存为空;未提交该键时仍保持默认值回退逻辑。README.md 推荐版本更新到 v1.0.188,补充本次 SEO 可空字段修复说明。CHANGELOG.md 顶部索引与版本速查同步更新到 v1.0.188。sql/gh-proxy-app.sql):layout.*、site.*、about.*、mail.*、proxy.*、system_status.*、ticket.* 等模块默认键,首次部署即可获得与当前代码一致的配置基线。ON DUPLICATE KEY UPDATE,确保增量执行安全,不覆盖既有业务配置值。README.md:更新推荐版本并补充本次 SQL 初始化基线同步说明。CHANGELOG.md:更新顶部“最后整理时间”、阶段范围、速查计数与索引范围到 v1.0.187。README.md):admin/status_pages.php、admin/user_groups.php。status-pages/ 独立状态页目录说明。status_page.direct_entry_base 与环境变量 STATUS_PAGE_DIRECT_ENTRY_BASE 文档。error.php?code=xxx 与 status-pages/*.php 示例入口。CHANGELOG.md):v1.0.186。v1.0.186 摘要,确保 README 与 CHANGELOG 的版本指向一致。status-pages/):403.php、404.php、408.php、429.php、500.php、502.php、503.php 统一迁移到 status-pages/ 目录。require dirname(__DIR__) . '/lib/bootstrap.php';,确保目录层级变化后仍可正常引导运行时。config.php + lib/status_page.php):status_page.direct_entry_base 配置项,支持环境变量 STATUS_PAGE_DIRECT_ENTRY_BASE,默认值 /status-pages。status_page_entry_base_path() 与 status_page_entry_url(),统一生成状态码独立入口地址,避免页面路径硬编码分散在各处。admin/status_pages.php):error.php?code=xxx 统一并行,便于前台直链验证与部署排查。v1.0.140 中独立页面路径描述,由项目根目录路径统一改为 status-pages/*.php。index.php):x/yindex.php + assets/announcement.js + 内联脚本):x/y 徽标,避免与关闭按钮/筛选区争抢空间。x/y 改为渲染在每个列表卡片右上角(示例 22/184),公告中心与更新日志统一样式。assets/main.css):x/y 重叠。main.css 升级到 20260228-site-polish-v82。announcement.js 升级到 20260228-announcement-v15。x/y 徽标index.php + assets/main.css):changelog-center-meta-row 与 changelog-center-entry-time 专用结构依赖。index.php + assets/announcement.js + 内联脚本):当前/总数 徽标(示例:11/123),统一放在右上角关闭按钮左侧。x/y。x/y。main.css 升级到 20260228-site-polish-v81。announcement.js 升级到 20260228-announcement-v14。assets/admin-dashboard.css):assets/admin-dashboard.css):site / about / sponsor 页面前缀覆盖,修复站点标识页、关于页、赞助页等内联浅色残留。assets/admin-page-polish.css):admin-page-polish.css 后加载导致公共暗色规则被覆盖、局部回退为浅色的问题。admin-polish-v35。admin-page-polish-v2。<style> 写死浅色背景(如 #fff/#f8fafc),由于加载顺序晚于公共样式,导致公共暗色规则被覆盖。!important”暗色兜底层,直接覆盖页面内联浅色规则,确保所有后台页面一致进入暗色视觉。assets/admin-dashboard.css):seo / ug / ann / dl / nodes / audit / cache / mail / account / dtf / sp / di / upload / comments / pager / bc / ss / selector / changelog / users。admin-polish-v34(CSS + JS 引用),确保所有后台页面立即生效。assets/admin-dashboard.css):topbar-user-toggle 与 topbar-popover 的暗色文字与背景。topbar-status-pill、topbar-status-quota)。admin/global_manage.php):gm-group、gm-card、gm-table、gm-* 输入控件新增暗色覆盖,修复截图中浅灰统计卡与表格在暗色模式下不协调的问题。sql/gh-proxy-app.sql):app_settings 默认种子,覆盖当前代码已使用的功能键:下载队列、灵动岛、用户组、节点选择器、上传管理、分页监控、后台布局与侧栏菜单、备份中心、系统状态阈值等。comments_review_bypass_user_ids 默认值,避免新库初始化后出现配置缺项。admin-dashboard.css/js 资源版本为 admin-polish-v33,确保修复可立即生效。assets/admin-dashboard.js):=== true”改为兼容布尔/字符串/数字(true/1/"1"/"true"/"on"/"yes"),避免数据类型差异导致开关被误判为关闭。window 扩展为监听 window + .main-content + .dashboard-body,兼容后台不同页面滚动容器,实现 PC/移动端一致生效。api/admin-toolbar.php):fetch_dashboard_stats / sidebar_quota_summary 改为独立容错,统计异常时仍返回 preferences,确保顶栏开关不被统计报错连带失效。admin-dashboard.js?v=20260227-admin-polish-v31 升级到 v32,确保浏览器立即加载修复脚本。admin/users.php):username,email,password,role,is_active,group_id,avatar_url,并兼容首行表头自动识别、空行自动忽略。role 支持 user/admin;is_active 支持 1/0/启用/禁用 等常见表达。admin/users.php):admin/users.php):admin/users.php):admin/users.php):enqueue_email),结果反馈包含入队数量、邮箱无效数量、失败数量。admin/users.php):target_user_id 过滤参数。admin/users.php):admin/users.php):admin/user_groups.php。admin/users.php):admin/users.php):admin/users.php):count、ids 与目标动作参数。lib/user_groups.php):user_groups_config() 新增可选强制刷新参数,用户管理页写入分组绑定后可立即读取新配置,避免同请求内展示旧分组。admin/users.php 内联样式):admin/comments.php):body.sidebar-collapsed),与顶栏菜单按钮保持统一行为。admin_sidebar_collapsed。aria-expanded,避免多入口切换时状态错乱。lib/comments.php + admin/comments.php):section_title(前台评论区标题)allow_report(举报开关)report_requires_login(举报是否要求登录)report_reasons(举报原因列表,支持后台维护)lib/comments.php):comment_report() 增加举报策略校验:report-disabledlogin-requiredsection_title、allow_report、report_requires_login、report_reasons,前台可直接读取生效。index.php + quick.php + assets/quick-page.js):sql/gh-proxy-app.sql):comments_section_titlecomments_allow_reportcomments_report_requires_logincomments_report_reasonsquick-page.js:20260227-quick-page-v25 -> v26lib/comments.php + admin/comments.php):daily_limit_vip(VIP 用户组每日发言上限,0 表示不限制)reply_collapse_threshold(单条评论回复折叠阈值)load_mode(load_more 按钮加载 / scroll 滚动自动加载)lib/comments.php):vip 时走 daily_limit_vip)。reply_collapse_threshold 与 load_mode,前台可直接读取并生效。index.php + assets/quick-page.js):load_more:保持按钮手动加载scroll:滚动到加载按钮附近时自动请求下一页assets/main.css + assets/quick-page.css):sql/gh-proxy-app.sql):comments_daily_limit_vipcomments_reply_collapse_thresholdcomments_load_modemain.css:20260227-site-polish-v79 -> v80quick-page.css:20260227-quick-page-v25 -> v26quick-page.js:20260227-quick-page-v24 -> v25admin/comments.php + api/admin-comments.php + lib/comments.php):dashboard 返回 settings.controls,并新增 set_controls 写入动作。lib/comments.php):oldest(最早)排序支持。index.php + quick.php + assets/quick-page.js + api/comments.php):settings.controls,前台根据策略动态调整:sql/gh-proxy-app.sql):app_settings 键值,首次部署即具备可控策略基线。quick-page.js:20260221-quick-page-v23 -> 20260227-quick-page-v24assets/main.css)assets/admin-dashboard.css)assets/auth-pages.css)assets/user-center.css)assets/tickets.css)assets/quick-page.css)assets/status-pages.css)accent-color 与交互指针反馈。main.css:20260227-site-polish-v78 -> v79admin-dashboard.css:20260227-admin-polish-v30 -> v31auth-pages.css:20260227-auth-ui-v5 -> v6user-center.css:20260227-user-center-ui6 -> ui7tickets.css:20260227-ticket-v7 -> v8quick-page.css:20260227-quick-page-v24 -> v25status-pages.css:20260227-status-v4 -> v5assets/main.css):history-check-all 升级为稳定胶囊样式(圆角、边框、背景、阴影、hover 反馈),并强制 white-space: nowrap 避免“全选”被挤成换行。comment-anonymous 升级为一致化开关胶囊(圆角、边框、背景、字重、hover 反馈),与评论编辑区按钮视觉统一。align-self/min-height/font-size,避免错位与拥挤。main.css:20260227-site-polish-v77 -> v78index.php、about.php、quick.phpassets/main.css):.comment-editor-top input[type="text"] 从 flex: 1 1 240px 改为固定单行输入流(flex: 0 0 auto + height/min-height: 46px),避免列布局下 flex-basis 把输入框拉高。取消回复/上传图片/发布评论)统一移动端样式:圆角、阴影、字号、最小点击高度与换行布局。main.css:20260227-site-polish-v76 -> v77index.php、about.php、quick.phpassets/main.css):grid 改为稳定 flex-column,避免网格行高计算导致的长文案外溢。flex: 0 0 auto + height:auto + max-height:none,长内容按实际行数自动拉长卡片。main.css:20260227-site-polish-v75 -> v76index.php、about.php、quick.phpassets/main.css + index.php):changelog-center-entry-time,并强制时间始终可见(固定 display/opacity/visibility/position)。overflow-wrap:anywhere + word-break:break-word),长文本不再被截断。height:auto + 自适应宽度规则,移动端卡片宽度改为可自适应容器。main.css:20260227-site-polish-v74 -> v75index.php、about.php、quick.phpassets/main.css):main.css:20260227-site-polish-v73 -> v74index.php、about.php、quick.phpindex.php):button 内嵌 div 的无效结构,浏览器会自动重排 DOM。index.php):title-row 与 meta-row 由 div 全部改为 span(与公告中心一致的合法嵌套)。--,避免空白条目。php -l index.php,语法通过。button > div 的无效嵌套。assets/main.css + index.php):changelog-center-meta-row 专用纵向结构,时间固定独立一行展示。display/opacity/visibility/position,不再受任何悬停态影响。--,避免条目出现“空白时间行”。main.css:20260227-site-polish-v71 -> v72index.php、about.php、quick.phpassets/announcement.js + assets/main.css):已读(或红点) + 状态,第二行单独显示时间。announcement-center-meta-top/meta-bottom 结构,避免元信息挤压与错位。assets/main.css):display/opacity/visibility,移除对悬停态的显示依赖。position: static 与 float: none,避免旧规则残留导致的悬浮显示。--),避免出现“未显示被误判为悬停显示”的情况。main.css:20260227-site-polish-v70 -> v71announcement.js:20260227-announcement-v12 -> v13index.php、about.php、quick.phpassets/announcement.js + assets/main.css):已读/红点 从标题行移动到元信息行。已读(或红点) + 状态 + 时间,并加强单行防裁切策略。assets/main.css):display/opacity/visibility 固定可见),取消任何悬停态依赖。main.css:20260227-site-polish-v69 -> v70announcement.js:20260227-announcement-v11 -> v12index.php、about.php、quick.phpassets/main.css):height: auto、overflow: visible,并提升最小高度与间距,保证元信息行完整可见。margin-top/gap),避免底部标签挤压。index.php、about.php、quick.php):main.css:20260227-site-polish-v68 -> v69assets/main.css):@media (min-width: 769px)),统一两类弹窗左栏条目规则。display:flex + flex-direction:column,并统一最小高度、内边距与间距。min-width: 0 兜底,避免内容被挤压或越界。overflow: hidden,消除跨条目视觉串行。index.php、about.php、quick.php):main.css:20260227-site-polish-v67 -> v68assets/main.css):12px,阴影统一 0 4px 16px rgba(0,0,0,0.08)。20px 深灰、统计文案 12px 浅灰、底部分隔线统一。90deg。assets/main.css + index.php):8px 圆角,悬浮轻上浮。14px / 1.6。4px 小圆角,提升内容层次。assets/main.css):index.php + assets/announcement.js):main.css:20260227-site-polish-v65 -> v66announcement.js:20260227-announcement-v10 -> v11index.php、about.php、quick.phpphp -l index.php about.php quick.phpnode --check assets/announcement.jsapi/announcement.php 页面上下文,导致页面规则匹配偏差。lib/bootstrap.php、lib/announcement.php、api/announcement.php):lib/datetime_format.php 加载范围(首页、简洁页、关于页、公告接口)。display_time_text(后端按时间格式配置渲染,前端优先使用)。page/source_page 上下文参数,时间模板可按真实来源页面命中规则。announcement_fetch_front_payload() 新增运行时上下文参数,兼容旧调用不受影响。index.php、assets/announcement.js):updated_at_formatted 字段,并在前端展示逻辑中优先使用。display_time_text,仅在缺失时回退本地格式化。announcement.js:20260221-announcement-v9 -> 20260227-announcement-v10find . -name '*.php' -print0 | xargs -0 -n 1 php -lassets/main.css):appearance/font/line-height 归位),避免被全局按钮系统污染。320~400px),降低长标题截断概率。main.css:20260227-site-polish-v64 -> v65index.php、about.php、quick.phpindex.php):版本 · 标题 显示方式(有版本时自动拼接)。v1.0.155)2026-02-27 17:09:36)assets/main.css):main.css:20260227-site-polish-v63 -> v64index.php、about.php、quick.phpindex.php):标题行 + 元信息行(版本号、更新时间)。版本 --更新时间 --版本:... 与 更新时间:... 双信息,避免仅标题展示导致信息感知不足。assets/main.css):flex 双端布局(标题左、置顶标右),恢复视觉秩序。position: static,防止外部样式污染。padding: 14px 12px 15px),增强可读性并降低内容挤压。main.css:20260227-site-polish-v62 -> v63index.php、about.php、quick.phpassets/main.css):flex-column),不再依赖网格自动行推断,避免文本叠层。position: static !important 和浮动清理,消除外部样式干扰导致的错位。overflow: hidden 与更稳健的间距策略,确保小屏幕下内容不串行。assets/main.css):main.css:20260227-site-polish-v61 -> v62index.php(更新日志中心列表渲染模板):changelog-center-pin-row)。changelog-center-entry-meta)并置于标题下方。assets/main.css:main.css:20260227-site-polish-v60 -> v61assets/main.css,仅针对 .changelog-center-list):.changelog-center-list .announcement-center-item 统一加大为 padding: 14px 12px 15px。.changelog-center-list 的网格间距由 8px 进一步提升为 12px。.announcement-center-meta-row 增加上边距与行间距(margin-top: 8px; gap: 6px)。main.css:20260227-site-polish-v59 -> v60assets/main.css):.changelog-center-list:overflow-wrap:anywhere + word-break:break-word + white-space:normalmin-width:0; max-width:100%,避免 flex 默认最小宽度导致的撑出。main.css:20260227-site-polish-v58 -> v59assets/main.css:overflow-y:auto; overflow-x:hidden;,修复手机端横向撑出。pre/table 增加宽度与滚动兜底,避免详情区域被横向挤压。assets/admin-dashboard.css:min-width:0; max-width:100%。max-width:100%,收敛跨页面图像/图表溢出风险。assets/status-pages.css:max-width:100%。admin/status_pages.php:admin-dashboard.js 改为 defer,减少解析阻塞。admin/downloads.php:advanced-chart-kit.js 改为 defer。DOMContentLoaded 触发,保证图表库就绪且不阻塞主文档解析。lib/bootstrap.php:app_setting_prefetch(),降低配置密集页面的重复读取开销。lib/auth.php:180s,最小 15s),降低高频 DB 查询。assets/global-button-tip.js:sessionStorage 缓存(TTL 180s),网络失败可回退过期缓存。main.css:20260227-site-polish-v57 -> v58admin-dashboard.css:20260227-admin-polish-v29 -> v30admin-dashboard.js:20260223-admin-polish-v26 -> 20260227-admin-polish-v30status-pages.css:20260227-status-v3 -> v4find . -name '*.php' -print0 | xargs -0 -n 1 php -lnode --check assets/global-button-tip.jsnode --check assets/admin-dashboard.jsadmin/user_groups.php):全部全选、全部清空、全部反选。本组全选、本组清空、本组反选。php -l admin/user_groups.php。assets/auth-pages.css 在 @media (max-width: 900px) 下将 .auth-wrap 设置为 align-items: flex-start,导致手机端登录/注册等页面整体贴顶显示。.auth-wrap 在 max-width: 900px 下恢复 align-items: center; justify-content: center;。@media (max-width: 900px) and (max-height: 760px) 回退为贴顶,避免横屏或小高度设备内容被挤压不可见。setup/index.php(统一升级认证样式版本,保持行为一致)。auth-pages.css 引用统一升级:20260227-auth-ui-v4 -> 20260227-auth-ui-v5。find . -name '*.php' -print0 | xargs -0 -n 1 php -l,无语法错误。about.php 顶栏登录态文案补齐用户组标识,和首页 index.php、简洁页 quick.php 统一为 用户名/用户组徽章。user/account.php、user/settings.php、user/tickets.php 顶栏与资料卡片用户组展示持续生效。api/build-link.php、api/history.php、api/comments.php、user/tickets.php 按组能力开关进行拦截与 UI 禁用。admin/users.php 继续展示用户组列与导出字段(group_id/group_name)。assets/admin-dashboard.css 追加 v29 按钮系统,统一 .topbar-btn、.topbar-mega-btn、.btn 在亮/暗主题下的渐变、边框、阴影、hover/active 反馈。assets/main.css 追加 v56 按钮系统,覆盖首页/关于/公告入口/通用按钮并适配 data-theme="dark"。assets/user-center.css(ui6)、assets/tickets.css(v7)统一主次按钮、顶栏按钮与暗色主题表现。assets/quick-page.css(v24)、assets/auth-pages.css(v4)、assets/status-pages.css(v3)统一按钮语言与触控尺寸。assets/global-button-tip.js(v8)统一浅色/深色视觉,修复后台深色主题下悬浮按钮“发灰/发硬”的观感问题。admin-dashboard.css:v28 -> v29main.css:v55 -> v56quick-page.css:v23 -> v24user-center.css:ui5 -> ui6tickets.css:v6 -> v7auth-pages.css:v3 -> v4status-pages.css:v2 -> v3global-button-tip.js:v7 -> v8find . -name '*.php' -print0 | xargs -0 -n 1 php -l(104 个 PHP 文件),结果无语法错误。assets/admin-dashboard.css):admin-dashboard.css 引用统一从 20260227-admin-polish-v27 升级到 20260227-admin-polish-v28。admin/user_groups.phplib/admin_sidebar_menu.php):user_groups用户组功能/admin/user_groups.php运营 / 用户与反馈lib/admin_sidebar_menu.php):user_groups 默认最小角色设为 admin,避免低权限账号看到该入口。user_groups 必保留列表,防止替换后入口丢失。php -l admin/user_groups.php。assets/admin-dashboard.css):assets/main.css):assets/quick-page.css):assets/user-center.css + assets/tickets.css):assets/status-pages.css):admin-dashboard.css:20260227-admin-polish-v27main.css:20260227-site-polish-v55quick-page.css:20260227-quick-page-v23user-center.css:20260227-user-center-ui5tickets.css:20260227-ticket-v6status-pages.css:20260227-status-v2find . -name '*.php' | xargs php -l,无语法错误。assets/admin-page-polish.css):prefers-reduced-motion 做兼容降级。admin/index.php):admin-page-polish.css,并设置页面作用域 body.admin-dashboard-page。admin/nodes.php):admin-page-polish.css(nodes-page 作用域),保留现有业务结构与权限逻辑不变。admin/datetime_format.php):admin-page-polish.css,设置页面作用域 body.admin-dtf-page。admin/status_pages.php):admin-page-polish.css,设置页面作用域 body.admin-status-page。/assets/admin-page-polish.css?v=20260227-admin-page-polish-v1。assets/auth-pages.css):prefers-reduced-motion 兼容,提升可读性与交互反馈。user/login.php、user/register.php、user/forgot-password.php、user/reset-password.php、user/verify.php 全量接入新样式与统一品牌头。admin/login.php 重构为统一认证布局;admin/forgot-password.php、admin/reset-password.php 与用户端保持一致交互结构。setup/index.php 同步接入新版认证/部署视觉体系,表单与按钮样式统一。auth-pages.css?v=20260227-auth-ui-v3,确保线上缓存环境即时拿到新 UI。admin-dashboard.css 的依赖,避免后台全局按钮样式影响认证页布局。user/* 认证页、admin/login.php、admin/forgot-password.php、admin/reset-password.php、setup/index.php(php -l)。lib/status_page.php + lib/templates/status_page.php + assets/status-pages.css + error.php):403/404/408/429/500/502/503 专属页面模板,支持中英双语、明暗主题、响应式布局、自动跳转、二维码、技术信息。error.php?code=xxx 与独立页面 status-pages/403.php、status-pages/404.php、status-pages/408.php、status-pages/429.php、status-pages/500.php、status-pages/502.php、status-pages/503.php,支持直接访问与系统内调用。admin/status_pages.php + 菜单接入):lib/bootstrap.php 接入维护模式拦截与异常处理器注册,运行时异常可落入 500 体系页面。lib/security.php、lib/auth.php 的 403 场景改为状态页渲染(API 请求保持 JSON 返回)。proxy.php 在浏览器场景支持渲染 502/503 及上游状态码专属页面,下载链路保持直通行为。lib/db.php 新增 status_page_event_logs、status_page_alerts、status_page_subscriptions 表与兼容迁移字段,形成日志/告警/订阅闭环。php -l)。lib/bootstrap.php):lib/tickets.php:仅 admin/user 工单页面加载。lib/backup_center.php:仅备份中心与系统状态页加载。lib/admin_sidebar_menu.php:仅菜单管理/检索与对应 API 加载。lib/datetime_format.php:仅时间格式管理页加载。proxy.php 请求跳过 SEO 运行时模块加载与头部计算,降低代理主链路初始化开销。SCRIPT_NAME / PHP_SELF / SCRIPT_FILENAME 差异。app_settings 跨请求缓存落地(lib/comments.php + config.php):app_setting_runtime_state)基础上新增文件缓存层:cache/app-settings-prefetch-cache.phpapp_setting_set)后自动失效文件缓存,并在已预取场景回写最新值,降低陈旧读风险。app_settings_file_cache_enabledapp_settings_file_cache_ttl_secondsAPP_SETTINGS_FILE_CACHE_ENABLED、APP_SETTINGS_FILE_CACHE_TTL_SECONDSlib/db.php + lib/tickets.php):SQL_CALC_FOUND_ROWS + SELECT FOUND_ROWS()。COUNT(*) + LIMIT 双查询模式,减少优化器负担并提升 MySQL 8 场景稳定性。fetch_users()ticket_fetch_user_list()ticket_fetch_admin_list()lib/node_selector.php):node_selector_build_front_payload() 复用同一份已解析 settings,避免单请求内重复 node_selector_load_settings()。find . -name '*.php' | xargs php -l。admin/global_manage.php):layout.admin.fab_theme_mode_defaultlayout.admin.fab_back_to_top_mode_defaultlayout.admin.fab_theme_mode_overrideslayout.admin.fab_back_to_top_mode_overridesauto / always / scrolling / idle / hidden/admin/system_status.php=scrolling),保存时自动归一化并去重。api/layout-enhancement-config.php):show_theme_toggleshow_back_to_toptheme_button_modeback_to_top_button_modehidden。assets/global-button-tip.js):auto:兼容旧行为(主题常显,返回顶部按滚动深度显示)scrolling:仅滚动中显示idle:仅停止滚动显示always / hidden:固定显隐assets/admin-dashboard.js + assets/admin-dashboard.css):data-force-visible 样式兜底,规避隐藏类残留导致的顶栏误消失。sticky 固定显示策略。20260223-admin-polish-v25 -> 20260223-admin-polish-v2620260221-global-tip-v6 -> 20260223-global-tip-v7/admin/global_manage.php):layout.admin.topbar_hide_on_scrolllayout.admin.mobile_toolbar_show_textM/R/B/N...)搜索/设置/说明/账号)api/admin-toolbar.php + assets/admin-dashboard.js):admin-toolbar API 新增 preferences 返回:topbar_hide_on_scrollmobile_toolbar_show_textadmin/nodes.php):<?xml 字面量在 short_open_tag=On 服务器被误解析为 PHP 短标签的问题。\u003C?xml ... 输出,保持导出结果一致并兼容不同 PHP 环境。20260223-admin-polish-v24 -> 20260223-admin-polish-v25admin/*.php 全部引用,确保线上立刻命中新版本 JS/CSS。assets/admin-dashboard.jssetOverlayVisible(),显式同步:hidden 属性aria-hidden 状态display(none/flex)closeAllOverlays(),强制收口所有弹层初始状态,避免旧样式缓存干扰。openOverlay() 增加可信事件保护:仅允许 isTrusted=true 的真实用户事件触发打开,规避脚本/插件误触发。Esc 一次性收口全部弹层。assets/admin-dashboard.jsmegaHelpBtn(?)megaDockHelpmegaHelpModal,内置 M/R/B/N/D/S/G/U 全部按钮含义说明,支持关闭按钮/遮罩/“我知道了”一键关闭。assets/admin-dashboard.csstopbar-help-list 样式,保证移动端与桌面端均可读。admin-dashboard.css/js 资源版本统一升级:20260223-admin-polish-v23 -> 20260223-admin-polish-v24admin/*.php 全部引用,降低桌面端旧缓存命中概率。#admin-overlay-hidden-fallback,即使旧版 CSS 缓存命中也能保证 [hidden] 弹层默认隐藏。assets/admin-dashboard.csstopbar 弹层类 .topbar-overlay-modal 使用了 display:flex,覆盖浏览器 hidden 默认隐藏行为,导致弹层初始可见。.topbar-overlay-modal[hidden] { display: none !important; },恢复 hidden 语义,页面初始不再自动显示弹层。assets/admin-dashboard.jsopenOverlay 改为“互斥打开”:打开当前弹层前会隐藏其它弹层,避免出现“全部设置 + 节点选择器”叠层。closeOverlay 改为按“是否仍有打开弹层”决定是否移除 body.topbar-overlay-open,避免遮罩状态残留。admin-dashboard.css/js 资源版本统一升级:20260223-admin-polish-v22 -> 20260223-admin-polish-v23admin/*.php 引用,确保线上浏览器立即加载修复版本。scripts/admin_dynamic_smoke.shadmin-dashboard.js 的 defer 性能约束GET /api/admin-toolbar.php(ok=true)GET /api/seo-status.php(ok=true 且 phase2 完整)scripts/dom_assert.php--xpath 与 --contains 两类检查。ADMIN_SMOKE_* 环境变量覆盖(端口、账号、启动模式、超时等)。README.mdbash -n scripts/admin_dynamic_smoke.sh 通过php -l scripts/dom_assert.php 通过scripts/admin_smoke_check.sh:admin/*.php 页面结构与关键加载项。viewport、后台壳层资源、顶栏、侧栏遮罩、脚本加载模式。docs/admin-smoke-checklist.md:FAIL=0,导出与登出类页面按 SKIP 标注。docs/admin-smoke-round-20260223.md:assets/admin-dashboard.csstopbar-mobile-dock 新增 safe-area 右下偏移,避免刘海/手势区遮挡。dashboard-body 增加底部预留,规避浮动工具条遮挡底部操作区/分页区。overscroll-behavior 与触控滚动优化,减少移动端滚动穿透和抖动。admin/audit.phpadmin/nodes.phpadmin/dynamic_island.phpadmin/downloads.phpadmin/site.phpadmin-dashboard.js 全部改为 defer。index.php 的 announcement.js、dynamic-island.js 改为 defer,降低 HTML 解析阻断。assets/admin-dashboard.jslib/proxy_service.phpsidebar_quota_summary 新增内存 + 文件双层短 TTL 缓存(默认 15 秒)。cache/sidebar-quota-summary.json。admin/*.php 中 admin-dashboard.css/js 查询参数统一升级为 20260223-admin-polish-v22。php -l 通过:lib/proxy_service.phpadmin/audit.phpadmin/nodes.phpadmin/dynamic_island.phpadmin/downloads.phpadmin/site.phpindex.phpnode --check 通过:assets/admin-dashboard.jslib/db.phpseo_redirect_rules:重定向规则、状态码、启用开关、命中次数、最后命中时间。seo_404_logs:404 聚合日志(路径+方法维度)、命中累计、首末时间、处理状态。seo_crawl_anomalies:爬虫异常聚合(爬虫、路径、状态码、异常原因)与处理状态。seo_keyword_rankings:关键词排名快照(引擎、关键词、排名、日期、结果链接、备注)。lib/seo.phpredirects 与 monitoring 两组配置,并接入保存/归一化链路:redirects.enabled / redirects.strict_pathmonitoring.log_404_enabled / monitoring.crawl_anomaly_enabled / monitoring.keyword_tracking_enabledmonitoring.keyword_targets / monitoring.max_dashboard_rows/from => /to、/legacy/* => /docs/{tail}、/a => /b |302seo_apply_runtime_redirects(...):请求进入时按规则即时跳转。seo_register_runtime_monitoring(...):请求结束时自动聚合 404 与爬虫异常。seo_apply_runtime_headers(...) 统一接入重定向 + 监控注册,确保“保存 SEO 配置后即时生效”。admin/seo.phpsave_seo 动作接入第二阶段配置保存与 301 规则同步,并记录审计。api/seo-status.phpphase2:redirects、not_found、crawl_anomalies、keywords 四类汇总。admin/seo.phpphp -l lib/seo.php 通过php -l admin/seo.php 通过php -l api/seo-status.php 通过php -l lib/db.php 通过assets/admin-dashboard.jssetupMegaToolbar(...),基于现有 .topbar 动态注入四大分区:菜单、刷新数据、一键备份、节点选择、下载记录GET /api/admin-toolbar.php 实时状态,接入 POST /api/admin-switch-role.php 角色切换。api/admin-node-monitor.php)、全局设置弹窗、角色切换弹层。topbar-right 结构兜底,脚本异常时仍可操作。assets/admin-dashboard.cssadmin/*.phpadmin-dashboard.css/js 资源版本提升为 20260223-admin-polish-v21,确保浏览器缓存环境可立即加载新顶栏能力。admin/datetime_format.php(管理员页):YYYY/YY/MM/... 等 token)。lib/bootstrap.phprequire_once __DIR__ . '/datetime_format.php';,全系统可直接调用格式化库。lib/admin_sidebar_menu.phpdatetime_manage(/admin/datetime_format.php,标签“时间日期格式”)。datetime_manage。datetime_manage,避免重建布局后丢失。admin/global_manage.phpcoreMenuIds、隐藏扩展保留列表同步加入 datetime_manage。admin/*.php/admin/datetime_format.php 侧栏兜底入口,避免动态菜单接口异常时遗漏。assets/advanced-chart-kit.jsvisibleIdx.indexOf(idx) 的高频 O(n) 查询改为 Map 定位。visibleIdx.includes(...) 改为 Set 判定。api/admin-toolbar.phpapi/admin-switch-role.phpphp -l:lib/bootstrap.php、lib/admin_sidebar_menu.php、lib/datetime_format.php、admin/global_manage.php、admin/datetime_format.php、api/admin-toolbar.php、api/admin-switch-role.php 通过。node --check:assets/admin-dashboard.js、assets/advanced-chart-kit.js 通过。lib/bootstrap.phprequire_once __DIR__ . '/seo.php',并在运行时统一执行 seo_apply_runtime_headers($config)。X-Robots-Tag,避免误抓取敏感页面。admin/seo.php:index.php / quick.php / about.php)robots.txt / sitemap.xml 预览 + 一键重建robots.txt / sitemap.xml,并记录审计日志。api/seo-status.php:index.php / quick.php / about.phpseo_render_head_tags(...):title/description/keywordslib/seo.phpseo_sitemap_entries() 改为“存在性过滤”:仅将实际存在的页面写入 sitemap,避免提交不存在路由。lib/admin_sidebar_menu.phpseo_manage(/admin/seo.php,标签“SEO 设置”)。seo_manage 设为管理员可见。admin/global_manage.phpseo_manage,确保批量整理/隐藏时不遗漏。admin/*.php)统一补上 /admin/seo.php:assets/advanced-chart-kit.js(通用高级趋势图引擎):localStorage)admin/index.php + assets/admin-dashboard.jsadmin/downloads.phploss_rates、节点快照与 granularity 透传,支持高级图表完整功能。assets/admin-dashboard.cssREADME.mdCHANGELOG.mdv1.0.130 完整变更说明与全版本索引更新。php -l:admin/*.php 全量通过。php -l:lib/bootstrap.php、lib/seo.php、index.php、quick.php、about.php 通过。node --check:assets/advanced-chart-kit.js、assets/admin-dashboard.js 通过。assets/admin-dashboard.cssadmin-dashboard.css 资源版本为 20260223-admin-polish-v19,避免浏览器缓存导致修复不生效。admin/nodes.php1h/6h/24h/7d/30ddatetime-local 起止)10s/30s/60s/关闭localStorage)admin/nodes.php 前端脚本内完成,后端仅继续提供基础时序数据接口(/api/admin-node-monitor.php)。php -l admin/nodes.php 通过。node --check(提取 admin/nodes.php 内嵌脚本)通过。lib/comments.phpapp_setting_get():新增请求内运行时缓存(app_setting_runtime_state),优先内存命中,避免同一请求内重复查询 app_settings。app_setting_prefetch():首次读取时批量加载全部配置键值,首页/简洁页/关于页与后台配置密集页面显著减少 SQL 次数。app_setting_set() 写入后同步更新运行时缓存,保证“读写同请求一致性”,并避免写后重复回库读取。lib/db.phpdb_init_should_run() + db_init_mark_done() + init_database_cached()。lib/bootstrap.php 从每请求 init_database() 改为 init_database_cached(),把高成本建表/补列/索引校验从“每次请求”降为“按 DB 指纹 + 文件指纹 + TTL(6 小时)”触发。enrich_history_rows_with_metrics():由 target_url IN (...) 改为 url_hash IN (...) 聚合,优先命中 idx_access_logs_hash,降低历史记录加载时的大表扫描风险;保留旧库兼容回退逻辑。lib/proxy_service.phpproxy_runtime_cache(),减少同请求内重复解析/重复查库。load_accel_nodes_from_settings()、load_node_templates_from_settings() 优先复用 app_setting_get 缓存通道。save_accel_nodes()、save_node_templates_to_settings() 写入后清理对应运行时缓存,避免脏读。index.php、quick.php、about.php 增加主样式 preload,加快首屏样式可用时间。about.php 增加 qnyoss.rjasj.com 的 preconnect + dns-prefetch,优化外链图片建连时间。global-button-tip.js 改为 defer 加载(覆盖前台/后台/用户中心/认证页)。admin-dashboard.js / user-center.js / tickets.js 改为 defer,降低 HTML 解析阻塞。quick.php 的 quick-page.js 改为 defer,确保页面结构先完成解析再执行交互脚本。assets/global-button-tip.js 首段提示条初始化改为 onReady + requestIdleCallback(含降级 setTimeout),降低首屏主线程争用。assets/quick-page.js 将评论模块初始化延后至空闲时段执行,优先保障节点列表与核心下载流程可交互。index.php 首屏初始化中,将 refreshHistory()、loadComments(true) 调整为空闲调度,减少首次渲染期任务拥挤。index.php、quick.php、about.php 顶部品牌 Logo 增加 decoding="async"(并设首屏优先级),降低图片解码阻塞。about.php 大图预览位增加 loading="lazy" 与 decoding="async"。db.php 文件指纹”双重校验;代码或连接配置变化后会自动触发重新校验,无需手工清理缓存文件。README.md 增加按目录校对的完整路由矩阵(admin/user/api)与完整脚本清单,修复“后台治理”条目不完整问题,减少后续维护遗漏。php -l lib/comments.php 通过。php -l lib/db.php 通过。php -l lib/proxy_service.php 通过。php -l lib/bootstrap.php 通过。php -l index.php 通过。php -l quick.php 通过。php -l about.php 通过。node --check assets/global-button-tip.js 通过。node --check assets/admin-dashboard.js 通过。node --check assets/quick-page.js 通过。admin/system_status.php 分页能力补齐:system_status_build_pager_meta() 与 system_status_paginate_rows(),统一生成页码、范围、跳转状态与分页 token。exception_page、keyops_page、alerts_page、offline_page,支持独立分页切换。COUNT + LIMIT/OFFSET),并保留异常级别/关键词筛选能力。unified-pagination,在系统运行状态页新增 ss-pager 容器,保持样式一致并兼容小屏布局。php -l admin/system_status.php 通过。admin/system_status.php 兼容性修复:system_status_path_allowed(),先按 open_basedir 白名单判断目标路径是否允许读取。/proc/cpuinfo 与 /proc/meminfo 前增加“路径允许 + 文件可读”双重守卫,避免在受限环境触发 is_readable() 警告。/proc 不可访问时自动回退到已有兜底逻辑(命令探测/运行时内存统计),页面保持可用。php -l admin/system_status.php 通过。admin/system_status.php 新增“备份功能自检”能力:run_backup_health_check,支持一键检查备份中心关键链路。system_status.backup_health_last_json,页面可展示最近执行时间、通过/失败统计与逐项明细。运行中 / 待检查 / 异常。admin/audit.php 的动作映射补齐系统运行状态相关动作(告警规则保存、重启、强制刷新、日志清理、资源释放、备份自检、失败记录)。php -l admin/system_status.php 通过。php -l admin/audit.php 通过。admin/system_status.php:lib/admin_sidebar_menu.php 新增 system_status 默认菜单项(/admin/system_status.php),并设置最小角色为 operator。lib/admin_sidebar_menu.php 导入替换核心项列表新增 system_status,避免菜单重置/导入时被误删。admin/global_manage.php 菜单核心项集合与“保留可见项”集合同步加入 system_status。assets/admin-dashboard.css 新增“系统备份与导入”二级分组强化样式(分组头/计数胶囊/子项 hover/active)。assets/admin-dashboard.css 新增 href*=\"/admin/backup_center.php\" 的统一入口样式,保证备份入口在其他后台页也保持一致视觉。php -l admin/system_status.php 通过。php -l lib/admin_sidebar_menu.php 通过。php -l admin/global_manage.php 通过。index.php):skipGroupedVisibleEnsureOnce:仅对用户主动收起动作跳过一次自动展开,避免视觉上“点了没收起”。php -l index.php 通过。node --check 通过。assets/main.css):top/right 负偏移),避免压住节点名称与下拉箭头。z-index 与 pointer-events: none,确保视觉层级稳定且不影响点击。assets/main.css 升级到 20260222-site-polish-v54,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l quick.php、php -l about.php 通过。index.php):分组展开全部、分组收起全部 两个按钮,交互不再依赖底部或分组头逐个点击。assets/main.css):admin/node_selector.php + lib/node_selector.php):show_group_toggle_actions(显示分组展开/收起顶部按钮),默认开启。assets/main.css 升级到 20260222-site-polish-v53,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l quick.php、php -l about.php、php -l lib/node_selector.php、php -l admin/node_selector.php 通过。node --check 通过。index.php):index.php + assets/main.css):assets/main.css):list + action panel 双区布局,列表区最小高度兜底,避免展开后被底部操作区挤没。一键测速 / 刷新状态 / 收藏当前列表 / 取消收藏)改为粘性显示,长列表滚动时仍可操作。assets/main.css):assets/main.css 升级到 20260222-site-polish-v52,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l quick.php、php -l about.php、php -l lib/node_selector.php、php -l admin/node_selector.php 通过。node --check 通过。index.php):latency/status,并按进度触发列表重绘。更新于 ...),测速后摘要时间戳同步刷新。assets/main.css):auto/auto/1fr 三段式布局,测速报告区独立滚动,解决“报告显示不完整”。min-height: 0,避免 grid 子项高度挤压造成裁切。assets/main.css 升级到 20260222-site-polish-v51,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l quick.php、php -l about.php 通过。node --check 通过。index.php):680px 再下调至 641px。20260222-site-polish-v50(index.php、quick.php、about.php 同步),强制刷新 main.css,避免旧样式缓存导致布局规则未生效。php -l index.php 通过。node --check 通过。index.php):1180px 下调为 980px,兼容浏览器缩放场景,PC 端更容易进入左右分栏布局。php -l index.php 通过。node --check 通过。index.php):title 同步显示状态与延迟。admin/node_selector.php + lib/node_selector.php):红点绿档阈值、红点黄档阈值、红点橙档阈值。红点颜色(优/中/高/异常)。php -l lib/node_selector.php、php -l admin/node_selector.php、php -l index.php 均通过。node --check 通过。index.php):php -l index.php 通过。node --check 通过。index.php + assets/main.css):admin/node_selector.php + lib/node_selector.php):PC 端右侧信息栏布局(right_panel_on_desktop)。assets/main.css 升级到 20260222-site-polish-v49,index.php、quick.php、about.php 同步更新引用。php -l lib/node_selector.php、php -l admin/node_selector.php、php -l index.php、php -l quick.php、php -l about.php 均通过。node --check 通过。assets/main.css):node-list-wrap 改为可收缩(min-height: 0),避免底部区域被挤压导致滚动失效。node-speed-report 在内容过长时内部滚动,不再把弹窗底部顶出可视区。assets/main.css 升级到 20260222-site-polish-v48,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l quick.php、php -l about.php 通过。node --check 通过。index.php):accel_node_selector_group_collapse_v1。version + groups 格式,兼容旧结构并为后续升级预留。php -l index.php 通过。node --check 通过。index.php + assets/main.css):admin/node_selector.php + lib/node_selector.php):按状态分组显示节点 开关。离线分组默认折叠 开关。assets/main.css 升级到 20260222-site-polish-v47,index.php、quick.php、about.php 同步更新引用。php -l lib/node_selector.php、php -l admin/node_selector.php、php -l index.php 均通过。node --check 通过。admin/node_selector.php + lib/node_selector.php):快捷筛选按钮、状态统计条、在线优先排序(离线置底)。一键测速、单节点测速按钮、测速报告面板、测速报告导出。index.php):php -l lib/node_selector.php、php -l admin/node_selector.php、php -l index.php 均通过。node --check 通过。index.php + assets/main.css):node-speed-report-*.json 文件用于运维留档。admin/node_selector.php + lib/pagination.php):在线/高可用/离线/维护中/全部,其中“在线”自动覆盖“高可用”。meta_q + meta_status),减少反复定位成本。admin.node_selector_meta 继续纳入统一分页治理体系。assets/main.css 升级到 20260222-site-polish-v46,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l admin/node_selector.php、php -l lib/pagination.php、php -l quick.php、php -l about.php 均通过。node --check 通过。index.php + assets/main.css):全部节点 / 仅在线 / 仅离线,并与原状态下拉联动。admin/node_selector.php):assets/main.css 升级到 20260222-site-polish-v45,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l admin/node_selector.php、php -l lib/pagination.php、php -l quick.php、php -l about.php 均通过。node --check 通过。index.php + assets/main.css):high/online 优先,maintenance 次之,offline 永远靠后,修复“离线节点排到前面”问题。batch_probe_concurrency)。admin/node_selector.php + lib/pagination.php):admin.node_selector_meta,支持统一后台分页配置治理。assets/main.css 升级到 20260222-site-polish-v44,index.php、quick.php、about.php 同步更新引用。php -l index.php、php -l admin/node_selector.php、php -l lib/pagination.php、php -l quick.php、php -l about.php 均通过。node --check 通过。lib/node_selector.php):visibility_scope(公开/登录/VIP)、sensitive(敏感节点)、access_note(访问说明)。admin/node_selector.php):index.php + assets/main.css):assets/main.css 升级到 20260222-site-polish-v43,index.php、quick.php、about.php 同步更新引用。php -l index.php 通过。php -l admin/node_selector.php 通过。php -l lib/node_selector.php 通过。php -l api/node-selector-status.php 通过。php -l quick.php 与 php -l about.php 通过。node --check 通过(提取后校验)。index.php:#nodeModal 从当前容器移动到 document.body。panel 的 overflow/backdrop-filter)裁切。php -l index.php 通过。node --check 通过。admin/node_selector.php:admin-shell + main-content + dashboard-body,修复主内容未跟随侧栏宽度偏移导致的覆盖错位。sidebar-brand / sidebar-brand-logo / sidebar-brand-text),修复 logo 按原始尺寸渲染导致的左侧异常放大。topbar-btn 结构并保留侧栏切换按钮,兼容现有后台脚本交互。msg show ok/err,避免局部样式不一致。php -l admin/node_selector.php 通过。index.php:admin/node_selector.php:enable_drag=1 隐藏字段,确保历史配置不会把 PC 拖拽能力意外关闭。php -l index.php 通过。php -l admin/node_selector.php 通过。node --check 通过。index.php:820px,最大高度收敛到 760px,默认居中显示。< 960px 自动禁用浮动拖拽/缩放布局,回退到响应式居中弹窗。layout version=2),自动忽略旧版缓存布局,避免历史缓存导致界面错位。php -l index.php 通过。node --check 通过。index.php + assets/main.css):触发按钮 -> 弹窗 -> 选中 -> 关闭 -> 同步隐藏 select 全链路。admin/node_selector.php):lib/node_selector.php + api/node-selector-status.php):frontend.node_selector.settings、frontend.node_selector.meta)。/api/node-selector-status.php,前端按缓存策略读取节点状态与设置。lib/bootstrap.php 接入节点选择器库,后台侧栏默认菜单接入 节点选择器(lib/admin_sidebar_menu.php、admin/nodes.php)。assets/main.css 版本号升级为 20260222-site-polish-v42(index.php、quick.php、about.php 同步更新引用)。php -l index.php 通过。php -l admin/node_selector.php 通过。php -l api/node-selector-status.php 通过。admin/backup_center.php:首页/上一页/数字页码/.../下一页/末页/页码跳转/统计摘要。admin/dynamic_island.php:index.php:historyPaginationPages 容器和前端 token 计算逻辑,支持点击数字页直接跳转。quick.php + assets/quick-page.js:admin/comments.php:php -l admin/backup_center.php 通过。php -l admin/dynamic_island.php 通过。php -l admin/comments.php 通过。php -l index.php 通过。php -l quick.php 通过。node --check assets/quick-page.js 通过。admin/backup_center.php:content-visibility、首屏渲染负担优化。500ms 防抖自动提交;关键必填字段新增实时校验提示。assets/admin-dashboard.css:📦 图标视觉标识。200ms linear,菜单展开/收起节奏更一致。admin/backup_center.php 中 admin-dashboard.css 引用升级为 20260222-admin-polish-v18。php -l admin/backup_center.php 通过。node --check assets/admin-dashboard.js 通过。admin/global_manage.php:overflow-x 裁剪兜底,避免容器外扩引发整页横向滚动。.gm-table 自动包裹 .gm-table-wrap 横向滚动容器,统一把宽表限制在局部滚动区域。.gm-table-wrap > .gm-table 重写显示策略,避免旧的表格块化规则在部分浏览器触发异常撑宽。JSON 编辑框与长文本提示补充断行规则,防止长串内容撑出右边界。admin/about.php:min-width:0/max-width:100% 约束。php -l admin/global_manage.php 通过。php -l admin/about.php 通过。assets/admin-dashboard.css):min-width: 0 / max-width: 100%,修复极端情况下文本挤压导致的横向溢出。overflow-x: hidden 与文本断行兜底,避免移动端右侧出现超出空白。max-width: calc(100vw - 6px) 保护,降低不同浏览器下的越界概率。admin/global_manage.php):max-width/min-width 约束与断行规则。word-break 兜底,避免长文本撑破容器。admin/dynamic_island.php:新增 <=680/<=560 响应式规则,内联工具条/操作条/模板工具栏统一改为单列全宽,覆盖内联 min-width 与固定宽输入导致的溢出。admin/users.php:用户头部与批量操作区改为可响应布局,小屏下自动分行,分页跳转输入支持自适应宽度。admin/site.php:更新日志管理区域补充窄屏规则(分页区、跳页区、条目头、导入行),避免右侧超出。admin-dashboard.css 版本升级为 20260222-admin-polish-v17,确保移动端立即加载新样式。php -l:admin/*.php 全量通过。node --check:assets/admin-dashboard.js 通过。admin/index.php、lib/db.php、lib/pagination.php):fetch_recent_logs_paginated(),支持按资源类型筛选 + 总量统计 + 页码与偏移计算。log_page / log_page_size,并保留现有筛选参数联动分页。admin.dashboard_logs,可在分页管理中心统一调整默认条数和角色上限。assets/admin-dashboard.js):admin-dashboard.js 版本到 20260222-admin-polish-v13,避免旧脚本缓存干扰。admin/global_manage.php:工具栏/动作区/导入区在窄屏下改为单列,全宽输入,避免操作区挤压。admin/settings_search.php:搜索条、批量操作条、分页区移动端单列化,筛选 chip 横向滚动,提升可点按性。admin/pagination.php:多工具条与监控导出区域在小屏改为全宽堆叠,分组标签与窗口标签支持横向滚动。admin/about.php:赞助筛选、图片工具与动作按钮在手机端全宽展示,表格最小宽度下调并保留横向滚动。admin/backup_center.php:标签栏改为可横向滚动,工具栏/内联表单单列化,小屏下表格阅读更稳定。README.md 完整重写,补齐当前架构、全局治理能力、排障与运维说明。v1.0.95 时间从未来时间回调到当前时间之前。php -l:admin/index.php、admin/global_manage.php、admin/settings_search.php、admin/pagination.php、admin/about.php、admin/backup_center.php、lib/db.php、lib/pagination.php 通过。node --check:assets/admin-dashboard.js 通过。admin/global_manage.php):深色模式切换按钮 + 返回顶部按钮。api/layout-enhancement-config.php):show_back_to_top 与 show_theme_toggle 开关,前端按配置动态启用。assets/global-button-tip.js):admin-theme-dark),提升表格、侧栏、面板在暗色下可读性。index.php、quick.php、about.php):global-button-tip.js 引用版本统一升级为 global-tip-v6,避免浏览器缓存导致新能力不生效。php -l 语法检查通过(含新增 api/layout-enhancement-config.php)。assets/global-button-tip.js 执行 node --check 语法检查通过。lib/admin_sidebar_menu.php、admin/global_manage.php、assets/admin-dashboard.js):配置中心 -> 系统备份与导入,并兼容历史配置(旧 数据安全 分组与旧链接自动归一)。admin/backup_center.php):admin/settings_search.php):admin/*.php):admin-dashboard.js 版本到 20260222-admin-polish-v12,确保侧栏新激活/展开逻辑立即生效。lib/admin_sidebar_menu.php、admin/backup_center.php、admin/settings_search.php、admin/global_manage.php 已完成 PHP 语法校验。admin/*.php 全量语法校验通过。assets/admin-dashboard.js 已完成 node --check 校验。admin/backup_center.php):lib/backup_center.php 现有能力:策略保存、手动备份、上传备份、批量文件治理、导入/恢复任务、审计链路、回收站清理。admin/global_manage.php、lib/admin_sidebar_menu.php、api/admin-sidebar-menu.php、assets/admin-dashboard.js、assets/admin-dashboard.css):lib/admin_sidebar_menu.php、admin/settings_search.php):admin/*.php):admin-dashboard.css/js 版本号,确保侧栏新交互与样式可立即生效。lib/admin_sidebar_menu.php、api/admin-sidebar-menu.php、admin/global_manage.php、admin/settings_search.php、admin/backup_center.php 已完成 PHP 语法校验。assets/admin-dashboard.js 已完成脚本语法校验(node --check)。admin/pagination.php):lib/pagination.php):admin/pagination.php、lib/pagination.php 已完成 PHP 语法校验。admin/pagination.php 内联脚本已完成语法检查。admin/pagination.php):lib/pagination.php):admin/pagination.php 与 lib/pagination.php 已完成 PHP 语法校验。admin/pagination.php 内联脚本已完成语法检查。admin/pagination.php):overall / module / actor,便于运营与运维做定向排查。admin/pagination.php):admin/pagination.php、lib/pagination.php、admin/settings_search.php 已完成 PHP 语法校验。admin/pagination.php 内联脚本已完成语法检查。admin/settings_search.php):sync_selected_keys,将当前勾选集写入服务端存储,支持跨页/跨端保持一致。fetch + sendBeacon 双通道,降低跳页时勾选丢失概率。admin.settings_search.selection.admin_*),避免批量删除误清空勾选状态。lib/pagination.php、admin/pagination.php):admin/settings_search.php、admin/pagination.php、lib/pagination.php 已完成 PHP 语法校验。admin/settings_search.php 与 admin/pagination.php 内联脚本已完成语法检查。admin/settings_search.php):prefix*),并内置关键系统配置保护。admin/pagination.php、lib/pagination.php、admin/*、user/tickets.php):lib/pagination.php):app_settings 中扫描 pagination.* 配置并自动纳入分页管理。group / label / description,用于大规模模块管理时保持可读性。admin/pagination.php):group / label / description,避免跨环境迁移后语义丢失。admin/global_manage.php、lib/admin_sidebar_menu.php、assets/admin-dashboard.js):menu_manage / settings_search / pagination,避免批量操作误隐藏关键治理入口。id 兜底)并与服务端排序一致。admin/settings_search.php):Ctrl+K、Alt+Home/End、左右键翻页、Ctrl+G)。lib/pagination.php、admin/pagination.php):admin.settings_search 与 admin.dynamic_versions 两个分页模块,纳入“分页管理”统一配置。admin/dynamic_island.php、lib/dynamic_island.php):lib/admin_sidebar_menu.php、assets/admin-dashboard.js、admin/global_manage.php、admin/pagination.php、admin/dynamic_island.php):id 兜底比较,进一步降低同序项前端渲染乱序概率。admin/global_manage.php):admin/global_manage.php、lib/admin_sidebar_menu.php):download_sidebar_snapshot 与 download_sidebar_snapshots 下载动作。admin/global_manage.php 内联脚本):lib/admin_sidebar_menu.php、admin/global_manage.php):user/tickets.php、assets/tickets.js、assets/tickets.css):page_size 时自动恢复上次设置)。←/→ 上下页、Alt+Home 首页、Alt+End 末页、Ctrl+G 聚焦跳页输入框。id 与状态容器,支持快捷键与无障碍状态同步。tickets.css?v=20260221-ticket-v5。tickets.js?v=20260221-ticket-v5。admin/global_manage.php、lib/admin_sidebar_menu.php):lib/admin_sidebar_menu.php):id 兜底比较,避免同序同名项在不同请求中出现不稳定顺序。/admin/global_manage.php#globalManageSearchInput),便于快速进入后台设置搜索。lib/pagination.php、user/tickets.php、admin/pagination.php):user.tickets 分页模块,纳入后台“分页管理”统一治理。page_size,避免操作后分页上下文丢失。lib/admin_sidebar_menu.php、admin/global_manage.php、api/admin-sidebar-menu.php):admin/global_manage.php):assets/admin-dashboard.js、assets/admin-dashboard.css):hashchange 联动,菜单切换到锚点时高亮即时更新。admin-dashboard.css?v=20260221-admin-polish-v15。admin-dashboard.js?v=20260221-admin-polish-v10。admin/pagination.php):admin/global_manage.php + lib/admin_sidebar_menu.php):assets/admin-dashboard.js + api/admin-sidebar-menu.php + assets/admin-dashboard.css):admin-dashboard.css?v=20260221-admin-polish-v14。admin-dashboard.js?v=20260221-admin-polish-v9。quick.php、assets/quick-page.js、assets/quick-page.css):frontend.quick_nodes),并新增本地分页记忆(页码/每页条数)。quick-page.css 升级为 v=20260221-quick-page-v22,quick-page.js 升级为 v=20260221-quick-page-v23。admin/pagination.php):index.php、api/history.php、lib/db.php、quick.php、assets/quick-page.js):/api/history.php 升级为分页接口,返回 page/page_size/total/pages/range_start/range_end/has_more。export_scope=all 导出全部筛选结果,不再受隐式分页上限限制。index.php):index.php):assets/main.css):main.css 资源版本升级为 v=20260221-site-polish-v40,前台页面同步更新引用以避免缓存影响显示。admin/global_manage.php):index.php + assets/announcement.js):#announcementPortal 新增一组布局数据属性,把后台子模块开关与顺序传入运行时脚本。announcement.js 在渲染公告弹窗时按配置动态控制头部/正文/底部和动作按钮显隐与顺序。v=20260221-announcement-v9,避免缓存导致旧逻辑未刷新。admin/global_manage.php):index.php):assets/main.css、index.php、quick.php、about.php):main.css 资源版本升级为 v=20260221-site-polish-v39,三大前台页面同步更新引用,避免缓存导致样式不生效。admin/global_manage.php):index.php):admin/global_manage.php):index.php):admin/global_manage.php):index.php):uiDialogModal 与 shareDialogModal 全部新增子项接入后台显隐与顺序配置。flex column),确保后台“位置排序”在前端真实生效。admin/global_manage.php):index.php):assets/main.css、index.php、quick.php、about.php):version-info-card 栈式布局,确保版本弹窗子模块“排序”在前端真实生效。main.css 资源版本升级为 v=20260221-site-polish-v38,三大前台页面同步更新引用,避免缓存导致样式不生效。admin/global_manage.php):quick.php):about.php):admin/global_manage.php):announcementPortal)开关。index.php):admin/global_manage.php):index.php):admin/global_manage.php):index.php:接入顶部栏全量控制、页面链接动态排序、设置面板排序、灵动岛后台强制隐藏、公告按钮显隐。quick.php:接入顶部栏全量控制、页面链接动态排序、设置面板显隐与排序。about.php:接入顶部栏全量控制、页面链接动态排序、设置面板显隐与排序、Hero/锚点显隐与排序。assets/quick-page.css 新增 quick-page-stack 结构,支持简洁页设置面板和主内容区顺序调节。assets/main.css 新增 about-module-stack,支持关于页设置面板、Hero、锚点顺序联动。assets/dynamic-island.js 增加 data-layout-visible 强制隐藏逻辑,后台关闭灵动岛后前端不会再次自动拉起。main.css 升级为 v=20260221-site-polish-v37(index.php、quick.php、about.php)。quick-page.css 升级为 v=20260221-quick-page-v21(quick.php)。dynamic-island.js 升级为 v=20260221-dynamic-island-v5(index.php)。admin/global_manage.php):/admin/global_manage.php,用于集中管理前台页面布局策略。global_layout_save)。index.php:接入导航显示控制与首页模块顺序控制,新增模块堆叠容器并支持样式级隐藏/排序。quick.php:接入导航与模块控制,评论区/声明区正式迁移到全局管理,同时兼容历史字段读取。about.php:接入导航与模块控制,锚点导航按可见模块自动显示,卡片支持统一排序与隐藏。admin/global_manage.php、quick.php、admin/site.php):quick.layout_show_comments 与 quick.layout_show_signature 与新字段双向同步,避免历史部署配置失效。admin/site.php 中“简洁页评论/声明开关”迁移为指引入口,避免旧页面覆盖新配置。admin/*.php):assets/main.css、admin/global_manage.php):.home-module-stack 支持主页面模块纵向排序。assets/quick-page.js、assets/quick-page.css):quick.php、assets/quick-page.js、assets/quick-page.css):/api/comments.php:支持最新/最热排序、发布评论、点赞、分页加载更多。admin/site.php):quick.layout_show_comments 与 quick.layout_show_signature 两个配置项,可独立控制 /quick.php 的评论区与声明区显示。quick.php):quick-page.css 升级为 v=20260221-quick-page-v20。quick-page.js 升级为 v=20260221-quick-page-v21。lib/upload_policy.php、admin/upload_policy.php):uploads 目录,自动识别评论、工单、赞助、灵动岛图标等来源,并支持“其他上传”兜底分类。app_settings):支持别名、来源覆盖、标签、备注、隐藏标记、软删除标记与更新时间。admin/upload_policy.php):admin/*.php):lib/dynamic_island.php、admin/dynamic_island.php、assets/global-button-tip.js):lib/dynamic_island.php、admin/dynamic_island.php):lib/dynamic_island.php、admin/dynamic_island.php、assets/global-button-tip.js):{label} 占位符)与模板图标类型。api/global-tip-config.php、lib/dynamic_island.php):global-button-tip.js 升级为 v=20260221-global-tip-v5,确保图标与模板能力立即生效。assets/global-button-tip.js):admin/dynamic_island.php、lib/dynamic_island.php、assets/global-button-tip.js):灵动岛玻璃 / 极简紧凑 / 描边高对比。admin/dynamic_island.php、lib/dynamic_island.php、api/global-tip-config.php、assets/global-button-tip.js):global-button-tip.js 升级为 v=20260221-global-tip-v4,确保新滚动与样式能力立即生效。assets/main.css):body[data-theme="dark"] 增加深色专用背景渐变,移除浅色顶部底色在暗色主题下造成的“发白/雾化”观感。background-attachment: fixed,避免滚动时出现明暗断层。assets/main.css):.panel::before 在深色主题下的白色高光强度,修复卡片顶部“白色横带”问题。index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v36,确保深色背景修复即时生效。assets/global-button-tip.js):lib/dynamic_island.php、admin/dynamic_island.php、api/global-tip-config.php):/api/global-tip-config.php,前台按后台参数实时生效,失败时自动回退默认值。index.php、assets/main.css):themeToggle 回归顶部导航,与语言/设置按钮同层级,减少设置面板拥挤。index.php、assets/main.css):index.php):main.css 升级为 v=20260221-site-polish-v35,确保布局与顶部按钮调整立即生效。assets/main.css):flex: 1 改为自适应宽度,按钮回归到品牌区旁侧,整体对齐更自然。topbar-links 增加 flex: 1),减少中间空洞。assets/main.css):assets/main.css):assets/main.css):index.php):main.css 升级为 v=20260221-site-polish-v33,确保新视觉样式即时生效。index.php):assets/main.css):ui-settings-grid、ui-settings-section、ui-settings-actions。index.php):main.css 升级为 v=20260221-site-polish-v32,确保设置面板新布局与移动端适配立即生效。lib/dynamic_island.php、assets/dynamic-island.js):can_toggle_proxy 仅按按钮配置返回导致未登录用户也显示按钮的问题,改为按“按钮配置 + 登录/管理员/免登录启停策略”综合判定真实可操作权限。lib/dynamic_island.php、admin/dynamic_island.php):quick_actions.show_topbar_proxy_toggle(默认开启)。显示首页顶部“灵动岛开关”按钮。quick_actions.show_topbar_proxy_toggle 实时控制按钮显示。assets/main.css、index.php、assets/dynamic-island.js):灵动岛 开/关,降低视觉噪音。aria-label,提升可访问性。assets/main.css):index.php):main.css 升级为 v=20260221-site-polish-v31。dynamic-island.js 升级为 v=20260221-dynamic-island-v4。index.php):topbar-settings 区域新增 #dynamicIslandProxyToggle,位置与“设置”按钮同排。assets/dynamic-island.js):runtime.proxy_enabled 自动展示“灵动岛:开/关”并同步 aria-pressed。toggle_proxy 动作(携带显式 enabled 值),成功后即时刷新快照并提示结果。assets/main.css):.dynamic-island-proxy-toggle 样式与开/关态颜色区分(开=绿色、关=红色)。index.php):main.css 升级为 v=20260221-site-polish-v30。dynamic-island.js 升级为 v=20260221-dynamic-island-v3,确保按钮逻辑与样式立即生效。assets/global-button-tip.js):prefers-reduced-motion 降级。assets/global-button-tip.js):click 捕获,移除 pointerdown + click 双触发导致的重复刷新。global-button-tip.js 统一升级为 v=20260221-global-tip-v2,强制浏览器刷新最新样式与动画。assets/global-button-tip.js):button / input[type=button|submit|reset] / [role=button] / a[href])。aria-label、按钮文本等自动提取提示文案,避免出现空提示。<script src="/assets/global-button-tip.js?v=20260221-global-tip-v1" defer></script>,确保所有界面按钮点击都能收到提示反馈。lib/dynamic_island.php、api/dynamic-island-action.php):toggle_proxy / switch_node / copy_template / speed_test / diagnose / clear_cache 会严格受后台“快捷按钮配置”约束。toggle-proxy-disabled 权限错误码,并在动作 API 中映射为 403,避免按钮关闭后仍可绕过调用。assets/dynamic-island.js、assets/main.css):show_queue_badge 配置,并优化文案为“还有 N 个任务等待”。index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v29。dynamic-island.js 升级为 v=20260221-dynamic-island-v2,确保权限修复与角标/LFS 显示变更即时生效。index.php、assets/dynamic-island.js、assets/main.css):api/dynamic-island.php 获取实时状态,通过 api/dynamic-island-action.php 执行快捷动作并同步快照。admin/dynamic_island.php、assets/admin-dashboard.js):lib/dynamic_island.php、lib/bootstrap.php、api/dynamic-island.php、api/dynamic-island-action.php):proxy.php、api/build-link.php、api/offline-prefetch.php):proxy-disabled/503。lib/announcement.php):mark_all_read 仅处理前 50 条公告导致“弹窗一键忽略全部”漏标记的问题。popup-ignore-all”时,改为按弹窗候选范围扩大处理(最多 240 条),并按用户/设备/区域/来源受众规则匹配后统一标记为已忽略。admin/site.php、lib/announcement.php、api/announcement.php、assets/announcement.js、assets/main.css):site.announcement_ignore_all_enabled,可控制前台是否展示“一键忽略全部”。global_show_ignore_all 字段;mark_all_read 接口新增 source 标记,便于区分“公告中心一键已读”与“弹窗一键忽略全部”事件来源。admin/site.php):open_basedir 允许路径检查,并对 realpath() 使用安全调用,避免限制目录触发 Warning 刷屏。open_basedir 限制会立即停止上探,不再继续探测 /www、/ 等受限目录。index.php):announcement.js 升级为 v=20260221-announcement-v8,确保新按钮与行为修复立即生效。admin/site.php):CHANGELOG.md/README.md 时会使用当前配置并写入审计。assets/main.css):color-mix 兼容不足时出现透明穿透。index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v27,确保前台弹窗显示修复即时生效。assets/announcement.js、lib/announcement.php):aria-label 同步本地化,避免混合语种体验。admin/site.php、lib/announcement.php):site.announcement_no_remind_enabled 配置项并下发到前台 bootstrap。admin/site.php):index.php):announcement.js 升级为 v=20260221-announcement-v7,确保弹窗汉化与开关逻辑立即生效。assets/main.css):88vh、移动端 90vh)并保持 overflow: hidden,避免整卡滚动导致头部区域滑出可视区。overflow: hidden,仅允许列表区/详情区内部滚动,交互与公告中心模板保持一致。index.php、assets/announcement.js):index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v26。announcement.js 升级为 v=20260221-announcement-v6,确保公告中心详情滚动修复及时生效。admin/site.php):index.php、assets/main.css):index.php、assets/main.css):lib/comments.php):app_setting_set() 新增 UTF-8 归一化处理。Incorrect string value 时自动检查并修复 app_settings 为 utf8mb4 后重试,避免中文内容写入触发致命错误。admin/site.php):CHANGELOG.md、README.md、或“两个文件联合识别(优先 CHANGELOG)”。.md/.markdown/.txt 后自动识别并导入更新日志条目。admin/site.php):site.changelog_entries、site.changelog_markdown、site.changelog_title 与 site.app_version。admin/site.php):site.changelog_entries)。site.app_version,减少手工维护版本号。admin/site.php):assets/main.css):#resultTable 固定列宽(第 1/2/4 列),避免详情行继承窄列宽导致布局塌陷。result-detail-cell 在移动端改为 width: 100%,元信息面板可完整占宽显示。assets/main.css):result-meta-row 在移动端改为“标签 + 值”同一行栅格(90px + 自适应),避免逐项纵向拉长造成空白过大。index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v22,确保移动端修复即时生效。assets/main.css、index.php):index.php):renderHistoryRows() 输出与首屏 PHP 渲染保持一致的卡片结构与字段标签,筛选/刷新后样式一致。index.php、about.php、quick.php):main.css 升级为 v=20260221-site-polish-v21。assets/admin-dashboard.css):fixed + 100dvh),避免右侧内容滚动到底时左侧菜单“上移”。assets/admin-dashboard.js):localStorage),桌面刷新后保持用户选择。aria-expanded/aria-label/title,交互语义更清晰。title,收缩态下可悬停查看名称。admin/account.php):admin/*.php):admin-dashboard.css 升级为 v=20260221-admin-polish-v13。admin-dashboard.js 升级为 v=20260221-admin-polish-v7,减少旧缓存导致的样式/行为不一致。index.php):download-progress + progressBar/progressText 容器)。admin/downloads.php):CSS.escape 的硬依赖,改为 form.elements.namedItem() 取字段。index.php):admin/downloads.php):CSV / JSON / Excel(.xls) / PDF(打印页)。lib/db.php):download_log_marks 表,用于下载记录处理标记(已处理/忽略)、备注、操作人、更新时间。index.php):metadataExpectedSize(),下载任务可优先使用元信息中的文件大小(如 1.71 GB)作为预估总大小。reset 后总大小被清空的问题,下载开始/重试后会重新注入元信息总大小,避免再次出现 ?。release/archive 或元信息 > 5MB)但响应类型为文本且体积很小,直接判定失败并提示链接异常,不再误显示“下载完成”。index.php):resolveDownloadUrl(),下载任务改为强制优先使用站内代理下载地址(proxy_url + download=1)。download_url 字段或回退场景误用节点直连 URL,降低“下载到页面文件/提示页”的概率。index.php):? 且 100% 的误导信息。text/html/text/plain/json 且体积很小,判定为无效下载并提示错误,不再标记为成功。index.php、assets/main.css):uiDialogModal),支持确认/输入/提示模式。confirm/prompt/alert 全部替换为站内弹层。shareDialogModal):展示分享链接、二维码、微博/X 快捷入口、一键复制。modal-open 滚动锁定逻辑。index.php):复制 按钮增加失败兜底:复制失败时自动打开分享弹层,不再静默失败。分享 按钮改为站内分享弹层,不再依赖浏览器原生弹出窗口。a 标签方式,替代 window.open 异步调用,减少移动端拦截导致的“无反应”。index.php、about.php、quick.php):main.css -> v=20260221-site-polish-v19api/download-task-event.php):开始/继续/暂停/停止/重新下载/重试/完成/失败/删除/缓存后下载。admin:用户名,普通用户写入用户昵称,未登录写入 guest。access_logs,直接纳入现有审计与导出链路。index.php):缓存后下载 改为走同一下载状态机(不再走旧 streamDownload 逻辑)。admin/downloads.php):下载控制动作,可单独查看前端状态机事件。全部筛选范围扩展为 下载 + 离线缓存 + 下载控制动作。index.php、assets/main.css):未开始 -> 下载中 -> 暂停中 -> 下载完成 / 下载失败。开始下载暂停 + 停止继续 + 停止重新下载重试 + 删除任务dl-...),并在面板中显示当前状态。Range,服务端不支持时自动回退全量下载)。index.php):下载命令(复制 curl/wget)与 缓存后下载 流程。admin/downloads.php + 多个 admin/*.php):下载管理(全后台侧边栏可见)。index.php、about.php、quick.php):main.css -> v=20260221-site-polish-v18index.php、assets/main.css):result-table-wrap,单独关闭横向滚动。index.php):下载命令 按钮:一键复制 curl/wget 命令。缓存后下载 按钮:先离线缓存再执行下载。api/file-metadata.php、index.php):probe_upstream 源站探测(HEAD)能力:无缓存时自动尝试获取 文件大小/最后修改。index.php、about.php、quick.php):main.css -> v=20260221-site-polish-v17index.php):colspan=4)”,元信息改为整行展示,不再受链接列宽挤压。result-main-row,详情行添加 result-detail-row,便于精细化样式控制。assets/main.css):.url 换行与溢出策略,减少长链接导致的布局塌陷。index.php、about.php、quick.php):main.css -> v=20260221-site-polish-v16api/file-metadata.php):MD5/SHA1/SHA256(默认不计算,避免大文件阻塞)。api/offline-prefetch.php):already-cached,未命中时执行上游拉取并写入缓存。action_type=prefetch),便于后续审计与统计。index.php):刷新元信息、哈希校验、加入队列、立即缓存。localStorage 持久化)。assets/main.css):index.php、about.php、quick.php):main.css -> v=20260221-site-polish-v15assets/admin-dashboard.css):main-content 横向可见溢出导致的整页左右滚动,改为容器内裁剪(保留表格局部滚动)。min-width: 0 + max-width: 100%),避免网格/卡片最小宽度把页面撑宽。admin/audit.php):assets/user-center.css、assets/tickets.css、assets/quick-page.css、assets/auth-pages.css):overflow-x 约束 + 关键容器 min-width:0)。*.php):admin-dashboard.css -> v=20260221-admin-polish-v12user-center.css -> v=20260221-user-center-ui4tickets.css -> v=20260221-ticket-v4quick-page.css -> v=20260221-quick-page-v18auth-pages.css -> v=20260221-auth-ui-v2assets/auth-pages.css):100dvh、小屏按钮全宽、输入控件触控尺寸优化、窄屏间距收敛。user/login.php、user/register.php、user/forgot-password.php、user/reset-password.php、user/verify.php、admin/forgot-password.php、admin/reset-password.php):auth-pages.css。setup/index.php):lib/db.php):admin_audit 新增环境与安全字段:request_ip、user_agent、session_id、result_state、prev_hash、record_hash。write_admin_audit() 升级为自动记录操作 IP / 客户端 / 会话,并写入哈希链(前序哈希 + 当前记录哈希)。admin_audit_calculate_row_hash()、admin_audit_verify_row_hash()。admin_audit_backfill_security_columns()(每次初始化最多回填 120 条),兼容旧环境升级。admin/audit.php、lib/db.php):操作 IP、会话 ID 检索。哈希状态 筛选(全部/已签名/未签名),便于排查历史未签名数据。Excel(.xls),并保留 CSV。audit_export_csv / audit_export_excel)。admin/audit.php):node_id / user_id 支持直接跳转到对应管理页面。admin/audit.php):old/new 差异解析:支持从审计详情 JSON 自动识别 old_value/new_value(含同义键)并提取变更。admin/audit.php):admin/audit.php):lib/db.php):admin_audit 新增审阅字段:reviewed_by_admin_id、reviewed_at,并增加 reviewed_at 索引。fetch_admin_audit() 新增 reviewed 筛选(全部/已审阅/未审阅),并联表返回审阅人用户名。admin_audit_mark_reviewed()、admin_audit_mark_unreviewed()。admin/audit.php):audit_mark_reviewed / audit_mark_unreviewed)。admin/audit.php):admin/audit.php):reviewed 状态字段,保证模板复用完整。admin/audit.php):admin/audit.php、lib/db.php):admin/audit.php):lib/db.php):fetch_admin_audit() 扩展支持 actions[]/target_keyword/created_from/created_to/detail_keyword/detail_regex/result 等过滤参数。action/admin_id/target_user_id),避免历史调用中断。lib/comments.php):comment_normalize_report_reason(),统一清洗举报原因(去控制字符、限长 200)。涓嶅綋鍐呭)为正常中文“不当内容”。index.php、assets/main.css):prompt 改为页面内举报弹窗。Ctrl/Cmd + Enter 提交举报、Esc 关闭弹窗,并统一接入页面滚动锁。Ctrl/Cmd + Enter 时不再误触发“批量生成链接”。index.php、about.php、quick.php):main.css 升级到 v=20260221-site-polish-v14,确保举报弹窗和样式修复立即生效。index.php、assets/main.css):prompt 编辑方式,改为页面内自定义弹窗(双栏编辑 + 预览)。Ctrl/Cmd + Enter 在编辑弹窗内直接保存;支持 Esc 关闭弹窗。lib/comments.php、api/comments.php、index.php):upload_image,上传文件写入 uploads/comments/YYYYMM/。api/comments.php、index.php、assets/main.css):content_html,后端按安全 Markdown 解析后返回。index.php、about.php、quick.php):main.css 升级到 v=20260221-site-polish-v13,确保评论弹窗与 Markdown 样式立即生效。lib/security.php):request_ip() 从仅使用 REMOTE_ADDR 改为“可信代理头优先 + 远端地址兜底”。CF-Connecting-IP、True-Client-IP、X-Forwarded-For、X-Real-IP、X-Client-IP、Client-IP。X-Forwarded-For 支持多 IP 链路解析,优先选择公网 IP,避免内网地址污染定位结果。lib/comments.php、api/comments.php、index.php):actor_type,后端按所选身份写入评论归属(admin_id/user_id)。lib/comments.php、api/comments.php、index.php、assets/main.css):lib/comments.php、api/admin-comments.php、admin/comments.php):lib/comments.php):ip-api -> ipwho.is,优先返回中文地域结果。index.php、about.php、quick.php):main.css 升级到 v=20260221-site-polish-v12,确保评论区新增控件与维度样式立即生效。lib/comments.php):ipwho.is / ip-api)”,提升城市级命中率。comments.ip_geo_lookup、comments.ip_geo_timeout_ms、comments.ip_geo_cache_ttl_hours。lib/db.php):comment_ip_geo_cache,按 IP 缓存地域结果与来源,减少重复请求并提升响应稳定性。lib/comments.php):ip_region 改为调用新版定位流程,后续前台/后台展示地域信息更精细。index.php、api/comments.php、lib/comments.php):api/comments.php、lib/comments.php、lib/db.php):author_type/author_name/author_avatar_url/author_badge)与 viewer 当前查看者信息。comments.admin_id(兼容旧库自动补列),用于精确识别管理员评论身份。admin_set_status(隐藏/显示/审核通过)与 admin_delete(删除评论及子回复)。index.php、assets/main.css):index.php、about.php、quick.php):main.css 升级到 v=20260221-site-polish-v11,确保头像与身份新样式即时生效。admin/comments.php):admin/comments.php、api/admin-comments.php、lib/comments.php):admin/comments.php、api/admin-comments.php、lib/comments.php):admin/export_comments.php、lib/comments.php):export_comments.php 支持按 ids 导出选中评论。index.php、assets/main.css):assets/main.css):is-selected 选中态浅蓝底。assets/main.css、index.php):aria-pressed 与前端选中态同步逻辑,交互语义更完整。index.php、about.php、quick.php):main.css 升级到 v=20260221-site-polish-v10,确保评论区新样式立即生效。assets/main.css、assets/admin-dashboard.css、assets/user-center.css、assets/quick-page.css、assets/tickets.css):*.php):main.css -> v=20260221-site-polish-v9admin-dashboard.css -> v=20260221-admin-polish-v11user-center.css -> v=20260221-user-center-ui3quick-page.css -> v=20260221-quick-page-v17tickets.css -> v=20260221-ticket-v2admin/index.php):Enter/Space)。admin/index.php):admin/index.php、assets/admin-dashboard.js):dashboardDetailData 新增 summary_rows、quota_rows、log_rows。summary/quota/logs 三类数据集渲染,避免新增卡片点击后无明细。admin-dashboard.js 升级到 v=20260221-admin-polish-v6。admin/index.php):data-stat-* 元信息与键盘可访问支持(Enter/Space 打开明细)。admin/index.php、assets/admin-dashboard.css、assets/admin-dashboard.js):Esc、点击遮罩、点击关闭按钮关闭弹窗,并在关闭后恢复焦点。admin/index.php、assets/admin-dashboard.js):dashboardDetailData JSON,包含趋势、节点、平台、资源类型、热门资源等明细行。admin-dashboard.css 升级到 v=20260220-admin-polish-v10。admin-dashboard.js 升级到 v=20260220-admin-polish-v5。assets/announcement.js、index.php):button 改为 div,避免触发全局 button:hover 的位移与亮度滤镜动画。v=20260220-announcement-v5,确保浏览器加载最新修复。assets/main.css):announcement-backdrop 下沉层级,announcement-card 提升层级,确保卡片在遮罩之上。assets/main.css、assets/announcement.js、index.php):body 扩展到 html + body。modal-open 状态,避免多弹窗并存时状态互相覆盖。about.php、assets/main.css):sponsor-lightbox-open 到 html + body。index.php、about.php、quick.php):main.css 引用升级到 v=20260220-site-polish-v8,减少旧缓存导致的“修复未生效”。assets/main.css):CHANGELOG.md):admin/mail.php):{{变量名}})。lib/mail.php):user/register.php)user/verify.php)lib/comments.php)lib/node_monitor.php)user/forgot-password.php(申请重置链接)user/reset-password.php(通过 token 重置密码)user/login.php)admin/forgot-password.php(申请重置链接)admin/reset-password.php(通过 token 重置密码)admin/login.php)lib/auth.php、lib/db.php)。user_password_resetsadmin_password_resetssql/gh-proxy-app.sql)。index.php、assets/announcement.js、api/announcement.php、lib/announcement.php):action=mark_all_read,服务端持久化用户公告阅读状态。index.php、assets/main.css、assets/announcement.js、lib/announcement.php):published -> 已发布、offline -> 已下线)。ArrowUp/ArrowDown/Home/End)与更完整的焦点回退。mark_read)并持久化,减少重复未读提醒。admin/nodes.php、lib/node_monitor.php):access_logs 聚合):admin/index.php):fetch_dashboard_stats() 提供,支持节点配置与监控状态联动(lib/db.php)。admin/nodes.php):lib/node_monitor.php):lib/mail.php):admin/mail.php):mail.notify_enabled 全局开关与“一键关闭通知”按钮。lib/comments.php、lib/node_monitor.php)。lib/security.php + lib/bootstrap.php):GET/HEAD/OPTIONS 请求校验 Origin/Referer 是否同源。403(API 返回 csrf-origin-mismatch)。admin/site.phpadmin/upload_policy.phpindex.php)新增“复制本次成功链接”:quick.php + assets/quick-page.js)新增“复制最佳链接”:assets/announcement.js):setInterval。index.php):textContent 输出错误信息。assets/admin-dashboard.js):aria-expanded,移动端开合状态更准确。assets/main.cssassets/admin-dashboard.cssuser/tickets.phpadmin/tickets.phpindex.php、user/account.php、user/settings.php)。assets/admin-dashboard.js 兜底注入)。lib/tickets.phppending_admin / pending_user / closed。low / normal / high / urgent。send_or_queue_email)。support_ticketssupport_ticket_messageslib/db.php、sql/gh-proxy-app.sql)。/uploads/tickets/YYYYMM/lib/tickets.php)。lib/markdown.php)。fetch_dashboard_stats() 提供(lib/db.php、admin/index.php)。index.php、quick.php、about.php)。admin/*.php、user/*.php)。admin/login.php)。assets/user-center.css)。user/settings.php、user/account.php、user/tickets.php)。lib/upload_policy.php):jpg,jpeg,png,webp,gif)。admin/site.php):app_settings(upload.image_*)。admin/upload_policy.php):站点标识 页面移除上传限制表单,改为跳转提示,避免功能混杂。lib/tickets.php、user/tickets.php、admin/tickets.php)。admin/about.php,含前端批量导入时的数量/大小预校验)。admin/about.php)user/settings.php、user/account.php、assets/user-center.css、assets/user-center.js)assets/user-center.css,重构背景层、顶部栏、卡片、表单、按钮与深色模式对比。Ctrl/Cmd + S 快捷保存、未保存变更提示、恢复默认并保存。user-mobile-mode 侧栏收起策略、用户页 Logo 尺寸兜底、已登录菜单项统一、真实缓存统计值展示。quick.php)复制(左)+ 打开下载(右)。direct(本站主节点)前缀相同,前台节点卡片自动去重,优先保留主节点。direct 节点改为实时探测本站资源,不再固定复用旧延迟值。quick-page.css:20260214-quick-page-v14quick-page.js:20260214-quick-page-v18quick.php、assets/quick-page.css、assets/quick-page.js)关于本项目联系我赞助我index.php 对齐(同一套布局与分组),仅保留页面跳转行为差异。quick-page.css:20260214-quick-page-v14quick-page.js:20260214-quick-page-v18admin/mail.php、admin/cache.php、admin/nodes.php 切换为统一后台布局(侧栏/顶部/移动端侧栏交互)。256,支持更大节点池。clear_cache_files() / clear_expired_cache_files() 仅清理代理缓存产物(*.bin、*.json、up_*)。cache/install.lock 与 cache/runtime-config.php,修复“清空缓存后误回到安装向导”的问题。site.brand_namesite.browser_titlesite.logo_urlsite.admin_logo_urlsite.favicon_urllib/site_branding.php。/assets/logo.png、/assets/favicon.ico)。README.md,补齐部署、维护、配置与 API 文档。lib/install.php 增强 runtime-config.php 可读性检查。cache/runtime-config.php 与 cache/install.lock 默认权限从 0600 调整为 0640。scripts/process_maintenance.php(邮件队列 + 节点巡检)建议每分钟执行。SQLSTATE[HY000] [1045] ... using password: NO)。db.password。cache/runtime-config.php 中 db.password,并确保 cron 与站点使用同一运行用户。Permission denied)。cache/runtime-config.php 权限为 0600 且执行用户不一致。cache/ 目录 owner/group 与权限(目录建议 750,文件建议 640)。config.php 的数据库配置不一定即时生效。cache/runtime-config.php。setup/index.php 重新写入运行时配置,或手动更新 cache/runtime-config.php。如需提交问题,请附带以下信息:
cache/runtime-config.php 权限与属主共 0 条,未读 0 条
评论区