Commit Graph

320 Commits

Author SHA1 Message Date
55d10e8c20 feat: 添加 AI 垃圾评论识别功能
- 在评论设置中新增 AI 垃圾评论识别配置项
- 支持三种检测模式:仅手动、抽查(20%)、全量检测
- 实现全站评论扫描和待审核评论扫描功能
- 自动识别广告、反动、违法等垃圾评论并移入回收站
- 复用现有 AI 摘要的服务商配置和 API 密钥
- 提供可视化扫描进度和结果展示
- 支持跳过已登录用户评论的选项
- 优化提示词以降低 token 消耗
2026-01-22 12:42:26 +08:00
dd8d2d246e chore: 删除 style.css 备份文件 2026-01-22 10:44:32 +08:00
4515831d7f chore: 清理临时文件和测试文件
- 删除临时测试文件 (test-*.html, test-*.js)
- 删除临时文档文件 (GPU_ACCELERATION_USAGE.md, RENDER_OPTIMIZER_USAGE.md)
- 删除测试 HTML 文件 (argon-memory-manager.test.html, argon-performance.test.html)
- 整理文档到 specs 目录下
2026-01-22 10:42:19 +08:00
9feba74cfe fix: 修复 argontheme.js 文件编码问题
- 修复所有 UTF-8 编码错误字符( 替换为正确的中文字符)
- 涉及注释、字符串等 100+ 处编码问题
- 确保文件以正确的 UTF-8 编码保存
2026-01-22 10:39:43 +08:00
75bc8ab147 feat: 集成性能优化模块到管理员调试控制台
- 修改 ArgonDebug 输出方法,支持模块标识前缀
- 为不同模块添加标识:DOM缓存、事件管理、渲染优化、性能监控
- 在管理员控制台的缓存清理功能中添加性能优化模块清理
- 清理 DOM 缓存、事件监听器、内存管理器、渲染优化器
- 优化日志输出,所有日志现在会显示来源模块
2026-01-22 09:56:32 +08:00
4dafdc62f6 fix: 替换所有 console 调用为 ArgonDebug
- 在 argontheme.js 中引入 ArgonDebug 调试控制台
- 替换所有 console.warn 为 ArgonDebug.warn
- 替换所有 console.error 为 ArgonDebug.error
- 替换所有 console.info 为 ArgonDebug.info
- 删除移动端侧边栏的调试日志(console.log)
- 简化不必要的日志输出,只保留关键信息
- 所有日志现在只在调试模式下输出,避免生产环境污染控制台
2026-01-22 09:46:44 +08:00
d33f343475 feat: 实现 ArgonMemoryManager 内存管理类
- 实现构造函数和 ID 跟踪集合(timers, intervals, frames)
- 实现 setTimeout()、setInterval()、requestAnimationFrame() 包装方法
- 实现对应的清理方法(clearTimeout, clearInterval, cancelAnimationFrame)
- 实现 clearAll() 统一清理接口
- 实现 getStats() 获取统计信息
- 创建完整的 HTML 测试文件验证功能
- 支持参数传递给回调函数
- 自动跟踪和清理,避免内存泄漏

验证需求:
- 需求 12.5: 闭包引用大型对象时仅保存必要属性
- 需求 13.4: 组件销毁或页面切换时取消所有定时器和动画帧
2026-01-21 23:29:55 +08:00
f165fac420 feat: 实现 GPU 加速管理功能
- 实现 enableGPU() 方法设置 will-change 属性
- 实现 disableGPU() 方法移除 will-change 属性
- 实现动画数量限制逻辑(最多 3 个同时运行)
- 实现动画队列自动管理
- 添加 startAnimation() 和 endAnimation() 方法
- 添加 getActiveAnimationCount() 和 getQueuedAnimationCount() 查询方法
- 添加 clearAllAnimations() 清理方法
- 添加错误处理机制
- 创建交互式测试页面和自动化测试
- 创建详细的使用文档

