- 楼主标识ID topic_op_badge版本 1.0.2插件制作者 one售价 1 积分109 行 / 4.7 KBHook主题详情页中,楼主(主题作者)的主楼与其回帖都在用户名后标注「楼主」徽章,便于在长信息流中快速识别楼主发言;匿名内容不标注以免暴露身份,渲染链零数据库查询。收费插件安装说明购买后点击“授权码”获取一次性授权码;在后台 > 插件广场点击在线安装或更新,并填写该授权码。已购买用户更新免费:每次在线安装或更新前,重新点击“授权码”获取新的一次性授权码即可,无需再次购买;也可直接下载新版后用后台“插件上传”更新。尊重并感谢他人劳动,请勿传播代码。app/plugins/topic_op_badge/plugin.php插件预览1 张开发日志已有 1 条
个人独立维护项目。
主楼 版本 1.0.2 更新:
- Added 楼主标识能力(新插件)。主题详情页中,楼主(主题作者)本人参与回帖时,在其回帖的用户名之后标注「楼主」徽章。
- 数据来源与红区合规:回帖行(
app_replies)不含贴主 UID,无法在逐条渲染钩子内直接判断。改为在详情页渲染循环之前触发的topic.after_view(非红区)把「主题 ID → 贴主 UID」写入请求级内存映射,随后的reply.after_render(红区,逐条触发)只做内存比对与字符串插入——渲染链零数据库查询,符合 PLUGIN.md「逐条渲染钩子循环内零 DB 读」的约束。 - AJAX 新回帖兜底:新回帖走局部渲染(
json_response直接返回楼层 HTML),无整页钩子,缺映射时按 PLUGIN.md 允许的「就地少量查询」查一次app_topics.user_id并按主题 ID 记忆化,单个请求至多多查一次。 - 注入方式:
reply.after_render中定位核心固定输出的作者链接<a class="post-title post-author" …>用户名</a>,在其闭合标签后插入徽章。按标签定位而不匹配用户名,用户名形状(含特殊字符、改名)不影响命中;未命中时返回null,页面按核心原样渲染。 - 范围:仅回帖(
reply.after_render本身只在回帖渲染时触发)。主楼不标注——主楼作者恒为楼主,标注无信息量。 - 隐私红线的处理:匿名回帖(
plugin_anonymous_posting_masked标记或用户名为「匿名」)一律不标注,否则徽章本身等于泄露「该匿名帖的作者就是楼主」。判定口径与核心topic_post_row内联的 UID 徽章遮蔽逻辑一致。 - Added 样式:
.topic-op-badge(品牌色描边 + 浅底 + 小号字),复用平台 CSS 变量自动适配昼夜模式;插入点在.post-info(flex、gap:0 4px)内,随现有排布自动换行,移动端表现与既有徽章一致。 - 无数据库存储:不建表、不给核心表加列,manifest 无
install/uninstall,卸载零残留。
插件质量报告
插件:
topic_op_badgeHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 reply.after_render 主题查看页/回帖列表逐条渲染 是 5 - - app_topics 修正❗️ - topic.after_render 首页/版块列表/主题查看逐条渲染 是(列表跳过) 5 - - app_topics - topic.after_view 主题查看页完成加载 否 4 - - - - 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
未检测到插件数据表声明。
这个还真没必要
1
- dcve2天前
徽标多了其实也不利于阅读