|
|
54cbb400b9
|
feat: 移除 Mermaid 支持并创建需求文档
- 从 settings.php 移除 Mermaid 设置项和选项保存逻辑
- 从 functions.php 移除 Mermaid 代码块预处理函数
- 从 footer.php 移除 Mermaid 加载和渲染代码
- 从 style.css 移除 Mermaid 图表样式
- 删除本地镜像文件 assets/vendor/external/mermaid/
- 创建 mermaid-support-requirements.md 需求文档
原因:WP-Markdown 编辑器保存的 Markdown 源文件中 Mermaid 代码是一整行,
没有真正的换行符,导致 Mermaid 解析器持续报错。所有尝试的解决方案均失败。
需求文档中详细说明了问题原因和推荐的替代方案。
|
2026-01-23 22:11:09 +08:00 |
|
|
|
5704531a4d
|
fix: correct condition check in argon_format_mermaid_code
|
2026-01-23 22:00:21 +08:00 |
|
|
|
ccd3cfa877
|
feat: add PHP preprocessing for Mermaid code blocks
- Add argon_format_mermaid_code filter in functions.php
- Decode WP-Markdown escape characters in PHP
- Auto-add newlines for single-line mermaid code
- Simplify JavaScript rendering logic
- Use data-mermaid-code attribute for preprocessed code
- Remove debug console.log statements
|
2026-01-23 21:56:30 +08:00 |
|
|
|
3a4136acbf
|
fix: 优化 Mermaid 换行符处理 - PHP 端添加关键字后自动插入换行符 - 使用 data-mermaid-code 属性传递原始代码 - JS 端优先读取 data 属性 - 添加更详细的调试日志
|
2026-01-23 19:21:05 +08:00 |
|
|
|
b7aac3633e
|
fix: 在 PHP 端处理 Mermaid 代码块换行符 - 在 the_content_filter 中添加 Mermaid 预处理 - 使用正则表达式匹配代码块 - 解码 HTML 实体并重新编码 - 确保换行符在输出时保留
|
2026-01-23 19:17:57 +08:00 |
|
|
|
a38f168909
|
refactor: 移除智能预审查,改为先保存后检测
- 移除所有智能预审查相关的设置和代码
- 评论先保存到数据库并标记为待审核状态
- AI 检测在评论保存后异步进行
- 检测完成后根据结果更新评论状态
- 避免误杀正常评论,提升用户体验
- 所有需要检测的评论都会显示为审核中
|
2026-01-23 18:32:54 +08:00 |
|
|
|
777e98e17e
|
fix: 修正关键字必查模式的检测逻辑
- 关键字必查模式:只检测触发关键字的评论
- 智能抽查模式:关键字触发或随机抽查
- 全量检测模式:检测所有评论,关键字触发时优先标记
- 优化检测逻辑,使各模式职责更清晰
|
2026-01-23 18:01:10 +08:00 |
|
|
|
97836994e5
|
feat: 添加 AI 垃圾评论检测的设置页选项
- 关键字必查:触发关键字后立即 AI 审核
- AI 主动学习:自动分析管理员决策并优化关键字
- 学习到的关键字:显示 AI 学习的关键词统计
- 智能预审查:在评论保存前进行 AI 审查
- 添加同步检测函数支持预审查功能
|
2026-01-23 17:54:16 +08:00 |
|
|
|
225a9257ae
|
feat: AI 垃圾评论检测增强 - 关键字必查和主动学习
- 新增关键字必查机制:触发关键字后立即同步 AI 审核
- 新增 AI 主动学习功能:自动分析误判和漏判,优化关键字列表
- 修复邮件中用户名问题:重新获取评论对象确保使用最新用户名
- 关键字触发的检测优先级最高,立即执行不延迟
- AI 学习的关键字置信度 > 0.7 且出现 >= 3 次自动加入关键字列表
|
2026-01-23 17:19:39 +08:00 |
|
|
|
2bf800a13b
|
fix: 修复 AI 垃圾评论检测时邮件提前发送的问题
- 在发送回复通知邮件前检查评论是否被标记为垃圾
- 在发送管理员通知邮件前检查评论是否被标记为垃圾
- 启用 AI 检测时延迟邮件发送至 5 秒,确保 AI 检测先完成
- 垃圾评论不再发送邮件通知,避免垃圾评论达到骚扰目的
|
2026-01-23 17:12:40 +08:00 |
|
|
|
b3cd3747d3
|
fix: 修复 AI 审查历史记录只显示评论审查的问题
- 在批量扫描结果中添加 username_invalid 字段
- 区分显示评论审查和用户名审查
- 在理由前添加审查类型标识(评论审查/用户名审查)
- 保存完整的检测结果到评论元数据
|
2026-01-23 16:49:44 +08:00 |
|
|
|
6f78be2312
|
fix: 统一删除评论按钮样式
- 将删除按钮从 btn-outline-danger 改为 btn-outline-primary
- 与置顶、编辑、回复按钮保持一致的样式
|
2026-01-23 16:43:16 +08:00 |
|
|
|
882ca001dc
|
feat: 优化 AI 垃圾评论检测 Prompt,增强安全性和准确性
- 参考专业 Prompt 优化三种模式(极简/标准/增强)
- 明确角色定位:严谨的内容安全专家
- 细化审核标准:广告营销、违规信息、恶意内容、垃圾填充
- 添加注入防护:防止 Prompt 注入攻击
- 优化输出规范:统一 JSON 格式,字段明确
- 优化自动处理逻辑:根据置信度和建议智能决策
- 置信度不足时标记为待审核,避免误杀
- 所有检测结果保存置信度、建议和综合分析
|
2026-01-23 16:29:27 +08:00 |
|
|
|
731894f1cd
|
feat: 实现 AI 垃圾评论检测的智能化核心功能
- 添加 argon_get_spam_detection_prompt() 函数,支持三种 Prompt 模式
- 添加 argon_build_comment_context() 函数,构建评论上下文
- 极简模式:快速检测,理由简短,省 token
- 标准模式:详细审核标准,包含置信度和处理建议
- 增强模式:多维度分析,包含综合分析说明
- 上下文增强:包含文章信息和用户历史
- 支持 AI 返回置信度(0-1)和处理建议(auto/review/approve)
- 支持综合分析字段,用于边缘情况的详细说明
|
2026-01-23 16:22:16 +08:00 |
|
|
|
e5ec3de81f
|
fix: 修复评论时间显示不一致的问题
- 将 human_time_diff() 的两个参数统一使用 GMT 时间戳
- get_comment_time('U', true) 返回 GMT 时间戳
- current_time('timestamp', true) 返回 GMT 时间戳
- 确保时间差计算使用相同时区,避免时区转换导致的时间偏差
- 修复了刚发送的评论显示为 8 小时前的问题
|
2026-01-23 16:06:41 +08:00 |
|
|
|
0290c4fea9
|
fix: 修复评论只能提交一次的问题
- 将 AI 检测改回异步执行(延迟 1 秒)
- 避免同步执行阻塞评论提交流程
- 确保评论元数据先保存完成
|
2026-01-22 18:52:54 +08:00 |
|
|
|
adf3852a74
|
feat: 完善用户名-评论联合检测功能
- 改为立即同步执行 AI 检测,不再延迟
- 管理员可看到原用户名:用户-XXXXXXXX (原用户名: xxx)
- 添加前台删除评论功能(仅管理员可见)
- 删除按钮使用红色 outline-danger 样式
- 删除前弹出确认对话框
- 删除后淡出动画并移除评论元素
- 完整的成功/失败提示
|
2026-01-22 18:41:44 +08:00 |
|
|
|
87f7374876
|
fix: 修复 functions.php 语法错误
- 删除第 7513-7544 行重复的代码片段
- 修复 Unmatched '}' 错误
- 该重复代码导致函数外出现孤立的代码块
|
2026-01-22 18:28:33 +08:00 |
|
|
|
86e9336149
|
fix: 用户名不合规且未留邮箱时直接移入回收站
- 评论内容不合规:按原有设置处理(回收站/待审核/仅标记)
- 用户名不合规且未留邮箱:直接移入回收站
- 用户名不合规但留了邮箱:修改用户名并发送通知邮件
- 记录详细的检测结果和处理原因
|
2026-01-22 18:19:41 +08:00 |
|
|
|
aeebf39a59
|
feat: 实现用户名-评论联合检测机制
- 修改 AI 检测提示词,同时判断用户名和评论内容合规性
- 评论合规但用户名不合规时,自动生成唯一随机用户名(用户-XXXXXXXX)
- 基于用户名、IP、UA 生成8位唯一标识码
- 发送邮件通知用户名变更,包含原因和新用户名
- 创建用户名变更通知邮件模板
- 保存原始用户名到评论元数据
- 兼容旧格式 API 响应
- 增加 max_tokens 到 150 以支持更详细的响应
|
2026-01-22 18:17:39 +08:00 |
|
|
|
e01490a0f8
|
feat: 邮件社交链接支持 Bilibili 和自动补全
- 在邮件设置中添加 Bilibili 社交链接输入框
- 实现社交链接自动补全功能(支持只填写用户名/UID)
- 添加 argon_normalize_social_url() 函数处理链接标准化
- 更新邮件模板基础文件支持 Bilibili 显示
- 支持的平台:Twitter、GitHub、微博、Bilibili、Facebook、Instagram
|
2026-01-22 13:41:28 +08:00 |
|
|
|
4543ceb045
|
feat: 邮件系统优化和垃圾评论通知
- 移除所有邮件模板中的 emoji,表述正式化
- 为所有用户邮件添加退订功能支持
- 新增垃圾评论通知邮件模板(spam_notify)
- 检测到垃圾评论时自动发送邮件给评论者
- 邮件包含识别理由、AI 模型、服务提供商、识别码等信息
- 提供查询识别详情和退订链接
|
2026-01-22 13:35:23 +08:00 |
|
|
|
03ce925ec4
|
feat: AI 垃圾评论检测支持识别码查询
- 为每个检测过的评论生成唯一的 8 位识别码
- 识别码由数字和大写字母组成(排除 I、O)
- 扩展 ai-summary-query.php 支持查询垃圾评论检测记录
- 显示评论信息、检测结果、AI 模型等详细信息
- 批量检测时也为所有评论生成识别码
- 所有 AI 相关内容均可通过识别码在 /ai-query 页面查询
|
2026-01-22 13:25:05 +08:00 |
|
|
|
703b2d4e15
|
fix: 避免重复检测已检测过的评论
- 实时检测前检查评论是否已有检测记录
- 异步检测开始时再次检查,避免并发重复检测
- 检测完成后立即记录检测时间(无论成功失败)
- 全站扫描自动过滤已检测过的评论
- 批量检测后为所有评论(包括正常评论)记录检测时间和结果
- 对 AI 未返回结果的评论也标记为已检测
|
2026-01-22 13:21:58 +08:00 |
|
|
|
c0fa3d2352
|
fix: 优化评论发送速度和邮件通知系统
- AI 垃圾评论检测改为异步执行(延迟 2 秒),避免阻塞评论发送
- 站长评论通知改用邮件模板系统发送
- 站长评论通知邮件包含 AI 审核信息(识别结果、理由、识别码)
- 禁用 WordPress 默认的评论通知邮件
- 邮件模板系统支持 Mustache 条件语法({{#variable}}...{{/variable}})
- 评论发送、AI 审核、邮件通知全部异步并行处理
|
2026-01-22 13:14:23 +08:00 |
|
|
|
5150b67339
|
feat: 完善 AI 垃圾评论识别设置项
- 抽查基础概率可配置(默认 20%,可调整 1-100%)
- 新增自动处理方式选项(移入回收站/标记待审核/仅标记)
- 新增白名单功能(支持邮箱和 IP 地址)
- 新增提示词预设模板选择(默认/严格/宽松/极简)
- 实现白名单检查逻辑,白名单中的评论不会被检测
- 根据自动处理方式设置处理垃圾评论(trash/hold/mark)
- 保存所有新增设置项到数据库
|
2026-01-22 13:01:18 +08:00 |
|
|
|
2f7040ef0f
|
feat: 实现智能动态抽查机制
- 新增基于用户历史通过率的动态抽查概率调整
- 通过率高的用户降低抽查概率(最低 5%)
- 通过率低的用户提高抽查概率(最高 80%)
- 用户统计数据保存 30 天,自动过期
- 支持三种检测模式:手动、智能抽查、全量实时
- 优化设置页面说明,详细展示抽查概率调整规则
|
2026-01-22 12:53:18 +08:00 |
|
|
|
2b1bcbf8f9
|
refactor: 优化 AI 垃圾评论识别为批量检测模式
- 改为一次性将所有评论打包发送给 AI 检测
- 大幅降低 API 调用次数和成本
- 移除逐条检测和进度轮询机制
- 优化前端交互,直接等待批量检测结果
- 增加超时时间以适应批量处理
- 优化结果展示界面,增加视觉反馈
|
2026-01-22 12:49:24 +08:00 |
|
|
|
55d10e8c20
|
feat: 添加 AI 垃圾评论识别功能
- 在评论设置中新增 AI 垃圾评论识别配置项
- 支持三种检测模式:仅手动、抽查(20%)、全量检测
- 实现全站评论扫描和待审核评论扫描功能
- 自动识别广告、反动、违法等垃圾评论并移入回收站
- 复用现有 AI 摘要的服务商配置和 API 密钥
- 提供可视化扫描进度和结果展示
- 支持跳过已登录用户评论的选项
- 优化提示词以降低 token 消耗
|
2026-01-22 12:42:26 +08:00 |
|
|
|
75bc8ab147
|
feat: 集成性能优化模块到管理员调试控制台
- 修改 ArgonDebug 输出方法,支持模块标识前缀
- 为不同模块添加标识:DOM缓存、事件管理、渲染优化、性能监控
- 在管理员控制台的缓存清理功能中添加性能优化模块清理
- 清理 DOM 缓存、事件监听器、内存管理器、渲染优化器
- 优化日志输出,所有日志现在会显示来源模块
|
2026-01-22 09:56:32 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
9aacd2b15d
|
fix: 恢复主题函数文件
|
2026-01-20 16:17:42 +08:00 |
|
|
|
25fd3891a3
|
feat: 重构评论点赞系统,支持取消点赞
- 改用 IP + User-Agent 哈希识别用户,登录用户使用 user_id
- 服务端存储点赞用户列表,而非简单计数
- 同一用户只能点赞一次,再次点击可取消点赞
- 移除 Cookie 依赖,避免 IP 变化导致重复点赞
- 已点赞按钮 hover 时显示可点击状态
|
2026-01-16 22:24:34 +08:00 |
|
|
|
f25eb17d3e
|
fix: 修复 lazyload 懒加载功能无法使用的问题
- functions.php: 重写 argon_lazyload 函数,使用 data-src 存储原始图片地址
- functions.php: 添加占位图和 lazyload 类,恢复加载动画样式支持
- functions.php: 恢复 argon_enable_lazyload 设置项检查
- argontheme.js: 使用 IntersectionObserver 实现真正的懒加载
- argontheme.js: 支持 fadeIn/slideDown 加载效果和自定义阈值
- header.php: 恢复 lazyload 相关配置项传递给 argonConfig
|
2026-01-16 19:50:14 +08:00 |
|
|
|
aed4b945a7
|
feat: 调试控制台添加清除网站缓存功能
- 在控制台头部添加清除缓存按钮
- 清除 localStorage 和 sessionStorage
- 清除 Service Worker 缓存
- 注销已注册的 Service Worker
- 清除后提示用户是否刷新页面
- 显示清除的缓存项数量
|
2026-01-16 15:47:11 +08:00 |
|
|
|
720ab20440
|
revert: 回档到 b613e01,保留 code-style 规范文档
|
2026-01-16 14:57:54 +08:00 |
|
|
|
233edd2441
|
refactor: 深度代码规范化
- argontheme.js: 将 89 个 var 声明改为 let (保留 3 个全局变量)
- functions.php: 修复 106 处箭头操作符空格问题 (-> 前后不应有空格)
- functions.php: 移除多余空行
|
2026-01-16 11:25:24 +08:00 |
|
|
|
8885a85ce2
|
fix: 调试控制台仅对管理员可见
- argon_debug_console_footer_button() 添加管理员权限检查
- argon_debug_console_script() 添加管理员权限检查
|
2026-01-16 00:26:28 +08:00 |
|
|
|
6b7466f42b
|
fix: 修复代码错误和优化重复调用
- 修复 argon_get_locate() 函数缺失返回语句的问题
- 优化 content-single.php 中重复的 get_option 调用(4次→1次)
- 优化 content-page.php 中重复的 get_option 调用(4次→1次)
- 优化 content-timeline.php 中重复的 get_option 调用(4次→1次)
- 优化 post-actions.php 中重复的 get_option 调用(4次→1次)
|
2026-01-16 00:23:36 +08:00 |
|
|
|
6015f074cb
|
fix: 修复发版前代码质量问题
- 修复 functions.php 中 get_article_words() 函数的逻辑错误:循环中检查 $str 改为 $line
- 修复 argontheme.js 中 reply() 函数的 null/undefined 访问风险:添加元素存在性检查
- 修复 argontheme.js 中潜在的 XSS 风险:使用 .text() 替代 .html() 输出用户内容
- 修复 functions.php 中 post_analytics_info() 使用 HTTP 改为 HTTPS
- 删除临时分析文件(不应包含在发版中)
|
2026-01-16 00:03:17 +08:00 |
|
|
|
0547e165ab
|
debug: 添加更多调试日志,调试控制台支持长按复制
- 在侧边栏打开事件中添加日志
- 调试控制台日志项支持长按复制(移动端)
- 复制时显示绿色高亮反馈
|
2026-01-15 23:41:10 +08:00 |
|
|
|
51fd03f675
|
feat: 调试控制台添加资源标签页显示所有文件版本信息
- 新增资源标签页,显示页面加载的所有CSS/JS资源
- 显示每个资源的版本号、大小、缓存状态
- 显示强制刷新功能的启用状态
- 统计总资源数、CSS/JS数量、传输大小、缓存命中数
- 顶部信息栏增加Assets版本号显示
|
2026-01-15 23:01:30 +08:00 |
|
|
|
17f3a3c551
|
fix: 增强强制刷新缓存功能 - 添加HTTP禁止缓存头和前端缓存清除
|
2026-01-15 22:49:57 +08:00 |
|
|
|
b1d84e3bbd
|
feat: 添加强制刷新缓存功能
- 在设置页杂项部分添加强制刷新缓存按钮
- 启用后所有资源文件(CSS/JS)将附加时间戳参数
- 1小时后自动关闭,避免服务器压力
- 解决手机端浏览器缓存导致样式或功能无法更新的问题
- 支持实时倒计时显示剩余时间
|
2026-01-15 22:43:27 +08:00 |
|
|
|
14edc70512
|
fix: 支持无.git环境的版本信息显示
- 新增 version.json 文件存储版本信息
- argon_get_git_info() 优先从 version.json 读取
- 解决服务器无法推送 .git 目录导致版本号不更新的问题
|
2026-01-15 17:06:48 +08:00 |
|
|
|
5ecbacb691
|
fix: 修复移动端浏览器HTML页面缓存问题
- 添加移动端缓存控制头,禁止浏览器缓存HTML页面
- 使用 Cache-Control: no-cache, no-store, must-revalidate
- 仅对移动端前台页面生效,不影响后台和桌面端
|
2026-01-15 17:02:23 +08:00 |
|