Files
DataMate/frontend
Jerry Yan 7c7729434b fix: 修复流式分割上传的三个问题
1. 实现真正的并发控制,避免同时产生大量请求
   - 使用任务队列模式,确保同时运行的任务不超过 maxConcurrency
   - 完成一个任务后才启动下一个,而不是一次性启动所有任务

2. 修复 API 错误(预上传请求不存在)
   - 所有分片使用相同的 fileNo=1(属于同一个预上传请求)
   - chunkNo 改为行号,表示第几行数据
   - 这是根本原因:之前每行都被当作不同文件,但只有第一个文件有有效的预上传请求

3. 保留原始文件扩展名
   - 正确提取并保留文件扩展名
   - 例如:132.txt → 132_000001.txt(而不是 132_000001)
2026-02-04 15:06:02 +08:00
..
2026-01-09 08:46:01 +08:00

🚀 快速开始

npm install       # 安装依赖
npm run dev       # 启动项目
npm run mock      # 启动后台Mock服务(可选)

📁 项目结构

frontend/
├── public/                               # 📖 文档中心
│   └── xxx/         # 标注工作台(可分离部署)
│
├── src/                                # 🎨 前端应用
│   ├── apps/                          # 多前端应用
│   │   ├── console/                   # 数据工作台&运营控制台
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   └── src/
│   │   └── annotation-studio/         # 标注工作台(可分离部署)
│   │
│   ├── assets/                      # 共享UI组件/SDK
│   │   ├── xxx/                   # 数据工作台&运营控制台
│   │   │   ├── next.config.js
│   │   │   └── src/
│   │   │
│   │   │
│   │   └── xxx/                   # 数据工作台&运营控制台
│   │       ├── package.json
│   │       └── src/
│   │
│   ├── components/                        # 构建与环境配置
│   │   ├── CardView.tsx                  # 数据工作台&运营控制台
│   │   ├── DetailHeader.tsx                   # 数据工作台&运营控制台
│   │   ├── RadioCard.tsx                   # 数据工作台&运营控制台
│   │   ├── SearchControls                   # 数据工作台&运营控制台
│   │   ├── TagList         # 标注工作台(可分离部署)
│   │   └── TaskPopover         # 标注工作台(可分离部署)
│   │
│   ├── hooks/                        # 构建与环境配置
│   │   ├── console/                   # 数据工作台&运营控制台
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   └── annotation-studio/         # 标注工作台(可分离部署)
│   │
│   ├── mock/                        # 构建与环境配置
│   │   ├── console/                   # 数据工作台&运营控制台
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   └── annotation-studio/         # 标注工作台(可分离部署)
│   │
│   ├── pages/                        # 构建与环境配置
│   │   ├── console/                   # 数据工作台&运营控制台
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   └── src/
│   │   └── annotation-studio/         # 标注工作台(可分离部署)
│   │
│   ├── providers/                        # 构建与环境配置
│   │   ├── console/                   # 数据工作台&运营控制台
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   └── src/
│   │   └── annotation-studio/         # 标注工作台(可分离部署)
│   │
│   ├── routes/                        # 构建与环境配置
│   │   └── next.config.js
│   │
│   ├── types/                        # 构建与环境配置
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   ├── next.config.js
│   │   └──  next.config.js
│   │
│   └── utils/                        # 构建与环境配置
│       ├── next.config.js
│       ├── next.config.js
│       └── next.config.js
│
├── eslint.config.js/                            # 🔧 后端服务架构
├── index.html/                            # 🔧 后端服务架构
├── package.json/                            # 🔧 后端服务架构
├── README.md                           # 项目说明
├── tailwind.config.ts                        # 更新日志
├── vite.config.ts                             # 开源协议
└── pom.xml                            # Maven根配置