- bbs1org2026-08-12悬赏帖ID topic_reward版本 1.0.4插件制作者 bbs1org售价 1 积分428 行 / 35.3 KBHook / 路由 / 后台页发布积分悬赏主题,采纳最佳回复后自动发放奖励并支持到期和仲裁处理。收费插件安装说明购买后点击“授权码”获取一次性授权码;在后台 > 插件广场点击在线安装或更新,并填写该授权码。已购买用户更新免费:每次在线安装或更新前,重新点击“授权码”获取新的一次性授权码即可,无需再次购买;也可直接下载新版后用后台“插件上传”更新。尊重并感谢他人劳动,请勿传播代码。app/plugins/topic_reward/plugin.php开发日志已有 3 条
个人独立维护项目。
淘帖专辑官方安装插件合集主楼 插件质量报告
插件:
topic_rewardHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 topic.after_render 首页/版块列表/主题查看逐条渲染 是(列表跳过) 5 - - - 读 plugin_topic_reward_items topic.index_data.loaded 首页/版块/用户主题列表查询后 否 5 - - - 读 plugin_topic_reward_items topic.title_suffix 首页/版块主题列表逐条标题 是 5 - - - 读 plugin_topic_reward_items 修正❗️ topic.after_view 主题查看页完成加载 否 4 - - - 读 plugin_topic_reward_items reply.before_save 回帖发布/编辑表单提交 否 3 - - - 读 plugin_topic_reward_items topic.after_save 主题保存后 否 3 - app_users app_users 写 plugin_topic_reward_items, plugin_topic_reward_ledger topic.before_save 主题发布/编辑表单提交 否 3 - - - - content.before_delete 内容删除操作 否 2 - - - 写 plugin_topic_reward_items, plugin_topic_reward_ledger topic.form_extra 主题发布/编辑表单 否 2 - - - - reply.content_after 非系统hook 否 1 - - - 读 plugin_topic_reward_items 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_topic_reward_items字段 类型 可空 默认值 约束 topic_id uint 否 - 主键 publisher_id uint 否 - - amount uint 否 - - expires_at uint 否 - - status key 否 - - accepted_reply_id uint 否 0 - settled_by uint 否 0 - settled_at uint 否 0 - created_at uint 否 - - updated_at uint 否 - - plugin_topic_reward_ledger字段 类型 可空 默认值 约束 id id 否 - 主键、自增 topic_id uint 否 - - event_key key 否 - 唯一 user_id uint 否 - - delta INTEGER 否 - - kind key 否 - - note string 否 - - created_at uint 否 - - plugin_topic_reward_disputes字段 类型 可空 默认值 约束 id id 否 - 主键、自增 topic_id uint 否 - 唯一 reply_id uint 否 - 唯一 user_id uint 否 - 唯一 reason text 否 - - status key 否 'open' - review_note string 否 '' - reviewer_id uint 否 0 - created_at uint 否 - - reviewed_at uint 否 0 - - bbs1org2026-08-12
当前悬赏插件功能:
发帖时可折叠开启悬赏,选择积分和 1/3/7 天期限。
发布时扣除发帖人积分,记录冻结流水。
主题页显示悬赏金额、状态和剩余时间。
发帖人可在有效期内,对其他用户的回帖点击“采纳最佳回复”,自动发放积分并结贴。
回帖作者可在进行中或过期后申请仲裁;管理员可在后台处理到期、争议悬赏,指定最佳回复或退回积分。
到期无其他用户回复时,定时任务自动退回积分;有回复则转为“已过期”,等待管理员处理。
已采纳回复标记“最佳答案”;最佳回复不可删除,未结算悬赏也限制普通用户删除主题。
后台可配置全站开关、最低/最高悬赏积分、默认期限、可发布用户组、可参与作答用户组。 这个开发能力简直了
- bbs1org2026-08-12
质量报告中的修正并没有问题。
topic.title_suffix 的确是按每条标题调用,但不会逐条查询数据库。
主题列表数据加载完成时,topic.index_data.loaded 会先对当页所有主题 ID 做一次
reply.after_render 在主题查看页对每条回帖执行,但不逐条读取 plugin_topic_reward_items。
主题详情数据加载后,topic.after_view 已按当前 topic_id 预读悬赏记录并写入请求级缓存;后续每条回帖仅查询内存缓存,用于判断是否显示“采纳最佳回复”“申请仲裁”或“最佳答案”。
实际额外数据库查询:
每次主题查看页:1 次按 topic_id 查询悬赏记录
回帖逐条渲染:0 次额外数据库查询
仍有每条回帖一次 PHP Hook 调用和缓存数组读取。 - bbs1org2026-08-25
版本 1.0.2 更新:
优化小细节 - bbs1org2026-08-25
版本 1.0.3 更新:
增加版本号 - bbs1org2026-09-04
版本 1.0.4 更新:
在主程序升级到9.0之前,请不要更新此插件,避免兼容问题