这篇内容是什么
下面给你一组可直接复制给 AI 的在线工具生成型提示词(Prompts)。目标是让 AI 一次性产出一个“可运行/可构建/可部署”的在线批处理工具:支持上传 CSV/JSON,按规则进行字段清洗与校验,生成错误报告,并可导出清洗后的文件。
适用场景
适合需要批量处理数据但不想写脚本的人:电商商品表、运营活动名单、CRM 导入前清洗、日志导出后的结构修复、表格字段映射、必填校验、枚举值校验、数值范围校验、日期格式校验、重复值去重、敏感字段脱敏等。
你将获得的交付物
AI 的输出必须包含:完整项目源码(前端+后端或纯前端)、清晰的文件树、可运行命令、部署说明(至少一种:Vercel/Netlify/Docker/自建 Node)、测试用例或 QA checklist、以及一个可复现的示例数据与规则配置。
功能清单(必须实现)
1) 上传与预览:支持拖拽上传 CSV 与 JSON;显示行数、列名、样例行;对大文件提供分块读取或流式解析策略说明。
2) 规则配置:用可视化表单配置“字段映射/默认值/裁剪空白/大小写规范化/正则替换/枚举白名单/数值范围/日期格式/唯一性/必填/跨字段依赖”。
3) 校验与报告:运行后生成错误列表(行号、字段、错误类型、原值、建议修复),并支持导出为 CSV/JSON。
4) 清洗与导出:输出清洗后的 CSV/JSON;可选择“仅导出通过校验的行”或“全部行(附加错误列)”。
5) 隐私与安全:默认本地处理(浏览器端)或在服务端明确声明不落盘;若服务端处理,需实现大小限制与临时文件清理策略。
Prompt(复制给 AI 直接生成完整项目)
你是一个资深全栈工程师+产品经理。请为我生成一个可运行、可构建、可部署的“在线批处理 CSV/JSON 数据清洗与规则校验工具”的完整项目。
硬性要求(必须全部满足):
- 交付物必须包含:完整源码 + 清晰文件树 + 本地运行命令 + 生产部署说明 + 测试用例或 QA checklist。
- 工具形态:Web 在线工具;提供上传区域、数据预览、规则配置、运行按钮、结果预览、错误报告下载、清洗后文件下载。
- 支持输入:CSV 与 JSON(JSON 支持数组对象)。
- 支持规则:
1) 字段映射(源字段 -> 目标字段,可重命名)
2) 必填校验
3) 枚举白名单校验
4) 数值范围校验(min/max)
5) 日期格式校验(例如 YYYY-MM-DD)
6) 字符串裁剪与空白规范化
7) 正则替换(pattern + replace)
8) 唯一性校验(指定字段唯一)
9) 脱敏(对手机号/邮箱等按规则遮罩)
- 输出:
- 错误报告(行号、字段、错误类型、原值、建议修复)可下载 CSV/JSON。
- 清洗后的数据可下载(CSV/JSON)。
- 支持“仅导出通过校验的行”与“导出全部行并附加错误列”。
- 体验与稳定性:
- 给出大文件处理策略:CSV 解析采用流式/分块(或说明限制并给出提示)。
- 页面要有加载状态、失败提示、可重复运行。
- 安全与隐私:默认不把用户文件持久化到服务器;如有服务端处理,必须明确临时目录与清理策略。
技术栈建议(可调整但要给理由):
- 前端:React + Type + Vite;UI 用轻量组件库或 Tailwind。
- CSV 解析:PapaParse 或同等方案。
- 可选后端:Node.js (Express/Fastify) 用于大文件处理;如果纯前端能满足,请做纯前端方案并说明限制。
输出格式(严格按此顺序):
1) 一段产品说明(解决什么问题、目标用户、核心流程)。
2) 功能清单(要点式)。
3) 项目结构(文件树,逐行列出)。
4) 关键实现说明(数据解析、规则引擎、错误模型、导出、性能策略)。
5) 完整代码(按文件分块输出,每个文件以“// file: 路径”开头)。
6) 本地运行命令(从 0 到跑起来)。
7) 部署说明(至少 Vercel 或 Docker 二选一,给具体步骤)。
8) 测试用例(至少 6 条)或 QA checklist(至少 12 条,覆盖边界与错误场景)。
9) 提供一份示例数据(CSV 与 JSON 各 1 份)以及一份示例规则配置。
额外加分(尽量做):
- 支持把规则导出/导入为 JSON(便于复用)。
- 支持预设模板:电商商品表、用户列表、订单列表。
- 支持“错误定位”:点击错误可高亮表格对应单元格。
可选增强(不影响主交付)
如果你希望后续扩展到批处理更多文件类型,可以在规则引擎层做插件化:每类输入(CSV/JSON)只是不同解析器,统一输出为标准行对象数组,再进入同一套校验与清洗流水线。
QA 提醒
上线前重点检查:空文件、超大文件、UTF-8/GBK 编码、CSV 引号与逗号转义、JSON 非数组、缺失列、规则冲突、导出文件名、浏览器内存占用与失败恢复。