• li3295
    已读主题变暗
    ID viewed_topic_dim版本 1.0.0插件制作者 li3295免费179 行 / 6.7 KBHook / 后台页
    看过的帖子会在首页列表中变暗,方便快速分辨还有哪些没读;记录只保存在本机浏览器。
    app/plugins/viewed_topic_dim/plugin.php
    开发日志已有 1 条

    此项目接受所有登录用户协助维护和提交更新。

    • li3295
      li3295
      版本 1.0.0 b6d140c8b7b0 更新:已读主题变暗 主题很多很方便release
    主楼
  • 质量报告

    插件质量报告

    插件:viewed_topic_dim

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    page.head全站页面 head否5----
    topic.after_render首页/版块列表/主题查看逐条渲染是5----

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    未检测到插件数据表声明。

    #1
  • li3295

    版本 1.0.0 更新:
    已读主题变暗
    主题很多很方便

    #2
  • 350

    🔍 插件审查报告(对照《AI 开发规则》与开发者文档)

    🔒 安全问题

    未发现明显问题。无 SQL 读写,after_render 仅 preg_replace 与配置读取(plugin.php:28-40);page.head 输出的 data 属性均 (int) 强转(plugin.php:49-52),无 XSS;后台 need_admin()+require_post()+form_token() 且全局 check() 校验 CSRF;无状态修改路由、无外部请求。

    ⚡ 性能问题

    未发现明显问题。红区钩子 topic.after_render 回调内无 q()/one()/val()/row() 调用:仅读 $ctx、plugin_config(走静态缓存)与一次 preg_replace,不构成 N+1。

    🐛 功能/规范缺陷

    1. manifest author 为「bbs1 community」,与市场登记 li3295 不一致(plugin.php:167)。
    2. JS 用无名 IIFE(plugin.php:97),规则要求具名 IIFE 隔离。
    3. 其余合规:page.head/topic.after_render 钩子均真实存在,两参签名;列表/正文上下文用 empty($ctx['list']) 正确区分;CSS/JS 走 assets;类名、data-viewed-topic-dim-*、localStorage 键均带前缀。

    ✅ 修复优先级

    1. 修正 manifest author 为 li3295(低)。
    2. JS 改具名 IIFE(低)。
    #3
  • 399

    🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)

    插件:已读主题变暗(viewed_topic_dim)v1.0.0

    结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。

    #4

发表回复

登录后回复