XIUNO BBS X版 更新记录贴 20260625

2026-06-25 更新日志

勋章系统 - 版块门控功能

  • 新增版块勋章门控:设置版块所需勋章,用户需拥有任一勋章才能访问(OR 逻辑)

  • 新建 xnx_forum_medal 关联表,插件自建表不改系统结构

  • 后台勋章设置页新增「版块门控」tab,可配置每个版块所需的勋章

  • 拦截点:版块列表页(forum_top_list_before)、帖子详情页(thread_info_start)、回帖(post_get_post)

  • 管理员组(gid=1,2)豁免,帖子作者可查看自己帖子

  • 拦截时显示友好提示页,列出所需勋章并引导用户去勋章墙获取

  • 性能优化:版块-勋章映射请求级缓存,用户勋章ID请求级缓存,避免重复查库

勋章系统优化

  • 合并「我的勋章」页面到勋章墙,统一在三栏布局中展示佩戴/取消佩戴/申请记录

  • 移除左侧栏「我的勋章」导航项和 medals-my 子路由

  • 勋章卡片添加佩戴/取消佩戴按钮,支持 htmx 局部刷新

  • 免费勋章申请前先检查条件是否满足,不满足时显示「条件不足」提示而非申请按钮

  • 勋章卡片添加 is_wearing 标记,已佩戴勋章显示蓝色边框和图标

伪静态切换风险点修复

针对项目当前 url_rewrite_on=4(.html 后缀风格)配置,系统性修复了切换伪静态后可能导致功能失效的风险点。

高风险修复

  • 前端 URL 生成函数全模式支持

    • xn.url()(xiuno.js)补齐 on=4/on=5 分支,避免返回空字符串

    • XN.url()(xiuno-modern.js)补齐 on=4 分支,避免缺少 .html 后缀触发 301

  • 模板相对路径静态资源

    • my_avatar_page.htm 的 cropper.min.js 改为 $conf['view_url'] 拼接

    • rank.htm 的 anime.umd.min.js 改为 $conf['view_url'] 拼接

  • Referer 安全校验兼容 .html 后缀

    • http_referer() 正则兼容 .htm.html 两种后缀

    • user_http_referer() 去掉 user-login.htm 等 5 处硬编码 .htm 后缀检测

中风险修复

  • 跳转 URL 统一通过 url() 生成

    • route/mod.php 7 处置顶/加精/关闭/删除/移动等操作的 redirect_url'./' 改为 url('index')

    • xiuno-modern.js 积分检查 fallback URL 改为通过 XN.url() 生成

    • bbs.js 置顶操作 fallback URL 改为通过 xn.url() 生成

    • index.inc.php 搜索跳转改为通过 url('search', array(...)) 生成,不再硬编码 search.htm

最新回复

请先登录后再回复 登录

uid:1 管理
关注
随遇而安,随缘而行
发帖 44
评论 236
粉丝 9
关注 1
发新帖
目录

扫码手机打开本帖