# Claude Code 任务执行指令
## 任务:创建订单班交互式展示网站
### 快速配置
```bash
ORDER="食品"
PROJECT_ROOT="/Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示"
```
### 执行命令序列
```bash
# 步骤1:分析内容(5分钟)
cd $PROJECT_ROOT
find web_frontend/web_result/data/订单班文档资料/$ORDER -name "*.md" | xargs head -50
echo "提取关键信息:主题、时间线、技术特点、图片列表" > content_analysis.md
# 步骤2:创建项目结构(5分钟)
mkdir -p web_frontend/web_result/order-classes/$ORDER
cd web_frontend/web_result/order-classes/$ORDER
# 创建 TypeScript + React 项目
npm create vite@latest . -- --template react-ts
npm install
# 安装依赖
npm install -D tailwindcss postcss autoprefixer @types/react @types/react-dom @types/node
npm install gsap @gsap/react react-intersection-observer zustand lucide-react
# 初始化 Tailwind CSS
npx tailwindcss init -p
# 步骤3:设计迭代(使用SuperDesign,20分钟)
mkdir -p $PROJECT_ROOT/.superdesign/current
cd $PROJECT_ROOT/.superdesign/current
# 创建5个迭代版本
for i in {1..5}; do
echo "迭代 $i:"
case $i in
1) echo "重点:布局和主色调" ;;
2) echo "重点:字体排版" ;;
3) echo "重点:交互动画" ;;
4) echo "重点:视觉细节" ;;
5) echo "重点:响应式" ;;
esac
mkdir iteration_$i
# 在iteration_$i中实现对应的设计改进
done
# 步骤4:选择最优版本并部署(5分钟)
BEST_VERSION=3 # 假设选择第3版
cp -r iteration_$BEST_VERSION/* $PROJECT_ROOT/web_frontend/web_result/order-classes/$ORDER/
# 步骤5:归档(2分钟)
ARCHIVE_DIR="$PROJECT_ROOT/.superdesign/archive_${ORDER}_$(date +%Y%m%d_%H%M%S)"
mkdir -p $ARCHIVE_DIR
mv iteration_* $ARCHIVE_DIR/
```
### 核心组件实现
#### 1. App.tsx - 主应用结构
```typescript
import React, { useEffect } from 'react';
import TimelineNav from './components/TimelineNav';
import HeroSection from './components/HeroSection';
import ContentSections from './components/ContentSections';
import ImageViewer from './components/ImageViewer';
import { initScrollAnimations } from './utils/scrollAnimations';
const App: React.FC = () => {
useEffect(() => {
// 初始化GSAP动画
initScrollAnimations();
}, []);
return (
);
}
```
#### 2. TimelineNav.tsx - 时间轴导航
```typescript
import { useEffect, useRef } from 'react';
import { gsap } from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';
gsap.registerPlugin(ScrollTrigger);
// 固定在页面侧边的时间轴导航
// 使用GSAP ScrollTrigger监听滚动位置
// 点击使用GSAP scrollTo平滑滚动
```
#### 3. ImageViewer.tsx - 图片查看器
```typescript
import { useState, useRef } from 'react';
import { gsap } from 'gsap';
// 支持点击放大,使用GSAP动画
// 支持手势缩放
// 全屏查看模式
// ESC键退出
```
### 关键实现要点
1. **滚动交互**
- 使用 Intersection Observer API 检测可视区域
- 实现平滑滚动:`behavior: 'smooth'`
- 添加滚动进度条
2. **性能优化**
- 图片懒加载:`loading="lazy"`
- 虚拟滚动处理长内容
- 使用 React.memo 避免不必要渲染
3. **设计系统**
- 主题色从订单班特色提取
- 统一的间距系统:8px基准
- GSAP动画时长:0.3-1.2s
- 缓动函数:power2.inOut, power3.out
4. **响应式设计**
- 移动端:单列布局
- 平板:两列布局
- 桌面:三列布局
### 验证清单
执行完成后检查:
- [ ] 网站可以正常运行 `npm run dev`
- [ ] 所有内容从源文档正确迁移
- [ ] 图片点击可以放大查看
- [ ] 时间轴导航功能正常
- [ ] TypeScript类型检查通过 `npm run type-check`
- [ ] 滚动体验流畅(60fps)
- [ ] GSAP动画正常运行
- [ ] 移动端显示正常
- [ ] 无控制台错误
### 输出结构
```
web_frontend/web_result/order-classes/$ORDER/
├── package.json
├── tsconfig.json
├── vite.config.ts
├── tailwind.config.js
├── postcss.config.js
├── index.html
├── src/
│ ├── main.tsx
│ ├── App.tsx
│ ├── vite-env.d.ts
│ ├── types/
│ │ └── index.ts
│ ├── components/
│ │ ├── TimelineNav.tsx
│ │ ├── HeroSection.tsx
│ │ ├── ContentSections.tsx
│ │ └── ImageViewer.tsx
│ ├── utils/
│ │ └── scrollAnimations.ts
│ ├── styles/
│ │ └── globals.css
│ └── content/
│ └── data.json
└── public/
└── images/
```
### 记录版本信息
```typescript
// 让Serena记录
interface VersionInfo {
order: string;
date: string;
techStack: string[];
style: {
primaryColor: string;
layout: string;
animationLibrary: string;
};
features: string[];
}
const versionInfo: VersionInfo = {
order: "$ORDER",
date: new Date().toISOString(),
techStack: ["React 18", "TypeScript 5", "Tailwind CSS 3", "GSAP 3.12", "Vite 5"],
style: {
primaryColor: "#xxx",
layout: "timeline-scroll",
animationLibrary: "GSAP"
},
features: ["时间轴导航", "图片查看器", "GSAP滚动动画", "TypeScript类型安全"]
};
```
---
**执行提示**:按照步骤顺序执行,每步完成后验证结果。遇到问题查看错误日志并调整。