首页会员区块

首页会员区块

推荐会员 + 最新/活跃/土豪会员榜单。推荐会员版块支持积分上墙

插件 v1.0.5 贰先生 用户 积分 积分兑换 50 金币

xnx_block_user 首页会员区块

首页中栏会员展示卡片(位于帖子区块 xnx_block_post 之下,同一注入点按 hooks_rank 排序):推荐会员 + 最新/活跃/土豪会员榜单。推荐会员版块支持积分上墙——管理员设 uid,未满坑位用户可购买自己上墙,到期自动下架。由旧插件 xnx_home_block 的会员侧拆分演进而来(安装时自动迁移旧配置)。

功能

  • 会员 4 个 Tab:推荐会员(recommend)/ 最新会员(new,按注册时间)/ 活跃会员(active,按发帖数)/ 土豪会员(rich,按积分字段),后台多选启用 + 序号排序,每榜 10 人(产品定死)

  • 土豪榜排序键可选积分类型 credits / golds / rmbs(白名单校验后才作排序键)

  • 榜单排除封禁用户(ban_type=2);头像走 avatar_component_from_data(含系统默认头像、用户组框色),显示名用 user_find_by_uids 批量取

  • 推荐会员位:管理员手动 uid(按配置顺序)在前,购买记录(未过期)补足到坑位上限(坑位数 1-50 可配,默认 10);购买者显示剩余天数,手动配置不过期

  • 上墙购买:登录用户一键上墙自己(已在墙上则提示),CreditsService 扣积分(credits/golds/rmbs,行锁+事务+流水),0 = 免费;时效制(默认 7 天),到期查询侧过滤自动下架

  • 数据接口 xnx_block_user_api 游客可访问:榜单缓存 5 分钟(CacheHelper),推荐会员与上墙状态实时计算不走缓存

文件结构

plugin/xnx_block_user/
├── conf.json
├── install.php / uninstall.php / upgrade.php
│   ├── install:建 xnx_block_user_rec 表;迁移旧插件 xnx_home_block 的 credits_type/member_tabs(show_members 关闭时保持会员卡隐藏)
│   └── upgrade:幂等补表
├── api.php        # GET JSON:members 榜单 + recommend 推荐会员 + buy 状态(case xnx_block_user_api)
├── buy.php        # GET 上墙信息 / POST 购买上墙(case xnx_block_user_buy,CsrfService 幂等复检)
├── setting.php    # 后台设置:basic / wall 两 Tab(plugin-setting-xnx_block_user-<tab>)
├── model/BlockUserService.php   # 榜单查询/推荐位合并/上墙购买/设置归一化
├── hook/
│   ├── index_main_start.htm     # 首页中栏注入会员卡模板(hooks_rank=0,排在帖子区块之下)
│   ├── index_route_case_end.php # 注册 api / buy 前台路由
│   ├── model_inc_file.php       # Service 注入 model 加载列表
│   └── lang_{zh-cn,zh-tw,en-us}_bbs.php
├── view/htm/
│   ├── block_user.htm           # 前台外壳(PHP 渲染骨架,JS 拉数据填充)
│   └── setting_basic.htm / setting_wall.htm
├── static/ css/block_user.css, js/block_user.js   # 原生 JS IIFE 幂等(htmx 替换 #body 后重建)
└── lang/{zh-cn,zh-tw,en-us}.php

数据表

  • xnx_block_user_rec:推荐会员购买记录(uid/credits_type/credits_num/expire_date),到期即下架,卸载时删表

配置流程

  1. 后台「插件管理」启用;基础设置(plugin-setting-xnx_block_user-basic):土豪榜积分类型、会员 Tab 勾选与排序(全部不勾 = 整卡隐藏)

  2. 推荐会员与上墙(wall Tab):填管理员推荐 uid、坑位数、开启购买、选支付积分类型与数量、设时效天数;可查看未过期购买记录并手动下架

  3. 前台首页中栏查看效果;用户点「我要上墙」支付后自己进入推荐会员位

实现要点

  • 后台设置分 Tab 覆盖式保存,array_merge(旧, 新) 防跨 Tab 丢配置

  • 积分字段白名单校验(土豪榜排序键直接拼 SQL,必须过滤);member_count=10 产品定死,后台不可改

  • 缓存键 block_data 注册进 CacheHelper,清理用 pluginDeletePrefix;静态资源 filemtime 版本串

  • 上墙扣费经 CreditsService,外部不嵌套事务;坑位计算对手动/购买 uid 去重(重复配置按 1 个计)


截图 2
v1.0.5 2026-09-04
作者信息
XiunoX 开发者,独立开发者 & 全栈工程师 DiscuzX 插件/模板、WordPress 主题/插件、XiunoX 框架二次开发、APP 与小程序自研项目。
开发者主页
44
应用
433
安装
2026-08
加入
应用详情
应用分类 插件
版本 v1.0.5
适用版本 1.1
开发者 贰先生
下载量 4
浏览 5
更新时间 2026-09-04
发布时间 2026-09-04
最新回复
查看全部
  • 暂无回复

查看全部评论 / 发表评论
完整评论功能在讨论帖中,点击前往