Commit Graph

357 Commits

Author SHA1 Message Date
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
f4122f5880 style: 移除 AI 查询页面表格边框线
- 移除表格外边框和内部分隔线
- 保留表头渐变背景
- 保持 hover 效果和交互体验
- 让表格看起来更简洁现代
2026-01-23 17:07:48 +08:00
ded2740f6f style: 优化 AI 查询页面表格样式和文本显示
- 修复信息网格 hover 状态(移除默认背景,hover 时添加背景)
- 优化表格样式:添加圆角边框、渐变表头、hover 动画效果
- 优化表格文本显示:
  * 类型徽章添加图标(文章摘要/评论检测)
  * 时间格式简化(Y-m-d H:i)
  * 标题添加 hover 效果(变为主题色)
  * 识别码添加背景和字间距
- 增强表格交互体验:hover 时行向右平移 2px
2026-01-23 17:06:45 +08:00
31adb00621 style: 优化 AI 查询页面显示样式
- 增大识别码字体和间距,更醒目
- 优化信息网格样式,添加边框和悬停效果
- 统一子标题样式,添加左侧装饰条
- 优化内容框样式,添加左侧主题色边框
- 增强状态徽章样式,更清晰的视觉反馈
- 优化输入框样式,更好的聚焦效果
- 改进响应式布局,移动端更友好
2026-01-23 16:59:01 +08:00
8c5039c933 feat: AI 查询页面显示完整的检测结果
- 添加用户名审查状态显示
- 添加置信度百分比显示
- 添加处理建议显示
- 添加综合分析内容显示
- 管理员记录弹窗同步显示完整信息
2026-01-23 16:53:33 +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
c0e21840f1 fix: 修复评论提交后表单状态未清除的问题
- 将表单重置代码移到 success 回调的最前面,确保优先执行
- 将表单重置与 UI 更新(插入评论、滚动)分离,避免异常影响表单重置
- 确保评论内容、验证码、Geetest 状态都能正确清除
- 修复需要刷新页面才能再次发送评论的问题
2026-01-23 16:41:02 +08:00
882ca001dc feat: 优化 AI 垃圾评论检测 Prompt,增强安全性和准确性
- 参考专业 Prompt 优化三种模式(极简/标准/增强)
- 明确角色定位:严谨的内容安全专家
- 细化审核标准:广告营销、违规信息、恶意内容、垃圾填充
- 添加注入防护:防止 Prompt 注入攻击
- 优化输出规范:统一 JSON 格式,字段明确
- 优化自动处理逻辑:根据置信度和建议智能决策
- 置信度不足时标记为待审核,避免误杀
- 所有检测结果保存置信度、建议和综合分析
2026-01-23 16:29:27 +08:00
bbe94f9073 chore: 删除临时优化脚本 2026-01-23 16:23:05 +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
5c636a241f feat: 添加 AI 垃圾评论检测的智能化配置选项
- 添加 Prompt 模式选择(极简/标准/增强/自定义)
- 添加自动处理置信度阈值设置
- 极简模式:省 token,快速检测(100-150 tokens)
- 标准模式:平衡准确性和成本(200-300 tokens)
- 增强模式:多维度分析,更准确(300-500 tokens)
- 支持根据置信度智能判断是否自动处理
- 提供不同规模博客的配置建议
2026-01-23 16:20:26 +08:00
167340217f fix: 移除 AI 内容查询页面中的 emoji 图标
- 移除所有区块标题中的 emoji(评论信息、评论内容、AI 检测结果等)
- 移除状态标签中的 emoji(已通过、待审核、回收站、垃圾评论)
- 移除自动操作中的 emoji(已移入回收站、已标记为待审核等)
- 移除功能说明提示中的 emoji
- 保持简洁的文字显示,提升兼容性
2026-01-23 16:13:10 +08:00
f183e03878 feat: 优化 AI 内容查询页面的显示信息
- 添加页面副标题,说明功能用途
- 优化错误提示,增加标题和更清晰的说明
- 为各个区块标题添加表情图标,提升视觉识别度
- 优化字段标签命名(文章标题标题、评论状态当前状态等)
- 为状态和操作添加表情图标(、、、等)
- 优化功能说明文案,添加使用提示
- 管理员记录区添加专属标识
- 评论内容和摘要内容支持换行显示(nl2br)
- 文章 ID 和评论 ID 添加 # 前缀
- 调整字段顺序,将作者信息提前显示
2026-01-23 16:11:53 +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
776cecd9e7 fix: 删除邮件模板设置中的重复行 2026-01-23 15:59:26 +08:00
e76d346c4b feat: 优化邮件模板设置界面
- 修改输入框默认值为空,避免显示灰色占位文本
- 优化占位符提示,显示占位符说明
- 添加默认模板预览区域
- 优化占位符样式,使用不同颜色区分
- 添加更清晰的说明文字
2026-01-23 15:58:43 +08:00
4712cb469c refactor: 清理孤立代码
- 删除未使用的邮件模板类型(user_register, password_reset, general)
- 删除 style.css 中未使用的 .shortcode-todo 样式(约30行)
- 保留 todo_urge 邮件类型(有实际使用)
- 减少约 120 行冗余代码
2026-01-23 15:49:46 +08:00
f2c807edf0 feat: 移除所有文章加载动画相关代码
- 移除pjax:afterGetContainers中的加载动画逻辑
- 移除pjax:beforeReplace中的动画清理代码
- 删除CSS中的loading-css-animation样式
- 删除CSS中的loading-dot动画样式
- 删除CSS中的post-pjax-loading相关样式
- 删除CSS中的post-list-pjax-loading相关样式
- 删除loading-animation关键帧动画
2026-01-23 15:45:57 +08:00
5ee608537e fix: 完善文章加载动画的状态恢复逻辑
- 在pjax:beforeReplace中恢复所有隐藏卡片的opacity和pointer-events
- 确保页面切换后所有卡片都能正常显示和交互
- 保持无!important的纯净实现方式
2026-01-23 15:40:24 +08:00
c3acaea5e2 fix: 移除important并通过禁用transition解决问题
- 找到根本原因:post-preview的transition: all导致opacity被动画恢复
- 解决方案:临时禁用transition,设置opacity,然后恢复
- 添加footer隐藏功能
- 让被点击的卡片居中显示
- 清理时恢复footer和卡片位置
2026-01-23 15:37:57 +08:00
85af3dcdd1 fix: 通过attr设置style添加important强制隐藏
- 使用attr方法直接修改style属性
- 添加!important确保优先级最高
- 移除调试日志,保持代码简洁
- 这是最终解决方案
2026-01-23 15:32:03 +08:00
d0fff9952e fix: 使用JavaScript强制隐藏其他文章卡片
- 添加直接CSS操作强制设置opacity为0
- 将opacity检查延迟100ms,等待CSS生效
- 这样可以绕过CSS选择器优先级问题
- 保留调试日志用于后续优化
2026-01-23 15:28:34 +08:00
6fad1244a8 fix: 移除important并添加详细调试日志
- 移除CSS中的!important,避免叠屎山
- 添加详细的console.log调试信息
- 输出每个卡片的opacity值和loading状态
- 方便通过浏览器控制台定位问题
2026-01-23 15:16:50 +08:00
aed0fb5c47 fix: 增强CSS选择器优先级并添加调试日志
- 为所有opacity相关CSS规则添加!important确保优先级
- 为.post-pjax-loading添加position: relative
- 添加console.log调试信息,方便排查问题
- 严格遵守设置项,只在启用进入文章动画时生效
2026-01-23 13:59:46 +08:00
dc11338ca2 fix: 修复文章加载动画功能无论是否启用都能正常工作
- 修改CSS选择器从.post-preview改为.post,匹配所有文章卡片
- 修改JavaScript选择器从article.post-preview改为article.post
- 添加#main.article-list限定,只在文章列表页生效
- 修复清理代码,确保能正确移除所有文章的加载状态
2026-01-23 13:50:36 +08:00
74c32d8faf fix: 修复文章加载动画时其他文章卡片未隐藏的问题
- 为.post-preview.post-pjax-loading添加z-index提升层级
- 为.post-list-pjax-loading .post-preview添加过渡动画
- 添加更高优先级的选择器确保被点击的卡片保持可见
- 为说说预览容器添加过渡动画效果
2026-01-23 13:44:33 +08:00
180a1f0068 feat: 已完成任务默认折叠
- 移动端和桌面端的已完成任务分隔栏默认添加collapsed类
- 所有已完成的任务项默认添加collapsed类
- 用户可以点击分隔栏展开查看已完成任务
- 提升TODO列表的简洁性和可读性
2026-01-23 13:24:50 +08:00
d1ad2d33b5 fix: 删除TODO列表中多余的endif标签
- 移动端:删除第243行多余的<?php endif; ?>
- 桌面端:删除第954行多余的<?php endif; ?>
- 修复'unexpected token endif'语法错误
- 正确的结构:if(empty) -> else -> endif 闭合empty判断
2026-01-23 13:20:33 +08:00
c64dc0c9d6 fix: 修复TODO列表PHP语法错误
- 移动端TODO列表:在第243行添加缺失的<?php endif; ?>
- 桌面端TODO列表:在第954行添加缺失的<?php endif; ?>
- 修复'unexpected end of file'和'unexpected token endif'语法错误
- 确保所有if-else-endif标签正确配对
2026-01-23 13:17:24 +08:00
53a2f7afb5 fix: 删除移动端TODO中多余的endif
- 删除了第242行多余的<?php endif; ?>
- 修复'unexpected token endif'语法错误
- 确保条件语句层级正确匹配
2026-01-23 13:15:20 +08:00
b9e9f3dad4 fix: 修复移动端TODO缺少endif导致的PHP语法错误
- 在移动端TODO列表的</ul>后添加缺失的<?php endif; ?>
- 修复了'unexpected end of file'的语法错误
- 确保所有PHP条件语句都正确闭合
2026-01-23 13:13:29 +08:00
2de0cfb8de refactor: 将TODO折叠按钮移至未完成任务下方
- 折叠按钮现在作为已完成任务区域的分隔栏显示
- 分隔栏包含已完成图标、文字和数量徽章
- 点击分隔栏可折叠/展开已完成任务
- 桌面端和移动端都采用相同的设计
- 优化了视觉层次,更符合用户使用习惯
2026-01-23 13:09:56 +08:00
9f8b560d20 feat: 为TODO列表添加折叠已完成任务功能
- 添加折叠/展开已完成任务的按钮,显示已完成数量
- 实现流畅的折叠展开动画效果(高度、透明度、位移)
- 优化删除和完成任务的动画,增加缩放效果
- 同时支持桌面端和移动端
- 折叠按钮在没有已完成任务时自动隐藏
- 使用 CSS transition 实现平滑的进入退出动画
2026-01-23 13:04:43 +08:00
7d3dd6e2a6 fix: 修复长文章下文章背景的毛玻璃效果失效问题
- 将 article.post.card 的 overflow 从 hidden 改为 visible
- overflow: hidden 会创建新的层叠上下文,阻止 backdrop-filter 正常工作
- 修复后长文章的毛玻璃背景效果可以正常显示
2026-01-23 12:52:50 +08:00
00a6ee0db2 fix: 修复评论提交后无法再次提交的问题
- 评论提交成功后调用 geetestCaptcha.reset() 重置验证码实例
- 清空数学验证码输入框(之前错误地自动填充答案)
- 确保用户可以连续提交多条评论而无需刷新页面
2026-01-22 18:58:09 +08:00
0290c4fea9 fix: 修复评论只能提交一次的问题
- 将 AI 检测改回异步执行(延迟 1 秒)
- 避免同步执行阻塞评论提交流程
- 确保评论元数据先保存完成
2026-01-22 18:52:54 +08:00
2e73a1e209 docs: 更新用户名-评论联合检测文档
- 添加立即同步执行说明
- 添加管理员查看原用户名功能说明
- 添加前台删除评论功能说明
- 更新相关函数列表
2026-01-22 18:43:00 +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
54f2214a6a feat: 新增管理员查看 AI 请求历史记录功能
- 在 AI 内容查询页面底部添加管理员可见的历史记录列表
- 显示最近 50 条 AI 文章摘要和垃圾评论检测记录
- 支持点击记录查看详细信息的弹窗
- 记录按时间倒序排列,包含类型、识别码、标题和时间
- 弹窗显示完整的 AI 请求详情,包括生成内容、模型信息等
- 仅管理员可见,普通用户不受影响
2026-01-22 18:23:05 +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
0e9ef6f2b2 fix: 修复桌面端文章目录滚动跟随问题
- 在 headIndex 插件中添加 defaultExpanded 选项支持
- 修改 current 方法,当 defaultExpanded 为 true 时不折叠其他子项
- 在 sidebar.php 中配置 defaultExpanded: true
- 添加目录容器自动滚动功能,确保当前项保持在可视区域
- 添加独立的 window scroll 监听和 PJAX 后更新逻辑
2026-01-22 16:33:51 +08:00
f7c587c03e fix: 增强桌面端文章目录滚动跟随功能
- 添加独立的 window scroll 事件监听,确保滚动时触发更新
- 获取 headIndex 实例并手动调用 updateCurrent 方法
- 添加 PJAX 完成后的目录更新逻辑
- 使用节流优化滚动性能(100ms 延迟)
2026-01-22 16:31:12 +08:00
a79329547b fix: 修复桌面端文章目录没有自动滚动跟随的问题
- 添加 indexScrollBoxSelector 配置项,指向侧边栏滚动容器
- 添加 scrollSelector 和 scrollWrap 配置,确保滚动监听正常工作
- 设置 defaultExpanded 为 true,保持目录子项默认展开
- 修复目录高亮后无法自动滚动到可视区域的问题
2026-01-22 16:25:36 +08:00
0ae1472e79 fix: 修复开启进入文章动画时文章加载不正常的问题
- 在 pjax:beforeReplace 事件中清理文章列表的 PJAX 加载状态
- 移除 post-preview 元素的 loading 动画和 transform 样式
- 清理 post-list-pjax-loading 类,避免影响新页面
- 优化 post-full 动画,添加 transform-origin 确保动画流畅
- 通过 :not(.no-animation) 选择器支持禁用动画的场景
2026-01-22 15:57:22 +08:00
862f3901b1 fix: 修复侧边栏滚动逻辑
- 站点概览标签:移除滚动,高度锁死不滚动
- 文章目录标签:只有这个标签才启用滚动功能
- 移除leftbar_part2_inner的滚动,改为只在文章目录标签上滚动
- TODO栏:简化布局,移除flexbox,直接在card-body上设置max-height和滚动
- TODO栏在任何状态下都限制最大高度为50vh并可滚动
2026-01-22 15:52:23 +08:00
da3a2a0dd8 fix: 修复侧边栏滚动问题的遗留bug
- 修复孤立的width: 6px导致滚动条样式失效
- 移除todo-list-scroll的max-height: none限制
- 将TODO列表的滚动控制权交给card-body
- 确保非停靠状态下TODO栏正确显示滚动条
2026-01-22 15:48:50 +08:00