XIUNOX 更新记录贴 202600715

管理
  • [新增插件] 朋友圈主题模板 xnx_moments_theme 骨架(10 文件)

    • conf.json:5 hooks + 3 overwrites(index/forum/thread)

    • install.php:默认配置写入 setting_set + 清理 model.min.php

    • uninstall.php:清理 setting 配置(标准拼写)

    • setting.php:管理员权限 + CSRF 守卫 + 22 项配置保存

    • view/htm/setting.htm:6 区块卡片布局,颜色取色器+开关+radio+封面预览

    • hook/header_link_after.htm:CSS 注入(file_exists 守卫)

    • hook/footer_js_after.htm:JS 注入(file_exists 守卫)

    • hook/lang_zh_cn_bbs.php / lang_zh_tw_bbs.php / lang_en_us_bbs.php:43 项三语语言键

    • 必测: admin/?plugin-setting-xnx_moments_theme.htm

    • 回归: 后台插件列表 / 前台首页

  • [新功能] xnx_moments_theme 朋友圈主题模板插件 - 创建核心覆盖模板和组件模板

    • 创建 view/htm/index.htm 覆盖核心首页为朋友圈信息流(保留 hook/htmx boost/排序 tab/公告/分页)

    • 创建 view/htm/forum.htm 覆盖核心版块页为朋友圈信息流(保留版块信息卡/版主/排序 tab)

    • 创建 view/htm/thread.htm 覆盖核心详情页为卡片详情+气泡评论+楼中楼+底部固定评论框

    • 创建 view/htm/moments_card.inc.htm 朋友圈卡片组件(头像/昵称/时间/正文/宫格/点赞评论按钮)

    • 创建 view/htm/moments_image_grid.inc.htm 图文宫格组件(1/3/4/9 宫格自适应)

    • 创建 view/htm/moments_sidebar.inc.htm PC宽屏侧边栏(热门动态/热门标签/推荐用户)

    • 创建 view/htm/moments_post_btn.inc.htm 顶部封面栏+发布按钮

    • 同步更新 zh-cn/zh-tw/en-us 语言包(新增 moments_all_tags 键) [语言包不同步]

    • 必测: 首页信息流加载、版块页卡片展示、帖子详情页气泡评论、侧边栏热门数据

    • 注意: 任务指定 xn_time() 函数不存在,改用项目已有的 humandate();attach_find_by_tid() 不存在,改用 db_find

  • [新功能] 为 xnx_moments_theme 朋友圈主题模板插件创建 CSS 样式和 JS 交互文件

    • 创建 static/css/moments.css:CSS 变量(light/dark)+ 封面栏/信息流/卡片/图文宫格(1/3/4/9)/点赞动画/侧边栏/评论气泡/下拉刷新指示器/三端响应式断点

    • 创建 static/js/moments.js:纯原生 JS(无 jQuery),滚动加载(IntersectionObserver)/展开全文(line-clamp 5 行)/点赞动画(ti-heart ↔ ti-heart-filled + 乐观更新 + 失败回滚)/下拉刷新(移动端 touch)/htmx:after:swap 事件兼容

    • CSS class 命名与模板约定完全匹配

    • 遵守规则:JS/CSS 放 static/ 目录、htmx 4 事件名格式、CSRF token 从 meta 读取、图片 loading="lazy"

  • [伪静态路径] 修复应用中心详情页插件截图 URL 多了 thumb 路径导致图片 404 无法加载(getScreenshots 生成的 thumb_url 路径结构与实际缩略图保存路径不一致);移除 thumb_url 生成,截图直接使用原图 URL

    • 必测: ?appcenter-1.htm(截图正常加载,URL 为 upload/attach/202607/xxx.webp 而非 upload/attach/thumb/202607/xxx.webp)

  • [逻辑错误] 应用中心详情页截图从独立 Tab 移到应用介绍 Tab 最底部,不再单独占一个 Tab

    • 必测: ?appcenter-1.htm(介绍 Tab 底部显示截图网格,截图 Tab 按钮已移除)

    • 回归: ?appcenter-publish.htm 编辑页已有截图预览正常(自动 fallback 到原图)

  • [配置不同步] 补全 shee_theme_Notepad 主题缺失的关键文件,conf.json 补 overwrites_rank 字段

    • conf.json:新增 overwrites_rank 列出 9 个覆盖文件路径

    • conf.php:最小占位入口(无金桔框架 $data 数组)

    • install.php:清 model.min.php 编译缓存防部署后白屏

    • uninstall.php:setting_delete 清配置(标准拼写,非 unstall.php)

    • setting.php + setting.htm:无配置项纯展示页(含管理员权限检查,无 POST 表单故无 CSRF)

    • 必测: admin/?plugin-local-shee_theme_Notepad-setting.htm(设置页可访问)

    • 回归: 后台插件启用/禁用、前台首页覆盖模板生效

  • [CSRF防护缺失] 修复 abs_theme_circl setting.php 缺少权限检查和 CSRF 校验

    • 必测: admin/?plugin-setting-abs_theme_circl.htm (非管理员访问被拦截)

    • 必测: admin/?plugin-setting-abs_theme_circl.htm (POST 提交带 CSRF token)

    • 回归: setting.htm 两个 form 均已添加 CsrfService::input()

  • [变量未定义] 修复 abs_theme_circl install.php 安装后未清理 model.min.php 编译缓存

    • 必测: 重新安装插件后 admin 首页不白屏

  • [配置不同步] 修复 abs_theme_circl 卸载脚本文件名拼写错误 unstall.php -> uninstall.php

    • 必测: admin/?plugin-uninstall-abs_theme_circl.htm (卸载正常)

  • [逻辑错误] 修复 till_theme_auranews 卸载脚本文件名 unstall.php → uninstall.php(标准拼写)

    • 必测: admin/?plugin-uninstall-till_theme_auranews.htm

  • [缓存失效] till_theme_auranews install.php 末尾追加 model.min.php 清理,防覆盖部署后白屏

    • 必测: admin/?plugin-install-till_theme_auranews.htm

  • [CSRF防护缺失] till_theme_auranews setting.php 加管理员权限检查(gid!=1&&gid!=2) + POST 分支 CsrfService::check()

    • 必测: admin/?plugin-setting-till_theme_auranews.htm

  • [CSRF防护缺失] till_theme_auranews setting.htm 两个表单加 CsrfService::input() token

    • 必测: admin/?plugin-setting-till_theme_auranews.htm

  • [状态不同步] 重命名 unstall.php → uninstall.php(标准拼写),修复卸载时脚本不执行导致表不删配置不清

    • 必测: admin 插件卸载 abs_theme_zhentou

  • [配置不同步] install.php 末尾追加清理 tmp/model.min.php,防止覆盖代码部署后未重新启用导致白屏

    • 必测: 覆盖部署后访问插件设置页

  • [CSRF防护缺失] setting.php 加 $gid 权限检查 + CsrfService::check(),setting.htm 两个 form 加 CsrfService::input()

    • 必测: admin/?plugin-setting-abs_theme_zhentou.htm

  • [逻辑错误] conf.json 补充 brief 简介(原为空字符串)

  • [变量未定义] 修复 shee_theme_Notepad 覆盖 header 在首页(index)报 Undefined variable $forum

    • 根因:本次为 Notepad 补 overwrites_rank 字段后,overwrite/view/htm/header.inc.htm 覆盖开始生效,其第 62 行直接 echo forum[iconurl],但首页路由不初始化forum

    • 修复:加 isset 守卫,无 forum icon 时用 Notepad 自己的 bg.png 兜底

    • 必测: 首页 index.htm(无版块上下文)/ 版块页 forum.htm(有 forum icon)

    • 回归: 切换其他主题确认 header 正常

  • [组件混用] 修复 shee_theme_Notepad 覆盖文件加载老路径资源导致 404 和 $ is not defined

    • 根因:Notepad 是基于原版 XIUNO v2.x 的旧主题,其覆盖文件加载不存在的 view/css/bootstrap.css、view/js/jquery-3.1.0.js、popper.js、bootstrap.js,且用 jQuery 语法

    • 修复策略:删除 8 个不兼容覆盖文件(footer/footer_nav/header_nav/index/forum/post/thread/thread_list),让核心重构版原版生效;只保留并重写 header.inc.htm(保留 Notepad 头部背景视觉特色,改用 vendor 路径 + htmx + theme.js + XSS 转义)

    • conf.json 的 overwrites_rank 同步从 9 项缩减为 1 项

    • 必测: 首页/版块页/帖子详情页/发帖页/回复页(确认无 404、无 $ is not defined、Notepad 头部背景图正常显示)

    • 回归: 切换其他主题确认正常

  • [状态不同步] 修复 enable 操作缺少主题互斥逻辑,启用新主题时未自动禁用其他已启用主题,导致多个主题 overwrites 冲突

    • 必测: 后台启用 xnx_moments_theme 时应自动禁用 shee_theme_Notepad

    • 必测: 禁用后再启用主题,切换正常

  • [组件混用] 朋友圈主题三模板去双栏改单栏布局(index/forum/thread.htm)

    • 必测: ?index.htm / ?forum-{fid}.htm / ?thread-{tid}.htm

    • 改动: row→moments-body, col→moments-primary, 删除 sidebar_left/moments_sidebar/thread_left/thread_right 四个侧栏 include

    • forum: 版块信息卡片精简为顶部单行条(图标+名称+统计+发帖+关注按钮),版主列表与版块公告移至主内容区底部

    • jQuery $(...).addClass 改原生 document.querySelector?.classList.add(index/forum 两个 active 高亮)

    • 清理 tmp 编译缓存 view_htm_{index,forum,thread,header.inc,footer.inc}.htm

  • [组件混用] 朋友圈主题改造为 Mac 微信风格布局:覆盖 header.inc.htm/footer.inc.htm,左侧 Dock 图标导航栏替代顶栏,移除底栏/悬浮操作栏,三个页面模板移除左右侧栏改单栏居中

    • 必测: 首页 PC 端左侧 dock 栏图标导航

    • 必测: 移动端 dock 栏变为底部固定栏

    • 必测: 版块页版块信息条显示正常

    • 必测: 帖子详情页单栏布局

  • [组件混用] CSS 兜底统一适配未覆盖的三栏页面:用 .moments-content .row.g-4 选择器隐藏侧栏列、主内容全宽、移动端 tab 全尺寸显示,避免逐个覆盖 my/user/search 等页面

    • 必测: 用户中心 my.htm 单栏显示+顶部 tab 导航

    • 必测: 搜索页 search.htm 单栏显示

    • 必测: 发帖页 post.htm 表单布局不受影响(row.g-3 不被匹配)

  • [组件混用] 提取三栏布局公共骨架 layout_three_column.inc.htm,10 个页面改用公共布局

    • 公共布局:参数化变量(sidebarleftfile/sidebar_right_file/righthtml/main_file/maincontent/col_main/leftlg/main_class/$right_class),统一封装 row 栅格容器 + htmx boost 属性 + 左/中/右栏栅格

    • 标准页面(ob_start 模式):index/forum_index/rank/search/more/banned/theme

    • 变体页面:thread 用 mainfile模式;forum/forumfollowers用双obstartmain_content + $right_html 内联版块信息卡)

    • 必测: ?index.htm / ?forum-{fid}.htm / ?forum-{fid}-followers.htm / ?thread-{tid}.htm / ?rank.htm / ?search.htm / ?more.htm / ?banned.htm / ?theme.htm

    • 已清理 tmp/view_htm_*.htm 编译缓存

  • [新增插件] xnx_fusers 版块成员展示插件(10 文件):版块页右侧栏展示关注该版块成员

    • conf.json:5 hooks(forum_mod_after.htm + model_inc_file.php + 3 语言包)

    • install.php:清理 model.min.php 编译缓存(无建表)

    • uninstall.php:CacheHelper::pluginDeletePrefix 清缓存(标准拼写)

    • model/FusersService.php:getMembers() 用 forum_follow_find_by_fid + user_find_by_uids 批量查询,CacheHelper::remember 5 分钟缓存

    • hook/forum_mod_after.htm:$fid>0 且 forum 存在时注入区块(模板 hook 用 <?php 开头非 exit)

    • view/htm/fusers_block.htm:x-card 卡片 + 头像 rounded-circle + display_name + 超过 12 个显示查看全部(forum_followers_url)

    • hook/model_inc_file.php:注册 FusersService.php 路径

    • hook/lang_zh_cn/zh_tw/en_us_bbs.php:3 项三语语言键(按硬规则 #1 用 <?php exit; 开头,spec 原写 <?php 已修正)

    • 必测: forum-{fid}.htm 版块页右侧栏「本版成员」区块

    • 回归: tmp/ 编译缓存已清理

  • [新增插件] xnx_fcomment 版块最新评论插件(11 文件):版块页右栏展示本版块最新10条回复

    • conf.json:5 hooks(forum_mod_after.htm + model_inc_file.php + 3 语言包)

    • install.php:默认配置写入 setting_set + 清理 model.min.php

    • uninstall.php:setting_delete + CacheHelper::pluginDeletePrefix(标准拼写)

    • model/FcommentService.php:静态方法模式,getLatestReplies 用 JOIN thread 查询(db_sql_find 保留注释)+ post_find_by_pids format + CacheHelper::remember 缓存 + 权限分级(管理员 audit_status IN 0,1 / 用户 audit_status=1)

    • hook/model_inc_file.php:注册 FcommentService.php 路径

    • hook/forum_mod_after.htm:UA 判断移动端跳过 + enabled/fid 守卫 + x-card 卡片 + 头像/昵称/主题标题/内容摘要/时间

    • setting.php:管理员权限 + CSRF 守卫 + 配置保存跳转

    • view/htm/setting.htm:启用开关 + 显示数量 + 缓存时间 + 摘要长度,按钮 px-5(非 w-100)

    • hook/lang_zh_cn/zh_tw/en_us_bbs.php:11 项三语语言键

    • 必测: forum-{fid}.htm 版块页右侧栏最新评论卡片

    • 必测: admin/?plugin-setting-xnx_fcomment.htm 后台设置

最新回复

请先登录后再回复 登录

uid:1 管理
关注
随遇而安,随缘而行
发帖 84
评论 346
粉丝 11
关注 1
发新帖
目录
XIUNOX 更新记录贴 202600715