XIUNOX 更新记录贴 202600720

  • [UI重构] 发帖页特殊主题 Tab 化(抽奖/悬赏/投票)

    • 必测: thread/create/0 切换 Tab 显示对应字段;版块下拉框切换时按白名单动态显隐 Tab

    • 改动: post.htm 在标题下方新增 Tab 容器(普通帖 + 两个 hook 点 post_special_topic_tab_nav.htm / post_special_topic_tab_pane.htm)

    • 改动: 三个插件删除旧 hook 文件 post_ref_thread_after.htm / post_ref_thread_after_mobile.htm

    • 改动: 三个插件去掉 enabled 开关,切换 Tab 直接展示字段;字段区域无 card 包裹

    • 改动: 三个插件后台新增 allow_forums 版块白名单多选,空数组=全部允许

    • 改动: post.htm 末尾追加 JS 公共逻辑(检测有插件 nav 时显示整块;监听 select[name=fid] change 按 data-allow-forums 动态显隐 Tab;当前激活 Tab 被隐藏时自动切回【普通帖】)

    • 必测: 三个插件后台 setting 页版块多选保存生效;发帖页 fid=0 时所有插件 Tab 都显示,切换到非白名单版块时对应 Tab 隐藏

  • [UI重构] 发帖页 Tab 体验优化(去普通帖 Tab,按版块白名单展示)

    • 必测: thread/create/0 未选版块时 Tab 整块不显示;选了版块后按白名单展示对应 Tab

    • 必测: 单 Tab 版块(如只有悬赏)直接展开字段无 nav 标签栏;多 Tab 版块保留 nav 切换

    • 必测: 不在任何插件白名单的版块 Tab 整块完全不显示

    • 改动: post.htm 移除【普通帖】Tab 和 tab-pane,tab-content 去掉 border 包裹

    • 改动: JS 逻辑重写 - fid=0 整块隐藏;fid>0 按白名单计算可见 Tab 数量(0 个隐藏/1 个直接展开/多个 nav 切换)

    • 改动: 隐藏/未激活 Tab 内所有 input 自动 disabled,防止 display:none 元素的 hidden input 仍被提交(HTML 规范:display:none 不阻止表单提交)

    • 改动: 监听 shown.bs.tab 事件,用户切换 Tab 时同步更新 input disabled 状态

  • [UI优化] 单 Tab 场景改为开关模式

    • 必测: 选了一个只在悬赏白名单内的版块,Tab 标题右侧显示开关(默认关闭),点击开关打开字段展开,再次点击关闭收起

    • 必测: 开关关闭状态下提交表单,悬赏字段不会提交(input disabled);开关打开状态下提交,字段正常提交

    • 改动: post.htm JS 修复 toggleCollapse 的 isExpanded 判断 bug(原用 active class 判断,但初始 button 无 active 而 pane 可见导致早退)

    • 改动: 单 Tab 时给 nav 加 single-mode class,button 移除 data-bs-toggle 改为自定义点击切换

    • 改动: CSS 用伪元素 ::after 模拟开关滑块(左侧标题 + 右侧开关),active 时滑块从左滑到右并变为主色背景

    • 改动: 多 Tab → 单 Tab 切换时清理残留 data-bs-toggle 和 role 属性

    • 改动: 后台设置版块白名单只展示版块(type=0),跳过分区(type=1)

  • [一致性] xnx_reward 后台 allow_forums / allow_gids 改为空数组=全部允许

    • 必测: admin/?plugin-setting-xnx_reward.htm 清空 allow_forums 保存不报错

    • 改动: setting.php 移除强制非空校验;三套语言包新增 _hint 提示文字;setting.htm 加 form-text 提示

  • [版本] conf.php static_version ?1.4.5 → ?1.4.6

  • [版本] xnx_lottery 1.2.0 → 1.2.1;xnx_poll 1.0.3 → 1.0.4;xnx_reward 1.0.1 → 1.0.2

  • [缓存] 清理 tmp/view_htm_post.htm、tmp/lang_*_bbs.php、tmp/route_thread.php、tmp/route_post.php

  • [日志清理] 清理 log/202607 目录下 6 类调试日志源码 + 修复 forum_access 未定义键错误

    • 改动: plugin/xnx_api_tester/admin.php 删除 17 处 $api_tester_debug AND xn_log(…, api_tester_debug) 调用

    • 改动: plugin/xnx_api_tester/service/ApiTesterService.php 删除 HTTP 调试日志

    • 改动: xiunophp/cache_redis.class.php + xiunophp.min.php 删除 deleteByPrefix 耗时日志

    • 改动: lib/CacheHelper.php 删除 recordStat 中 MISS 日志(保留统计计数)

    • 改动: xiunophp/db.func.php + xiunophp.min.php 删除 db_exec/db_exec_prepared 中 DEBUG AND xn_log 调用

    • 改动: route/search.php 删除 search_debug 2 处 xn_log

    • 改动: plugin/xnx_fields/route/admin_xnx_fields.php + model/FieldsService.php 删除 3 处 xnx_fields_error xn_log

    • 修复: model/forum_access.func.php forum_access_mod 和 forum_is_mod 函数加 isset 兜底,避免 PHP 8.x Undefined array key 警告(line 164/182)

    • 必测: /admin/?xnx_api_tester 访问不再产生 api_tester_debug.php 日志

    • 必测: 缓存清理操作不再产生 cache_clear.php 日志

    • 必测: 首页/搜索/版块访问不再产生 cache_debug.php 和 db_exec.php 日志

    • 必测: GET /api/v1/user/me/permissions 不再报 Undefined array key 3

  • [UI优化] 单 Tab 场景统一用 nav 标签栏模式(去掉开关样式)

    • 必测: 选了一个只在悬赏白名单内的版块,Tab 标题高亮显示,字段直接展开

    • 改动: post.htm 移除 single-mode/single-tab-mode 相关 CSS 和 JS 逻辑

    • 改动: 移除 setCollapsed/toggleCollapse 函数,统一用 bootstrap Tab activateTab

    • 改动: 单 Tab 也默认激活显示字段(不再需要点击展开)

  • [功能新增] xnx_appcenter v1.9.0 开发者主页加审核状态徽标+条件发布按钮

    • 头部显示 已认证/审核中/审核未通过 徽标

    • 已认证开发者显示「发布应用」按钮;待审核显示提示文案;已拒绝显示「重新提交资料」按钮

    • 必测: /appcenter-developer.htm?uid=XX 自己访问看徽标和按钮

  • [功能新增] 配置的发布版块页面增加发布应用入口(右栏 + 右侧悬浮)

    • forum.htm 右栏末尾新增 hook forum_mod_after.htm,仅当 fid == 配置的 forum_fid 时显示「发布应用」卡片

    • thread.htm 右栏作者信息卡下方新增 hook thread_author_card_after.htm(核心模板 thread_right.inc.htm 第 80 行后新增 hook 标记)

    • floating_action.inc.htm 新增 fabPublishApp 悬浮按钮(forum/thread 页面 + fid 匹配配置时显示)

    • 必测: 配置 forum_fid 后访问该版块页面和版块下帖子详情页,看右栏卡片和右下角悬浮按钮

  • [功能新增] dev_audit/app_audit tab 改造为展示所有记录+筛选+搜索+分页

    • 新增 AppCenterService::getDevelopersForAudit() 和 getAppsForAudit() 方法

    • 支持状态筛选(全部/待审/已通过/已拒绝,带计数 badge)

    • 支持关键字搜索(开发者:用户名/昵称/品牌前缀;应用:名称/简介)

    • 应用 tab 支持分类下拉筛选

    • 超过 20 条时显示分页器

    • 表格新增「状态」列,已审核记录不显示通过/拒绝按钮(显示 —)

    • 必测: admin/?plugin-setting-xnx_appcenter.htm&tab=dev_audit 和 &tab=app_audit 切换状态/搜索关键字/翻页

  • [Bug 修复] 修复 db_sql_addslashes 函数不存在导致审核搜索 fatal(项目无此函数,改用原生 addslashes)

    • 必测: 在 dev_audit/app_audit tab 搜索关键字,结果正确返回不报错

  • [缓存] 清理 tmp/ 下相关编译缓存:lang_bbs.php / view_htm.htm / plugin_xnx_appcenter_*

  • [重构] 修复把插件功能代码写到核心文件的违规

    • 还原 view/htm/floating_action.inc.htm:移除 AppCenterService 调用和 fabPublishApp 按钮 HTML,改为 hook 标记 <!--{hook floating_action_post_after.htm}-->

    • 还原 view/htm/thread_right.inc.htm:hook 标记改为项目标准格式 <!--{hook thread_author_card_after.htm}-->

    • 新建 plugin/xnx_appcenter/hook/floating_action_post_after.htm:把发布应用悬浮按钮的逻辑和 HTML 全部移入插件 hook 文件

    • 核心文件不再包含任何 appcenter/AppCenter/xnx_ 字样(已 grep 验证)

    • 必测: 配置 forum_fid 后访问该版块页面,右下角悬浮按钮正常显示「发布应用」

  • [Bug 修复] 修复 hook 文件未闭合 PHP 标签导致 thread_right.inc.htm 编译错误

    • 根因: hook 文件 thread_author_card_after.htm 和 forum_mod_after.htm 以 } 结尾但无 ?> 闭合,宿主模板 hook 标记后紧跟 HTML,编译后变成 }<div> 引发 ParseError

    • 修复: 两个 hook 文件末尾加 ?> 闭合 PHP 代码块

    • floating_action_post_after.htm 本身已正确闭合(第 15 行有 ?>),无需修改

    • 必测: 访问任意帖子详情页 /thread-XX.htm 不再 500

  • [重构] 发布应用入口改为插入到发新帖按钮下,样式与发新帖一致

    • forum.htm 第 90 行新增 hook 标记 <!--{hook forum_post_btn_after.htm}-->(在发新帖按钮之后、</div> 之前)

    • thread_right.inc.htm 第 80 行新增 hook 标记 <!--{hook thread_post_btn_after.htm}-->(在发新帖按钮之后、</div> 之前)

    • 新建 plugin/xnx_appcenter/hook/forum_post_btn_after.htm:输出 <a class="btn btn-primary w-100 mt-2"> 按钮

    • 新建 plugin/xnx_appcenter/hook/thread_post_btn_after.htm:输出 <a class="btn btn-primary w-100 my-2"> 按钮

    • 删除旧的独立卡片 hook:thread_author_card_after.htm、forum_mod_after.htm

    • 必测: 配置 forum_fid 后访问该版块页面和版块下帖子详情页,发新帖按钮下显示「发布应用」按钮

最新回复

请先登录后再回复 登录

uid:1 管理
关注
随遇而安,随缘而行
发帖 119
评论 436
粉丝 13
关注 1
目录
XIUNOX 更新记录贴 202600720
此广告位招租
此广告位招租
此广告位招租
广告招租
广告招租
广告招租
广告招租
广告招租
广告招租