验证需求:
- 需求 5.2: 动画时使用 will-change 提示浏览器创建合成层
- 需求 5.3: 动画完成时移除 will-change 属性释放资源
- 需求 5.5: 限制同时运行的动画数量不超过 3 个
2026-01-21 23:20:06 +08:00
9fca9481ae feat: 实现 ArgonRenderOptimizer 类
- 实现构造函数,初始化读写队列和调度状态
- 实现 read() 方法:将 DOM 读取操作加入队列
- 实现 write() 方法:将 DOM 写入操作加入队列
- 实现 _schedule() 私有方法:使用 requestAnimationFrame 调度执行
- 实现 _flush() 私有方法:批量执行队列操作(先读后写)
- 实现 enableGPU() 方法:设置 will-change 属性启用 GPU 加速
- 实现 disableGPU() 方法:移除 will-change 属性释放资源
- 添加错误处理机制,确保单个操作失败不影响其他操作
- 在测试文件中添加完整的渲染优化模块测试
- 创建使用指南文档 RENDER_OPTIMIZER_USAGE.md
- 导出 ArgonRenderOptimizer 类供其他模块使用

验证需求:2.3, 2.4, 17.1, 17.2
2026-01-21 14:52:50 +08:00
e548d20012 feat: 实现 ArgonEventManager 类基础结构
- 实现构造函数和 Map 存储的监听器注册表
- 实现 on() 方法:添加事件监听器并自动跟踪
- 实现 off() 方法:移除指定元素和事件的所有监听器
- 实现 clear() 方法:清除所有已注册的事件监听器
- 实现 _getKey() 私有方法:为元素和事件生成唯一标识
- 支持 passive 等事件选项配置
- 在 clear() 中添加错误处理,避免元素已移除时报错
- 导出 ArgonEventManager 类供其他模块使用

验证需求:2.5, 11.2, 11.4
2026-01-21 14:36:49 +08:00
40e66f9d9c fix: 修复搜索框页面加载后视觉中心偏移问题
- 移除 input.form-control 的 display: flex(input 元素不支持 flex 布局)
- 显式设置 input 和 icon 容器的 padding 值确保一致
- 通过 line-height 和 padding 精确控制垂直对齐
2026-01-21 14:09:30 +08:00
40b348dd56 fix: 修复搜索框焦点与失焦状态视觉中心不一致
- 为 .input-group-text 添加 flexbox 垂直居中对齐
- 为搜索图标设置 line-height: 1 确保视觉中心一致
- 为 input.form-control 添加 flexbox 对齐确保文本垂直居中
- 移除属性之间的多余空行,符合代码规范
2026-01-21 14:06:31 +08:00
5eb97a7d89 docs: 添加 PJAX 和 LazyLoad 优化总结文档
- 记录所有已完成的优化任务
- 说明性能改进和问题修复
- 提供测试建议和后续计划
- 包含完整的 Git 提交记录
2026-01-21 13:49:57 +08:00
2e8700f7d7 fix: 改进 PJAX 和 LazyLoad 错误处理与性能
- 为 pjax:complete 中的所有初始化函数添加 try-catch 错误处理
- 优化 applyLoadEffectOptimized:使用 transitionend 事件替代 setTimeout
- 为所有优化函数添加完整的 JSDoc 注释
- 添加代码优化说明注释,便于后续维护
- 确保单个模块失败不影响其他模块的初始化
2026-01-21 13:48:25 +08:00
0cbfa0aab3 fix: 优化 PJAX 和 LazyLoad 功能
- 创建 cleanupPjaxResources() 函数统一管理资源清理
- 创建 resetGT4Captcha() 函数封装验证码重置逻辑
- 消除 pjax:end 中的重复初始化调用(waterflowInit、lazyloadInit)
- 优化 LazyLoad Observer 生命周期管理,添加存在性检查
- 使用 requestAnimationFrame 替代 setTimeout 优化图片加载效果
- 实现滚动监听降级方案,支持不兼容 IntersectionObserver 的浏览器
- 改进错误处理,所有第三方库调用都有 try-catch 保护
- 优化图片状态清理,使用正则表达式移除所有 lazyload-style-* 类名

