小蓝书瀑布流社区
本轮按主题提示词 v2 实现 React 18 + TypeScript + Tailwind CSS + Zustand + react-lazyload 瀑布流页面。完整原始输入保存在 prompt.md。
运行与构建
npm ci
npm run dev
npm run build
仓库使用 npm run build:demo -- bluebook--minimax-m3-1-flash-preview-max-r03 构建 Pages 预览。构建结果登记在 previews/bluebook/minimax-m3-1-flash-preview-max-r03/。图片使用 picsum.photos 外链,因此预览需要网络;头像由本地 SVG 生成。
实现与验证记录
- 瀑布流通过容器宽度选择 2 / 3 / 4 列,并将卡片分配到当前最短列;图片占位按 mock 数据宽高比预留空间。
- 初始显示 20 条,滚动加载后按 20 条追加;支持搜索、下拉刷新、点赞动画和图片失败回退。
- 源测试记录了 20→40→60 条加载、刷新后回到 20 条、点赞数 +1、搜索过滤与空结果状态,以及 390px 视口无横向溢出。
react-lazyload缺少对prop-types的声明依赖,实验 lockfile 显式固定prop-types;另外修正了类型导出和TopBar图标引用,使 TypeScript 检查通过。- 原先头像外链在 Chromium 中触发跨源资源策略拦截,改为按昵称本地生成 SVG;图片仍通过
picsum.photos加载。
本轮由 MiniMax Code 桌面版执行,未使用 Claude Code。实验模型为 MiniMax M3.1 Flash Preview,推理档位 max。迁移来源、轮号调整和批次额度见自动生成的归档信息及 run.json。
当前归档信息(自动生成)
- 实验 ID:
bluebook--minimax-m3-1-flash-preview-max-r03 - 模型:MiniMax M3.1 Flash Preview;推理档位:max
- 类型:app;预览:build;网络:required
- 完整原始输入快照 · 主题与其他版本
- 输入记录:按 docs/model-test-workflow.md「没有指定时使用版本号最大的版本」取 v2。本目录 prompt.md 与 demos/bluebook/prompts/v2/prompt.md 逐字节一致,完整原文已保存。
- 工具:MiniMax Code 桌面版(MiniMax M3.1 Flash Preview)。Node 22 + npm ci(独立 lockfile);tsc --noEmit 类型检查通过后 vite build 产出 dist,再由 npm run build:demo 复制到 previews/bluebook/minimax-m3-1-flash-preview-max-r03/。图片用 picsum.photos 外链;头像按昵称本地生成 SVG,因此 preview.network 为 required。本工作副本用 node scripts/serve.mjs --read-only(PORT=4180)预览,未复用其他工作副本的 4173 端口;验证用 Playwright(chromium)驱动真实 UI 读数。 实测:2/3/4 列响应式正确,首屏 20 条、滚动到底依次 20→40→60,下拉刷新会更换内容并回到 20 条,点赞数值 +1,搜索可过滤且空态正确,图片失败自动切换本地兜底图,390px 下无横向溢出。 本轮使用 MiniMax Code 桌面版执行,未使用 Claude Code。 本地补拍截图用于确认迁移后的预览;图片使用 picsum.photos 外链,头像改为本地 SVG 生成,不依赖 i.pravatar.cc。
- 运行方式:在本目录 npm ci 后 npm run dev;Pages 使用根目录 previews 中已提交的构建产物。
- 费用记录:MiniMax 批次合计 37 %(Max 订阅套餐五小时额度)(11 个案例;批次 minimax-m3-1-flash-preview-max-2026-10-13;未记录单案例费用)
- 瀑布流主页
部署适配记录
- 按提示词选用了 v2 提示词(该主题存在 v1/v2 两版,未指定时取版本号最大的一版);实际输入保存在本目录 prompt.md,与 demos/bluebook/prompts/v2/prompt.md 逐字节一致。
- react-lazyload@3.2.1 在运行时 require('prop-types'),但其 package.json 未声明该依赖,构建产物会留下裸 ESM import 导致离线 404;在本项目 package.json 中显式补充 prop-types@15.8.1 修复。
- 瀑布流按容器实测宽度分列(ResizeObserver),卡片按估算高度投递到当前最矮列,而不是用 CSS columns,避免列序从上到下与阅读顺序不一致。
- 卡片图片高度由 mock 数据的原始宽高比推算并提前占位,懒加载完成后不发生布局跳动。
- 搜索框接了真实过滤(标题 + 昵称),下拉刷新会更换 mock 起始偏移;发布按钮给出提示浮层而非空按钮,这两处提示词未明确要求,按原型完整性补齐。
- 头像最初用 i.pravatar.cc,实测该服务返回带跨源资源策略的响应,在浏览器中 12 个请求全部被拦为 ERR_BLOCKED_BY_RESPONSE.NotSameOrigin;改为按昵称本地生成 SVG 剪影头像,去掉该第三方依赖,移动端 26 张图 0 失败、0 控制台错误。
- 修复两处使 tsc 报错的问题:useInfiniteScroll 导出为默认导出但按具名导入,以及 TopBar 漏引 Icons。
- 迁移来源:F:\dev\ai-coding-demo-test(experiment/minimax-m3-1-flash-preview-max)/demos/bluebook/runs/minimax-m3-1-flash-preview-max-r01;当前 main 已存在该轮号,保留历史并迁入为 minimax-m3-1-flash-preview-max-r03。 源 Readme.md 中的提示词版本、工具、网络状态、历史目录及截图说明与本次 run.json/源码不一致;改写运行说明,以本次 run.json、源码和测试记录为准。
- 迁移验证:使用本仓库本地 HTTP 入口补拍实际桌面截图 screenshot.png;Chromium 确认入口可加载且无页面异常,390px 视口横向溢出为 0。
- 迁移整理:修正环境说明中的旧 r01 预览目录,并按源码与依赖修复记录注明图片仅使用 picsum.photos、头像为本地 SVG。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。