400 Commits

Author SHA1 Message Date
5c0abfd5da fix-backdrop-filter 2026-03-03 14:58:17 +08:00
e34bfe5047 docs: 补充评论系统完整实现细节 2026-02-02 00:05:46 +08:00
5c362b1075 docs: 细化 Argon 主题培训文档
- 补充全局配置对象的详细说明和实际代码示例
- 细化 CSS 变量系统,包含主题色、动画、卡片样式等完整变量
- 扩展夜间模式章节,详细说明四种切换方案和 AMOLED 模式
- 重写 PJAX 章节,补充完整的事件流程和重新初始化逻辑
- 细化瀑布流布局,包含完整算法、响应式适配和性能优化
- 新增主题初始化流程章节,详细说明服务器端和客户端初始化过程
- 补充资源加载策略和强制刷新机制的实现细节
- 所有代码示例均来自实际项目文件,确保准确性
2026-01-31 18:49:02 +08:00
c9cebf0c14 fix: 为所有卡片添加毛玻璃效果
- 修改 .card 基础样式,添加 backdrop-filter 支持
- 使用 rgba 背景色配合 var(--card-opacity) 实现透明度控制
- 所有卡片(文章、评论、侧边栏等)现在都会应用毛玻璃模糊和饱和度效果
- 夜间模式下使用深色半透明背景
2026-01-27 23:49:32 +08:00
a12af3c4df fix: 从后台设置读取透明度和毛玻璃效果参数
- 在 header.php 中读取后台设置的透明度和毛玻璃参数
- 输出 CSS 变量:--bg-opacity、--card-opacity、--card-blur、--card-saturate、--toolbar-blur
- 顶栏模糊度自动计算为卡片模糊度的 60%
- 移除 style.css 中的硬编码默认值,完全由后台设置控制
- 确保毛玻璃效果(backdrop-filter)正常工作
2026-01-27 23:43:55 +08:00
731f573b2c feat: 统一透明度与毛玻璃效果的 CSS 变量控制
- 新增 CSS 变量:--bg-opacity (0.90)、--card-opacity (0.60)、--card-blur (20px)、--card-saturate (180%)、--toolbar-blur (12px)
- 顶栏毛玻璃效果:使用 var(--toolbar-blur) 和 var(--card-blur) 控制
- 卡片透明度:使用 var(--card-opacity) 统一控制所有卡片背景透明度
- 毛玻璃模糊:使用 var(--card-blur) 统一控制模糊半径
- 毛玻璃饱和度:使用 var(--card-saturate) 统一控制色彩饱和度
- 背景透明度:使用 var(--bg-opacity) 控制页面背景和下拉菜单等元素
- 移动端适配:自动计算适合移动端的模糊值(如 calc(var(--card-blur) / 3))
- 统一替换所有硬编码的 blur() 值为变量驱动
- 支持通过后台设置动态调整所有透明度和毛玻璃效果
2026-01-27 23:36:45 +08:00
549fec6a53 fix: 移除向后兼容代码并修复黑幕样式
- 移除 showLoadingOverlay 和 hideLoadingOverlay 向后兼容函数
- 直接使用 PageLoader.show() 和 PageLoader.hide()
- 重构黑幕样式,添加文章内容选择器支持
- 优化夜间模式黑幕颜色(#1a1a1a)
- 添加 article .entry-content 和 .article-content 选择器
- 确保黑幕在所有文章容器中正常显示
- 改进代码结构和注释
2026-01-27 16:56:32 +08:00
1eb5d85eaf feat: 全新设计的现代化页面加载系统
设计亮点:
- SVG 圆环进度指示器,实时显示加载进度
- 智能进度算法:自动递增 + 缓动效果
- 中心旋转图标 + 脉冲动画
- 延迟显示骨架屏(避免快速加载时闪烁)
- 最小显示时间控制(400ms)防止闪烁

加载逻辑优化:
- 智能进度管理:0-90% 自动递增,完成时跳转 100%
- 缓动函数:越接近完成速度越慢,更自然
- 定时器管理:防止内存泄漏和状态冲突
- 骨架屏延迟 150ms 显示,快速加载不显示

视觉设计:
- 渐变背景 + 毛玻璃效果
- 弹性入场动画(scale + translateY)
- 流畅的光影扫过效果
- 完整的响应式适配
- 支持无障碍访问(prefers-reduced-motion)
2026-01-27 16:52:11 +08:00
73103ea853 refactor: 重构加载动画代码,提升可维护性
JavaScript 重构:
- 创建 LoadingOverlay 模块化管理器(IIFE 模式)
- 封装元素创建、显示、隐藏和销毁逻辑
- 添加定时器管理,防止内存泄漏
- 提供向后兼容的函数接口
- 使用常量管理配置项(ID、类名、动画时长)
- 改进代码注释和 JSDoc 文档

CSS 重构:
- 统一类名前缀为 loading-*,语义更清晰
- 移除 ID 选择器依赖,改用类选择器
- 分离关注点:基础旋转器、进度条、遮罩层、骨架屏
- 添加结构化注释,便于定位和修改
- 优化选择器层级,提升性能
- 独立动画关键帧定义

代码改进:
- 减少重复代码,提高复用性
- 更好的错误处理和边界情况处理
- 支持多次调用不会重复创建元素
- 清晰的模块边界和职责划分
2026-01-27 16:46:13 +08:00
67d1465014 feat: 全面优化加载动画视觉效果
- 重新设计骨架屏布局:卡片式设计,包含缩略图、头像、标题、文本和标签
- 添加光影流动效果(shimmer)增强视觉吸引力
- 优化旋转器设计:双环结构 + 弹跳点动画
- 改进文字提示:更友好的加载文案
- 增强动画效果:缩放 + 位移的入场动画
- 完善响应式设计:适配平板和手机屏幕
- 优化夜间模式:更深的背景和更柔和的阴影
- 提升整体视觉层次感和现代感
2026-01-27 16:41:53 +08:00
7f79a14e3e fix: 修复 jQuery 选择器语法错误并优化加载动画
- 增强 jQuery 选择器验证,防止空选择器和中文标点导致的语法错误
- 修复 'Syntax error, unrecognized expression' 报错
- 优化加载动画:动态创建 overlay 元素,无需在 HTML 中预定义
- 改进加载动画显示逻辑,添加骨架屏和加载提示文字
- 添加详细的函数注释说明
2026-01-27 16:35:36 +08:00
d0e11eed3b fix: 恢复被误删的核心样式
- 恢复 commit 0a8bb3a 中被误删的 3120 行核心 CSS 样式
- 该 commit 在移除 Mermaid 样式时误删了文章标题、卡片、按钮等重要样式
- 恢复的样式包括:
  - .article-header-style-1/2 文章标题样式
  - .card 卡片样式
  - .btn-primary 按钮样式
  - .custom-toggle 开关样式
  - 其他核心布局和组件样式
- style.css 从 8952 行恢复到 12072 行
2026-01-27 14:23:39 +08:00
86231cbf14 feat: 添加全站扫描垃圾评论功能
- 在设置页面添加全站扫描 UI(扫描所有评论/仅扫描待审核)
- 实现批量扫描逻辑,每批处理 10 条评论避免超时
- 自动跳过已有 AI 审核结果的评论(检查 _argon_spam_detection_result 元数据)
- 实时显示扫描进度条和统计信息(已扫描/已跳过/发现垃圾评论)
- 扫描完成后展示详细结果,包括垃圾评论列表和置信度
- 根据置信度阈值自动处理垃圾评论(移入回收站/标记待审核/仅标记)
- 添加 AJAX 处理函数 argon_ajax_spam_scan_comments
2026-01-27 11:33:24 +08:00
bc9f2e18bf fix: 优化 AI 功能设置项,移除重复和冲突
- 移除重复的自动处理阈值设置(auto_threshold)
- 统一使用 confidence_threshold 作为置信度阈值
- 补充完整的 Prompt 模式设置(极简/标准/增强/自定义)
- 添加自定义 Prompt 输入框(根据模式动态显示)
- 优化设置项保存逻辑,移除重复项
2026-01-27 11:24:37 +08:00
e990cb81de feat: 实现基于 AI 反馈的智能关键字优化系统
- 黑名单拦截时向评论者发送通知邮件(带 AI 复审按钮)
- 用户可申请 AI 复审,AI 重新评估评论内容
- AI 判定无误时自动恢复评论并优化关键字规则
- 自动移除不合理的黑名单关键字
- 记录所有优化操作,可在设置页查看日志
- 新增黑名单拦截通知邮件模板
- 新增反馈处理页面,显示 AI 评估结果
- 设置页新增黑名单拦截通知开关
- 设置页新增关键字优化日志查看和清除功能
- 充分利用 AI 智能,实现自我学习和优化
2026-01-27 11:21:44 +08:00
17c5f8365d feat: 优化 AI 摘要提示词并恢复完整的评论审查设置
- 优化 AI 摘要提示词,更专业、更详细的指导
- 恢复完整的评论审查检测模式:关闭/关键字必查/智能抽查/全量检测
- 新增触发关键字和黑名单关键字的区分
  - 触发关键字:触发 AI 检测
  - 黑名单关键字:直接标记为垃圾评论
- 恢复抽查基础概率设置
- 恢复检测范围、白名单等完整设置项
- 恢复自动处理方式和置信度阈值设置
- 更新保存逻辑以支持所有新增选项
- 优化关键字检查函数,支持两种关键字类型
2026-01-27 11:09:52 +08:00
f91573e948 fix: 优化 API 列表表格宽度和列宽
- 增加表格最大宽度从 1000px 到 1200px
- 默认使用 100% 宽度,仅在超宽屏幕(1600px+)时避让目录
- 扩大各列宽度:名称 120px、提供商 110px、模型 150px、密钥 140px、端点 180px、操作 200px
- 增加 code 标签最大宽度从 120px 到 160px,显示更多内容
2026-01-27 11:03:44 +08:00
81ab5871c1 fix: 修复 API 密钥查看按钮和模型列表获取问题
- 修复 API 密钥输入框的查看密码按钮被 label 包裹导致重复显示的问题
- 修复硅基流动模型列表过滤过于严格,只显示包含 Instruct 的模型
- 优化 OpenAI 模型列表过滤逻辑,排除嵌入、音频、图像等非聊天模型
- 硅基流动现在会显示所有聊天模型,只排除嵌入和图像生成模型
2026-01-27 11:01:14 +08:00
dca4680565 chore: 清理所有测试文件
- 删除 test-xiaomi-mimo-api.php
- 删除 test-api-test-function.php
- 删除 test-ai-query-component.php
- 删除 test-api-connection-debug.php
2026-01-27 10:52:41 +08:00
734822883e refactor: 从 settings.php 和 functions.php 中移除所有 Mermaid 支持
- 从 settings.php 移除完整的 Mermaid 设置部分(约 370 行)
- 从 settings.php 移除 Mermaid 选项保存代码
- 从 functions.php 移除所有 Mermaid 相关函数(约 500 行)
- 从 header.php 移除 Mermaid 相关注释
- 保留 assets/vendor/mermaid/ 库文件供未来可能的插件使用
2026-01-27 10:45:21 +08:00
0a8bb3a453 refactor: 彻底移除所有 Mermaid 支持
- 从 argontheme.js 移除所有 Mermaid 相关代码和注释
- 从 style.css 移除所有 Mermaid 样式(约 300 行)
- 移除代码高亮中跳过 mermaid 容器的逻辑
- 移除 PJAX 清理函数中的 Mermaid 引用
- 删除临时清理脚本和空文档
2026-01-27 10:42:08 +08:00
8a74a3b3f6 docs: 添加 Mermaid 修复文档 2026-01-27 00:30:13 +08:00
135c2269c7 fix: 修复 Mermaid 渲染问题
- 启用代码块转换功能(移除 convertMermaidCodeblocks 中的 return 语句)
- 添加完整的 Mermaid 代码块检测选择器
- 修复首页预览中显示原始 Mermaid 代码的问题
- 添加 argon_remove_mermaid_from_preview 函数过滤预览内容
- 更新三个文章预览模板,在预览中用 [Mermaid 图表] 替代原始代码
2026-01-27 00:28:25 +08:00
b2f40fcf46 fix(ai): update Xiaomi Mimo default endpoints 2026-01-26 15:59:04 +08:00
5c16d78186 fix(ai): 修复统一 API 管理与小米 Mimo 测试兼容
- 设置页统一 API 管理:修正 AJAX action 名与返回结构,编辑/保存/删除可用\n- 模型列表:获取模型增加 nonce,兼容对象/字符串模型渲染与选择\n- 统一测试连接:修正小米默认端点/默认模型,并在 400 模型不支持时自动回退重试\n- 小米 API:按 endpoint 归一化 MiMo 模型名,模型列表回退避免选到无效模型
2026-01-26 15:42:14 +08:00
540fe7b543 fix: 修复 AI 测试链接返回连接失败的问题
- 修复 AJAX 函数中缺少 api_id 参数检查导致的错误
- 统一错误消息格式,使用数组包装错误信息
- 修复 JavaScript 中错误消息解析逻辑
- 改进错误提示的可读性和调试信息
2026-01-26 14:31:47 +08:00
3794f37618 fix: 修正小米 Mimo API 端点地址
- 正确的端点是 https://api.xiaomimimo.com/v1/chat/completions
- 移除错误的自定义端点提示
- 恢复默认端点配置
2026-01-26 14:25:10 +08:00
eabf13a374 fix: 根据提供商设置正确的默认模型
- 添加 default_models 数组,为每个提供商定义默认模型
- 小米 Mimo 默认模型: mimo-v2-flash
- DeepSeek 默认模型: deepseek-chat
- 豆包默认模型: doubao-pro-32k
- 其他提供商也设置了对应的默认模型
- 修复测试时使用错误模型(gpt-4o-mini)的问题
2026-01-26 14:21:45 +08:00
8ba2cae1a1 fix: 修复小米 Mimo API 端点问题并添加调试日志
- 移除无效的默认端点 api.mimo.xiaomi.com(DNS 无法解析)
- 小米 Mimo 现在要求用户在 API 端点字段中填写平台提供的自定义端点
- 添加针对小米 Mimo 的友好错误提示,引导用户访问 platform.xiaomimimo.com
- 在 JavaScript 中添加 console.log 调试输出,便于排查问题
- 改进错误处理,显示完整的 xhr 响应信息
2026-01-26 14:20:10 +08:00
4b0c5c159a fix: 修复设置页测试 AI 连通性永远报连接失败的问题
- 在所有 wp_send_json_error 和 wp_send_json_success 后添加 return 语句
- 添加 API 端点存在性检查,避免访问不存在的数组键
- 添加 stream 参数设置为 false(非流式响应)
- 添加 Accept 请求头确保返回 JSON 格式
- 使用 JSON_UNESCAPED_UNICODE 编码确保中文正确传输
- 明确设置 sslverify 为 true
- 改进错误消息显示,截断过长的响应内容
- 优化成功消息,添加'测试成功!'前缀
2026-01-26 14:12:28 +08:00
1d8baeb84a fix: 修复小米 Mimo API 请求失败的问题
- 添加 stream 参数明确设置为非流式响应
- 添加 Accept 请求头确保返回 JSON 格式
- 使用 JSON_UNESCAPED_UNICODE 编码确保中文正确传输
- 添加详细的错误日志记录便于调试
- 改进 SSL 验证设置
- 增强 argon_get_xiaomi_models 函数的错误处理
- 添加测试脚本 test-xiaomi-mimo-api.php
2026-01-26 14:07:41 +08:00
8067a54a84 chore: 清理过时的 steering 文档
删除已完成项目的临时文档:
- AI 设置重构相关文档(已完成,保留 phase-3-complete.md)
- 设置页重组相关文档(已完成,保留 settings-reorganize-complete.md)
- 多 API 管理和测试文档(已完成)
- 各阶段实施计划和测试指南(已完成)

保留的核心文档:
- code-style.md - 代码规范
- communication.md - 交流规范
- settings-page-guide.md - 设置页开发指南
- phase-3-complete.md - AI 重构完成总结
- settings-reorganize-complete.md - 设置页重组完成总结
- mermaid-removal-summary.md - Mermaid 移除总结
- username-comment-detection.md - 用户名评论检测
2026-01-26 14:01:04 +08:00
3e2becf810 fix: 统一设置页 h1 标题样式并修复文章功能分类结构
- 统一所有 h1 标题样式:margin-top: 30px, font-size: 32px
- 修复文章功能分类缺失的 h2 标题
- 确保分类结构完整(h1  h2  h3)
2026-01-26 14:00:12 +08:00
cedd977673 fix: 修复设置页 AI API 测试功能的错误处理
- 改进错误消息的显示逻辑,正确处理 wp_send_json_error 返回的数据
- 添加更详细的 AJAX 错误日志输出
- 添加测试脚本 test-api-test-function.php 用于诊断 API 测试功能
2026-01-26 13:52:26 +08:00
7af137ae91 fix: 修复 AI API 测试功能缺少 nonce 参数的问题
- 在测试 API 的 AJAX 请求中添加 nonce 参数
- 使用 wp_create_nonce('argon_test_unified_api') 生成 nonce
- 修复测试按钮点击后无法正常工作的问题
2026-01-26 13:51:14 +08:00
2de985e2a8 docs: 更新第三阶段完成文档
- 记录向后兼容代码移除完成
- 记录临时文件清理完成
- 更新最终总结和成果
- 所有三个阶段已全部完成
2026-01-26 13:49:02 +08:00
bd1e64319b refactor: 移除 functions.php 中的向后兼容代码
- 删除旧的多 API 管理函数(argon_get_provider_apis, argon_add_provider_api 等)
- 删除数据迁移函数 argon_migrate_ai_apis()
- 移除自动迁移钩子
- 简化 argon_get_ai_provider_config() 函数,移除回退逻辑
- 简化 argon_get_active_api_config() 函数,移除向后兼容逻辑
- 清理临时测试文件和脚本
2026-01-26 13:48:10 +08:00
df15aafa35 refactor: 移除 settings.php 中重复的 AI 垃圾评论识别部分
- 删除评论设置分类中的旧 AI 垃圾评论识别子分类(第 4619-5204 行)
- 保留 AI 功能部分的评论审核设置(统一管理)
- 减少 586 行重复代码
- 文件行数:7746  7160
2026-01-26 13:47:43 +08:00
04f20d43f8 feat: 更新 AI 设置选项保存逻辑
- 移除旧的 argon_ai_summary_provider 保存逻辑
- 移除旧的多 API 配置保存逻辑(10 个提供商的循环)
- 添加新的 argon_ai_summary_active_api 保存
- 添加新的 argon_ai_spam_active_api 保存
- 更新 argon_ai_summary_exclude_ids 为 argon_ai_summary_exclude_posts
- 简化评论审核相关选项保存
- 移除不再使用的旧选项保存逻辑
2026-01-26 13:43:46 +08:00
3f188b76f4 feat: 完成 AI 设置页面 UI 重构
- 移除旧的按提供商分组的 API 配置界面(约 600 行)
- 添加新的统一 API 管理界面
- 实现完整的 JavaScript 交互功能:
  - 添加/编辑/删除 API
  - 测试 API 连通性
  - 刷新模型列表
  - 场景化 API 选择
- 重新组织 AI 功能结构:
  - API 管理 (h2)
  - 文章摘要 (h2)
  - 评论审核 (h2)
- 所有 API 在一个列表中统一管理
- 不同场景可以使用不同的 API
- 文件行数:7812  7514 (-298 行)
2026-01-26 13:42:44 +08:00
2e6179a5dd feat: 实现场景化 API 配置支持(第一阶段)
- 修改 argon_ai_query() 函数,优先使用场景化的 API 配置
- 支持根据场景(summary/spam)自动选择对应的活动 API
- 保持向后兼容,如果新系统没有配置则回退到旧系统
- 实现分阶段重构方案的第一阶段:后端使用新系统,前端保持旧 UI
2026-01-26 13:28:25 +08:00
2c25caae23 feat: 添加统一 API 系统测试脚本和文档
- 创建 test-unified-api-system.php 测试脚本
- 测试功能包括:函数存在性、数据迁移、API配置、向后兼容等
- 添加阶段性实施计划文档
- 添加新 AI 设置界面草稿
2026-01-26 13:25:49 +08:00
5254ee0d8b feat: 添加统一 API 管理系统
- 添加数据迁移函数 argon_migrate_ai_apis()
- 添加统一 API 管理函数(get_all_apis, add_api, update_api, delete_api等)
- 添加场景化 API 配置(summary 和 spam 可使用不同 API)
- 更新 argon_get_ai_provider_config() 支持新数据结构
- 添加新的 AJAX 处理函数支持统一 API 管理
- 保持向后兼容,自动迁移旧数据
2026-01-26 13:21:51 +08:00
cc88188d34 feat: 优化 AI 查询页面样式和结构
- 移除表格框线,使用 border: none 和 border-collapse: collapse
- 移除 ai-alert 提示框,简化界面
- 将 AI 请求记录和 AI 查询统计独立为 h2 标题
- 统一标题样式:28px 字体,带图标,更清晰的层级结构
2026-01-26 13:11:22 +08:00
454411b5c2 fix: 修复AI查询页面时间显示的类型错误
- 为 generated_time 和 detection_time 添加空值检查
- 避免将空字符串传递给 date() 函数导致 TypeError
- 空值时显示'未知'而不是报错
2026-01-26 13:04:41 +08:00
a9259eaea1 fix: 修复 AI 查询页面时间戳类型错误
- 修复 date() 函数接收字符串而非整数的问题
- 在所有 date() 调用中使用 intval() 转换时间戳
- 修复生成时间、检测时间、记录时间的显示问题
2026-01-26 13:03:43 +08:00
33d2b23408 feat: 在AI查询页面添加统计功能
- 添加AI查询统计卡片,显示总查询次数、成功率、平均响应时间等
- 按场景统计:文章摘要、垃圾评论检测、批量检测、关键词提取
- 按服务商统计:OpenAI、Anthropic、DeepSeek、小米Mimo等
- 使用AJAX动态加载统计数据
- 仅对管理员可见
- 统计数据来自wp_argon_ai_query_log表
2026-01-26 13:00:08 +08:00
31e55648cb feat: 批量检测集成统一接口并添加AI查询统计页面
- 修改 argon_batch_detect_spam_comments() 使用统一的 argon_ai_query() 接口
- 删除旧的 argon_call_ai_api_for_batch_spam_detection() 函数
- 添加 argon_register_ai_query_stats_page() 注册统计页面
- 添加 argon_render_ai_query_stats_page() 渲染统计页面
- 统计页面显示总查询次数、成功率、平均响应时间、失败次数
- 按场景和服务商分别统计查询数据
- 显示最近30天的查询趋势
- 在 settings.php 的 AI 摘要设置中添加查看统计链接

统计页面功能:
- 总览卡片:总查询次数、成功率、平均响应时间、失败次数
- 按场景统计:文章摘要、垃圾评论检测、批量检测等
- 按服务商统计:OpenAI、Claude、DeepSeek 等
- 查询趋势:最近30天每日查询数据
2026-01-26 12:58:41 +08:00
5bfe6a0e70 feat: 实现统一的 AI 查询组件
- 创建 wp_argon_ai_query_log 数据表记录所有 AI 查询
- 实现 argon_ai_query() 统一查询接口
- 实现 argon_log_ai_query() 记录函数
- 实现 argon_get_ai_query_stats() 统计函数
- 添加 argon_ajax_get_ai_query_stats() AJAX 处理函数
- 修改 argon_generate_ai_summary() 使用新的统一接口
- 修改 argon_detect_spam_comment_sync() 使用新的统一接口
- 添加测试脚本 test-ai-query-component.php

记录内容包括:
- 查询时间、服务商、模型、使用场景
- 提示词长度、内容长度、响应长度
- 响应时间(毫秒)
- 状态(成功/失败)、错误信息
- 关联的文章ID、评论ID、用户ID

支持的场景:
- summary - 文章摘要
- spam_detection - 垃圾评论检测
- keyword_extraction - 关键词提取
2026-01-26 12:51:18 +08:00
c37e8da986 feat: 完成统一 AI 查询组件的集成
- 更新 argon_detect_spam_comment_sync() 使用统一接口
- 更新 argon_extract_keywords_from_comment() 使用统一接口
- 删除旧的 argon_call_ai_api_for_spam_detection() 函数
- 删除旧的 argon_call_ai_for_keyword_extraction() 函数
- 所有 AI 查询现在都通过 argon_ai_query() 统一接口
- 所有查询都会记录到 wp_argon_ai_query_log 数据表
- 支持按场景统计(summary/spam_detection/keyword_extraction)
2026-01-26 12:49:49 +08:00