[netdisk_help]网盘互助热
- 网盘互助ID netdisk_help版本 1.1.1插件制作者 bbs1org售价 50 积分1398 行 / 106.1 KBHook / 路由 / 后台页悬赏积分发布网盘资源求助,热心用户应助成功后获得悬赏积分,提供互助大厅、我的求助与应助进度、实时播报和应助限制。收费插件安装说明购买后点击“授权码”获取一次性授权码;在后台 > 插件广场点击在线安装或更新,并填写该授权码。已购买用户更新免费:每次在线安装或更新前,重新点击“授权码”获取新的一次性授权码即可,无需再次购买;也可直接下载新版后用后台“插件上传”更新。尊重并感谢他人劳动,请勿传播代码。app/plugins/netdisk_help/plugin.php插件预览1 张开发日志已有 3 条
个人独立维护项目。
主楼 版本 1.0.5 更新:
- 互助大厅(悬赏广场)
netdisk_help_hall 路由。支持「最新发布 / 悬赏最高」两种排序 + 状态筛选(全部 / 求助中 / 应助进行中 / 已完成),带分页。每条展示状态徽章、求助者与应助者(头像 + 用户链接)、时间、悬赏积分,应助中的条目实时显示剩余时限。空状态带「发布求助」行动入口。
- 发布求助(落到指定版块的真主题)
在后台指定的版块里真实创建 app_topics 主题(同步全文索引、发订阅通知、触发 topic.after_save),悬赏积分同时从账户扣除——用 UPDATE ... WHERE points>=? 原子扣减,扣不动就整体回滚。积分区间、默认值、求助有效期都可配;到期无人应助会标记失败并退回悬赏。
- 应助认领(含防抢单)
点「我来应助」后线程进入 assisting 并写入提交截止时间。并发安全靠 WHERE id=? AND status='pending' 乐观锁,抢不到会提示「该求助刚刚被其他人应助」。不能应助自己发的求助。
- 资源提交与「确认 / 驳回」分支
应助者在时限内提交网盘链接 + 提取码 + 补充说明(链接强制归一化为 http/https 并校验)。求助者确认 → 悬赏积分发放给应助者;驳回并填原因 → 记一次「资源不正确」失败,求助自动退回 pending 重新开放。
- 应助实时播报
大厅顶部的动态流,按应助记录更新时间倒序取 N 条(后台可配)。带左缘状态色条与呼吸指示点;时间当天显示 H:i、跨天显示 m-d H:i(悬停可见完整时间)。
- 我的互助(双向记录)
「我的求助」(求助中 / 求助完成 / 求助失败)与「我的应助」(应助中 / 审核中 / 应助完成 / 应助失败)两个维度,二次筛选用分段控件,各自分页。
- 主题页内嵌求助面板
通过 topic.content_after 在求助主题里挂完整面板:悬赏积分、双方身份、倒计时、已应助次数、失败原因、网盘资源(链接 / 提取码一键复制 / 补充说明)。资源只对求助者、应助者、管理员可见,其他人看到「应助资源仅对求助者与应助者可见」。操作按钮按「身份 × 状态」动态生成,不会出现越权入口。
- 列表页与标题的轻量注入
topic.title_suffix 给主题标题补状态徽章;topic.after_render 在列表行的 post-meta 前插入「悬赏积分 + 状态」标签。数据在 topic.index_data.loaded 里一次批量预取进缓存——列表行渲染是循环内零 DB 读,没有 N+1。
- 应助限制与惩戒引擎(后台全参数可配)
同时应助上限、每人每日上限、频率限制(窗口内超次数 → 封禁)、提交超时自动释放并记失败。违规累计分三条触发线:超时失败达阈值、投诉成立或被判投诉失败达阈值、累计被封禁达阈值 → 前两条封禁 N 小时,第三条永久取消求助与应助资格。封禁期间不能应助,也会收到站内通知。
- 后台管理台 + 入口 + 定时任务
后台一个 Tab 内是 6 张统计卡、5 组规则设置(基础与入口 / 悬赏积分 / 应助限制 / 违规惩戒 / 列表与展示),以及待处理投诉(可判成立 / 不成立)、最近求助、受限用户(可逐个解除限制或清空全部记录)三个管理区。前台入口走标准顶部菜单 + 侧栏快捷入口,各可独立开关。定时任务每 60 秒巡查一次,自动释放超时应助、把到期求助标记失败并退回积分。
插件质量报告
插件:
netdisk_helpHook 功能范围 循环 使用频率 文件读写 修改系统表 读写系统表 读写自己的表 sidebar.feature_links 首页/侧栏快捷功能 否 5 - - - - top.menu_links 顶部版块导航/移动端版块列表,同一请求只执行一次(展示位置:顶部菜单) 否 5 - - - - topic.after_render 首页/版块列表/主题查看逐条渲染 是 5 - - - 读 plugin_netdisk_help_requests 修正❗️ topic.index_data.loaded 首页/版块/用户主题列表查询后 否 5 - - - 读 plugin_netdisk_help_requests topic.title_suffix 首页/版块主题列表逐条标题 是 5 - - - 读 plugin_netdisk_help_requests 修正❗️ content.before_delete 内容删除操作 否 2 - - - 写 plugin_netdisk_help_requests, plugin_netdisk_help_reports, plugin_netdisk_help_claims topic.content_after 非系统hook 否 1 - - - 读 plugin_netdisk_help_requests, plugin_netdisk_help_claims, plugin_netdisk_help_penalties 颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。
数据字典
plugin_netdisk_help_requests字段 类型 可空 默认值 约束 id id 否 - 主键、自增 topic_id uint 否 - 唯一 user_id uint 否 - - forum_id uint 否 0 - title string 否 '' - points uint 否 0 - status key 否 'pending' - helper_id uint 否 0 - claim_id uint 否 0 - claim_at uint 否 0 - deadline_at uint 否 0 - claim_count uint 否 0 - fail_reason string 否 '' - expire_at uint 否 0 - confirmed_at uint 否 0 - finished_at uint 否 0 - created_at uint 否 - - updated_at uint 否 - - plugin_netdisk_help_claims字段 类型 可空 默认值 约束 id id 否 - 主键、自增 request_id uint 否 - - topic_id uint 否 0 - helper_id uint 否 - - status key 否 'assisting' - link string 否 '' - code string 否 '' - note text 是 - - points uint 否 0 - fail_kind key 否 '' - fail_reason string 否 '' - deadline_at uint 否 0 - submitted_at uint 否 0 - finished_at uint 否 0 - created_at uint 否 - - updated_at uint 否 - - plugin_netdisk_help_penalties字段 类型 可空 默认值 约束 id id 否 - 主键、自增 user_id uint 否 - - kind key 否 'ban' - until_at uint 否 0 - note string 否 '' - created_at uint 否 - - plugin_netdisk_help_reports字段 类型 可空 默认值 约束 id id 否 - 主键、自增 request_id uint 否 0 - claim_id uint 否 0 - reporter_id uint 否 - - target_id uint 否 - - reason string 否 '' - result key 否 'pending' - handled_by uint 否 0 - handled_at uint 否 0 - created_at uint 否 - - 哇 这个diao 支持
这是个好东西!🎉
版本 1.1.0 更新:
允许修改应助内容好东西攒点积分

这是BUG还是啥 有个白色上传图标哇 这个diao 支持
版本 1.1.1 更新:
修复卸载报错的问题- levanhau035天前🌛 见习588
哇 这个diao 支持