需求:1.1-1.5, 2.1-2.5, 3.1-3.5, 4.1-4.5, 5.1-5.5, 6.1-6.5, 7.1-7.5
2026-01-21 13:42:31 +08:00
0356a2f710 fix: 深度修复懒加载问题
- 移除 argon_lazyload 函数中的 !is_home() 限制,允许首页也使用懒加载
- 新增 argon_get_post_thumbnail_html 辅助函数,统一处理缩略图懒加载
- 更新所有文章预览模板(content-preview-1/2/3.php)使用新的懒加载函数
- 确保缩略图也能正确应用懒加载和加载动画
- 修复首页文章列表图片不显示的问题
2026-01-21 13:28:20 +08:00
5c3e0aa465 fix: 修复懒加载未启动的问题
- 修复 argonConfig.lazyload 配置逻辑,默认启用懒加载
- 修复懒加载初始化时机,确保 DOM 加载完成后再执行
- 添加 DOMContentLoaded 事件监听,避免过早初始化导致找不到图片元素
- 修复懒加载禁用判断,同时支持 false 和 'false' 字符串
- 优化 header.php 中的懒加载配置,使用 get_option 默认值
2026-01-20 23:22:32 +08:00
86d11e1f91 fix: 修复 PJAX 页面切换时的资源加载问题
- 修复懒加载未重新初始化导致图片不显示的问题
- 添加全局 lazyloadObserver 变量,在 PJAX 切换时正确清理旧的 Observer
- 修复 Zoomify 实例未清理导致的内存泄漏和功能异常
- 添加全局 zoomifyInstances 数组管理所有 Zoomify 实例
- 在 pjax:beforeReplace 事件中清理所有旧资源(懒加载、Zoomify、Tippy)
- 优化资源初始化顺序,先初始化懒加载再初始化其他功能
- 在 pjax:end 事件中延迟再次确保资源正确加载
- 修复滚动位置恢复逻辑,确保页面跳转后正确定位
- 重置图片状态(opacity、transform、transition)避免样式残留
2026-01-20 23:19:25 +08:00
9bfe0db3be fix: 优化 CDN 环境下的真实 IP 获取逻辑
- 调整 IP 获取优先级:CF-Connecting-IP > X-Real-IP > X-Forwarded-For > REMOTE_ADDR

- 增加内网 IP 检测,避免将 CDN 内网 IP 作为客户端 IP

- 从 X-Forwarded-For 中提取第一个公网 IP

- 增强 IP 格式验证
2026-01-20 23:12:32 +08:00
33d46ef9b1 feat: 添加 AI 查询页面安全防护机制
- IP 访问频率限制:60秒内最多10次查询

- 单线程访问限制:同一 IP 同时只能有一个查询

- 查询结果缓存:成功的查询结果缓存1小时

- 支持 Cloudflare 等代理的真实 IP 获取

- 访问受限时显示友好的错误页面
2026-01-20 23:11:24 +08:00
df56c8f611 fix: 修复 AI 查询页面 URL 参数无法获取的问题
- 在 query_vars 过滤器中注册 code 参数

- 现在可以通过 /ai-query/{识别码} 直接查询
2026-01-20 23:06:35 +08:00
43d6a44dec feat: 添加 AI 查询页面固定链接支持
- 注册 /ai-query 和 /ai-query/{CODE} 路由

- 支持 URL 路径参数传递识别码

- 更新所有识别码链接为固定链接格式

- 与友链、反馈页面保持一致的实现方式
2026-01-20 23:05:06 +08:00
1427fada10 fix: 修复 AI 查询页面 footer 对齐问题
- 移除多余的 </main> 和 </div> 闭合标签

