ai-coding-demo

仿小红书的瀑布流图片展示页面

Trae开始收费了,Cursor该慌了

Cursor 就不去体验了,文章摆明是软文,但是提示词不错,拿来实践下,我们也不用 Trae,直接使用 VSCode 的 Copilot 就行了。

提示词

我想做一个仿小红书的瀑布流图片展示页面,具体需求如下:

技术栈:
- 使用 React 18 + TypeScript
- 样式使用 Tailwind CSS
- 状态管理用 Zustand
- 图片懒加载使用 react-lazyload

页面结构:
1. 顶部搜索栏:
   - 左侧logo(文字"小蓝书")
   - 中间搜索框,带搜索图标,placeholder"搜索你感兴趣的内容"
   - 右侧发布按钮

2. 瀑布流主体:
   - 两列布局(移动端),三列布局(平板),四列布局(桌面端)
   - 每个卡片包含:
     * 图片(宽度100%,高度自适应)
     * 标题(最多两行,超出显示...)
     * 作者头像(圆形,24px)和昵称
     * 点赞数(红心图标+数字)
   - 卡片hover效果:轻微上浮,阴影加深
   - 点击卡片有按压效果

3. 数据加载:
   - 首次加载20条数据
   - 滚动到底部自动加载更多
   - 加载时显示 loading 动画
   - 使用 mock 数据,包含不同高度的图片

样式要求:
- 整体风格清新简洁
- 主色调:#fe2c55(小红书红)
- 背景色:#f5f5f5
- 卡片背景:纯白,圆角 8px
- 适配 iPhone 12 及以上机型

交互效果:
- 下拉刷新功能
- 图片加载失败显示默认图
- 点赞动画:点击后红心放大再缩小
- 页面切换使用渐入效果

请生成完整的代码,包括组件拆分、样式处理和数据 mock。

实战记录

Agent:claude4.0

中间发生过几个报错,一路执行,最后都自行修复了。流程贴出来没太多意义,大部分都是无脑交互修复报错


一个使用 React 18 + TypeScript + Tailwind CSS 构建的仿小红书瀑布流图片展示应用。

🌟 特性

🛠️ 技术栈

🚀 快速开始

安装依赖

npm install

启动开发服务器

npm run dev

应用将在 http://localhost:3000 启动

构建生产版本

npm run build

预览生产版本

npm run preview

📱 设备适配

🎨 主要功能

1. 顶部搜索栏

2. 瀑布流展示

3. 卡片内容

4. 交互体验

🎯 设计规范

📂 项目结构

src/
├── components/         # React组件
│   ├── Header.tsx     # 顶部搜索栏
│   ├── WaterfallGrid.tsx  # 瀑布流网格(含内联LoadingSpinner)
│   ├── PostCard.tsx   # 内容卡片
│   ├── PullToRefresh.tsx  # 下拉刷新
│   └── Skeleton.tsx   # 骨架屏
├── store/             # 状态管理
│   └── postStore.ts   # Posts数据状态
├── types/             # TypeScript类型定义
│   └── index.ts       # 通用类型
├── mock/              # Mock数据
│   └── data.ts        # 模拟API数据
├── App.tsx            # 主应用组件
├── main.tsx           # 应用入口
└── index.css          # 全局样式

🔧 自定义配置

Tailwind CSS配置

项目使用自定义的Tailwind配置,包含:

状态管理

使用Zustand进行状态管理,主要状态包括:

🎮 交互说明