🧩 插件拆分:xnx_home_block → xnx_block_post + xnx_block_user
xnx_home_block拆分为两个独立插件:帖子区块(xnx_block_post,轮播+帖子列表+推荐位)与会员区块(xnx_block_user,最新/活跃/土豪会员),各自独立启用/配置/卸载。置顶 Tab 图标改为
ti ti-pin(原ti-pinned已废弃)。CSS/JS/语言包按
xbp-/xbu-前缀拆分。
💰 新增:推荐位上墙购买功能(两插件同构)
后台设置:推荐位总坑位数、是否开放购买、积分类型/数量(0=免费)、时效天数。
前台入口:未满坑位时在推荐 Tab 内显示「我要上墙」入口:
帖子区块:用户选择自己的帖子提交。
会员区块:一键确认上墙(推荐自己)。
扣费与记录:经
CreditsService扣积分(行锁+事务+流水)后写入购买记录,到期查询过滤自动下架。后台管理表:新增「当前上墙购买记录」表(帖子标题/会员名、支付信息、到期时间),支持管理员提前下架。
🔄 数据迁移(幂等)
新插件
install.php自动迁移旧数据:旧轮播表
RENAME保留。旧设置键复制拆分(
show_members=0映射为会员 Tab 全空隐藏,member_tabs自动前置recommend)。
升级顺序:先装两个新插件(自动迁移)→ 卸载旧
xnx_home_block→ 删除服务器旧目录。
🛡️ 安全与修复
安全:上墙确认弹窗内积分名称经
XN.escapeHtml转义后入innerHTML;POST 走中央 CSRF 校验 +XN.ajax头 +csrf_token字段三重保险。修复:
xnx_block_post上墙弹窗[object HTMLDivElement]乱码 →XN.confirm的options.body改为 HTML 字符串;选中tid改为弹窗创建后同步捕获。修复:扫描器 2 个警告清零:
BlockUserService头像兜底htmlspecialchars改esc_attr();block_user.js头像渲染insertAdjacentHTML改DOMParser+adoptNode。
🎨 后台设置页拆分 Tab
两插件各分「基础设置」与「推荐位与上墙」两个 Tab,模板拆
setting_basic/setting_wall。POST 按 Tab 分支接收字段,再
array_merge保存防跨 Tab 丢配置。
🔧 产品定死展示数量
帖子每 Tab 5 条,帖子推荐位总坑位 5 个(
Service常量THREAD_COUNT/RECOMMEND_SLOTS)。会员榜单 10 个(
MEMBER_COUNT),会员推荐位坑位数保留可配置。删除对应后台字段。
📦 其他插件更新
xnx_friendlink 1.1.3 → 1.1.4
移动端友链/酷站卡片从页脚
bbs-footer内部移到主内容区</main>之前(footer_start.htm),不再挤在版权区里。
xnx_project_cost 1.2.4 → 1.2.5
后台左侧菜单项样式修复:
side-nav-icon/side-nav-text(CSS 中不存在的类)改为核心menu-icon/menu-text span结构。
xnx_comment_skin 1.3.1 → 1.4.0
个人装扮从“自己看自己”改为全员可见(含游客):
buildPageCss签名由viewer_uid改为按页面楼层作者批量预取(getAuthorsActiveGoods两条 IN 查询+预填偏好缓存),CSS 按作者data-uid逐楼生效。评论区装扮装饰图可点击跳转装扮商城:新增
post_list_inc_message_after.htmhook 渲染角标链接(定位锚点=宿主.message.aie-content),个人装扮不再输出::after角标避免重叠。三语言同步改写为“全员可见”语义。
⚙️ 核心优化
admin 后台插件/模板识别机制重构
废除
plugin_is_theme()的目录名/关键词猜测(会误判“主题编辑器”类插件)。conf.json type字段为唯一权威源(theme/template/skin),type 未声明时回退db存量值。plugin_db_init()在conf.json显式声明 type 与 db 不一致时自愈同步。已清
tmp/model_plugin.func.php。
🎯 会员推荐位 UI 改进
上墙入口改为走马灯末位的 “加号占位卡”(虚线框 +
ti-plus+ “我要上墙”,样式同会员卡),有剩余坑位即常驻显示(自己已上墙时点击弹窗提示已在墙上)。推荐会员走马灯 少于 6 个时不循环(静态排列,超出宽度可手动横向滚动),满 6 个才启用克隆+自动滚动。