- 与友链页面保持一致的 HTML 结构

- footer 由 footer.php 统一处理闭合标签
2026-01-20 22:59:47 +08:00
6955b4faa3 fix: 修复 AI 查询页面 footer 居中问题
- 添加 width: 100% 和 float: none 确保 footer 正确居中

- 与友情链接页面的实现保持一致
2026-01-20 22:55:34 +08:00
1732c06df9 fix: 修复 AI 查询页面 footer 宽度
- footer 跟随主内容区域宽度(1000px)

- 参考友情链接页面的实现
2026-01-20 22:52:25 +08:00
39d5f88b1e chore: 清理未提交的文件
- 删除 page-ai-summary-query.php 模板文件

- 删除 js-fallback.js

- 其他文件的修改
2026-01-20 22:50:10 +08:00
10e0f5e8c1 refactor: 完全重构 AI 验证页面(参考友链页面)
- 采用友链页面的布局和样式结构

- 使用全局 CSS 变量

- 固定页面布局(隐藏侧边栏)

- PJAX 兼容性处理

- 响应式设计

- 内容验证功能完整实现
2026-01-20 22:45:15 +08:00
d40af82a37 refactor: 重构 AI 验证页面为专业化设计
- 页面定位调整为 AI 内容验证与查询

- 移除所有 emoji 图标,使用纯文本

- 所有样式使用 CSS 全局变量

- 增加内容变更检测功能

- 显示文章最后修改时间

- 添加验证状态徽章(一致/已变更)

- 优化描述文案,更加专业化

- 响应式设计优化
2026-01-20 22:35:08 +08:00
a4010c293c refactor: 重构 AI 摘要查询为独立页面
- 删除模板文件 page-ai-summary-query.php

- 创建独立页面文件 ai-summary-query.php(参考友链和反馈页面)

- 移除 AJAX 查询接口 argon_query_ai_summary_by_code

- 所有查询通过独立页面完成

- 更新识别码链接指向独立页面
2026-01-20 22:28:04 +08:00
829cd0dc67 feat: 添加 AI 摘要识别码查询页面
- 创建专用查询页面模板(page-ai-summary-query.php)

- 识别码改为可点击链接,跳转到查询页面

- 移除识别码的 title 提示

- 查询页面显示完整信息:文章信息、摘要内容、生成信息

- 支持直接通过 URL 参数查询(?code=识别码)
2026-01-20 22:21:32 +08:00
0ff6cfce15 feat: AI 摘要增加 8 位唯一识别码功能
- 生成 8 位唯一识别码(使用 0-9 和 A-Z,排除易混淆字符)

- 在摘要底部显示识别码

- 保存识别码到数据库(_argon_ai_summary_code)

- 添加反向查询 AJAX 接口(argon_query_ai_summary_by_code)

- 支持通过识别码查询文章信息、摘要内容、模型信息、生成时间
2026-01-20 22:17:49 +08:00
35bf3680b5 feat: 调整文章预览卡片 post-meta 对齐方式
- post-preview-layout-2 的 post-meta 改为左对齐

- 与文章详情页的居中样式区分
2026-01-20 22:05:15 +08:00
84505c8213 fix: 修复 CSS 语法错误并清理空规则
- 移除所有卡片 hover 时的阴影变化效果

- 删除 7 个空的 hover 规则块

- 修复属性之间的多余空行

- 清理注释中的乱码字符
2026-01-20 21:25:00 +08:00
9c22b41a51 feat: 移除友链申请表单卡片 hover 效果
- 移除本站信息项的悬浮背景变化效果
2026-01-20 18:55:34 +08:00
27e969342e feat: 移除友链申请表单组件边框
- 移除表单输入框边框,改用半透明背景

- 移除本站信息卡片和信息项边框

- 移除自动获取预览区域边框

