详细说明: - 化工订单班图片已标准化处理(8个图片,文件名与alt text完全一致) - 完成环保、财经商贸订单班的图片重命名工作 - 重组项目记忆文件,按照功能模块编号(00-09) - 删除旧的分散记忆文件,统一到新的编号体系 - 添加终端模拟文件:chemical.ts, environmental.ts, finance.ts - 清理web_result冗余文件(food react-app等) - 新增playwright截图记录和记忆文档 - 影响模块:订单班文档资料、项目记忆系统、终端模拟系统
261 lines
7.7 KiB
Markdown
261 lines
7.7 KiB
Markdown
# Web Result 项目架构和订单班展示系统
|
||
|
||
## 项目概述
|
||
|
||
web_result 是订单班终端模拟完成后的成果展示系统,负责将 AI 多智能体协同生成的方案以网页形式展示给用户。该项目位于 `/web_frontend/web_result` 目录。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
web_result/
|
||
├── index.html # 主入口页面
|
||
├── server.js # 简单的 Node.js 静态服务器
|
||
├── app.js # Express 应用服务器(带路由)
|
||
├── routes.yaml # 路由配置文件
|
||
├── start-router.sh # 启动脚本
|
||
├── order-classes/ # 各订单班的展示页面
|
||
│ ├── wenlu/ # 文旅订单班(完成度最高的示例)
|
||
│ └── food/ # 食品订单班(有 HTML 和 React 两个版本)
|
||
├── css/ # 全局样式
|
||
├── js/ # 全局脚本
|
||
└── data/ # 数据资源
|
||
```
|
||
|
||
## 路由系统
|
||
|
||
### 1. routes.yaml 配置
|
||
定义了12个订单班的路由信息:
|
||
- 每个订单班包含:name、title、path、entry、description、status、agents
|
||
- status 有两种状态:completed(已完成)、pending(待开发)
|
||
- 文旅(wenlu)和食品(food)是已完成的示例
|
||
|
||
### 2. 服务器架构
|
||
使用 Express.js 构建,端口 4155,主要路由:
|
||
- `/` - 主页,显示订单班选择界面
|
||
- `/order-class/:className` - 访问特定订单班
|
||
- `/order-class/:page` - 访问订单班的子页面(如 wenlu 的多个页面)
|
||
|
||
### 3. 静态资源服务
|
||
```javascript
|
||
// 为每个订单班提供独立的静态文件服务
|
||
app.use('/order-class/wenlu/css', express.static('order-classes/wenlu/css'));
|
||
app.use('/order-class/wenlu/js', express.static('order-classes/wenlu/js'));
|
||
app.use('/order-class/wenlu/data', express.static('order-classes/wenlu/data'));
|
||
```
|
||
|
||
## 文旅(wenlu)订单班实现分析
|
||
|
||
### 特点和优势
|
||
1. **纯静态 HTML + CSS + JavaScript 实现**
|
||
2. **多页面架构**(7个页面):
|
||
- index.html - 主页
|
||
- overview.html - 项目概览
|
||
- exhibition.html - 展会设计
|
||
- marketing.html - 市场营销
|
||
- operation.html - 运营管理
|
||
- budget.html - 财务预算
|
||
- risk.html - 风险控制
|
||
|
||
3. **设计特色**:
|
||
- 使用 Tailwind CSS 框架
|
||
- glass-morphism 玻璃拟态效果
|
||
- 渐变背景和浮动动画元素
|
||
- 响应式设计,移动端优化
|
||
- 图片懒加载和性能优化
|
||
|
||
4. **模块化 JavaScript**:
|
||
- error-handler.js - 错误处理
|
||
- page-loader.js - 页面加载动画
|
||
- mobile-optimize.js - 移动端优化
|
||
- performance-optimizer.js - 性能优化
|
||
- order-class-handler.js - 订单班处理器
|
||
- nav-component.js - 导航组件
|
||
- router.js - 路由处理
|
||
|
||
5. **CSS 动画系统**:
|
||
- animations.css - 定义各种动画效果
|
||
- styles.css - 主样式文件
|
||
- 使用 CSS 变量实现主题化
|
||
|
||
## 食品(food)订单班实现
|
||
|
||
### 2025-10-03 重构版本
|
||
- **位置**:`/order-classes/food/`
|
||
- **结构**:
|
||
```
|
||
food/
|
||
├── index.html # 主HTML文件
|
||
├── css/
|
||
│ └── styles.css # 独立CSS文件(简约设计系统)
|
||
├── js/
|
||
│ └── main.js # 独立JavaScript文件
|
||
├── images/ # 产品图片软链接
|
||
└── agent-avatars/ # Agent头像软链接
|
||
```
|
||
|
||
### 重构特点
|
||
1. **模块化架构**:HTML、CSS、JS完全分离
|
||
2. **简约设计系统**:
|
||
- 深绿色主题(#2D5016)配米色辅助
|
||
- 极简阴影和圆角
|
||
- 清晰的视觉层次
|
||
3. **性能优化**:
|
||
- 图片懒加载
|
||
- Intersection Observer动画
|
||
- 错误处理和占位图
|
||
4. **响应式设计**:移动端优先
|
||
5. **无需构建**:纯静态文件
|
||
|
||
### ~~React 版本~~(已删除)
|
||
~~原React版本因过度设计和维护成本高已被删除~~
|
||
|
||
## 调用流程
|
||
|
||
### 1. 终端模拟完成后的触发
|
||
当用户在 exhibition-demo 项目中完成终端模拟后,系统会:
|
||
1. 生成订单班的解决方案内容
|
||
2. 保存到相应的 order-classes 目录
|
||
3. 更新 routes.yaml 配置
|
||
4. 用户可以通过链接访问成果页面
|
||
|
||
### 2. 访问方式
|
||
```bash
|
||
# 启动服务器
|
||
./start-router.sh
|
||
|
||
# 访问地址
|
||
http://localhost:4155/ # 主页
|
||
http://localhost:4155/order-class/wenlu # 文旅订单班
|
||
http://localhost:4155/order-class/food # 食品订单班
|
||
```
|
||
|
||
### 3. 页面间导航
|
||
文旅订单班的多页面通过顶部导航栏切换:
|
||
```html
|
||
<a href="overview.html">项目概览</a>
|
||
<a href="exhibition.html">展会设计</a>
|
||
<a href="marketing.html">市场营销</a>
|
||
```
|
||
|
||
## 开发新订单班的步骤
|
||
|
||
1. **创建目录结构**
|
||
```bash
|
||
mkdir -p order-classes/[order-class-id]/
|
||
mkdir -p order-classes/[order-class-id]/css
|
||
mkdir -p order-classes/[order-class-id]/js
|
||
mkdir -p order-classes/[order-class-id]/data
|
||
```
|
||
|
||
2. **复制文旅模板**
|
||
使用 wenlu 作为模板,修改内容和样式
|
||
|
||
3. **更新 routes.yaml**
|
||
```yaml
|
||
[order-class-id]:
|
||
name: "订单班名称"
|
||
title: "完整标题"
|
||
path: "/order-classes/[order-class-id]/"
|
||
entry: "index.html"
|
||
status: "completed"
|
||
```
|
||
|
||
4. **修改内容**
|
||
- 替换文本内容
|
||
- 更新图片资源路径
|
||
- 调整颜色主题
|
||
- 添加特定功能
|
||
|
||
## 最佳实践建议
|
||
|
||
### 推荐采用文旅(wenlu)的实现方式:
|
||
1. **纯静态 HTML** - 加载快,SEO好,易维护
|
||
2. **多页面架构** - 内容组织清晰,用户体验好
|
||
3. **Tailwind CSS** - 开发效率高,样式一致
|
||
4. **渐进增强** - 基础功能不依赖 JavaScript
|
||
5. **性能优化** - 图片懒加载,资源预加载
|
||
6. **移动端优先** - 响应式设计,触摸优化
|
||
|
||
### ~~不建议使用 React 版本的原因:~~
|
||
**更新(2025-10-03)**:React版本已删除,食品订单班已重构为纯HTML版本
|
||
1. ~~构建配置复杂~~
|
||
2. ~~初次加载慢~~
|
||
3. ~~SEO 不友好~~
|
||
4. ~~对于展示型页面过度设计~~
|
||
5. ~~增加维护成本~~
|
||
|
||
## 关键文件说明
|
||
|
||
### server.js vs app.js
|
||
- **server.js**: 简单的静态文件服务器,使用原生 Node.js http 模块
|
||
- **app.js**: 功能更全的 Express 服务器,支持路由和动态内容
|
||
- 推荐使用 app.js 配合 start-router.sh 启动
|
||
|
||
### routes.yaml
|
||
中央配置文件,管理所有订单班的元数据,是系统的核心配置
|
||
|
||
### 文旅订单班的 7 个页面
|
||
每个页面对应终端模拟中一个智能体的输出成果,形成完整的解决方案
|
||
|
||
## 与终端模拟的集成
|
||
|
||
1. **数据流向**:
|
||
终端模拟 → AI 生成内容 → 保存到 order-classes → 用户访问查看
|
||
|
||
2. **资源引用**:
|
||
使用相对路径引用 `/data/订单班文档资料/` 中的图片和文档
|
||
|
||
3. **动态更新**:
|
||
通过修改 routes.yaml 和添加新的订单班目录来扩展系统
|
||
|
||
## 技术栈总结
|
||
|
||
- **前端框架**:Tailwind CSS + 原生 JavaScript
|
||
- **动画库**:CSS Animations + GSAP(食品订单班)
|
||
- **图标**:Font Awesome + Lucide Icons
|
||
- **字体**:Inter + Noto Sans SC
|
||
- **服务器**:Node.js + Express
|
||
- **配置管理**:YAML
|
||
- **构建工具**:无需构建(文旅)/ Vite(食品React版)
|
||
|
||
## 部署和运行
|
||
|
||
```bash
|
||
# 进入项目目录
|
||
cd web_frontend/web_result
|
||
|
||
# 安装依赖(首次运行)
|
||
npm install
|
||
|
||
# 启动服务器
|
||
./start-router.sh
|
||
# 或
|
||
node app.js
|
||
|
||
# 访问
|
||
open http://localhost:4155
|
||
```
|
||
|
||
## 更新记录
|
||
|
||
### 2025-10-03 - 食品订单班重构
|
||
**变更内容**:
|
||
- 删除React版本实现
|
||
- 重构为纯HTML版本,拆分CSS和JS到独立文件
|
||
- 采用简约设计系统(深绿+米色主题)
|
||
- 修复图片路径问题,建立软链接
|
||
- 优化性能:懒加载、动画优化
|
||
|
||
**影响范围**:
|
||
- 食品订单班展示页面
|
||
- 路由系统保持不变
|
||
|
||
**相关文件**:
|
||
- `/order-classes/food/index.html`
|
||
- `/order-classes/food/css/styles.css`
|
||
- `/order-classes/food/js/main.js`
|
||
|
||
---
|
||
|
||
更新时间:2025年10月
|
||
记录者:Claude Code |