XIUNOX 更新日志 2026-08-23 [复制链接]

管理员组

🆕 新功能:用户导航扩展机制

  • 用户导航注册机制:新增 UserNavService,插件通过 user_nav_register.php 调用 UserNavService::register() 自注册快捷入口(两列宫格),配置存储于 setting(plugin_user_nav_items),支持启用开关与拖拽排序。

  • 后台管理:设置 → 导航 新增「用户导航」子 Tab,展示全部注册项(图标/名称/URL 只读+复制),支持启用开关、拖拽排序。

  • 统计跳转:首页右侧栏用户信息卡片「帖子/积分/关注/粉丝」四项增加跳转链接(/my-thread/my-credits/my-following/my-following?tab=follower)。

  • 发现导航升级:后台发现导航 Tab 支持插件项启用开关与拖拽排序,保存至 plugin_discover_items setting;DiscoverService 默认启用语义修正(无配置记录视为启用)。

  • 插件接入:xnx_quest 1.4.20 / xnx_quiz 1.2.1 / xnx_verify 1.3.2 / xnx_duel 1.4.4 新增 user_nav_register.php

  • 自检工具:新增 tool/selfcheck_user_nav.php 断言注册/默认启用/禁用过滤/merge 保存/缓存同步/rank 排序。

🐛 核心修复

MariaDB 11.4 升级兼容

  • UpgradeService::upgradeSearchIndexes() 增加普通 FULLTEXT 回退(MariaDB 10.0.5+ InnoDB 内建 CJK bigram 分词),升级不再中断。

  • install_sql_file() 修复段级 FULLTEXT_TOLERANT 检测导致 FULLTEXT 索引从未创建的问题:改为逐行剥离注释,install.sql 补普通 FULLTEXT 回退语句。


🎨 侧栏改版

  • 首页右侧栏用户信息卡片移除登录态统计区(帖子/积分/关注/粉丝四列),积分改为 badge 徽章(金币:N,可点击跳转 my-credits)appended 到 uid/用户组徽章行。

  • 用户导航插件扩展区容器 pb-3 px-3 移除,改用占位 class user-nav-plugin-grid(无样式定义)。

  • 用户卡片发新帖按钮与 xnx_checkin 签到按钮统一 flex:1 1 0(原 flex-fillflex-basis:auto 导致按钮不等宽),xnx_checkin


[后台] AI 日志分页样式修复

  • admin/view/htm/ai_logs.htmpagination() 返回裸 <li> 序列,缺少 <ul class="pagination"> 外壳导致样式错乱,已改为与其他后台列表页一致的 <nav><ul> 标准写法。


[暗黑模式] View Transitions 圆形扩散动画

  • 前台切换:改用 View Transitions API 圆形扩散动画,从点击按钮位置以涟漪形式揭开新主题;跟随系统切换时从视口中心扩散。不支持的浏览器(Firefox 等)及偏好减少动画用户自动降级为直接切换。

  • 简化调整:圆形扩散动画改为固定从左上角向右下角扩散,简化 JS 逻辑(移除点击坐标计算,圆心半径固定在 CSS)。

  • 后台同步:后台主题切换接入与前台一致的圆形扩散动画(admin/view/htm/footer.inc.htm 内联脚本加 animateThemeSwitch 包装)。

  • 冲突修复:admin footer 同时加载 bbs.js 与内联脚本,双份主题切换代码并发触发两个 View Transition 冲突;删除 footer 内联冗余份,统一由 bbs.js 接管(前后台单一实现)。


[xnx_red] v1.1.0 红包插件重大升级

  • 移除积分类型下拉:前台发红包固定使用后台配置的积分类型,积分名称从系统积分设置动态读取。

  • 新增口令红包type=3):发红包时填写口令,领取人需输入正确口令才能领取,领取成功自动以口令作为评论内容。

  • 领取后自动发评论:后台可开关,普通/拼手气红包文案可自定义,调用 post_create + skip_attach_assoc 避免附件串入。

  • 微信式领取流程重构

    • 红包气泡卡片、开红包弹窗(金色「開」按钮 + 旋转放大动画)。

    • 领取结果页六态(金额/领完/过期/无权限/达上限/登录提示)。

    • 领取记录列表与「展开更多」。

  • htmx 局部刷新claim 返回 HTML 片段替换弹窗 stageswap:650ms 等待開动画),HX-Trigger 触发帖子内卡片按 packet_id 刷新。

  • 状态计算收敛RedPacketService::computeState 统一处理。

  • 表结构升级xnx_red_packet 表新增 password 列(upgrade.php db_check_column_exists 幂等迁移),install/setting 同步新配置项。

  • 三语全量同步:模板与路由 UI 文案全部 lang() 化,新增 5 个 UI 短文案键(badge/默认留言/口令标签/摘要两段式)。

最新回复
  • xiunox 一级用户组

    感谢分享更新日志。几点技术补充:

    1. AI日志分页pagination() 返回裸 <li> 是常见问题,包装 <nav><ul> 更符合 Bootstrap 结构,也便于样式统一。
    2. xml_red 红包post_create + skip_attach_assoc 避免附件串入是明智做法;db_check_column_exists 做幂等迁移很稳妥,建议升级脚本中同时加索引。
    3. View Transitions:固定左上→右下扩散简单可靠,降级策略也合理。注意 document.startViewTransition 需做特性检测,并留意与 HX-Trigger 并发时的快照冲突。

    如遇到具体 bug(如 Safari 下动画异常),欢迎提供浏览器版本和复现步骤。【 AI 自动回复,仅供参考】

    1小时前

请先登录后再回复 登录