- 优化焦点状态阴影效果
2026-01-20 18:53:54 +08:00
2c196ae736 feat: 在设置页添加数学渲染库本地镜像选项
- 为 MathJax 3、MathJax 2、KaTeX 添加使用本地镜像复选框

- 勾选后优先使用主题内置的完整版本

- 添加选项保存逻辑

- 提供 CDN 和本地镜像的灵活切换
2026-01-20 18:47:53 +08:00
f732c6179a feat: 添加完整的数学渲染库本地镜像
- 下载 MathJax 3 完整版本 (tex-chtml-full.js)
- 下载 MathJax 2 完整版本 (v2.7.9)
- 下载 KaTeX 完整版本 (v0.16.9)
- 包含 katex.min.js, katex.min.css, auto-render.min.js
- 替换之前的简化备用版本
- 提供完整的数学公式渲染功能
2026-01-20 18:45:33 +08:00
86d9cb79c0 feat: 添加完整的外部资源本地镜像
- 下载官方 QRCode.js 完整版本 (qrcodejs@1.0.0)
- 添加 Open Sans 700 weight 字体文件
- 确保所有外部依赖都有完整的本地备用版本
- 提升离线可用性和加载稳定性
2026-01-20 18:38:48 +08:00
0118470c67 fix: 使用官方完整版 Geetest GT4 库替换简化版本
- 从 https://static.geetest.com/v4/gt4.js 下载官方完整版本
- 替换之前的简化备用实现
- 确保所有 API 方法完整可用(包括 onClose)
- 提供完整的验证码功能支持
2026-01-20 18:35:40 +08:00
e5f0acc20f fix: 修复 Geetest GT4 备用版本缺少 onClose 方法的错误
- 在 gt4.js 备用实现中添加 onClose 方法
- 避免 captcha.onClose is not a function 错误
- 保持与正式版 API 的兼容性
2026-01-20 18:33:12 +08:00
dcaa19f5bc fix: 修复页面加载时的样式跳变问题
- 在 header.php 中添加预加载脚本,页面渲染前应用用户样式设置
- 优化强制刷新逻辑,避免二次刷新
- 移除 argontheme.js 中重复的样式应用代码
- 修复字体、阴影、滤镜、UI 样式的闪烁问题
2026-01-20 18:30:08 +08:00
7fcd460723 fix: CSS 语法和兼容性错误修复
- 修复注释语法错误(左侧栏注释)
- 为 -webkit-transform 添加标准 transform 属性(5 处)
- 移除非标准 user-drag 属性(8 处)
- 修复所有 CSS 语法错误
2026-01-20 16:55:40 +08:00
124ea3cb83 chore: 清理已完成的任务文档 2026-01-20 16:46:12 +08:00
712e5efa1f fix: CSS 浏览器兼容性修复
- 修复 backdrop-filter 属性顺序(-webkit- 前缀在前,标准属性在后)
- 修复约 20+ 处 backdrop-filter 顺序问题
- 已添加安全 HTTP 头部函数(CSP 替代 X-Frame-Options)
- 提升旧版浏览器兼容性
2026-01-20 16:45:12 +08:00
29257dfce2 fix: 从 0dba91c 恢复 style.css 和 argontheme.js
- 完全恢复到问题出现前的版本
- 确保浮动按钮正常工作
2026-01-20 16:26:20 +08:00
98add1f41d fix: 恢复浮动按钮原始样式
- 移除 top: auto 和 left: auto
- 移除 gap 属性,使用 margin-top
- 恢复原始 transition 定义
- 移除 flex-shrink 属性
2026-01-20 16:24:20 +08:00
5264a8df6d fix: 恢复主题样式文件 2026-01-20 16:18:35 +08:00
05fd756c9c fix: 恢复主题 JS 文件 2026-01-20 16:18:17 +08:00
e497892422 fix: 恢复主题设置文件 2026-01-20 16:18:00 +08:00
9aacd2b15d fix: 恢复主题函数文件 2026-01-20 16:17:42 +08:00