[points_rewards]积分规则热
- bbs1org2026-08-10积分规则ID points_rewards版本 1.2.35插件制作者 bbs1org免费462 行 / 32.4 KBHook / 后台页按发帖、回帖、私信、附件下载、搜索和删除内容等行为自动增加或扣减积分,用户可在个人主页查看清晰明细。app/plugins/points_rewards/plugin.php开发日志已有 8 条
个人独立维护项目。
淘帖专辑官方安装插件合集主楼 插件质量报告
插件:
points_rewardsHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 app.boot 全站请求启动 否 5 读 app_users app_users 写 plugin_points_rewards_records topic.after_render 首页/版块列表/主题查看逐条渲染 是 5 - - - - topic.index_data.load 首页/版块/用户主题列表查询前 否 5 - app_users app_users 写 plugin_points_rewards_records user.menu_links 个人卡片/移动端我的菜单(展示位置:个人卡片) 否 4 - - - - reply.after_save 回帖保存后 否 3 - app_users app_users 写 plugin_points_rewards_records topic.after_save 主题保存后 否 3 - app_users app_users 写 plugin_points_rewards_records user.points_changed 用户积分变动后 否 3 - - - 写 plugin_points_rewards_records user.profile_tab_data 用户资料页标签数据 否 3 - - app_topics 读 plugin_points_rewards_records user.profile_tab_footer 用户资料页标签内容底部 否 3 - - - - user.profile_tabs 用户资料页标签栏(展示位置:个人主页Tab) 否 3 - - - - content.before_delete 内容删除操作 否 2 - app_users app_users 写 plugin_points_rewards_records 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_points_rewards_records字段 类型 可空 默认值 约束 id id 否 - 主键、自增 user_id uint 否 - - action key 否 - - event_key key 否 - 唯一 topic_id uint 否 0 - reply_id uint 否 0 - delta INTEGER 否 - - reason string 否 - - created_at uint 否 - - 不错
- bbs1org2026-08-10
更新
- Maser2026-08-10
可以可以
没看到积分明细啊
- bbs1org2026-08-10
- bbs1org2026-08-10
- bbs1org2026-08-10
已经更新
每日签到 的积分 也写进来吧
- bbs1org2026-08-10
- 1234567892026-08-12
- bbs1org2026-08-12
- 1234567892026-08-12
这个插件好用
怎么获取积分呢
感谢
为什么上传插件会显示不是标准的插件?
删除别按倍数了 我已经改成绝对分了 这样发帖不加分 同时删除可以扣分

- bbs1org2026-08-14
- bbs1org2026-08-14
版本 1.2.28 更新:
设置项改为“主题被删除”“回帖被删除”
两项统一为:正数增加、负数扣减、0 关闭
删除内容时直接按对应固定积分记账,不再按原奖励倍率回扣 - bbs1org2026-08-14
版本 1.2.29 更新:
后台界面卡片美化 - bbs1org2026-08-14
版本 1.2.30 更新:
修复积分数值胶囊的垂直居中 - bbs1org2026-08-14
版本 1.2.31 更新:
访问他人主页时,侧边卡片 显示“TA的积分”入口,可查看对方积分日志 - bbs1org2026-08-15
版本 1.2.32 更新:
积分明细关联对应主题或回帖,标题以链接展示 🔍 插件审查报告(对照《AI 开发规则》与开发者文档)
🔒 安全问题
未发现明显问题。SQL 均已参数化,输出均已用 h() 转义,附件路径有
^[a-f0-9]{64}\.[a-z0-9]{1,25}$白名单校验。⚡ 性能问题
未发现明显问题。积分明细查询使用 IN 批量取主题标题,无逐条查询(N+1)。
🐛 功能/规范缺陷
- 附件下载奖励的 event_key 不含用户维度(plugin.php:206
'attachment:' . $hash),而 event_key 全局唯一(plugin.php:7 UNIQUE),导致同一附件只有第一个下载者计分,其余用户静默跳过。建议改为'attachment:' . uid() . ':' . $hash。 - 私信奖励在 app.boot 阶段即记账(plugin.php:190-197),早于私信实际发送成功,发送被拒或失败仍会加分/扣分。建议移到发送成功后的钩子再记账。
- 余额检查(plugin.php:79)与记账(plugin.php:121)分离且非原子,并发下负数动作可能把积分扣成负值。建议在同一事务内再次校验余额并加锁。
✅ 修复优先级
附件 event_key 加用户维度 > 私信奖励时机后移 > 余额检查与记账合并事务。
- 附件下载奖励的 event_key 不含用户维度(plugin.php:206
- bbs1org2026-08-24
版本 1.2.33 更新:
增加积分事件请求级缓存,相同 event_key 每个请求只查询一次。
积分记录写入成功后立即更新缓存,避免重复查询数据库。
优化扣积分检查,仅在余额不足时查询事件是否已处理。
保留数据库唯一约束,防止重复增减积分。
减少搜索页面重复触发奖励逻辑产生的相同查询。 - bbs1org2026-08-25
版本 1.2.34 更新:
修复sqlite异常问题 🔍 插件审查报告(AI 自动审查,对照《AI 开发规则》与开发者文档;本插件未被 8/18 楼上 350 的报告覆盖,属独立首次审查)
插件:积分规则(points_rewards)v1.2.34
结论:已完成命名规范、生命周期(install/uninstall 幂等)、数据库跨库兼容、红区 Hook 零 DB 读、Hook 真实性(含核心与跨插件依赖核对)、SQL 注入风险、CSRF/权限校验、CSS 变量规范等项审查,未发现安全、性能或功能性问题。
- bbs1org2026-09-13
版本 1.2.35 更新:
修正删除主题导致回帖扣分的问题