Align homepage and category discovery, modern widgets, admin controls, quotes, and comments with the reference theme. Remove superseded paths and add rendering and behavior coverage. Update stale asset and finance contracts; all 760 Node tests and 139 widget assertions pass.
4.6 KiB
4.6 KiB
首页、分类与新版小工具对齐记录
参考目录:C:\Users\Xing\Desktop\zibll。对照当前启用的实现,不使用标记为旧版或即将删除的文章小工具。
七项改动
| 任务 | 实现与修正 | 主要参考源码 |
|---|---|---|
| 首页 | 恢复 14px 基础字号和参考行高;清除首页额外卡片、导航和分页覆盖;默认按发布时间排序;允许清空排序按钮;栏目骨架采用对应分类的列表模式 | index.php、inc/functions/zib-index.php、inc/functions/zib-category.php |
| 分类页 | 封面、标题计数、描述、搜索入口、分页提示和筛选菜单结构对齐;分类与下拉项分开;子分类按层级展开;筛选使用通用 HTML 列表加载机制 | category.php、inc/functions/zib-category.php |
| 多栏目文章 | 采用新版 widget-tab-post 的 list/card/mini 结构;恢复导航间距、mini 内边距和下划线;保存已加载栏目和翻页内容;列表模式禁用全局多图/无图模式干扰 |
inc/widgets/widget-posts.php 的 zib_widget_ui_tab_post、css/main.css |
| 分类聚合卡片 | SVG 白名单保留火焰;时钟、文章统计改为线框字形并修正字重;更新时间随排序来源变化;恢复各类统计文案;空分类不产生空白列 | inc/functions/zib-category.php 的 zib_term_aggregation、inc/functions/zib-theme.php |
| 后台小工具 | 按区域操作工具条、单一导入/导出/模板弹窗、自定义器移除按钮;表单懒加载、失败重试、折叠分组、色样和分类勾选行为 | inc/widgets/widget-index.php、js/widget-set.js、当前 inc/csf-framework |
| 一言 | 文章内一言和新版小工具共用本地双语句库、点击切换和 30 秒刷新;保留参考主题的自定义句库入口 | yiyan/qv-yiyan.php、yiyan/qv-yiyan.txt、js/main.js |
| 评论区 | 最新查询固定 DESC;最热按点赞与时间排序且保留无点赞元数据的评论;空态插图、文案和筛选栏显示条件对齐 | template/comments.php、inc/functions/zib-comments-list.php、css/main.css |
已删除独立分类 REST 筛选端点与 assets/js/core/archive.js,以及在线一言 REST 接口、旧一言来源配置、后台常驻三栏工具面板和被替代的样式。没有添加迁移或兼容双路。
验证
node tools/build-public-assets.mjs:通过,公共 CSS 和前台运行时资源已更新。assets/admin中npm run build:通过,SPA 和 NaiveUI 样式已生成。- 所有改动及新增 PHP 文件的
php -l:通过。 - 改动 JavaScript 的
node --check:通过。 php tests/widget-system/run.php:139 项断言通过。- 递归执行
tests/下全部*.test.cjs,包含小工具、后台、导航和投稿测试:760 项全部通过,无失败、跳过或取消。 git diff --check:通过。
新增发现页渲染、评论排序行为、一言和后台表单契约测试。分类页头覆盖首屏计数、默认封面、搜索、第二页和简洁标题;小工具覆盖 SVG、行内/下拉分离、栏目缓存标记、数字分页和 mini 样式。渲染 harness 使用轻量 WordPress 桩,未启动真实 WordPress。
按任务要求,没有进行浏览器截图对比或真实视觉效果验收。
既有 8 项失败的修复
这些失败均由模块拆分或资源打包后未更新的测试契约引起。已核对现有实现并保留原有功能校验,没有恢复旧实现或删除断言来掩盖失败:
financial-flow-contract.test.cjs:提现历史交互已经拆到credits-withdraw-history.js,测试改为检查该模块;每页 10 条、到账金额、时间、隐私字段等原有断言保留。referral-qr-contract.test.cjs:推广海报已拆到credits-affiliate.js,测试改为检查真实模块及其本地二维码依赖;画布、弹窗静止隐藏和复制等原有功能断言保留。toast-contract.test.cjs:缓存版本现在取全部 runtime JS 文件的最新修改时间,校验更新为该机制,继续禁止旧支付运行时入口。vip-modal-skeleton.test.cjs:用户菜单样式已经并入公共 CSS,校验改为公共包仅包含一次且不再单独入队,与导航契约一致。
另新增两项实际行为测试:
withdrawal-history-runtime.test.cjs:执行真实提现历史脚本,验证打开弹窗、第一页和第二页请求、固定每页 10 条、到账金额渲染及隐藏私有 note。runtime-assets-behavior-contract.test.cjs:通过 PHP harness 调用真实ScriptsPart1c,验证主运行时文件更新、叶子模块更新及无文件时的主题版本回退。