• 桃子大人
    用户榜单
    ID leaderboard版本 1.2.7插件制作者 桃子大人免费526 行 / 31.2 KBHook / 路由 / 后台页
    提供富豪榜(积分最多)、评论榜(回帖最多)、发帖榜(主题最多)、签到榜、打赏榜等用户排行,前三名以颁奖台样式展示,侧边栏卡片可按页面范围显示。
    app/plugins/leaderboard/plugin.php
    开发日志已有 4 条

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

    • bbs1org
      bbs1org
      版本 1.2.7 37f73dfb042f 更新:修复卡片间距配置及统一垂直间距节奏release
    • 桃子大人
      桃子大人
      版本 1.2.5 4ba1eda672e2 更新:优化,论坛人数过多,排名靠后,数字溢出问题
    • 桃子大人
      桃子大人
      版本 1.2.4 7cec6a76b9d5 更新:1 新增,显示自己的排名(末尾) 2 修复,pg数据库报错 3 优化,积分居中显示
    • 桃子大人
      桃子大人
      版本 1.1.1 c8af063e5b65 更新:旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。
    主楼
  • 质量报告

    插件质量报告

    插件:leaderboard

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    sidebar.feature_links首页/侧栏快捷功能否5----
    sidebar.stack全站侧栏组件栈否5--app_users, app_replies, app_topics-

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

    数据字典

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

    #1
  • 桃子大人

    功能如图所示

    欢迎大家提意见

    #2
  • bbs1org

    加文件缓存了吧

    #3
  • 桃子大人

    数据库缓存 SELECT * FROM app_settings WHERE name='plugin_leaderboard_cache';

    #4
  • bbs1org

    可以

    #6
  • bbs1org

    你做的插件UI细节非常👍 必须点赞 可以做个主题插件,搞几个质感的皮肤

    #5
  • 桃子大人

    等我明天处理完

    #7
  • bbs1org

    👏

    #8
  • Kira

    不错

    #9
  • x

    哈哈,接了233的班
    相当不错!

    #10
  • 桃子大人

    233登录了小号

    #11
  • x

    哈哈哈~

    #12
  • 秦始黄

    烧饼站上架了 希望给每一个榜单增加 我的排名 显示当前用户的排名哈

    #13
  • 桃子大人

    可以

    #14
  • bbs1org

    版本 1.1.1 更新:
    增加首页、版块列表、看帖页范围复选项。未选择时三处都显示;选择后仅在勾选页面显示

    #15
  • 蓝太阳

    优秀

    #16
  • 350

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

    🔒 安全问题

    未发现明显问题(榜单 SQL 均参数化,用户名/用户组等输出前均经 h() 转义)。

    ⚡ 性能问题

    1. 缓存失效时重复查询:leaderboard_cache_fresh() 先 leaderboard_query()(plugin.php:138)再 leaderboard_cache_write()(:139),而 cache_write 内部又执行一次 leaderboard_query()(:114),同一次榜单查询跑两遍。建议 cache_write 接收已查到的结果,缓存失效时只查一次。
    2. 每请求 2 次 schema 探测:leaderboard_types()(:18、:21)每次请求首次调用执行两次 app_db_table_exists()。建议把探测结果并入插件配置做跨请求缓存,仅在配置/安装时探测。

    🐛 功能/规范缺陷

    1. 跨插件硬依赖:leaderboard_query() 直接 JOIN 其它插件表 plugin_daily_checkins(:70)、plugin_donate_log(:73),并假设其列 user_id/checkin_date/amount/from_user_id;只校验表存在、未校验列,对方插件改表结构即报错或榜单失效。建议通过核心 Hook/接口提供数据,或至少校验所需列。
    2. CSS 违反界面规范:多处硬编码十六进制色(:351–379 如 #fffbeb、#f59e0b、#92400e)与数字字号(:364 font-size:10px,:395/:400 font-size:11px,:406/:416/:425/:427 font-size:12px)。应改用 var(--xxx) 颜色与 var(--font-size-*) 字号。

    ✅ 修复优先级

    跨插件依赖 > 缓存重复查询 > CSS 变量合规 > schema 探测。

    #17
  • idc

    @桃子大人 这个数据库兼容好像有点问题。几天都一样的报错
    `自动停用原因
    2026-08-20 01:45:26 PDOException: SQLSTATE[42703]: Undefined column: 7 ERROR: column "cnt" does not exist LINE 1: ...ERE u.id>0 AND u.is_banned=0 GROUP BY u.id HAVING cnt>0 ORDE... ^ (index.php:298)`

    #18
  • 399

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

    插件:用户榜单(leaderboard)v1.1.1

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

    #19
  • 桃子大人

    旧格式迁移:已将插件代码转存到开发日志,主题正文改为基础介绍。

    #20
  • 桃子大人

    版本 1.2.4 更新:
    1 新增,显示自己的排名(末尾)
    2 修复,pg数据库报错
    3 优化,积分居中显示

    #21
  • 桃子大人

    版本 1.2.5 更新:
    优化,论坛人数过多,排名靠后,数字溢出问题

    #22
  • bbs1org

    版本 1.2.7 更新:
    修复卡片间距配置及统一垂直间距节奏

    #23

发表回复

登录后回复