# event-printer **Repository Path**: fsy_2/event-printer ## Basic Information - **Project Name**: event-printer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-14 - **Last Updated**: 2026-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # event-printer event-printer 是一个面向活动组织者和打印店的活动物料生成应用。当前实现采用前后端分离:Vite + React 前端负责交互、预览和导出,Node 后端负责持有 AI token 并调用大模型识别用户意图和附件。 ## 功能 - 对话框输入自然语言诉求,附件通过输入框内部加号添加,由后端大模型自动识别名单、Logo、活动信息和物料需求。 - CSV、TXT、Markdown、Excel 名单和粘贴文本解析,自动识别姓名、公司、职位、角色、部门、称谓、桌号和座位号字段。 - 模板画廊浏览、分类筛选和风格选择。 - 胸牌与座位卡配置:类型、纸张、尺寸、是否导出。 - 浏览器端打印 PDF 导出,包含纸张尺寸、3mm 出血、裁切线和基础拼版。 - 生成器配置本地持久化:语言、风格、纸张、尺寸和物料开关。 ## 技术栈 - TypeScript - React 19 - Vite 6 - Tailwind CSS 4 - Motion - lucide-react - xlsx - jsPDF - pptxgenjs - Vitest ## 本地运行 ```bash npm install npm run dev ``` 另开一个终端启动后端 AI 代理: ```bash cp backend/.env.example backend/.env # 编辑 backend/.env,填入 AI_API_KEY;默认使用阿里云新加坡 DashScope 和 qwen3.6-plus npm run dev:backend ``` 默认开发服务器: ```text http://localhost:3000 ``` 后端默认地址: ```text http://127.0.0.1:8787 ``` ## 验证 单项检查: ```bash npm test npm run lint npm run check:arch npm run build ``` 完整本地检查: ```bash bash init.sh ``` 任务完成后按 harness 流程执行: ```bash bash scripts/run-verify.sh bash scripts/mark-verified.sh ``` ## 项目结构 ```text src/ App.tsx # 顶层状态、导航和视图装配 components.tsx # 共享 UI 小组件 content.ts # 多语言文案、模板数据和资源路径 views.tsx # 页面级视图 types.ts # 共享类型 lib/ ai-interpret.ts # 调用后端 AI 意图识别 guest-list.ts # CSV/TXT/Excel 名单解析 print-pdf.ts # 打印 PDF 生成 print-ppt.ts # PPTX 生成 backend/ server.mjs # 后端 AI 代理,唯一读取 AI_API_KEY 的位置 ``` 更多项目约定见 `AGENTS.md` 和 `docs/`。 ## 安全边界 当前前端不注入任何 AI API key。真实大模型调用只发生在 `backend/server.mjs`,token 从 `backend/.env` 或后端环境变量读取。前端只调用 `/api/ai/interpret`,不会持久化名单、附件或 Logo 内容。